win32/vs7/grammar.vcproj: activate copy of autogenerated files for Release mode
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2         
3         * win32/vs7/grammar.vcproj:
4                 activate copy of autogenerated files for Release mode
5
6 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
7         
8         * win32/common/libgstreamer.def:
9                 export gst_value_compare
10
11 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
12
13         * plugins/elements/Makefile.am:
14         * plugins/elements/gstelements.c:
15         * plugins/elements/gstfdsink.c: (_do_init),
16         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
18         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
19         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
20         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
21         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
22         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
23         * plugins/elements/gstfdsink.h:
24         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
25
26 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
27
28         * docs/manual/advanced-dparams.xml:
29           describe controller
30         * docs/manual/advanced-position.xml:
31         * docs/manual/basics-init.xml:
32         * docs/manual/manual.xml:
33         * docs/manual/titlepage.xml:
34         * docs/pwg/pwg.xml:
35         * docs/pwg/titlepage.xml:
36           cleanup xml (more to come)
37         * libs/gst/controller/gstcontroller.c:
38           fix typo
39
40 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
41         
42         * win32/vs6/grammar.dsp:
43                 add autogen of gstmarshal.c,h for Release mode
44                 
45 2006-01-30  Wim Taymans  <wim@fluendo.com>
46
47         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
48         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
49         (gst_base_sink_handle_object), (gst_base_sink_event),
50         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
51         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
52         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
53         (gst_base_sink_deactivate), (gst_base_sink_activate),
54         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
55         (gst_base_sink_query), (gst_base_sink_change_state):
56         Basesink cleanups, remove some old code.
57         Handle the case where a subclass can preroll in the render
58         method (mostly audiosinks).
59         Handle more events.
60         Remove some locks around variables that are now protected
61         with the PREROLL_LOCK (clock_id, flushing, ..).
62         Optimize position query some more, do correct locking.
63         Remove old code to push queue in state change, this is not
64         needed anymore since preroll blocks on all prerollable items 
65         now.
66         Almost implemented as described in design doc.
67
68 2006-01-30  Wim Taymans  <wim@fluendo.com>
69
70         * tests/check/gst/gstbin.c: (GST_START_TEST):
71         Wait for refcount to settle down before checking.
72
73 2006-01-30  Wim Taymans  <wim@fluendo.com>
74
75         * docs/design/part-element-sink.txt:
76         Pseudo code overview of desired sink behaviour regarding
77         preroll.
78
79 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
80         * win32/vs6/grammar.dsp:
81                 fix some bugs in Release mode for autogenerated files
82                 
83 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
84         * win32/common/libgstbase.def:
85         * win32/common/libgstreamer.def:
86                 export some new symbols: gst_base_src_set_format,
87                 gst_iterator_next, gst_structure_set_valist
88
89 2006-01-29  Julien MOUTTE  <julien@moutte.net>
90
91         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
92         Set pad functions unconditionally. Fixes #329105.
93
94 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
95         * win32/vs8:
96                 add vs8 project files created by Sergey Scobich
97
98 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
99
100         * gst/gstutils.c: (gst_element_unlink_pads):
101         Don't leak pad references.
102
103         * tests/check/elements/fakesink.c: (GST_START_TEST):
104         * tests/check/generic/sinks.c: (GST_START_TEST):
105         * tests/check/generic/states.c: (GST_START_TEST):
106         * tests/check/gst/gstbin.c: (GST_START_TEST):
107         * tests/check/gst/gstcaps.c: (GST_START_TEST):
108         * tests/check/gst/gstelement.c: (GST_START_TEST):
109         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
110         * tests/check/gst/gstiterator.c: (GST_START_TEST):
111         * tests/check/gst/gstvalue.c: (GST_START_TEST):
112         Fix a bunch of leaks. Make generic/sinks.c
113         use a bit less cpu by slowing the buffer rate
114         between fakesrc and fakesink.
115         
116 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
117         * gst/gstcaps.c:
118         * gst/gstelement.c: (gst_element_send_event):
119         * gst/gstevent.c:
120         * gst/gstinfo.c:
121         * gst/gstiterator.c:
122         * gst/gstiterator.h:
123         * gst/gstpad.c: (gst_pad_send_event):
124         * gst/gststructure.c:
125         * gst/gsturi.c:
126         * gst/gstutils.c:
127         * gst/gstvalue.c:
128         * libs/gst/base/gstadapter.c:
129           doc fixes, to link to function, just write gst_cool_function(), don't
130           prefix with '#'
131
132 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
133
134         * plugins/elements/gsttee.c: (gst_tee_do_push),
135         (gst_tee_handle_buffer):
136         Always prefer an actual return value from a src
137         pad in place of NOT_LINKED. This means we return
138         WRONG_STATE when all src pads are WRONG_STATE
139         instead of NOT_LINKED.
140
141         Lock when replacing the last message to prevent
142         racing with the get_property method.
143
144         Add debug output
145
146 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
147
148         * tests/check/Makefile.am:
149         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
150         (main):
151         Add a very simple check that should have caught the memleak I fixed
152         last night (if not for the slice allocator hiding it)
153
154 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
155
156         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
157         (gst_bin_remove_func), (gst_bin_handle_message_func),
158         (bin_query_duration_fold), (bin_query_generic_fold):
159         Clean up references to the clock provider when disposed or when
160         handling a clock-lost message from it.
161
162         Unref sinks when performing a query via gst_iterator_fold, as the
163         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
164
165         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
166         (gst_clock_set_master):
167         Drop our reference to the master clock, if any, when we are disposed.
168
169         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
170         Chain up in dispose. 
171
172 2006-01-26  Wim Taymans  <wim@fluendo.com>
173
174         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
175         Add some debugging.
176
177 2006-01-26  Julien MOUTTE  <julien@moutte.net>
178
179         * plugins/elements/gsttee.c: (gst_tee_do_push),
180         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
181         handles pad being NOT_LINKED or in WRONG_STATE.
182
183 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
184
185         * win32/MANIFEST:
186           more updating
187
188 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
189
190         * win32/MANIFEST:
191           remove obsolete entry
192
193 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
194
195         * docs/gst/gstreamer-sections.txt:
196         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
197         (gst_bin_iterate_sources), (gst_bin_send_event):
198         * gst/gstbin.h:
199         * gst/gstelement.c: (gst_element_send_event):
200         * gst/gstevent.c:
201         * gst/gstpad.c: (gst_pad_send_event):
202           added code for downstream events, reviewed docs in gstevent.c
203
204 2006-01-25  Julien MOUTTE  <julien@moutte.net>
205
206         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
207         We only query position using the clock in the playing state.
208         Query peer in the other cases.
209         * win32/common/config.h: Updates.
210
211 2006-01-24  Wim Taymans  <wim@fluendo.com>
212
213         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
214         A clock entry that is scheduled for the exact time of the
215         clock is still in time.
216
217         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
218         (gst_base_sink_do_sync):
219         Add some more debug info.
220
221 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
222
223         * win32/vs7:
224           Add new vs7 project files and solution.
225
226 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
227
228         * win32/vs7:
229           all files removed as they were out-dated.
230
231 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
232
233         * docs/random/release:
234           update notes
235         * gst/gstbin.c: (gst_bin_init):
236         * gst/gstbus.c: (gst_bus_new):
237         * gst/gstbus.h:
238         * gst/gstpipeline.c: (gst_pipeline_init):
239           use gst_bus_new(), improve logging, fix docs
240         * win32/common/config.h:
241           update for cvs build
242
243 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
244
245         * autogen.sh:
246           up required version of automake to 1.7
247
248 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
249
250         * win32/common/libgstreamer.def:
251           export gst_buffer_is_metadata_writable
252
253 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
254
255         * docs/gst/gstreamer-sections.txt:
256         * gst/gstevent.h:
257           Add gst_event_replace() (#327001)
258
259 2006-01-20  Wim Taymans  <wim@fluendo.com>
260
261         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
262         Make it actually compile too..
263
264 2006-01-20  Wim Taymans  <wim@fluendo.com>
265
266         * gst/gstcaps.c:
267         Clarify behaviour of _is_equal() when passing NULL parameters.
268
269         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
270         (gst_pad_set_caps):
271         Cleanups. Don't unref NULL caps.
272         When setting the same caps, protect caps of the pad with
273         proper lock.
274         Use full functionality of _is_equal() when comparing caps.
275
276 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
277
278         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
279         Don't loop infinitely if there are no buffers to present. Partially
280         fixes #327197, but collectpads is just broken for reusing elements
281         to do multiple encodes atm.
282
283 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
284
285         * tools/gst-inspect.c: (print_element_features):
286         * tools/gst-xmlinspect.c: (main):
287         URL_HANDLER is not a plugin feature we can search for in
288         the registry.
289
290 2006-01-19  Edward Hervey  <edward@fluendo.com>
291
292         * gst/gstelement.c: (gst_element_pads_activate): 
293         When activating, do src pads first, then sink pads.
294         When de-activating, do sink pads first, then src pads.
295
296 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
297
298         * docs/gst/gstreamer-sections.txt:
299         Add gst_index_add_associationv to the docs
300
301 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
302
303         * gst/gstevent.c:
304           Fix docs typo
305
306         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
307         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
308           Do some refactoring. Doesn't actually change functionality,
309           but makes landing the DRAIN event easier later.
310
311 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
312
313         * docs/pwg/advanced-scheduling.xml:
314           Update from 0.9.x to 0.10 API and make example a bit
315           clearer.
316
317 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
318
319         * docs/gst/gstreamer-sections.txt:
320         Add gst_buffer_(is|make)_metadata_writable methods.
321
322 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
323
324         * docs/design/part-sparsestreams.txt:
325         Update sparse streams doc, hopefully for greater clarity
326
327 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
328
329         * docs/design/part-events.txt:
330         Remove mention of FILLER events.
331         Add DRAIN event.
332
333         * docs/design/part-sparsestreams.txt:
334         Write some things about using NEWSEGMENT to keep sparse streams
335         flowing.
336
337 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
338
339         * gst/gstbin.c: (gst_bin_dispose):
340           Guard gst_object_unref call against a NULL object (dispose
341           can theoretically be called multiple times).
342           
343 2006-01-18  Wim Taymans  <wim@fluendo.com>
344
345         * gst/gstbin.c: (gst_bin_element_set_state):
346         * gst/gstclock.c: (gst_clock_id_wait):
347         Added some more debug info.
348
349         * libs/gst/base/gstadapter.c:
350         Added more docs.
351
352         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
353         (gst_base_sink_do_sync), (gst_base_sink_chain):
354         Added some comments.
355
356 2006-01-18  Wim Taymans  <wim@fluendo.com>
357
358         * tests/check/Makefile.am:
359         * tests/check/elements/fakesink.c: (chain_async_buffer),
360         (chain_async), (chain_async_return), (GST_START_TEST),
361         (fakesink_suite), (main):
362         Added fakesink test that checks prerolling and clipping
363         behaviour.
364
365         * tests/check/gst/gstutils.c: (GST_START_TEST):
366         Make check run faster so that buildbots don't timeout.
367
368 2006-01-18  Wim Taymans  <wim@fluendo.com>
369
370         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
371         (gst_base_sink_do_sync):
372         Some cleanups.
373         When the sink finishes blocking on the preroll buffer, it can
374         immediatly render it instead of rendering when the next buffer
375         arrives.
376
377 2006-01-18  Wim Taymans  <wim@fluendo.com>
378
379         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
380         (gst_base_sink_get_property), (gst_base_sink_do_sync),
381         (gst_base_sink_chain):
382         Small cleanups.
383         GST_ELEMENT_CLOCK and sync are protected with LOCK.
384         Don't store _last_stop if the buffer is dropped.
385
386 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
387
388         * plugins/elements/gsttypefindelement.c:
389         (gst_type_find_element_class_init):
390           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
391           object method handler that sets the caps on the pad and we want
392           that to happen before we emit the signal (fixes e.g. feeding a
393           plain text file to decodebin).
394
395 2006-01-18  Christian Schaller  <Christian@fluendo.com>
396
397         * gst/gstplugin.c: Add MPL and Proprietary as license options
398
399 2006-01-18  Andy Wingo  <wingo@pobox.com>
400
401         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
402         symbol was exported before, it appears this was just an oversight.
403         Fixes #168703.
404         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
405
406         * gst/gstindex.c (gst_index_add_associationv): Changed int in
407         prototype to gint. OK since this prototype was not in the header.
408
409 2006-01-17  Andy Wingo  <wingo@pobox.com>
410
411         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
412         registry while we remove plugins.
413
414         * tools/gst-inspect.c (print_element_info): Don't unref the
415         factory arg, that should be the responsibility of whatever code
416         received the ref. Fixes a double-free when called from
417         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
418         (main): Unref the factory if we have one.
419         (print_element_list): No change -- relies on the
420         plugin_feature_list_free to free the list of features.
421
422 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
423
424         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
425         (gst_buffer_make_metadata_writable):
426         * gst/gstbuffer.h:
427         * libs/gst/base/gstbasetransform.c:
428         (gst_base_transform_prepare_output_buf):
429         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
430         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
431           Replace gst_buffer_(make|is)_metadata_writable patch now
432           that the release is out.
433
434 2006-01-17  Andy Wingo  <wingo@pobox.com>
435
436         * gst/gstregistry.c: Reflow design comment. Update so as to speak
437         in the present tense without reference to versions.
438
439         * gst/gstregistry.c (gst_registry_add_plugin)
440         (gst_registry_remove_plugin, gst_registry_remove_feature)
441         (gst_registry_find_feature, gst_registry_get_feature_list)
442         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
443         (gst_registry_lookup, gst_registry_scan_path)
444         (_gst_registry_remove_cache_plugins)
445         (gst_registry_get_feature_list_by_plugin): Add argument
446         validation.
447
448 === release 0.10.2 ===
449
450 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
451
452         * configure.ac:
453           releasing 0.10.2, "If man is five"
454
455 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
456
457         * gst/gstbuffer.c:
458         * gst/gstbuffer.h:
459         * libs/gst/base/gstbasetransform.c:
460         (gst_base_transform_prepare_output_buf):
461         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
462         * tests/check/gst/gstbuffer.c: (gst_test_suite):
463           Back out patch until after the release.
464
465 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
466
467         * gst/gstminiobject.c:
468           Spelling fix in docs.
469         * ChangeLog - remove conflict indicator
470
471 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
472
473         Reviewed By: Andy Wingo
474
475         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
476         (gst_buffer_make_metadata_writable):
477         * gst/gstbuffer.h:
478           Add gst_buffer_(is|make)_metadata_writable as analogues of
479           gst_buffer_(is|make)_writable.
480
481         * libs/gst/base/gstbasetransform.c:
482         (gst_base_transform_prepare_output_buf):
483         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
484           Use name gst_buffer_(is|make)_metadata_writable functions.
485
486         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
487           Test gst_buffer_(is|make)_metadata_writable
488         
489           (Closes: #324162)
490
491 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
492
493         * docs/manual/Makefile.am:
494           don't do parallel make
495         * configure.ac:
496           AC_SUBST HOST_CPU
497         * win32/common/config.h.in:
498           add generations for HOST_CPU and GST_MAJORMINOR
499         * win32/common/config.h:
500           commit generated result
501
502 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
503
504         * docs/manual/appendix-integration.xml:
505           Update GNOME integration section to use gst_init_get_option_group()
506           instead of the old popt stuff (#322911). Also, GNOME applications
507           should  now use gconf*sink and gconf*src instead of the old gconf
508           helper lib we had.
509
510 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
511
512
513         * docs/gst/gstreamer-docs.sgml:
514         * docs/gst/gstreamer-sections.txt:
515         * docs/libs/gstreamer-libs-sections.txt:
516           add new API entries to the docs
517         * libs/gst/controller/Makefile.am:
518         * libs/gst/controller/gstcontroller.c:
519         * libs/gst/controller/gstcontroller.h:
520         * libs/gst/controller/gstcontrollerprivate.h:
521         * libs/gst/controller/gsthelper.c:
522         * libs/gst/controller/gstinterpolation.c:
523           move private structs to private header
524         * po/README:
525           gstreamer-0.7 -> gstreamer-0.10
526         * tests/check/libs/struct_i386.h:
527           remove private structs
528
529 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
530
531         * plugins/indexers/Makefile.am:
532           Fixes as part of #317048
533
534 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
535
536         * plugins/indexers/Makefile.am:
537           fix #316086 - compilation when mmap is missing
538
539 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
540
541         * libs/gst/base/gstbasesink.c:
542           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
543           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
544         * win32/common/config.h:
545           added some defines GST_MAJORMINOR and HOST_CPU
546         * win32/common/libgstbase.def:
547         * win32/common/libgstreamer.def:
548           added some exported functions.
549
550 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
551
552         * libs/gst/controller/gstcontroller.c:
553         (gst_controlled_property_set_interpolation_mode),
554         (gst_controlled_property_new):
555         * libs/gst/controller/gstcontroller.h:
556         * libs/gst/controller/gstinterpolation.c:
557         (interpolate_none_get_string_value_array):
558           make G_TYPE_STRING controlable
559
560 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
561
562         * tools/README:
563         * tools/gst-feedback.1.in:
564         * tools/gst-inspect.1.in:
565         * tools/gst-launch.1.in:
566         * tools/gst-md5sum.1.in:
567         * tools/gst-typefind.1.in:
568         * tools/gst-xmlinspect.1.in:
569         * tools/gst-xmllaunch.1.in:
570           cleanup man-pages, remove reference to gst-register, document env-vars
571
572 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * gst/gstbuffer.c: (gst_buffer_span):
575           gst_buffer_span should copy the timestamp of the first buffer
576           if they were both originally overlapping subbuffers of the 
577           same parent, using the same logic as the 'slow copy' case.
578
579 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
580
581         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
582           Need to awaken ALL the pads when we pop a buffer, otherwise
583           collectpads only works when there is 2 input streams.
584
585 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
586
587         * docs/random/ensonic/media-device-daemon.txt:
588           more ideas (dbus)
589         * gst/gstbuffer.c:
590           fix doc example, add clarification
591         * tools/gst-launch.1.in:
592           add initial info about GST_PLUGIN_PATH, needs more work
593
594 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
595
596         * docs/manual/basics-bins.xml:
597         * docs/manual/basics-elements.xml:
598         * docs/manual/intro-basics.xml:
599           Some more minor docs additions and updates.
600
601 2006-01-11  Wim Taymans  <wim@fluendo.com>
602
603         * docs/manual/basics-bins.xml:
604         * docs/manual/basics-elements.xml:
605         Some small fixes as pointed out by Ser-ver on IRC.
606
607 2006-01-10  Edward Hervey  <edward@fluendo.com>
608
609         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
610         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
611         the single-segment mode.
612
613 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
614
615         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
616
617         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
618         (gst_base_src_perform_seek), (gst_base_src_send_event),
619         (gst_base_src_set_property), (gst_base_src_get_property),
620         (gst_base_src_loop), (gst_base_src_start),
621         (gst_base_src_activate_push):
622         * libs/gst/base/gstbasesrc.h:
623           Name (private) union; makes Sun's Forte compiler happy (#324900).
624
625 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
626
627         * README:
628           gst-register is gone.
629
630 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
631
632         * gst/gstvalue.c: (_gst_value_initialize):
633           make the G_TYPE_DATE instantiation work if debug is disabled
634
635 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
636
637         * gst/gstmessage.c: (gst_message_parse_tag),
638         (gst_message_parse_error), (gst_message_parse_warning):
639           Don't crash when return location for error/warning debug
640           string is NULL; add fact that return locations can be
641           NULL to docs where appropriate.
642
643 2006-01-05  Wim Taymans  <wim@fluendo.com>
644
645         * gst/gstplugin.c: (gst_plugin_load_file):
646         Replace strdup by g_strdup.
647
648 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
649
650         * docs/pwg/advanced-types.xml:
651           fix doc borkage
652
653 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
654
655         submitted by: Abel Cheung
656
657         * po/LINGUAS:
658         * po/zh_TW.po:
659           Added Chinese (traditional) translation
660
661 2006-01-04  Wim Taymans  <wim@fluendo.com>
662
663         * docs/manual/basics-pads.xml:
664         * docs/plugins/Makefile.am:
665         * docs/plugins/gstreamer-plugins-docs.sgml:
666         * docs/plugins/gstreamer-plugins-sections.txt:
667         * docs/pwg/advanced-clock.xml:
668         * docs/pwg/advanced-scheduling.xml:
669         * docs/pwg/advanced-types.xml:
670         * plugins/elements/gstfdsink.c:
671         * plugins/elements/gstfdsrc.c:
672         * plugins/elements/gstfdsrc.h:
673         * plugins/elements/gstidentity.c: (gst_identity_class_init):
674         * plugins/elements/gstidentity.h:
675         * plugins/elements/gstqueue.h:
676         * plugins/elements/gsttee.c:
677         * plugins/elements/gsttee.h:
678         * plugins/elements/gsttypefindelement.c:
679         (gst_type_find_element_class_init):
680         * plugins/elements/gsttypefindelement.h:
681         Small updates to various docs.
682         Added core plugins to docs.
683
684 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
685
686         * common/gst.supp:
687           add a suppression for liboil's uninitialized variable
688
689 2006-01-02  James Livingston  <jrl at ids dot org dot au>
690
691         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
692
693         * gst/gstutils.h:
694           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
695           macro, so that gcc doesn't complain if the -Wmissing-prototypes
696           compiler switch is being used (#325429).
697
698 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
699
700         * gst/gstbin.c: (gst_bin_query):
701           Disable duration query caching in bins until it gets
702           fixed (see #324807).
703
704 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
705
706         * tools/gst-inspect.c: (print_element_properties_info):
707           Handle properties of POINTER and BOXED type.
708
709 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
710
711         * gst/gst.c: (init_post):
712           Init tags stuff and some other things before loading
713           any static plugins (there may be other static plugins
714           than just the GStreamer ones, and they may want to
715           register their own tags or formats or whatever, and
716           preferably without segfaulting).
717
718         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
719           Print at least a warning in the debug logs if we drop a
720           query just because we don't know how to adjust the value
721           in the particular format.
722
723 2005-12-24  David Schleef  <ds@schleef.org>
724
725         * tools/gstreamer-completion:
726           Replacement for gst-complete written in sh and sed.  Only
727           completes names of features, but that's 90% of what I want
728           it for.  Properties are not available in registry.xml.  (Maybe
729           they should be...)
730
731 === release 0.10.1 ===
732
733 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
734
735         * configure.ac:
736           releasing 0.10.1, "Nollaig chridheil"
737
738 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
739
740         * docs/faq/cvs.xml:
741           Add missing quote, should be make ERROR_CFLAGS="".
742
743 2005-12-20  Wim Taymans  <wim@fluendo.com>
744
745         * docs/design/part-trickmodes.txt:
746         More documentation on trickmodes.
747
748 2005-12-20  Edward Hervey  <edward@fluendo.com>
749
750         * gst/gstcaps.c: (gst_static_caps_get_type):
751         * gst/gstcaps.h:
752           API addition: GST_TYPE_STATIC_CAPS
753         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
754         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
755         * gst/gstpadtemplate.h:
756           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
757         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
758         bindings.
759
760 2005-12-18  Wim Taymans  <wim@fluendo.com>
761
762         * libs/gst/base/gstadapter.c:
763         * libs/gst/base/gstadapter.h:
764         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
765         (gst_base_sink_get_position):
766         * libs/gst/base/gstbasesink.h:
767         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
768         (gst_base_src_default_query), (gst_base_src_default_do_seek),
769         (gst_base_src_do_seek), (gst_base_src_perform_seek),
770         (gst_base_src_send_event), (gst_base_src_update_length),
771         (gst_base_src_get_range), (gst_base_src_loop),
772         (gst_base_src_start):
773         * libs/gst/base/gstbasesrc.h:
774         * libs/gst/base/gstbasetransform.h:
775         * libs/gst/base/gstcollectpads.h:
776         * libs/gst/base/gstpushsrc.c:
777         * libs/gst/base/gstpushsrc.h:
778         * libs/gst/dataprotocol/dataprotocol.c:
779         * libs/gst/dataprotocol/dataprotocol.h:
780         * libs/gst/net/gstnetclientclock.h:
781         * libs/gst/net/gstnettimeprovider.h:
782         Documentation updates.
783
784 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
785
786         * docs/manual/basics-helloworld.xml:
787           Remove superfluous closing bracket in helloworld example.
788
789 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
790
791         * tools/gst-launch.1.in:
792           Update gst-launch man page; add a section with useful
793           environment variables. Fixes #323882.
794
795 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
796
797         * gst/gst.c:
798         * gst/gst_private.h:
799           change some char* into char[]
800
801 2005-12-16  Wim Taymans  <wim@fluendo.com>
802
803         * gst/gstregistryxml.c: (load_feature):
804         Cleanups.
805         Don't use g_object_unref on GstObjects so that we avoid
806         leaks on unsafe glibs.
807
808 2005-12-16  Wim Taymans  <wim@fluendo.com>
809
810         * gst/gstbin.c: (gst_bin_recalc_state):
811         Small doc updates.
812
813 2005-12-16  Wim Taymans  <wim@fluendo.com>
814
815         * common/check.mak:
816         Added make forever target for check.
817
818 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
819
820         * gst/gst.c: (init_post):
821           make the registry cache file HOST_CPU-dependent
822
823 2005-12-16  Andy Wingo  <wingo@pobox.com>
824
825         * plugins/elements/gstbufferstore.c
826         (gst_buffer_store_cleared_func): Pay attention to g_list_append
827         return value.
828
829         * tests/check/gst/gstobject.c
830         (test_fake_object_name_threaded_unique): Pay attention to
831         g_list_sort return value.
832
833 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
834
835         * tools/gst-feedback-m.m:
836           Update for 0.9/0.10 (fixes #323870).
837
838 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
839
840         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
841           Fix lcopy for mini objects, the mini object needs to be ref'ed.
842           
843         * tests/check/gst/gstminiobject.c: (my_foo_init),
844         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
845         (test_value_collection), (gst_mini_object_suite):
846           Add test to ensure refcounts end up as expected when passing
847           GstMiniObjects through g_object_get() and g_object_set().
848
849 2005-12-14  Julien MOUTTE  <julien@moutte.net>
850
851         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
852         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
853         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
854         of collectpads. This version removes a lot of races without
855         touching API/ABI. Yay !
856
857 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
858
859         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
860           Don't allow activation of a srcpad in pull_range if it has no
861           getrange function.
862           Change some debug statements to be a little clearer
863
864         * plugins/elements/gsttypefindelement.c:
865         (gst_type_find_handle_src_query):
866           Check that we have a peer before executing queries thereupon.
867
868         * tests/examples/metadata/read-metadata.c: (message_loop):
869           Use gst_bus_pop instead of gst_bus_poll when we just want it to
870           immediately return us any available message with 0 timeout.
871
872 2005-12-12  Michael Smith  <msmith@fluendo.com>
873
874         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
875           Don't unref factories after calling them.
876         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
877         * plugins/elements/gsttypefindelement.c:
878         (gst_type_find_element_chain):
879           Free lists of factories after using them. Fixing typefinding memory
880           leaks.
881
882 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
883
884         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
885         (gst_plugin_feature_load):
886           more meaningful debug output
887         * configure.ac:
888         * tests/Makefile.am:
889         * tests/old/examples/Makefile.am:
890           make make distcheck happy again
891
892 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
895           Catch the special case where we are operating chain-based,
896           but the downstream peer pad has no chain function. Emit a
897           custom error message in this case instead of letting the
898           core generate one implying that this is some sort of core
899           bug. It's not, it just means that whatever got plugged
900           into the pipeline downstream when we announced the type
901           can only operate pull-based, while our source can only
902           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
903           Error string has not been marked for translation yet, as
904           it probably needs some more work first.
905
906         (gst_type_find_element_get_best_possibility):
907           Add helper function to find the best of all available
908           found possibilities that qualify given the min. threshold.
909
910         (gst_type_find_element_handle_event):
911           Fix the case where we get an EOS while still in TYPEFIND
912           mode (we want to chose the best of all possible types,
913           not just the first type that happens to be in our unsorted
914           list of possible types).
915
916         (gst_type_find_element_chain):
917           Make sure we return GST_FLOW_ERROR when we errored out
918           in stop_typefinding(); also, don't just find the best of
919           all found type entries and then use the last examined
920           type entry, but actually use the best entry.
921
922 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * tests/examples/typefind/typefind.c: (type_found):
925         * tests/examples/xml/runxml.c: (xml_loaded):
926           More gcc4 fixes and a mem leak fix.
927
928 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
929
930         * tests/examples/xml/createxml.c: (object_saved):
931           gcc 4 fixes
932
933 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
934
935         * tests/Makefile.am:
936           enable the examples even more
937
938 2005-12-12  Andy Wingo  <wingo@pobox.com>
939
940         * libs/gst/net/gstnettimeprovider.c
941         (gst_net_time_provider_class_init, gst_net_time_provider_init)
942         (gst_net_time_provider_set_property)
943         (gst_net_time_provider_get_property):
944         API addition: Export "active" as a GObject property.
945         (gst_net_time_provider_thread): Only respond to time queries if
946         the time provider is active.
947
948         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
949         NetTimeProvider, preserving binary compat.
950
951 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
952
953         * tests/examples/controller/audio-example.c: (main):
954         * tests/examples/launch/Makefile.am:
955           convert comments again
956
957 2005-12-12  Wim Taymans  <wim@fluendo.com>
958
959         * libs/gst/base/gstpushsrc.c:
960         Fix typo.
961
962 2005-12-12  Wim Taymans  <wim@fluendo.com>
963
964         * docs/libs/gstreamer-libs-sections.txt:
965         Added new symbol to docs.
966
967         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
968         (gst_base_src_init), (gst_base_src_set_format),
969         (gst_base_src_default_query), (gst_base_src_query),
970         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
971         (gst_base_src_perform_seek), (gst_base_src_send_event),
972         (gst_base_src_default_event), (gst_base_src_event_handler),
973         (gst_base_src_set_property), (gst_base_src_get_property),
974         (gst_base_src_wait), (gst_base_src_do_sync),
975         (gst_base_src_update_length), (gst_base_src_get_range),
976         (gst_base_src_check_get_range), (gst_base_src_loop),
977         (gst_base_src_default_negotiate), (gst_base_src_start),
978         (gst_base_src_activate_push), (gst_base_src_activate_pull),
979         (gst_base_src_change_state):
980         * libs/gst/base/gstbasesrc.h:
981         Implement seeking to other formats than _BYTES.
982         Implement more seeking methods correctly.
983         Doc updates.
984         Added query vmethod.
985         Added do_seek vmethod to make life easier for subclasses
986         when seeking.
987         API addition: gst_base_src_set_format()
988
989 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
990
991         * tests/examples/Makefile.am:
992           added that too
993
994 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
995
996         * configure.ac:
997         * docs/random/ensonic/media-device-daemon.txt:
998         * tests/examples/controller/.cvsignore:
999         * tests/examples/controller/Makefile.am:
1000         * tests/examples/controller/audio-example.c: (main):
1001         * tests/examples/helloworld/.cvsignore:
1002         * tests/examples/helloworld/Makefile.am:
1003         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1004         * tests/examples/launch/.cvsignore:
1005         * tests/examples/launch/Makefile.am:
1006         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1007         * tests/examples/metadata/.cvsignore:
1008         * tests/examples/metadata/Makefile.am:
1009         * tests/examples/metadata/read-metadata.c: (message_loop),
1010         (make_pipeline), (print_tag), (main):
1011         * tests/examples/queue/.cvsignore:
1012         * tests/examples/queue/Makefile.am:
1013         * tests/examples/queue/queue.c: (event_loop), (main):
1014         * tests/examples/typefind/.cvsignore:
1015         * tests/examples/typefind/Makefile.am:
1016         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1017         (main):
1018         * tests/examples/xml/.cvsignore:
1019         * tests/examples/xml/Makefile.am:
1020         * tests/examples/xml/createxml.c: (object_saved), (main):
1021         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1022         * tests/old/examples/Makefile.am:
1023         * tests/old/examples/TODO:
1024         * tests/old/examples/controller/.cvsignore:
1025         * tests/old/examples/controller/Makefile.am:
1026         * tests/old/examples/controller/audio-example.c:
1027         * tests/old/examples/helloworld/.cvsignore:
1028         * tests/old/examples/helloworld/Makefile.am:
1029         * tests/old/examples/helloworld/helloworld.c:
1030         * tests/old/examples/launch/.cvsignore:
1031         * tests/old/examples/launch/Makefile.am:
1032         * tests/old/examples/launch/mp3parselaunch.c:
1033         * tests/old/examples/launch/mp3play:
1034         * tests/old/examples/manual/Makefile.am:
1035         * tests/old/examples/metadata/Makefile.am:
1036         * tests/old/examples/metadata/read-metadata.c:
1037         * tests/old/examples/queue/.cvsignore:
1038         * tests/old/examples/queue/Makefile.am:
1039         * tests/old/examples/queue/queue.c:
1040         * tests/old/examples/typefind/.cvsignore:
1041         * tests/old/examples/typefind/Makefile.am:
1042         * tests/old/examples/typefind/typefind.c:
1043         * tests/old/examples/xml/.cvsignore:
1044         * tests/old/examples/xml/Makefile.am:
1045         * tests/old/examples/xml/createxml.c:
1046         * tests/old/examples/xml/runxml.c:
1047           applied some simple fixing to some examples
1048           re-enabled the working examples
1049
1050 2005-12-12  Wim Taymans  <wim@fluendo.com>
1051
1052         * gst/gstsegment.c: (gst_segment_init),
1053         (gst_segment_set_last_stop), (gst_segment_set_seek),
1054         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1055         (gst_segment_to_running_time):
1056         Added more documentation.
1057         Make sure the last_pos value is updated properly.
1058         Make sure to_stream_time and to_running_time don't
1059         operate on wrong values.
1060
1061         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1062         Update check.
1063
1064 2005-12-12  Michael Smith  <msmith@fluendo.com>
1065
1066         * plugins/elements/gsttypefindelement.c: (free_entry),
1067         (gst_type_find_element_chain):
1068           Now that we're not leaking factories, make sure we keep references
1069           to them while we need them.
1070
1071 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * tests/check/gst/struct_i386.h:
1074           ifdef out the XML structs
1075
1076 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1077
1078         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1079           floor is not needed, F is always positive; this obviates the
1080           need for adding -lm when building without libxml
1081
1082 2005-12-12  Wim Taymans  <wim@fluendo.com>
1083
1084         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1085         Take current playback rate into account when reporting
1086         the position.
1087
1088 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1089
1090         * docs/manual/mime-world.fig:
1091           Let's try this again, this time with a file that is
1092           actually in XFig format.
1093
1094 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1095
1096         * docs/manual/mime-world.fig:
1097           Add audioconvert element to diagram so that it
1098           matches the text and the code (fixes #319526).
1099
1100 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1101
1102         * docs/pwg/building-chainfn.xml:
1103         * docs/pwg/building-pads.xml:
1104         * docs/pwg/building-state.xml:
1105         * docs/pwg/other-source.xml:
1106           Update state change stuff for 0.10 (fixes #322969).
1107
1108 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1109
1110         * docs/manual/advanced-dataaccess.xml:
1111         * docs/manual/appendix-checklist.xml:
1112         * docs/manual/appendix-programs.xml:
1113         * docs/manual/basics-pads.xml:
1114         * docs/manual/highlevel-components.xml:
1115         * docs/manual/manual.xml:
1116           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1117           add converters in front of pipelines; remove curly
1118           brackets for threads stuff, they no longer exist; use
1119           GST_TYPE_FRACTION for framerates; update some pieces of
1120           code to 0.10, but there's plenty more to do.
1121
1122         * docs/manual/appendix-porting.xml:
1123           Expand on asynchroneous state changes; s/0.9/0.10/;
1124           mention disappearance of gst_init_get_popt_table()
1125           (fixes #322916).
1126
1127 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1128
1129         * docs/faq/using.xml:
1130           Spider no longer exists, and neither does gst-launch-ext.
1131           Update examples to use decodebin and playbin and put
1132           converters in front of sinks (fixes #323726).
1133
1134 2005-12-09  Michael Smith  <msmith@fluendo.com>
1135
1136         * plugins/elements/gsttypefindelement.c: (find_peek),
1137         (gst_type_find_element_chain):
1138           Fix leaking element factories in typefinding.
1139           Fix problem where we forgot about a probable type on non-seekable
1140           files, and thus later mis-typefound it.
1141
1142 2005-12-09  Michael Smith  <msmith@fluendo.com>
1143
1144         * common/m4/gst-makecontext.m4:
1145         * common/m4/gst-mcsc.m4:
1146         * configure.ac:
1147         * win32/common/config.h:
1148         * win32/common/config.h.in:
1149           Remove makecontext stuff; not used in 0.10 and causes problems on
1150           HPUX according to bug #322441
1151
1152 2005-12-07  Wim Taymans  <wim@fluendo.com>
1153
1154         * tests/check/Makefile.am:
1155         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1156         (main):
1157         * tests/check/libs/struct_i386.h:
1158         Added ABI check for libs
1159
1160 2005-12-07  Wim Taymans  <wim@fluendo.com>
1161
1162         * tests/check/Makefile.am:
1163         And add the struct_i386.h to dist.
1164
1165 2005-12-07  Wim Taymans  <wim@fluendo.com>
1166
1167         * tests/check/Makefile.am:
1168         * tests/check/gst/.cvsignore:
1169         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1170         (main):
1171         * tests/check/gst/struct_i386.h:
1172         Added check for ABI compatibility.
1173
1174 2005-12-07  Wim Taymans  <wim@fluendo.com>
1175
1176         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1177         (gst_fake_src_get_times), (gst_fake_src_create):
1178         Fix broken sync option, fixes #323259
1179
1180 2005-12-07  Wim Taymans  <wim@fluendo.com>
1181
1182         * gst/gstbuffer.c:
1183         Small docs update.
1184
1185         * gst/gstcaps.c: (gst_caps_is_equal):
1186         Don't assert on NULL <--> X. Fixes #323260
1187
1188         * gst/gstminiobject.c: (gst_mini_object_replace):
1189         If we're doing atomic operations, we might just as well use
1190         the proper way to get an atomic pointer.
1191
1192         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1193         Clean up debugging.
1194
1195 2005-12-07  Michael Smith  <msmith@fluendo.com>
1196
1197         * gst/parse/grammar.y:
1198           Remove handling of { } for threads.
1199
1200 2005-12-06  David Schleef  <ds@schleef.org>
1201
1202         * libs/gst/base/gstbasetransform.c: speling fix.
1203
1204 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1205
1206         * docs/libs/tmpl/gstdataprotocol.sgml:
1207         * docs/random/omega/testing/gstobject.c:
1208         * gst/gst.c:
1209         * gst/gstclock.c:
1210         * gst/gstelement.c:
1211         * gst/gstelementfactory.c:
1212         * gst/gsterror.c:
1213         * gst/gstevent.c:
1214         * gst/gstghostpad.c:
1215         * gst/gstinfo.c:
1216         * gst/gstpadtemplate.c:
1217         * gst/gstregistryxml.c:
1218         * gst/gsttaglist.c:
1219         * gst/gsttagsetter.c:
1220         * gst/gsttypefind.c:
1221         * gst/gstvalue.c:
1222         * libs/gst/base/gstbasesrc.c:
1223         * libs/gst/net/gstnetclientclock.c:
1224         * libs/gst/net/gstnettimeprovider.c:
1225         * plugins/elements/gstfakesrc.c:
1226         * plugins/elements/gstfdsrc.c:
1227         * plugins/elements/gstfilesrc.c:
1228         * plugins/elements/gstidentity.c:
1229         * plugins/elements/gstqueue.c:
1230         * plugins/elements/gsttypefindelement.c:
1231         * plugins/indexers/gstfileindex.c:
1232         * plugins/indexers/gstmemindex.c:
1233         * tests/check/gst/gsttag.c:
1234         * tests/old/examples/cutter/cutter.c:
1235         * tests/old/examples/mixer/mixer.c:
1236         * tests/old/examples/xml/runxml.c: (main):
1237         * tests/old/testsuite/caps/normalisation.c:
1238         * tests/old/testsuite/debug/global.c:
1239         * tests/old/testsuite/parse/parse1.c:
1240         * tools/gst-xmlinspect.c:
1241         * win32/common/dirent.c:
1242           expand tabs
1243
1244 === release 0.10.0 ===
1245
1246 2005-12-05   <thomas (at) apestaart (dot) org>
1247
1248         * configure.ac:
1249           releasing 0.10.0, "Maroilles"
1250
1251 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1252
1253         submitted by: Funda Wang <fundawang@linux.net.cn>
1254
1255         * po/LINGUAS:
1256         * po/zh_CN.po:
1257           added Chinese (Traditional) translation
1258
1259 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1260
1261         * docs/gst/gstreamer-sections.txt:
1262         * docs/libs/tmpl/gstdataprotocol.sgml:
1263         * docs/random/thomasvs/TODO:
1264         * gst/gstutils.c:
1265         * gst/gstutils.h:
1266           fix docs
1267
1268 2005-12-05  Andy Wingo  <wingo@pobox.com>
1269
1270         patch by: Wim Taymans <wim@fluendo.com>
1271
1272         * libs/gst/base/gstbasetransform.c
1273         (gst_base_transform_prepare_output_buf)
1274         (gst_base_transform_buffer_alloc):
1275         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1276         alloc_buffer_and_set_caps.
1277
1278         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1279         set_caps on the source pad.
1280         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1281         alloc_buffer used to do. Fixes #322874.
1282
1283         * docs/gst/gstreamer-sections.txt: 
1284         * docs/design/part-negotiation.txt: 
1285         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1286         changes.
1287
1288 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1289
1290         patch by: Sebastien Moutte
1291
1292         * win32/MANIFEST:
1293         * win32/common/config.h.in:
1294         * win32/vs6/libgstcontroller.dsp:
1295           win32 build fixes
1296
1297 2005-12-05  Wim Taymans  <wim@fluendo.com>
1298
1299         * gst/gstcaps.c: (gst_caps_is_equal):
1300         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1301         (gst_fake_src_create):
1302         Back out previous code changes, leave doc updates, file bugs 
1303         instead. 
1304
1305 2005-12-05  Wim Taymans  <wim@fluendo.com>
1306
1307         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1308         (gst_fake_src_get_times), (gst_fake_src_create):
1309         * plugins/elements/gstfakesrc.h:
1310         Fix broken sync code.
1311
1312 2005-12-05  Wim Taymans  <wim@fluendo.com>
1313
1314         * gst/gstcaps.c: (gst_caps_is_equal):
1315         Comparing NULL against !NULL yields different caps, not a
1316         failure.
1317
1318 2005-12-05  Wim Taymans  <wim@fluendo.com>
1319
1320         * gst/gstpipeline.c:
1321         Fix small typo in docs.
1322
1323 2005-12-05  Andy Wingo  <wingo@pobox.com>
1324
1325         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1326
1327         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1328         registries/plugins with a MAJORMINOR one.
1329         (plugin_desc): Rename library from gstcoreleements to
1330         staticelements. Fixes #323222.
1331
1332 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1333
1334         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1335           Change debug category to 'collectpads' from 'collect_pads'
1336           (fixes #323250).
1337
1338 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         patch by: Sebastien Moutte
1341
1342         * libs/gst/controller/gstinterpolation.c:
1343           use convert function for uint64/double
1344         * win32/vs6/libgstcontroller.dsp:
1345           link to GLib
1346
1347 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1348
1349         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1350         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1351         * gst/gstutils.h:
1352         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1353           add tests that seem to show that the guint64/gdouble conversions
1354           are correct.
1355
1356 2005-12-02  Wim Taymans  <wim@fluendo.com>
1357
1358         * gst/gstregistry.c: (gst_registry_add_path):
1359         * gst/gstregistry.h:
1360         * gst/gstregistryxml.c:
1361         Fix docs again.
1362
1363 2005-12-02  Wim Taymans  <wim@fluendo.com>
1364
1365         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1366         (gst_util_uint64_scale_int):
1367         Small cleanup.
1368
1369         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1370         Add debug log line.
1371
1372         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1373         Add FIXME.
1374
1375 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1376
1377         * win32/MANIFEST:
1378         * win32/common/config.h:
1379         * win32/vs6/gstreamer.dsw:
1380         * win32/vs6/libgstcoreelements.dsp:
1381         * win32/vs6/libgstelements.dsp:
1382           renamed core elements plugin
1383
1384 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1385
1386         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1387         (get_candidates):
1388           do piece-wise major/minor comparison so 0.9 < 0.10
1389           also allow .exe extensions for tools
1390
1391 2005-12-02  Michael Smith  <msmith@fluendo.com>
1392
1393         * gst/gst.c:
1394           Escape a % to make gtkdoc happier; bug 322958.
1395
1396 === release 0.9.7 ===
1397
1398 2005-12-01   <thomas (at) apestaart (dot) org>
1399
1400         * configure.ac:
1401           releasing 0.9.7, "My Dog Has No Nose"
1402
1403 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1404
1405         * common/gst-xmlinspect.py:
1406         * configure.ac:
1407         * docs/libs/tmpl/gstdataprotocol.sgml:
1408         * docs/random/release:
1409         * po/af.po:
1410         * po/az.po:
1411         * po/bg.po:
1412         * po/ca.po:
1413         * po/cs.po:
1414         * po/de.po:
1415         * po/en_GB.po:
1416         * po/fr.po:
1417         * po/it.po:
1418         * po/nb.po:
1419         * po/nl.po:
1420         * po/ru.po:
1421         * po/sq.po:
1422         * po/sr.po:
1423         * po/sv.po:
1424         * po/tr.po:
1425         * po/uk.po:
1426         * po/vi.po:
1427         * win32/common/config.h:
1428         * win32/common/config.h.in:
1429         * win32/vs6/gst_inspect.dsp:
1430         * win32/vs6/gst_launch.dsp:
1431         * win32/vs6/libgstbase.dsp:
1432         * win32/vs6/libgstelements.dsp:
1433         * win32/vs6/libgstreamer.dsp:
1434         * win32/vs7/GStreamer.vcproj:
1435         * win32/vs7/gst-inspect.vcproj:
1436         * win32/vs7/gst-launch.vcproj:
1437         * win32/vs7/libgstbase.vcproj:
1438           bump GST_MAJORMINOR to 0.10
1439           reset libtool version
1440
1441 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1442
1443         * po/LINGUAS:
1444         * po/bg.po:
1445           Added Bulgarian translation by (Alexander Shopov)
1446
1447 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1448
1449         * tests/check/gst/gstplugin.c:
1450           fix test
1451
1452 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1453
1454         * common/gst-xmlinspect.py:
1455         * common/gtk-doc-plugins.mak:
1456         * configure.ac:
1457         * docs/Makefile.am:
1458         * docs/gst/Makefile.am:
1459         * docs/gst/gstreamer-docs.sgml:
1460         * docs/gst/gstreamer-sections.txt:
1461         * docs/gst/gstreamer.types:
1462         * docs/gst/gstreamer.types.in:
1463         * docs/plugins/Makefile.am:
1464         * docs/plugins/gstreamer-plugins-docs.sgml:
1465         * docs/plugins/gstreamer-plugins-sections.txt:
1466         * docs/plugins/gstreamer-plugins.types:
1467         * docs/plugins/inspect.stamp:
1468         * docs/plugins/inspect/plugin-coreelements.xml:
1469         * docs/plugins/inspect/plugin-coreindexers.xml:
1470         * docs/plugins/scanobj-build.stamp:
1471         * gstreamer.spec.in:
1472         * plugins/elements/Makefile.am:
1473         * plugins/elements/gstelements.c:
1474         * plugins/elements/gstfakesink.c:
1475         * plugins/elements/gstfakesrc.c:
1476         * plugins/elements/gstfilesink.c:
1477         * plugins/elements/gstfilesrc.c:
1478         * plugins/elements/gstqueue.c:
1479         * plugins/indexers/Makefile.am:
1480         * plugins/indexers/gstindexers.c:
1481           document core plugins in a separate document just like all the
1482           others
1483           rename these plugins to something starting with core
1484
1485 2005-12-01  Andy Wingo  <wingo@pobox.com>
1486
1487         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1488         padding here before, but it missed the commit.
1489
1490 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1491
1492         * libs/gst/controller/gstinterpolation.c:
1493           whitespace prices have crashed, we should feel free to use some now
1494           use gst_guint64_to_gdouble
1495
1496 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1497
1498         * libs/gst/controller/gstcontroller.c:
1499         * libs/gst/controller/gsthelper.c:
1500         * libs/gst/controller/gstinterpolation.c:
1501         * libs/gst/controller/lib.c:
1502           wrap config.h include
1503
1504 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1505
1506         * docs/gst/gstreamer-sections.txt:
1507           update docs
1508
1509 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1510
1511         * plugins/elements/gstelements.c:
1512         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1513         (gst_fd_sink__class_init), (gst_fd_sink__init),
1514         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1515         (gst_fd_sink__get_property):
1516         * plugins/elements/gstfdsink.h:
1517         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1518         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1519         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1520         (gst_fd_src_unlock), (gst_fd_src_set_property),
1521         (gst_fd_src_get_property), (gst_fd_src_create),
1522         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1523         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1524         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1525         (gst_fd_src_uri_handler_init):
1526         * plugins/elements/gstfdsrc.h:
1527         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1528           more anal cleanup
1529
1530 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1531
1532         * docs/gst/Makefile.am:
1533         * docs/gst/gstreamer.types.in:
1534         * gst/Makefile.am:
1535           fix the docs build
1536
1537 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1538
1539         * configure.ac:
1540         * gst/Makefile.am:
1541         * gst/gst.c:
1542         * gst/gstplugin.h:
1543         * gst/gstregistry.h:
1544         * tests/benchmarks/complexity.c:
1545         * tests/benchmarks/mass-elements.c:
1546         * tests/check/Makefile.am:
1547         * tools/Makefile.am:
1548         * tools/gst-inspect.c:
1549         * tools/gst-xmlinspect.c:
1550           various fixes to make
1551           --disable-nls --disable-registry --disable-loadsave
1552           --disable-parse --disable-gst-debug
1553           work and get the core .so down to 360444 bytes after stripping
1554
1555 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1556
1557         * Makefile.am:
1558         * configure.ac:
1559           descend into tests
1560         * docs/random/thomasvs/TODO:
1561         * tests/Makefile.am:
1562         * tests/README:
1563           add a README
1564
1565 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1566
1567         * win32/GStreamer.vcproj:
1568         * win32/MANIFEST:
1569         * win32/Makefile:
1570         * win32/Makefile.inspect:
1571         * win32/Makefile.launch:
1572         * win32/Makefile.register:
1573         * win32/README.txt:
1574         * win32/gst-inspect.vcproj:
1575         * win32/gst-launch.vcproj:
1576         * win32/gst-register.vcproj:
1577         * win32/gstelements.vcproj:
1578         * win32/gstgetbits.def:
1579         * win32/gstgetbits.vcproj:
1580         * win32/gstreamer-dbg.def:
1581         * win32/gstreamer.def:
1582         * win32/libgstbase.def:
1583         * win32/libgstbase.vcproj:
1584         * win32/link_oldruntime.c:
1585         * win32/mman.c:
1586         * win32/mman.h:
1587         * win32/mman.inl:
1588         * win32/msvc71.sln:
1589           move even more stuff, win32/ is nice and clean now
1590
1591 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * libs/gst/control/.cvsignore:
1594         * win32/MANIFEST:
1595         * win32/config.h:
1596         * win32/dirent.c:
1597         * win32/dirent.h:
1598         * win32/gstbytestream.def:
1599         * win32/gstbytestream.vcproj:
1600         * win32/gstconfig.h:
1601         * win32/gstenumtypes.c:
1602         * win32/gstenumtypes.h:
1603         * win32/gstoptimalscheduler.vcproj:
1604         * win32/gstversion.h:
1605         * win32/gtchar.h:
1606         * win32/testsuite/bins.vcproj:
1607         * win32/testsuite/bytestream.vcproj:
1608         * win32/testsuite/caps.vcproj:
1609         * win32/testsuite/cleanup.vcproj:
1610         * win32/testsuite/clock.vcproj:
1611         * win32/testsuite/debug.vcproj:
1612         * win32/testsuite/dlopen.vcproj:
1613         * win32/testsuite/dynparams.vcproj:
1614         * win32/testsuite/elements.vcproj:
1615         * win32/testsuite/ghostpads.vcproj:
1616         * win32/testsuite/indexers.vcproj:
1617         * win32/testsuite/negotiation.vcproj:
1618         * win32/testsuite/parse.vcproj:
1619         * win32/testsuite/plugin.vcproj:
1620         * win32/testsuite/refcounting.vcproj:
1621         * win32/testsuite/schedulers.vcproj:
1622         * win32/testsuite/states.vcproj:
1623         * win32/testsuite/tags.vcproj:
1624         * win32/testsuite/threads.vcproj:
1625           remove old win32 stuff that isn't maintained and should be
1626           reorganized
1627
1628 2005-11-30  Andy Wingo  <wingo@pobox.com>
1629
1630         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1631         loading the gst.interfaces python module bork.
1632
1633         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1634         available since GLib 2.2. Fixes #318031.
1635
1636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1637
1638         * Makefile.am:
1639         * check/.cvsignore:
1640         * check/Makefile.am:
1641         * check/elements/.cvsignore:
1642         * check/elements/fakesrc.c:
1643         * check/elements/fdsrc.c:
1644         * check/elements/identity.c:
1645         * check/generic/.cvsignore:
1646         * check/generic/states.c:
1647         * check/gst-libs/.cvsignore:
1648         * check/gst-libs/controller.c:
1649         * check/gst-libs/gdp.c:
1650         * check/gst/.cvsignore:
1651         * check/gst/capslist.h:
1652         * check/gst/gst.c:
1653         * check/gst/gstbin.c:
1654         * check/gst/gstbuffer.c:
1655         * check/gst/gstbus.c:
1656         * check/gst/gstcaps.c:
1657         * check/gst/gstelement.c:
1658         * check/gst/gstevent.c:
1659         * check/gst/gstghostpad.c:
1660         * check/gst/gstiterator.c:
1661         * check/gst/gstmessage.c:
1662         * check/gst/gstminiobject.c:
1663         * check/gst/gstobject.c:
1664         * check/gst/gstpad.c:
1665         * check/gst/gstpipeline.c:
1666         * check/gst/gstplugin.c:
1667         * check/gst/gstsegment.c:
1668         * check/gst/gststructure.c:
1669         * check/gst/gstsystemclock.c:
1670         * check/gst/gsttag.c:
1671         * check/gst/gstutils.c:
1672         * check/gst/gstvalue.c:
1673         * check/net/.cvsignore:
1674         * check/net/gstnetclientclock.c:
1675         * check/net/gstnettimeprovider.c:
1676         * check/pipelines/.cvsignore:
1677         * check/pipelines/cleanup.c:
1678         * check/pipelines/simple_launch_lines.c:
1679         * check/pipelines/stress.c:
1680         * check/states/.cvsignore:
1681         * check/states/sinks.c:
1682         * configure.ac:
1683         * examples/Makefile.am:
1684         * examples/appreader/.cvsignore:
1685         * examples/appreader/Makefile.am:
1686         * examples/appreader/appreader.c:
1687         * examples/controller/.cvsignore:
1688         * examples/controller/Makefile.am:
1689         * examples/controller/audio-example.c:
1690         * examples/cutter/.cvsignore:
1691         * examples/cutter/Makefile.am:
1692         * examples/cutter/cutter.c:
1693         * examples/cutter/cutter.h:
1694         * examples/events/Makefile.am:
1695         * examples/events/seek.c:
1696         * examples/helloworld/.cvsignore:
1697         * examples/helloworld/Makefile.am:
1698         * examples/helloworld/helloworld.c:
1699         * examples/helloworld2/.cvsignore:
1700         * examples/helloworld2/Makefile.am:
1701         * examples/helloworld2/helloworld2.c:
1702         * examples/launch/.cvsignore:
1703         * examples/launch/Makefile.am:
1704         * examples/launch/mp3parselaunch.c:
1705         * examples/launch/mp3play:
1706         * examples/manual/.cvsignore:
1707         * examples/manual/Makefile.am:
1708         * examples/manual/extract.pl:
1709         * examples/metadata/Makefile.am:
1710         * examples/metadata/read-metadata.c:
1711         * examples/mixer/.cvsignore:
1712         * examples/mixer/Makefile.am:
1713         * examples/mixer/mixer.c:
1714         * examples/mixer/mixer.h:
1715         * examples/pingpong/.cvsignore:
1716         * examples/pingpong/Makefile.am:
1717         * examples/pingpong/pingpong.c:
1718         * examples/plugins/.cvsignore:
1719         * examples/plugins/Makefile.am:
1720         * examples/plugins/example.c:
1721         * examples/plugins/example.h:
1722         * examples/pwg/.cvsignore:
1723         * examples/pwg/Makefile.am:
1724         * examples/pwg/extract.pl:
1725         * examples/queue/.cvsignore:
1726         * examples/queue/Makefile.am:
1727         * examples/queue/queue.c:
1728         * examples/queue2/.cvsignore:
1729         * examples/queue2/Makefile.am:
1730         * examples/queue2/queue2.c:
1731         * examples/queue3/.cvsignore:
1732         * examples/queue3/Makefile.am:
1733         * examples/queue3/queue3.c:
1734         * examples/queue4/.cvsignore:
1735         * examples/queue4/Makefile.am:
1736         * examples/queue4/queue4.c:
1737         * examples/retag/.cvsignore:
1738         * examples/retag/Makefile.am:
1739         * examples/retag/retag.c:
1740         * examples/retag/transcode.c:
1741         * examples/thread/.cvsignore:
1742         * examples/thread/Makefile.am:
1743         * examples/thread/thread.c:
1744         * examples/typefind/.cvsignore:
1745         * examples/typefind/Makefile.am:
1746         * examples/typefind/typefind.c:
1747         * examples/xml/.cvsignore:
1748         * examples/xml/Makefile.am:
1749         * examples/xml/createxml.c:
1750         * examples/xml/runxml.c:
1751         * tests/Makefile.am:
1752         * tests/check/Makefile.am:
1753         * testsuite/.cvsignore:
1754         * testsuite/Makefile.am:
1755         * testsuite/Rules:
1756         * testsuite/caps/.cvsignore:
1757         * testsuite/caps/Makefile.am:
1758         * testsuite/caps/app_fixate.c:
1759         * testsuite/caps/audioscale.c:
1760         * testsuite/caps/caps.c:
1761         * testsuite/caps/caps.h:
1762         * testsuite/caps/caps_strings:
1763         * testsuite/caps/compatibility.c:
1764         * testsuite/caps/deserialize.c:
1765         * testsuite/caps/enumcaps.c:
1766         * testsuite/caps/eratosthenes.c:
1767         * testsuite/caps/filtercaps.c:
1768         * testsuite/caps/fixed.c:
1769         * testsuite/caps/fraction-convert.c:
1770         * testsuite/caps/fraction-multiply-and-zero.c:
1771         * testsuite/caps/intersect2.c:
1772         * testsuite/caps/intersection.c:
1773         * testsuite/caps/normalisation.c:
1774         * testsuite/caps/random.c:
1775         * testsuite/caps/renegotiate.c:
1776         * testsuite/caps/sets.c:
1777         * testsuite/caps/simplify.c:
1778         * testsuite/caps/string-conversions.c:
1779         * testsuite/caps/structure.c:
1780         * testsuite/caps/subtract.c:
1781         * testsuite/caps/union.c:
1782         * testsuite/debug/.cvsignore:
1783         * testsuite/debug/Makefile.am:
1784         * testsuite/debug/category.c:
1785         * testsuite/debug/commandline.c:
1786         * testsuite/debug/global.c:
1787         * testsuite/debug/output.c:
1788         * testsuite/debug/printf_extension.c:
1789         * testsuite/dlopen/.cvsignore:
1790         * testsuite/dlopen/Makefile.am:
1791         * testsuite/dlopen/dlopen_gst.c:
1792         * testsuite/dlopen/loadgst.c:
1793         * testsuite/elements/.cvsignore:
1794         * testsuite/elements/Makefile.am:
1795         * testsuite/elements/gst-inspect-check.in:
1796         * testsuite/elements/struct_i386.h:
1797         * testsuite/elements/struct_size.c:
1798         * testsuite/indexers/.cvsignore:
1799         * testsuite/indexers/Makefile.am:
1800         * testsuite/indexers/cache1.c:
1801         * testsuite/indexers/indexdump.c:
1802         * testsuite/parse/.cvsignore:
1803         * testsuite/parse/Makefile.am:
1804         * testsuite/parse/parse1.c:
1805         * testsuite/parse/parse2.c:
1806         * testsuite/plugin/.cvsignore:
1807         * testsuite/plugin/Makefile.am:
1808         * testsuite/plugin/README:
1809         * testsuite/plugin/dynamic.c:
1810         * testsuite/plugin/linked.c:
1811         * testsuite/plugin/loading.c:
1812         * testsuite/plugin/registry.c:
1813         * testsuite/plugin/static.c:
1814         * testsuite/plugin/static2.c:
1815         * testsuite/plugin/testplugin.c:
1816         * testsuite/plugin/testplugin2.c:
1817         * testsuite/plugin/testplugin2_s.c:
1818         * testsuite/plugin/testplugin_s.c:
1819         * testsuite/refcounting/.cvsignore:
1820         * testsuite/refcounting/Makefile.am:
1821         * testsuite/refcounting/bin.c:
1822         * testsuite/refcounting/element.c:
1823         * testsuite/refcounting/element_pad.c:
1824         * testsuite/refcounting/mainloop.c:
1825         * testsuite/refcounting/mem.c:
1826         * testsuite/refcounting/mem.h:
1827         * testsuite/refcounting/object.c:
1828         * testsuite/refcounting/pad.c:
1829         * testsuite/refcounting/sched.c:
1830         * testsuite/refcounting/thread.c:
1831         * testsuite/states/.cvsignore:
1832         * testsuite/states/Makefile.am:
1833         * testsuite/states/bin.c:
1834         * testsuite/states/locked.c:
1835         * testsuite/states/parent.c:
1836         * testsuite/threads/.cvsignore:
1837         * testsuite/threads/159566.c:
1838         * testsuite/threads/159852.c:
1839         * testsuite/threads/Makefile.am:
1840         * testsuite/threads/queue.c:
1841         * testsuite/threads/signals.c:
1842         * testsuite/threads/staticrec.c:
1843         * testsuite/threads/thread.c:
1844         * testsuite/threads/threadb.c:
1845         * testsuite/threads/threadc.c:
1846         * testsuite/threads/threadd.c:
1847         * testsuite/threads/threade.c:
1848         * testsuite/threads/threadf.c:
1849         * testsuite/threads/threadg.c:
1850         * testsuite/threads/threadh.c:
1851         * testsuite/threads/threadi.c:
1852           move all of these under tests
1853
1854 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1855
1856         * configure.ac:
1857         * tests/Makefile.am:
1858           fix distcheck
1859
1860 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1861
1862         * docs/gst/gstreamer-sections.txt:
1863         * tests/sched/.cvsignore:
1864         * tests/sched/Makefile.am:
1865         * tests/sched/cases/(fs-fs).xml:
1866         * tests/sched/cases/(fs-i-fs).xml:
1867         * tests/sched/cases/(fs-i-i-fs).xml:
1868         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1869         * tests/sched/dynamic-pipeline.c:
1870         * tests/sched/interrupt1.c:
1871         * tests/sched/interrupt2.c:
1872         * tests/sched/interrupt3.c:
1873         * tests/sched/runtestcases:
1874         * tests/sched/runxml.c:
1875         * tests/sched/sched-stress.c:
1876         * tests/sched/sort.c:
1877         * tests/sched/testcases:
1878         * tests/sched/testcases1.tc:
1879         * tests/seeking/.cvsignore:
1880         * tests/seeking/Makefile.am:
1881         * tests/seeking/seeking1.c:
1882         * tests/threadstate/.cvsignore:
1883         * tests/threadstate/Makefile.am:
1884         * tests/threadstate/test1.c:
1885         * tests/threadstate/test2.c:
1886         * tests/threadstate/threadstate1.c:
1887         * tests/threadstate/threadstate2.c:
1888         * tests/threadstate/threadstate3.c:
1889         * tests/threadstate/threadstate4.c:
1890         * tests/threadstate/threadstate5.c:
1891           remove obsolete tests
1892         * configure.ac:
1893         * tests/bench-complexity.scm:
1894         * tests/bench-mass_elements.scm:
1895         * tests/complexity.c:
1896         * tests/complexity.gnuplot:
1897         * tests/instantiate/.cvsignore:
1898         * tests/instantiate/Makefile.am:
1899         * tests/instantiate/caps.c:
1900         * tests/mass_elements.c:
1901         * tests/network-clock-utils.scm:
1902         * tests/network-clock.scm:
1903         * tests/plot-data:
1904         First pass at cleaning up tests/ dir before moving the rest
1905         Combined with CVS surgery
1906
1907 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1908
1909         * po/POTFILES.in:
1910           queue has moved, update
1911
1912 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1913
1914         * docs/gst/gstreamer-sections.txt:
1915           remove double entries from the docs
1916         * gst/gst_private.h:
1917         * gst/gstinfo.c: (_gst_debug_init):
1918           remove the THREAD debug category
1919         * gst/Makefile.am:
1920         * gst/gstqueue.c:
1921         * gst/gstqueue.h:
1922         * docs/gst/gstreamer.types:
1923         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1924         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1925           completely move queue and fix up debugging categories
1926
1927 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1928
1929         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1930           make initialization portable, using LL is not
1931
1932 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1933
1934         * win32/common/gstconfig.h:
1935           add large padding
1936
1937 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1938
1939         * win32/common/libgstreamer.def:
1940           rename symbols; sort base section
1941
1942 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1943
1944         * gst/gstclock.c: (do_linear_regression):
1945           remove crack non-portable handrolled DEBUG macro
1946
1947 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * docs/random/release:
1950           update notes
1951         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1952         (gst_object_flags_get_type), (register_gst_bin_flags),
1953         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1954         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1955         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1956         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1957         (gst_caps_flags_get_type), (register_gst_clock_return),
1958         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1959         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1960         (gst_clock_flags_get_type), (register_gst_state),
1961         (gst_state_get_type), (register_gst_state_change_return),
1962         (gst_state_change_return_get_type), (register_gst_state_change),
1963         (gst_state_change_get_type), (register_gst_element_flags),
1964         (gst_element_flags_get_type), (register_gst_core_error),
1965         (gst_core_error_get_type), (register_gst_library_error),
1966         (gst_library_error_get_type), (register_gst_resource_error),
1967         (gst_resource_error_get_type), (register_gst_stream_error),
1968         (gst_stream_error_get_type), (register_gst_event_type_flags),
1969         (gst_event_type_flags_get_type), (register_gst_event_type),
1970         (gst_event_type_get_type), (register_gst_seek_type),
1971         (gst_seek_type_get_type), (register_gst_seek_flags),
1972         (gst_seek_flags_get_type), (register_gst_format),
1973         (gst_format_get_type), (register_gst_index_certainty),
1974         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1975         (gst_index_entry_type_get_type),
1976         (register_gst_index_lookup_method),
1977         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1978         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1979         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1980         (gst_index_flags_get_type), (register_gst_debug_level),
1981         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1982         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1983         (gst_iterator_result_get_type), (register_gst_iterator_item),
1984         (gst_iterator_item_get_type), (register_gst_message_type),
1985         (gst_message_type_get_type), (register_gst_mini_object_flags),
1986         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1987         (gst_pad_link_return_get_type), (register_gst_flow_return),
1988         (gst_flow_return_get_type), (register_gst_activate_mode),
1989         (gst_activate_mode_get_type), (register_gst_pad_direction),
1990         (gst_pad_direction_get_type), (register_gst_pad_flags),
1991         (gst_pad_flags_get_type), (register_gst_pad_presence),
1992         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1993         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1994         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1995         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1996         (gst_plugin_flags_get_type), (register_gst_rank),
1997         (gst_rank_get_type), (register_gst_query_type),
1998         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1999         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2000         (gst_tag_flag_get_type), (register_gst_task_state),
2001         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2002         (gst_alloc_trace_flags_get_type),
2003         (register_gst_type_find_probability),
2004         (gst_type_find_probability_get_type), (register_gst_uri_type),
2005         (gst_uri_type_get_type), (register_gst_parse_error),
2006         (gst_parse_error_get_type):
2007         * win32/common/gstenumtypes.h:
2008         * win32/common/gstversion.h:
2009           update visual studio generated files
2010
2011 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2012
2013         * win32/vs6/libgstbase.dsp:
2014         * win32/vs6/libgstelements.dsp:
2015           update project files for new locations
2016
2017 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2018
2019         * Makefile.am:
2020           remove some files
2021         * README:
2022           reinstate and update
2023         * DEVEL:
2024         * REQUIREMENTS:
2025           removed
2026         * LICENSE:
2027         * docs/random/LICENSE:
2028           moved to random
2029
2030 2005-11-30  Edward Hervey  <edward@fluendo.com>
2031
2032         * gst/gsttypefind.c: (gst_type_find_register):
2033         * gst/gsttypefind.h:
2034         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2035         (gst_type_find_factory_dispose):
2036         * gst/gsttypefindfactory.h:
2037         Fix memory leak in GstTypeFindFactory.
2038
2039 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2040
2041         * gst/gst.c:
2042         * plugins/elements/Makefile.am:
2043         * plugins/elements/gstelements.c:
2044         * plugins/elements/gstqueue.c:
2045           move queue from core to the elements plugin
2046
2047 2005-11-29  Andy Wingo  <wingo@pobox.com>
2048
2049         * libs/gst/base/gstbasetransform.h: 
2050         * libs/gst/base/gstbasesrc.h: 
2051         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2052
2053         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2054         of pointers by which to pad very extensible base classes (like the
2055         ones in libs/gst/base).
2056
2057 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2058
2059         * docs/gst/gstreamer-docs.sgml:
2060         * docs/gst/gstreamer-sections.txt:
2061         * docs/libs/gstreamer-libs-docs.sgml:
2062         * docs/libs/gstreamer-libs-sections.txt:
2063           moving documentation from core to lib
2064
2065 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2066
2067         * check/Makefile.am:
2068         * configure.ac:
2069         * docs/gst/Makefile.am:
2070         * gst/Makefile.am:
2071         * gst/base/.cvsignore:
2072         * gst/base/Makefile.am:
2073         * gst/base/README:
2074         * gst/base/gstadapter.c:
2075         * gst/base/gstadapter.h:
2076         * gst/base/gstbasesink.c:
2077         * gst/base/gstbasesink.h:
2078         * gst/base/gstbasesrc.c:
2079         * gst/base/gstbasesrc.h:
2080         * gst/base/gstbasetransform.c:
2081         * gst/base/gstbasetransform.h:
2082         * gst/base/gstcollectpads.c:
2083         * gst/base/gstcollectpads.h:
2084         * gst/base/gstpushsrc.c:
2085         * gst/base/gstpushsrc.h:
2086         * gst/base/gsttypefindhelper.c:
2087         * gst/base/gsttypefindhelper.h:
2088         * gst/check/Makefile.am:
2089         * gst/check/gstcheck.c:
2090         * gst/check/gstcheck.h:
2091         * gst/net/Makefile.am:
2092         * gst/net/gstnet.h:
2093         * gst/net/gstnetclientclock.c:
2094         * gst/net/gstnetclientclock.h:
2095         * gst/net/gstnettimepacket.c:
2096         * gst/net/gstnettimepacket.h:
2097         * gst/net/gstnettimeprovider.c:
2098         * gst/net/gstnettimeprovider.h:
2099         * libs/gst/Makefile.am:
2100         * libs/gst/base/Makefile.am:
2101         * libs/gst/base/gstbasetransform.c:
2102         * libs/gst/check/Makefile.am:
2103         * plugins/elements/Makefile.am:
2104         * po/POTFILES.in:
2105           CVS surgery + support to move base, check, and net out of gst
2106           and into libs/gst
2107
2108 2005-11-29  Andy Wingo  <wingo@pobox.com>
2109
2110         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2111
2112         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2113         padding.
2114
2115         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2116
2117         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2118
2119         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2120
2121         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2122         padding; reduces object size by about 30%. We don't expect
2123         anything else to go into gstobject.
2124
2125         * gst/gstminiobject.h (struct _GstMiniObject)
2126         (struct _GstMiniObjectClass): Only one pointer of padding; the
2127         payload is only a pointer and two ints anyway. For the class there
2128         are only two methods as well.
2129         
2130         * gst/gstelement.h (struct _GstElementClass): Removed
2131         the state_changed signal callback, it is not used.
2132
2133 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2134
2135         * docs/gst/gstreamer.types:
2136           fix includes, though they are a little dinky
2137
2138 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2139
2140         * check/Makefile.am:
2141           look in the right place for elements, a lot more chance of
2142           success
2143         * gst/Makefile.am:
2144           remove indexers and elements subdirs
2145         * plugins/Makefile.am:
2146           make indexers conditional
2147
2148 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2149
2150         * Makefile.am:
2151         * configure.ac:
2152         * plugins/elements/Makefile.am:
2153         * plugins/elements/gstcapsfilter.c:
2154         * plugins/elements/gstfilesink.c:
2155         * plugins/elements/gstfilesrc.c:
2156         * plugins/elements/gstidentity.c:
2157         * plugins/indexers/Makefile.am:
2158           do CVS surgery and related build fixery to move elements
2159           and indexers in a new gstreamer/plugins directory, out of the
2160           gst/ directory
2161
2162 2005-11-29  Andy Wingo  <wingo@pobox.com>
2163
2164         * check/Makefile.am:
2165         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2166         * pkgconfig/gstreamer-net.pc.in:
2167         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2168         #322257.
2169
2170 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * tools/Makefile.am:
2173         * tools/gst-complete.1.in:
2174         * tools/gst-complete.c:
2175         * tools/gst-compprep.1.in:
2176         * tools/gst-compprep.c:
2177           removing -compprep and -complete
2178
2179 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2180
2181         * gst/gstevent.c: (gst_event_new_new_segment),
2182         (gst_event_parse_new_segment):
2183         * gst/gstevent.h:
2184           fix #320529 - clean up new_segment API and structure.
2185           Let's hope everyone was using the methods, and not the structure.
2186
2187 2005-11-29  Edward Hervey  <edward@fluendo.com>
2188
2189         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2190         (gst_base_sink_event), (gst_base_sink_do_sync),
2191         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2192         Properly handle non GST_FORMAT_TIME segment
2193         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2194         Properly handle non GST_FORMAT_TIME segment
2195         * gst/gstsegment.c:
2196         This function is valid if the accumulator is 0 and the format
2197         is different from the requested format.
2198         
2199 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2200
2201         * docs/gst/gstreamer-sections.txt:
2202         Add gst_query_new_seeking and gst_query_parse_seeking to the
2203         docs.
2204
2205 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2206
2207         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2208           Treat a pad alloc with new caps the same as if we were not
2209           negotiated, in order to allow a changing upstream output
2210           to produce a new format of data.
2211
2212 2005-11-29  Edward Hervey  <edward@fluendo.com>
2213
2214         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2215         (gst_base_transform_event), (gst_base_transform_eventfunc):
2216         The event virtual method is now properly implemented, with a default
2217         handler
2218         Sub classes should call the parent_class event method. They should
2219         return FALSE if they had a problem handling the given event, or don't
2220         want GstBaseTransform to send that even downstream
2221         * gst/elements/gstidentity.c: (gst_identity_class_init),
2222         (gst_identity_init), (gst_identity_event),
2223         (gst_identity_transform_ip), (gst_identity_set_property),
2224         (gst_identity_get_property):
2225         * gst/elements/gstidentity.h:
2226         Added the single-segment boolean property.
2227         If set to TRUE, it will output a single segment of data, starting from
2228         0, will eat up all incoming newsegment, and modify the timestamp of the
2229         buffers accordingly
2230
2231 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2232
2233         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2234           Don't ref NULL target pad (#322751). Improve docs.
2235
2236 2005-11-29  Michael Smith  <msmith@fluendo.com>
2237
2238         * gst/gstregistryxml.c: (load_plugin):
2239           Don't crash if we failed to load a feature from a plugin. 
2240
2241 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2242
2243         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2244         (GST_START_TEST):
2245           use more check API and less GLib API
2246
2247 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2248
2249         * Makefile.am:
2250           don't run checks if we don't have check
2251         * common/check.mak:
2252           remove the registry when running make torture
2253         * docs/gst/gstreamer-sections.txt:
2254           remove second multiply
2255         * gst/gstqueue.c: (gst_queue_loop):
2256           fix a compile warning when disabling debug
2257
2258 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2259
2260         * gst/gstinfo.h:
2261         Hey! Let's print the pad name if the pointer != NULL instead
2262         of when it == NULL :-)
2263
2264 2005-11-28  Wim Taymans  <wim@fluendo.com>
2265
2266         * check/gst/gstutils.c: (GST_START_TEST):
2267         Updated check, add some scaling accuracy checking code.
2268
2269         * gst/gstutils.c: (gst_util_div128_64),
2270         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2271         (gst_util_uint64_scale_int):
2272         Fix 6 times faster division code. Optimize for common 
2273         1/1 and less common X/1 cases.
2274
2275 2005-11-28  Wim Taymans  <wim@fluendo.com>
2276
2277         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2278         More checks.
2279
2280         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2281         (do_linear_regression), (gst_clock_add_observation):
2282         Cleanups.
2283         Release lock when the clock cannot be slaved.
2284         Catch the case where the regression returned an invalid denominator.
2285
2286         * gst/gstutils.c: (gst_util_div128_64_iterate),
2287         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2288         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2289         Add protentially more performant non-iterative 128/64 divide function
2290         that unfortunatly does not work yet.
2291         Shortcut the trivial 0/X = 0 case.
2292         Remove the warnings on overflow.
2293
2294 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2295
2296         * gst/gstplugin.c: (gst_plugin_register_func):
2297           everything causing a plugin not to load should be at least a WARNING
2298
2299 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2300
2301         * docs/random/ensonic/dparams.txt:
2302           some TODOs for the next dev cycle
2303         * libs/gst/controller/gstcontroller.c:
2304         (gst_controlled_property_set_interpolation_mode),
2305         (gst_controlled_property_new):
2306         * libs/gst/controller/gstcontroller.h:
2307           use base type to assign acccessor functions
2308
2309 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2310
2311         * check/Makefile.am:
2312         Oops, that should have been top_srcdir
2313
2314 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2315
2316         * check/Makefile.am:
2317         * check/elements/fdsrc.c: (GST_START_TEST):
2318         Use a cmdline define to specify the location of a file to use for
2319         testing, to avoid breaking distcheck.
2320
2321 2005-11-28  Andy Wingo  <wingo@pobox.com>
2322
2323         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2324
2325 2005-11-28  Edward Hervey  <edward@fluendo.com>
2326
2327         * tools/gst-launch.c: (main):
2328         Clarify the output strings, makes it easier to translate.
2329         Fixes #322626
2330
2331 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2332
2333         * gst/Makefile.am:
2334           don't try and build net if we don't even have <sys/socket.h>
2335
2336 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2337
2338         * check/Makefile.am:
2339         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2340         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2341           Add tests for fdsrc seekability
2342
2343         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2344         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2345         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2346         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2347         * gst/elements/gstfdsrc.h:
2348           fdsrc should not be a 'live' source.
2349           Implement seeking on seekable fd's.
2350
2351         * gst/gstquery.c: (gst_query_new_seeking),
2352         (gst_query_parse_seeking):
2353         * gst/gstquery.h:
2354           Implement SEEKING query functions: 
2355             *_new_seeking and *_parse_seeking
2356
2357 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2358
2359         * gst/gstelement.c: (gst_element_dispose):
2360           don't loop forever
2361
2362         * gst/gstiterator.c:
2363         * gst/gststructure.c:
2364           doc fixes
2365
2366         * libs/gst/controller/gstcontroller.c:
2367         (gst_controlled_property_set_interpolation_mode):
2368         * libs/gst/controller/gstcontroller.h:
2369         * libs/gst/controller/gstinterpolation.c:
2370         (interpolate_none_get_enum_value_array):
2371           support controlling enums
2372
2373 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * gst/gstvalue.c:
2376           Improve documentation for gst_value_union().
2377
2378         * gst/gstvalue.h:
2379           Change return value for union, intersect and subtract functions
2380           from gint to gboolean.
2381
2382 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         * gst/gstvalue.c: (gst_value_serialize_any_list),
2385         (gst_value_transform_any_list_string),
2386         (gst_value_deserialize_list), (gst_value_deserialize_array),
2387         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2388         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2389         (gst_value_set_fraction_range_full),
2390         (gst_value_deserialize_fraction_range),
2391         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2392         (gst_value_deserialize_boolean),
2393         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2394         (gst_value_serialize_float), (gst_value_deserialize_float),
2395         (gst_string_wrap), (gst_value_deserialize_string),
2396         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2397         (gst_value_union_int_range_int_range),
2398         (gst_value_intersect_int_range_int_range),
2399         (gst_value_intersect_double_range_double_range),
2400         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2401         (gst_value_subtract_int_range_int_range),
2402         (gst_value_subtract_double_double_range),
2403         (gst_value_subtract_double_range_double_range),
2404         (gst_value_deserialize_fraction):
2405         * gst/gstvalue.h:
2406           Use gint, gdouble and gchar in our API instead of int, double and
2407           char (and make usage in gstvalue.c more consistent).
2408
2409 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2410
2411         * check/Makefile.am:
2412         * libs/gst/controller/Makefile.am:
2413         * libs/gst/dataprotocol/Makefile.am:
2414           fix up Makefile.am and remove GST_ENABLE_NEW
2415
2416 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2417
2418         * configure.ac:
2419         * gst/Makefile.am:
2420         * gst/base/Makefile.am:
2421         * gst/check/Makefile.am:
2422         * gst/elements/Makefile.am:
2423         * gst/net/Makefile.am:
2424           update LDFLAGS use some more
2425
2426 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2427
2428         * common/m4/gst-doc.m4:
2429           Fixes #312589
2430
2431 2005-11-26  Edward Hervey  <edward@fluendo.com>
2432
2433         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2434         This shouldn't issue a g_warning since it returns NULL if it
2435         couldn't find the plugin, and all functions using this behave
2436         properly on a NULL return. Switching to a GST_WARNING.
2437
2438 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2439
2440         * gst/gstbin.c: (gst_bin_handle_message_func):
2441         Don't leak clock messages.
2442
2443 2005-11-25  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2446         (gst_util_uint64_scale_int):
2447         Optimisations, remove unneeded vars.
2448
2449 2005-11-25  Wim Taymans  <wim@fluendo.com>
2450
2451         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2452         Added more checks for the high precision uint64 cases.
2453
2454         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2455         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2456         Implement high precision (guint64 * guint64) / guint64.
2457
2458 2005-11-24  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/base/gstbasesrc.c: (gst_base_src_query):
2461         Fix wrong percentage query.
2462
2463         * gst/gstutils.c: (gst_util_uint64_scale),
2464         (gst_util_uint64_scale_int):
2465         Add some more common cases that can be handled 
2466         efficiently to _scale.
2467
2468 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2469
2470         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2471         (gst_mini_object_suite):
2472           don't use check calls from threads; check probably isn't
2473           threadsafe and using a lock to make it threadsafe would
2474           defeat the purpose of this check
2475         * gst/check/gstcheck.c:
2476         * gst/check/gstcheck.h:
2477           use GST_DEBUG some more
2478
2479 2005-11-24  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/gstutils.c: (gst_util_uint64_scale),
2482         (gst_util_uint64_scale_int):
2483         Chain trivial case to _scale_int.
2484
2485 2005-11-24  Wim Taymans  <wim@fluendo.com>
2486
2487         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2488         Added test for scaling.
2489
2490         * gst/gstclock.h:
2491         Small doc fix.
2492
2493         * gst/gstutils.c: (gst_util_uint64_scale_int):
2494         Implemented high precision scaling code.
2495
2496 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2497
2498         * gst/gstinfo.h:
2499           do not crash on pad==NULL
2500
2501 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2502
2503         Patch by: Stefan Kost
2504
2505         * common/gtk-doc.mak:
2506         * docs/gst/Makefile.am:
2507         * docs/libs/Makefile.am:
2508           Fix distcheck issues for the libraries docs build
2509           Closes #319599.
2510
2511 2005-11-24  Michael Smith <msmith@fluendo.com>
2512
2513         * docs/manual/basics-helloworld.xml:
2514           Fix bug #315027: memory leak in example code in docs.
2515
2516 2005-11-24  Michael Smith <msmith@fluendo.com>
2517
2518         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2519           Unlock the PREROLL_LOCK in a failure case.
2520
2521 2005-11-24  Wim Taymans  <wim@fluendo.com>
2522
2523         * docs/gst/gstreamer-sections.txt:
2524         * gst/base/gstadapter.h:
2525         * gst/base/gstbasesink.h:
2526         * gst/base/gstbasesrc.h:
2527         * gst/base/gstbasetransform.h:
2528         * gst/base/gstpushsrc.h:
2529         * gst/elements/gstfakesink.h:
2530         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2531         * gst/elements/gstfakesrc.h:
2532         * gst/elements/gstfilesink.h:
2533         * gst/elements/gstfilesrc.h:
2534         * gst/gst.c:
2535         * gst/gstbin.c:
2536         * gst/gstbuffer.c: (_gst_buffer_copy):
2537         * gst/gstbus.h:
2538         * gst/gstcaps.c:
2539         * gst/gstchildproxy.c:
2540         * gst/gstclock.c:
2541         * gst/gstelement.c:
2542         * gst/gstelementfactory.c:
2543         * gst/gstelementfactory.h:
2544         * gst/gstevent.c:
2545         * gst/gstghostpad.h:
2546         * gst/gstindex.h:
2547         * gst/gstinterface.h:
2548         * gst/gstminiobject.c:
2549         * gst/gstminiobject.h:
2550         * gst/gstpad.c:
2551         * gst/gstpad.h:
2552         * gst/gstpadtemplate.h:
2553         * gst/gstpipeline.h:
2554         * gst/gstpluginfeature.h:
2555         * gst/gstquery.h:
2556         * gst/gstqueue.h:
2557         * gst/gsttaglist.c:
2558         * gst/gsttaglist.h:
2559         * gst/gsttagsetter.c:
2560         * gst/gsttagsetter.h:
2561         * gst/gsttrace.c:
2562         * gst/gsttrace.h:
2563         * gst/gsttypefind.h:
2564         * gst/gsturi.h:
2565         * gst/gstvalue.c:
2566         * gst/net/gstnetclientclock.c:
2567         * gst/net/gstnetclientclock.h:
2568         * gst/net/gstnettimepacket.c:
2569         * gst/net/gstnettimeprovider.c:
2570         * gst/net/gstnettimeprovider.h:
2571         Doc fixes.
2572
2573 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2574
2575         * configure.ac: back to HEAD
2576
2577 === release 0.9.6 ===
2578
2579 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2580
2581         * configure.ac:
2582           releasing 0.9.6, "Always On Time"
2583
2584 2005-11-23  Wim Taymans  <wim@fluendo.com>
2585
2586         * docs/gst/gstreamer-sections.txt:
2587         * gst/glib-compat.c:
2588         * gst/gsttagsetter.c:
2589         * gst/gstvalue.c:
2590         * gst/net/gstnetclientclock.c:
2591         * gst/net/gstnettimepacket.h:
2592         Doc updates.
2593
2594 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2595
2596         * docs/faq/using.xml:
2597         * docs/libs/tmpl/gstcontrol.sgml:
2598         * docs/manual/advanced-dparams.xml:
2599         * docs/manual/appendix-checklist.xml:
2600         * docs/manual/basics-elements.xml:
2601         * docs/pwg/other-source.xml:
2602         * docs/random/moving-plugins:
2603         * gst/gstpad.c:
2604         * tools/gst-launch.1.in:
2605           remove mentions of sinesrc
2606
2607 2005-11-23  Michael Smith <msmith@fluendo.com>
2608
2609         * docs/gst/gstreamer-sections.txt:
2610           Update for new API and API changes.
2611         * gst/gstobject.h:
2612           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2613         * gst/gstvalue.c:
2614           Documentation typo fix.
2615         * gst/net/gstnettimepacket.c:
2616           Documentation fixes for arguments.
2617
2618 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2619
2620         * gst/gststructure.c: (gst_structure_get_fraction),
2621         (gst_structure_parse_value),
2622         (gst_structure_fixate_field_nearest_fraction):
2623         * gst/gststructure.h:
2624         * gst/gstutils.c: (gst_util_uint64_scale_int):
2625         * gst/gstutils.h:
2626         * scripts/update-funcnames:
2627         API Changes. 
2628         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2629         Make gst_structure_fixate_field_nearest_fraction take a numerator
2630         and denominator argument instead of a GValue
2631         add gst_structure_get_fraction helper function.
2632
2633 2005-11-23  Wim Taymans  <wim@fluendo.com>
2634
2635         * docs/design/part-TODO.txt:
2636         Update TODO.
2637
2638         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2639         * gst/net/gstnetclientclock.h:
2640         Use parent fields for timeout and window_size.
2641
2642 2005-11-23  Andy Wingo  <wingo@pobox.com>
2643
2644         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2645         rate_num/rate_denom change.
2646
2647         * gst/net/gstnetclientclock.c
2648         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2649         OBJECT_LOCK. Don't call add_observation with the lock.
2650
2651         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2652         fraction.
2653         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2654         rate fraction.
2655         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2656         deal with rate as a fraction whose numerator and denominator are
2657         GstClockTime values.
2658         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2659         master; the other fields are protected by the SLAVE_LOCK.
2660         (do_linear_regression): Note that this must be called with the
2661         SLAVE_LOCK.
2662         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2663         OBJECT_LOCK. Call set_calibration instead of touching the
2664         variables directly.
2665         (gst_clock_set_property, gst_clock_get_property): Protect
2666         master/slave parameters with the SLAVE_LOCK.
2667
2668         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2669         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2670         note that all of the instance variables that add_observation and
2671         the set_master functions use are protected by that lock and not
2672         the OBJECT_LOCK.
2673         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2674
2675         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2676         the caller to take the object lock.
2677
2678 2005-11-23  Wim Taymans  <wim@fluendo.com>
2679
2680         * gst/gsterror.c: (_gst_core_errors_init):
2681         * gst/gsterror.h:
2682         Add error for clock stuff.
2683
2684         * gst/gstpipeline.c: (gst_pipeline_change_state),
2685         (gst_pipeline_set_clock):
2686         Post clock error when clock cannot be used in a pipeline.
2687
2688 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2689
2690         * docs/gst/gstreamer-sections.txt:
2691           make two symbols from gstinfo private for the docs
2692         * gst/base/gstcollectpads.h:
2693         * gst/gstutils.c:
2694           fix doc typos, update docs
2695
2696 2005-11-22  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2699         (gst_base_sink_wait), (gst_base_sink_do_sync),
2700         (gst_base_sink_handle_event):
2701         * gst/base/gstbasesink.h:
2702         No need to store the clock, the parent element class already
2703         has it.
2704
2705         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2706         Updates for clock_set returning a gboolean
2707
2708         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2709         (gst_clock_id_wait_async), (gst_clock_class_init),
2710         (gst_clock_init), (gst_clock_finalize),
2711         (gst_clock_get_internal_time), (gst_clock_get_time),
2712         (gst_clock_slave_callback), (gst_clock_set_master),
2713         (gst_clock_get_master), (do_linear_regression),
2714         (gst_clock_add_observation), (gst_clock_set_property),
2715         (gst_clock_get_property):
2716         * gst/gstclock.h:
2717         Implement master/slave. When setting a clock as a slave, a
2718         periodic timeout is scheduled to sample master and slave times.
2719         Then the slave clock is recalibrated to match offset and rate
2720         of the master clock.
2721         Update logging a bit.
2722         Add flag so that a clock can state that is cannot be slaved to
2723         another clock.
2724
2725         * gst/gstelement.c: (gst_element_set_clock):
2726         * gst/gstelement.h:
2727         The set clock returns a gboolean for when an element cannot
2728         deal with the selected clock in the pipeline. 
2729
2730         * gst/gstpipeline.c: (gst_pipeline_change_state),
2731         (gst_pipeline_set_clock):
2732         * gst/gstpipeline.h:
2733         Handle the case where the selected clock cannot be set on
2734         the pipeline.
2735
2736         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2737         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2738         (gst_net_client_clock_set_property),
2739         (gst_net_client_clock_get_property),
2740         (gst_net_client_clock_observe_times):
2741         * gst/net/gstnetclientclock.h:
2742         Use regression code in GstClock parent, remove duplicated
2743         functionality.
2744
2745 2005-11-22  Michael Smith <msmith@fluendo.com>
2746
2747         * gst/gstutils.c: (gst_util_clock_time_scale):
2748         * gst/gstutils.h:
2749         * docs/gst/gstreamer-sections.txt:
2750           Rename method to have extra underscore.
2751
2752 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2753
2754         * gst/elements/Makefile.am:
2755         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2756         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2757         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2758         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2759         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2760         * gst/elements/gstfakesrc.h:
2761         * gst/gstqueue.c: (queue_leaky_get_type):
2762           correctly fix GEnumValues so that nick is the short lowercase
2763           dashed tag
2764         * tools/gst-inspect.c: (print_element_properties_info):
2765           also show the nick, since it's useful to use from parse_launch
2766           syntax
2767           Fixes #322139
2768
2769 2005-11-22  Michael Smith <msmith@fluendo.com>
2770
2771         * gst/gstutils.c: (gst_util_clocktime_scale):
2772         * gst/gstutils.h:
2773         * docs/gst/gstreamer-sections.txt:
2774           Add util method for scaling a clocktime by a fraction. Useful 
2775           implementation is left as an exercise for the reader.
2776
2777 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2778
2779         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2780         If needed, allocate storage in the destination value during
2781         collection.
2782
2783 2005-11-22  Edward Hervey  <edward@fluendo.com>
2784
2785         * docs/gst/gstreamer-sections.txt:
2786         * gst/Makefile.am:
2787         * gst/gst.h:
2788         * gst/gsturitype.c:
2789         * gst/gsturitype.h:
2790         * gst/gstutils.c: (gst_util_set_object_arg):
2791         * tools/gst-compprep.c: (main):
2792         * tools/gst-inspect.c: (print_element_properties_info):
2793         Removed GstURI, closes bug #321061
2794
2795 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2796
2797         * check/gst/gststructure.c: (GST_START_TEST):
2798         * gst/gststructure.c: (gst_structure_parse_value):
2799           Oops, broke automatic string type parsing.
2800           Add a test to catch it in future.
2801
2802 2005-11-22  Andy Wingo  <wingo@pobox.com>
2803
2804         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2805         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2806         Actually rename the function implementations. Grr.
2807
2808 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2809
2810         * check/gst/capslist.h:
2811           Comment test cases
2812         * check/gst/gststructure.c: (GST_START_TEST),
2813         (gst_structure_suite):
2814           Test automatic value type detection in gst_structure_from_string.
2815         * gst/gststructure.c: (gst_structure_parse_value):
2816           Add fraction as a type we try and guess automatically in
2817           caps/structure strings.
2818
2819 2005-11-22  Andy Wingo  <wingo@pobox.com>
2820
2821         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2822
2823         * gst/gsttagsetter.h:
2824         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2825         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2826         (gst_tag_setter_add_tag_valist)
2827         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2828         _add_values, _add_valist, and _add_valist_values. Since this is an
2829         interface the function suffixes should be more explicit so
2830         language binding don't end up with element.add_valist ->
2831         gst_tag_setter_add_valist, for example. Fixes #322069.
2832
2833 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2834
2835         * check/gst/gstcaps.c: (GST_START_TEST):
2836           Extend caps string tests to check that a caps to string
2837           conversion is reversible and produces the same caps.
2838
2839         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2840           Output "fraction" as the generic type fraction range, so caps
2841           serialisation and deserialisation works.
2842         * check/gst/capslist.h:
2843         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2844           Support 'MIN' and 'MAX' for deserialising fractions.
2845
2846 2005-11-22  Andy Wingo  <wingo@pobox.com>
2847
2848         * gst/gstevent.h (gst_event_new_new_segment)
2849         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2850         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2851         Renamed from *_newsegment, *_buffersize, *_notarget.
2852
2853         * scripts/update-funcnames: New script, performs the changes
2854         listed above.
2855
2856 2005-11-22  Wim Taymans  <wim@fluendo.com>
2857
2858         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2859         Make sure the GstFlowReturn is returned.
2860
2861         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2862         (gst_bus_add_signal_watch):
2863         * gst/gstbus.h:
2864         add gst_bus_add_signal_watch_full.
2865
2866         * gst/gstplugin.c: (gst_plugin_load_file):
2867         Small style cleanup.
2868
2869 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2870
2871         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2872           Block the fakesrc srcpad when we send an event, to avoid
2873           contention on the stream_lock causing random test failures.
2874
2875 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2876
2877         * check/gst/gstvalue.c: (GST_START_TEST):
2878         * gst/gstvalue.c: (gst_value_fraction_subtract):
2879           Fix subtraction.
2880
2881 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2882
2883         * gst/gst.h:
2884           include "gstchildproxy.h"
2885         * gst/gstchildproxy.h:
2886         * libs/gst/controller/gstcontroller.h:
2887           use G_GNUC_NULL_TERMINATED
2888
2889 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2890
2891         * check/gst/capslist.h:
2892         * check/gst/gstcaps.c: (GST_START_TEST):
2893         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2894         * gst/gststructure.c: (gst_structure_parse_range),
2895         (gst_structure_fixate_field_nearest_fraction):
2896         * gst/gststructure.h:
2897         * gst/gstvalue.c: (gst_value_init_fraction_range),
2898         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2899         (gst_value_collect_fraction_range),
2900         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2901         (gst_value_set_fraction_range_full),
2902         (gst_value_get_fraction_range_min),
2903         (gst_value_get_fraction_range_max),
2904         (gst_value_serialize_fraction_range),
2905         (gst_value_transform_fraction_range_string),
2906         (gst_value_compare_fraction_range),
2907         (gst_value_deserialize_fraction_range),
2908         (gst_value_intersect_fraction_fraction_range),
2909         (gst_value_intersect_fraction_range_fraction_range),
2910         (gst_value_subtract_fraction_fraction_range),
2911         (gst_value_subtract_fraction_range_fraction),
2912         (gst_value_subtract_fraction_range_fraction_range),
2913         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2914         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2915         (gst_value_transform_string_fraction), (_gst_value_initialize):
2916         * gst/gstvalue.h:
2917           Implement fraction ranges and extend GstFraction to support
2918           arithmetic subtraction, as well as deserialization from integer
2919           strings such as "100"
2920           Add a testsuite as for int and double range set operations
2921
2922 2005-11-21  Andy Wingo  <wingo@pobox.com>
2923
2924         * gst/gsttaglist.h: 
2925         * gst/gstcaps.h: 
2926         * gst/gststructure.h: Add glib-compat.h.
2927
2928 2005-11-21  Wim Taymans  <wim@fluendo.com>
2929
2930         * gst/gstbin.c: (gst_bin_change_state_func):
2931         Fix for #321595
2932
2933 2005-11-21  Wim Taymans  <wim@fluendo.com>
2934
2935         * gst/gstsegment.h:
2936         And add a nice define too.
2937
2938 2005-11-21  Wim Taymans  <wim@fluendo.com>
2939
2940         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2941         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2942         (gst_segment_set_duration), (gst_segment_set_last_stop),
2943         (gst_segment_set_seek), (gst_segment_set_newsegment),
2944         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2945         (gst_segment_clip):
2946         * gst/gstsegment.h:
2947         Make binding friendly.
2948
2949 2005-11-21  Andy Wingo  <wingo@pobox.com>
2950
2951         * gst/gsttagsetter.h: 
2952         * gst/gsttaglist.h: 
2953         * gst/gststructure.h: 
2954         * gst/gstcaps.h: 
2955         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2956         #319940.
2957
2958         * gst/gsterror.c (_gst_core_errors_init):
2959         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2960         category.
2961
2962         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2963         (noinst_HEADERS): noinst the -private.
2964
2965 2005-11-21  Michael Smith <msmith@fluendo.com>
2966
2967         * gst/gstplugin.h:
2968         * gst/gstregistry.h:
2969           Remove unimplemented declarations for which we can see no sensible
2970           use.
2971
2972 2005-11-21  Andy Wingo  <wingo@pobox.com>
2973
2974         * gst/gst.h: Include glib-compat.h.
2975
2976         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2977
2978         * gst/glib-compat.c: Include the public and the private header.
2979
2980         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2981
2982         * gst/gstvalue.c: 
2983         * gst/gstpad.c: 
2984         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2985
2986         * check/gst/gstevent.c (create_custom_events): Check that
2987         FLUSH_STOP is serialized.
2988
2989         * check/elements/identity.c (event_func): 
2990         * check/elements/fakesrc.c (event_func): No stream lock, the core
2991         takes it.
2992
2993         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2994         stream lock taking, yay.
2995
2996         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2997         ensure that core takes the stream lock.
2998
2999         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3000         lock name change.
3001
3002         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3003         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3004         it already. For the flush start we do take it though so we get the
3005         right preroll state change messages.
3006
3007         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3008         the stream lock here, the core does it for us.
3009
3010         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3011         GST_STREAM_GET_LOCK.
3012         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3013         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3014         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3015         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3016         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3017         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3018
3019         * gst/gstpad.c: Update for stream lock name change.
3020
3021         * gst/base/gstbasesink.c: Update for preroll lock name change.
3022
3023 2005-11-21  Wim Taymans  <wim@fluendo.com>
3024
3025         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3026         (gst_clock_get_master):
3027         * gst/gstclock.h:
3028         * gst/gstsystemclock.c: (gst_system_clock_init):
3029         Convert Clock flags to object flags.
3030         Added methods to manage master/slave clocks.
3031
3032 2005-11-21  Wim Taymans  <wim@fluendo.com>
3033
3034         * check/gst/gstsegment.c: (GST_START_TEST):
3035         * docs/design/part-TODO.txt:
3036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3037         (gst_base_sink_event), (gst_base_sink_do_sync),
3038         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3039         (gst_base_sink_query), (gst_base_sink_change_state):
3040         * gst/base/gstbasesink.h:
3041         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3042         (gst_base_src_default_newsegment),
3043         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3044         (gst_base_src_get_range), (gst_base_src_loop),
3045         (gst_base_src_change_state):
3046         * gst/base/gstbasesrc.h:
3047         * gst/base/gstbasetransform.c:
3048         (gst_base_transform_prepare_output_buf),
3049         (gst_base_transform_event), (gst_base_transform_change_state):
3050         * gst/base/gstbasetransform.h:
3051         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3052         (gst_collect_pads_event):
3053         * gst/base/gstcollectpads.h:
3054         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3055         (gst_fake_src_create):
3056         * gst/elements/gstfakesrc.h:
3057         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3058         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3059         (gst_segment_set_last_stop), (gst_segment_set_seek),
3060         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3061         (gst_segment_to_running_time), (gst_segment_clip):
3062         * gst/gstsegment.h:
3063         More segment updates, replace code in plugins with segment
3064         helper functions.
3065
3066 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3067
3068         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3069         Don't ignore sscanf results
3070
3071 2005-11-21  Andy Wingo  <wingo@pobox.com>
3072
3073         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3074
3075         * *.h:
3076         * *.c: Ran scripts/update-macros. Oh yes.
3077
3078         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3079         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3080         GST_GET_LOCK, etc.
3081
3082         * scripts/update-macros: New script. Run it on your files to
3083         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3084         well.
3085
3086 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3087
3088         * docs/gst/Makefile.am:
3089         * docs/gst/gstreamer-docs.sgml:
3090         * docs/gst/gstreamer-sections.txt:
3091         * docs/gst/gstreamer.types:
3092         * gst/gstinfo.h:
3093           more docs fixes, add new api to the docs
3094
3095 2005-11-21  Andy Wingo  <wingo@pobox.com>
3096
3097         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3098         state_broadcast call.
3099
3100         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3101
3102 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3103
3104         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3105         function calls for arrays.
3106
3107 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3108
3109         * docs/random/ensonic/media-device-daemon.txt:
3110           wild idea, can this be done?
3111         * docs/gst/gstreamer-sections.txt:
3112         * gst/gsterror.h:
3113         * gst/gstfilter.c:
3114         * gst/gstfilter.h:
3115         * gst/gstplugin.h:
3116         * gst/gstpluginfeature.c:
3117         * gst/gsttrace.c:
3118         * gst/gstvalue.c:
3119         * gst/gstvalue.h:
3120           doc fixes and additions
3121
3122 2005-11-21  Andy Wingo  <wingo@pobox.com>
3123
3124         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3125         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3126         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3127         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3128         private to the basesrc implementation.
3129
3130         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3131         behalf of event function if necessary. It should no longer be
3132         necessary to take the stream lock in pad's event functions. Fixes
3133         #320299.
3134
3135 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3136         * docs/gst/gstreamer-sections.txt:
3137         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3138         (gst_structure_fixate_field_nearest_double),
3139         (gst_structure_fixate_field_boolean):
3140         * gst/gststructure.h:
3141         * win32/common/libgstreamer.def:
3142         * win32/gstreamer.def:
3143
3144         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3145         (#322027)
3146
3147 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3148
3149         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3150         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3151         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3152         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3153         (gst_fdsrc_uri_handler_init):
3154         * gst/elements/gstfdsrc.h:
3155           Port fd:// URI handler from 0.8 to fdsrc
3156
3157 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3158
3159         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3160         (gst_value_serialize_fourcc):
3161         * gst/gstvalue.h:
3162           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3163           consistent with our other format defines (#320324).
3164
3165 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3166
3167         * gst/gstvalue.c: (gst_value_is_fixed):
3168           Revert previous commit. Value lists are by definition
3169           not fixed, as they are a list of possible values.
3170
3171 2005-11-21  Andy Wingo  <wingo@pobox.com>
3172
3173         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3174         during the stable series if we need it. Fixes #319178.
3175
3176         * gst/gstevent.c (gst_event_new_filler): Removed.
3177
3178         * check/gst/gstevent.c: Update comment about filler events.
3179
3180 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         * gst/gstvalue.c: (gst_value_is_fixed):
3183           Should handle both value arrays and value lists.
3184
3185 2005-11-21  Andy Wingo  <wingo@pobox.com>
3186
3187         patch by: Alessandro Dessina <alessandro nnva org>
3188
3189         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3190         functions to access arrays. Fixes #321962.
3191
3192 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3193
3194         * docs/gst/gstreamer.types:
3195           gst_collectpads_get_type => gst_collect_pads_get_type.
3196           
3197         * gst/base/gstbasetransform.c:
3198           Remove unused SIGNAL_HANDOFF enum.
3199
3200 2005-11-21  Andy Wingo  <wingo@pobox.com>
3201
3202         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3203         the event type (upstream, downstream, serialized). Renamed
3204         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3205         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3206         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3207
3208         * gst/gstevent.c: Update for new CUSTOM event names.
3209
3210         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3211
3212         * gst/gstevent.h:
3213         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3214         bug #319392.
3215
3216 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3217
3218         * docs/gst/gstreamer-sections.txt:
3219         * win32/common/libgstbase.def:
3220         * win32/libgstbase.def:
3221         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3222         (gst_collect_pads_class_init), (gst_collect_pads_init),
3223         (gst_collect_pads_finalize), (gst_collect_pads_new),
3224         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3225         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3226         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3227         (gst_collect_pads_start), (gst_collect_pads_stop),
3228         (gst_collect_pads_peek), (gst_collect_pads_pop),
3229         (gst_collect_pads_available), (gst_collect_pads_read),
3230         (gst_collect_pads_flush), (gst_collect_pads_event),
3231         (gst_collect_pads_chain):
3232         * gst/base/gstcollectpads.h:
3233           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3234           unimplemented functions as unimplemented. Add padding to
3235           GstCollectData. (#320766, #320423)
3236
3237 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3238
3239         * gst/gstmessage.c:
3240           Improve docs for DURATION message (usage of duration parameter)
3241           (#320113)
3242
3243 2005-11-20  Wim Taymans  <wim@fluendo.com>
3244
3245         * check/Makefile.am:
3246         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3247         (main):
3248         * gst/Makefile.am:
3249         * gst/gst.h:
3250         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3251         (gst_segment_set_seek), (gst_segment_set_newsegment),
3252         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3253         (gst_segment_clip):
3254         * gst/gstsegment.h:
3255         Added segment helper structure and methods. Not fully implemented
3256         yet.
3257         Added segment check.
3258
3259 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3260
3261         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3262           Add a deserialisation test for fractions
3263         * examples/metadata/read-metadata.c: (message_loop),
3264         (make_pipeline), (main):
3265           Fix up metadata reading sample.
3266         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3267           Debug format fix
3268         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3269           Don't try and fixate empty caps
3270         * gst/gst_private.h:
3271           Wrap in G_BEGIN_DECLS/G_END_DECLS
3272         * gst/gstvalue.c: (gst_value_collect_fraction),
3273         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3274         (gst_value_transform_string_fraction),
3275         (gst_value_compare_fraction):
3276           Add some extra guards to ensure that we don't end up 
3277           with an invalid denominator of 0 in a gstfraction and
3278           that fractions always get reduced.
3279
3280 2005-11-20  Wim Taymans  <wim@fluendo.com>
3281
3282         * docs/gst/gstreamer-sections.txt:
3283         * gst/gstbuffer.h:
3284         * gst/gstelement.c:
3285         * gst/gstformat.c:
3286         * gst/gstformat.h:
3287         * gst/gstindex.h:
3288         * gst/gstquery.c:
3289         * gst/gstquery.h:
3290         * gst/gstvalue.c:
3291         Doc fixes.
3292
3293 2005-11-20  Wim Taymans  <wim@fluendo.com>
3294
3295         * docs/design/part-TODO.txt:
3296         * gst/gstcaps.h:
3297         Make a proper enum of the flag.
3298
3299 2005-11-19  Wim Taymans  <wim@fluendo.com>
3300
3301         * docs/design/part-TODO.txt:
3302         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3303         (gst_format_to_quark), (gst_format_register):
3304         * gst/gstformat.h:
3305         * gst/gstquery.c: (_gst_query_initialize),
3306         (gst_query_type_get_name), (gst_query_type_to_quark),
3307         (gst_query_type_register):
3308         * gst/gstquery.h:
3309         Add type to quark and type to string conversions.
3310
3311 2005-11-19  Andy Wingo  <wingo@pobox.com>
3312
3313         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3314         #320097.
3315
3316 2005-11-19  Wim Taymans  <wim@fluendo.com>
3317
3318         * docs/design/part-TODO.txt:
3319         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3320         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3321         (gst_bin_handle_message_func):
3322         * gst/gstbin.h:
3323         Make message handling overridable.
3324
3325 2005-11-19  Andy Wingo  <wingo@pobox.com>
3326
3327         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3328
3329         * gst/gstclock.h:
3330         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3331         be a GstClockTime.
3332         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3333         is a GstClockTime. Fixes #321710.
3334
3335         * gst/gstclock.h (GstClock): Remove offset property. Add
3336         internal_calibration and external_calibration. Fix padding. Pad
3337         also by GstClockTime so we don't run into problems.
3338
3339         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3340         (gst_clock_get_rate_offset): Remove.
3341         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3342
3343         * gst/gstutils.h:
3344         * gst/gstutils.c (g_static_rec_cond_wait)
3345         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3346
3347         * gst/gstbin.c: Remove terrible continue_state prototype.
3348
3349         * gst/gstelement.h (gst_element_continue_state): Make public.
3350
3351         * gst/gstelement.h:
3352         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3353         by continue_state. Fixes #319389.
3354
3355         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3356         Really fixes #168438. However I don't see anywhere where the
3357         filter function is called... stupid GStreamer...
3358         
3359         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3360         don't have a dispose function, so it won't get called when the
3361         object is unreffed, but oh well!
3362
3363         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3364         allows a destroy function to be set so user_data can be freed.
3365         Fixes #168438.
3366         (gst_index_set_filter): Call gst_index_set_filter_full.
3367
3368         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3369
3370         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3371         string should produce an error, given the lack of a way to
3372         represent NULL strings. Fixes #165650.
3373         
3374         * gst/gstvalue.h: 
3375         * gst/gstvalue.c (gst_value_array_append_value) 
3376         (gst_value_array_prepend_value, gst_value_array_get_size) 
3377         (gst_value_array_get_value): New API, copied from
3378         gst_value_list_*, only operates on arrays.
3379         (gst_value_list_append_value, gst_value_list_prepend_value) 
3380         (gst_value_list_concat, gst_value_list_get_size) 
3381         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3382
3383         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3384         init_list, because it works on both.
3385         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3386         (gst_value_copy_list_or_array): Renamed from copy_list.
3387         (gst_value_free_list_or_array): Renamed from free_list.
3388         (gst_value_collect_list_or_array): Renamed from collect_list.
3389         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3390         (gst_value_list_or_array_peek_pointer): Renamed from
3391         list_peek_pointer.
3392         (_gst_value_array_value_table, _gst_value_list_value_table):
3393         Update value table functions.
3394         (gst_value_compare_list_or_array): Renamed from compare_list.
3395
3396         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3397         some constness.
3398
3399         * gst/gsttaglist.c:
3400         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3401         GstTagList*. Fixes #143472.
3402
3403         * gst/gststructure.h: Clarify what the foreach/map functions can
3404         or can't do to their arguments.
3405
3406 2005-11-18  Wim Taymans  <wim@fluendo.com>
3407
3408         * gst/gstclock.c: (gst_clock_set_calibration),
3409         (gst_clock_get_calibration):
3410         Doc and API fixes.
3411         Calibration can be set with internal time equal to current
3412         internal time too.
3413
3414 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3415
3416         * gst/gsterror.c:
3417         * gst/gsterror.h:
3418           document
3419
3420 2005-11-18  Andy Wingo  <wingo@pobox.com>
3421
3422         * configure.ac: 
3423         * pkgconfig/gstreamer-net.pc.in:
3424         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3425         * pkgconfig/Makefile.am: Add net pkgconfig files.
3426
3427 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3428
3429         * gst/gstcaps.c:
3430         * gst/gstghostpad.c:
3431         * gst/gsttrace.c:
3432         * gst/gstvalue.c:
3433         * gst/gstvalue.h:
3434           docs fixes
3435
3436 2005-11-18  Andy Wingo  <wingo@pobox.com>
3437
3438         * gst/net/gstnetclientclock.c: Turn off debugging.
3439
3440         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3441         times connverge somewhat. Can't make a real test.
3442
3443         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3444         integer arithmetic. Return the minimum of the domain, which can be
3445         set as "internal" for gst_clock_set_calibration.
3446         (gst_net_client_clock_observe_times): Call _set_calibration.
3447         (gst_net_client_clock_new): Call _set_calibration instead of
3448         rate_offset.
3449
3450         * check/net/gstnetclientclock.c (test_functioning): Use the right
3451         adjustment api.
3452
3453         * gst/gstclock.h:
3454         * gst/gstclock.c (gst_clock_get_calibration) 
3455         (gst_clock_set_calibration): New functions, obsolete the ones I
3456         added yesterday. Doh. Precision issues mean we have to extrapolate
3457         from a point in the more recent past than 1970.
3458         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3459         obsolete.
3460         (gst_clock_adjust_unlocked): Use the right calibration data.
3461
3462 2005-11-18  Edward Hervey  <edward@fluendo.com>
3463
3464         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3465         Also reset the ->current_* values in READY->PAUSED
3466
3467 2005-11-18  Andy Wingo  <wingo@pobox.com>
3468
3469         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3470         Whoops, check the right fd. Also add some debugging.
3471         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3472         (do_linear_regression): Add a crapload of debugging. Subtract off
3473         the minimum values from the input series to discard unneeded bits.
3474         Use only int arithmetic. There is still double arithmetic when
3475         calculating the intercept that needs fixing. Return boolean to
3476         indicate success; FALSE would mean the domain or range is too
3477         great. Still needs fixes.
3478
3479 2005-11-18  Wim Taymans  <wim@fluendo.com>
3480
3481         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3482         For the current position in stream time, we need to subtract
3483         accumulated time.
3484         
3485         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3486         Release lock before calling the callback function of async
3487         entries.
3488
3489 2005-11-18  Andy Wingo  <wingo@pobox.com>
3490
3491         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3492         Port goes all the way to MAXUINT16.
3493
3494         * gst/net/gstnettimeprovider.c: Make the port range the same as
3495         for the kernel: 0 assigns, otherwise ports are less than
3496         MAXUINT16.
3497
3498         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3499         port change.
3500
3501         * check/net/gstnetclientclock.c (test_functioning): Add the start
3502         of another test. 
3503
3504 2005-11-18  Wim Taymans  <wim@fluendo.com>
3505
3506         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3507         (gst_bin_remove_func), (bin_bus_handler):
3508         * gst/gstbin.h:
3509         Removing a clock provider from a bin, triggers a clock lost message
3510         so that a new clock will be selected.
3511         Adding a clock to a bin triggers a clock provider message.
3512         Make sure we reselect a clock when we received a clock lost message.
3513         Keep a reference to the element that provided the clock.
3514
3515 2005-11-18  Andy Wingo  <wingo@pobox.com>
3516
3517         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3518         the clock initially so it produces values around the base time.
3519         (gst_net_client_clock_class_init): Typo fix.
3520         (gst_net_client_clock_thread): Add note on when the socket gets
3521         closed.
3522
3523 2005-11-17  Wim Taymans  <wim@fluendo.com>
3524
3525         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3526         Free remote and local time arrays.
3527
3528 2005-11-17  Wim Taymans  <wim@fluendo.com>
3529
3530         * gst/net/gstnetclientclock.c: (do_linear_regression),
3531         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3532         Fix compilation, uninitialized vars and a forgotten continue.
3533
3534 2005-11-17  Andy Wingo  <wingo@pobox.com>
3535
3536         * check/Makefile.am (check_PROGRAMS): 
3537         * check/net/gstnetclientclock.c: Add a most minimal test for the
3538         net client clock. More to come later.
3539
3540         * gst/net/gstnet.h: 
3541         * gst/net/Makefile.am: Add netclientclock.
3542
3543         * gst/net/gstnetclientclock.h:
3544         * gst/net/gstnetclientclock.c: New files, implement an untested
3545         GstClock that takes its time from a network time provider.
3546         Implements the algorithm in network-clock.scm.
3547
3548         * tests/network-clock.scm (*window-size*): Rename from
3549         *queue-length*.
3550         * tests/network-clock.scm (network-time): 
3551         * tests/network-clock-utils.scm (q-push): Update callers.
3552
3553 2005-11-17  Wim Taymans  <wim@fluendo.com>
3554
3555         * gst/gstbin.c: (gst_bin_provide_clock_func),
3556         (gst_bin_sort_iterator_new):
3557         And unref the child too..
3558
3559 2005-11-17  Wim Taymans  <wim@fluendo.com>
3560
3561         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3562         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3563         Refactor the sort iterator so it can be used while holding the
3564         LOCK too.
3565         Make clock selection select a clock closest to the source.
3566
3567 2005-11-17  Michael Smith <msmith@fluendo.com>
3568
3569         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3570         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3571         * gst/gstclock.h:
3572           Anonymous structs are a gcc (and some other compilers) extension, so
3573           don't use them. Since this is only for ABI-compatibility, and our
3574           API/ABI freeze is over in a few days, this whole thing will only
3575           last a few days, so don't bother trying to think up a meaningful
3576           name for the struct.
3577
3578 2005-11-17  Andy Wingo  <wingo@pobox.com>
3579
3580         * gst/gstclock.h (GstClock): Add rate and offset properties,
3581         preserving ABI stability. Add rate/offset accessors. Will file bug
3582         for the freeze break.
3583
3584         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3585         and offset, trying to keep precision and avoiding
3586         underflow/overflow.
3587         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3588         functions. Make gst_clock_set_time_adjust obsolete.
3589         (gst_clock_set_time_adjust): Note that this function is obsolete.
3590         Will file bug soon.
3591
3592         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3593         greppable by using GST_PADDING-1+1.
3594
3595 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3596
3597         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3598
3599         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3600           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3601
3602         * gst/gstpadtemplate.h:
3603         * gst/gstpluginfeature.h:
3604           Don't use c++ style comments in headers (#321638).
3605
3606 2005-11-16  Andy Wingo  <wingo@pobox.com>
3607
3608         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3609         buffer.
3610
3611         * check/net/gstnettimeprovider.c: Check to see that the time
3612         provider actually provides times. Works, yo!
3613
3614 2005-11-16  Wim Taymans  <wim@fluendo.com>
3615
3616         * check/Makefile.am:
3617         Enable more tests.
3618
3619         * check/elements/fakesrc.c: (GST_START_TEST):
3620         Set element to NULL before disposing it.
3621
3622 2005-11-16  Andy Wingo  <wingo@pobox.com>
3623
3624         * gst/net/Makefile.am:
3625         * gst/net/gstnet.h:
3626         * gst/net/gstnettimeprovider.c: 
3627         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3628         provider, include it from gstnet.h, and add it to the build.
3629
3630         * gst/net/gstnettimepacket.h: 
3631         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3632         sending and receiving.
3633
3634 2005-11-16  Wim Taymans  <wim@fluendo.com>
3635
3636         * check/Makefile.am:
3637         Enable valgrind check.
3638
3639         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3640         (gst_fake_src_alloc_buffer):
3641         Fix memleak.
3642
3643 2005-11-16  Wim Taymans  <wim@fluendo.com>
3644
3645         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3646         Call parent finalize too.
3647
3648 2005-11-16  Wim Taymans  <wim@fluendo.com>
3649
3650         * check/Makefile.am:
3651         Enable valgrind check that should work fine now.
3652
3653         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3654         * gst/gstqueue.c: (gst_queue_init):
3655         Fix memleaks in pad allocation.
3656
3657 2005-11-16  Andy Wingo  <wingo@pobox.com>
3658
3659         * gst/net/Makefile.am:
3660         * gst/net/gstnet.h: New part of core to hold network elements and
3661         objects. Put in core because it exposes API that applications want
3662         to use. The library is named libgstnet-tempname right now because
3663         of the existing libgstnet in gst-plugins-base. Solution is
3664         probably to rename the one in plugins-base; will file a bug for
3665         the freeze break.
3666
3667         * gst/net/gstnettimeprovider.c: 
3668         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3669         get_time call over the network.
3670
3671         * configure.ac: 
3672         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3673
3674         * check/Makefile.am:
3675         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3676         get additions shortly.
3677
3678 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         * gst/gstpad.c: (gst_pad_new_from_static_template):
3681         * gst/gstpad.h:
3682           add gst_pad_new_from_static_template functions
3683         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3684         (gst_check_setup_sink_pad):
3685         * gst/elements/gsttee.c: (gst_tee_init):
3686           and use them
3687
3688 2005-11-16  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/gstpad.c: (gst_pad_pause_task):
3691         Removed warning, it's not really an error either.
3692
3693 2005-11-16  Wim Taymans  <wim@fluendo.com>
3694
3695         * gst/base/gstbasetransform.c:
3696         (gst_base_transform_prepare_output_buf),
3697         (gst_base_transform_event):
3698         Check if the caps are NULL, this can happen if the element
3699         is shutting down and the pad caps are set to NULL.
3700
3701 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3702
3703         * gst/elements/gsttee.c: (gst_tee_init):
3704           fix pad template leak in tee
3705
3706 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3707
3708         * gst/glib-compat.c: (g_value_dup_gst_object):
3709         * gst/glib-compat.h:
3710         * gst/gstpad.c: (gst_pad_set_property):
3711           use gst_object_ref when setting the pad template; this will
3712           trigger the pad template leaks on GLib 2.6 and the slaves
3713
3714 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3715
3716         * gst/glib-compat.c: (gst_flags_get_first_value):
3717         * gst/glib-compat.h:
3718         * gst/gstregistryxml.c:
3719           remove functions copied from GLib 2.6
3720
3721 2005-11-16  Michael Smith <msmith@fluendo.com>
3722
3723         * gst/Makefile.am:
3724           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3725           do, but only breaks with newer valgrind versions. We're not a
3726           valgrind tool, we have no link-time dependencies on libcoregrind.
3727
3728 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3729
3730         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3731           some debug changes
3732         * gst/gstmessage.h:
3733           typo fixes
3734
3735 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * gst/base/gstbasesrc.c: (gst_base_src_init):
3738         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3739         * gst/gstqueue.c: (gst_queue_init):
3740         * gst/gstregistryxml.c: (load_feature):
3741           Revert all these unrefs, they don't even pass make check !
3742
3743 2005-11-15  Johan Dahlin  <johan@gnome.org>
3744
3745         * gst/base/gstbasesrc.c: (gst_base_src_init):
3746         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3747         * gst/gstqueue.c: (gst_queue_init): 
3748         Free pad templates, fixes a couple of leaks.
3749
3750 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3751
3752         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3753
3754         * gst/gstpad.c: (gst_pad_get_property):
3755           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3756           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3757           (#321452)
3758
3759 2005-11-15  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstevent.c:
3762         Small doc update.
3763
3764 2005-11-15  Andy Wingo  <wingo@pobox.com>
3765
3766         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3767
3768         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3769         using GST_CLOCK_TIME_NONE to disable base time management.
3770         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3771         time if it was NONE before.
3772         (gst_pipeline_change_state): Only munge the base time if
3773         stream_time != GST_CLOCK_TIME_NONE.
3774
3775         * check/gst/gstpipeline.c (test_base_time): Punt around the
3776         problem of the probe not being called, because that's not the
3777         issue I'm looking at. Add a check that setting stream_time to NONE
3778         disables base time management.
3779         
3780 2005-11-15  Wim Taymans  <wim@fluendo.com>
3781
3782         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3783         segment_stop == -1 at startup.
3784
3785         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3786         (gst_base_transform_change_state):
3787         Init segment values at start.
3788
3789 2005-11-15  Wim Taymans  <wim@fluendo.com>
3790
3791         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3792         0 segment values are 0 in any format.
3793
3794         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3795         * gst/base/gstbasetransform.h:
3796         Parse newsegment correctly in basetransform
3797
3798         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3799         Sync to clock using updated segment values.
3800
3801 2005-11-15  Andy Wingo  <wingo@pobox.com>
3802
3803         * check/gst/gstpipeline.c (test_base_time): Add check that the
3804         base time and stream time are reset correctly.
3805
3806 2005-11-15  Wim Taymans  <wim@fluendo.com>
3807
3808         * docs/design/part-TODO.txt:
3809         Some more TODO items.
3810
3811 2005-11-15  Andy Wingo  <wingo@pobox.com>
3812
3813         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3814         error if the user selected "no clock" as the clocking method.
3815
3816         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3817         timestamps with live capture.
3818
3819         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3820         is 0 but we are a live source, timestamp the buffers using the
3821         element's clock.
3822
3823 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3824
3825         * docs/gst/gstreamer-sections.txt:
3826         * gst/gsterror.c:
3827         * gst/gstghostpad.c:
3828         * gst/gstobject.h:
3829         * gst/gstxml.c:
3830           more section docs
3831
3832 2005-11-14  Wim Taymans  <wim@fluendo.com>
3833
3834         * common/gst.supp:
3835           add suppressions from Wim's Debian machine
3836
3837 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3838
3839         * common/gst.supp:
3840           add suppressions from Andy's AMD64 Ubuntu machine
3841
3842 2005-11-14  Andy Wingo  <wingo@pobox.com>
3843
3844         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3845         STATE_LOCK not necessary. Fixes #311489.
3846
3847         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3848         #305291.
3849
3850         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3851         this function is not implemented.
3852
3853 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3854
3855         * gst/base/gstbasetransform.c:
3856         (gst_base_transform_prepare_output_buf):
3857         Ref the source pad caps while we need them.
3858         Fixes (#321386)
3859
3860 2005-11-11  Wim Taymans  <wim@fluendo.com>
3861
3862         * docs/gst/gstreamer-sections.txt:
3863         Added some docs for GstCollectData.
3864
3865         * gst/base/gstadapter.c:
3866         Some small code example fix.
3867
3868         * gst/base/gstcollectpads.c:
3869         * gst/base/gstcollectpads.h:
3870         Document some more.
3871
3872 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * configure.ac: back to HEAD
3875
3876 === release 0.9.5 ===
3877
3878 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3879
3880         * configure.ac:
3881           releasing 0.9.5, "Bike Lunch Day"
3882
3883 2005-11-11  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/gstbuffer.c: (_gst_buffer_copy):
3886         Copy more flags.
3887
3888         * gst/gstcaps.c: (gst_caps_is_equal):
3889         Fix some docs.
3890         Make _is_equal fast in the trivial cases.
3891
3892         * gst/gstminiobject.c:
3893         * gst/gstminiobject.h:
3894         More docs. Spifify .h file.
3895
3896         * gst/gstutils.c:
3897         Small doc update.
3898
3899 2005-11-11  Wim Taymans  <wim@fluendo.com>
3900
3901         * gst/base/gstbasetransform.c:
3902         (gst_base_transform_prepare_output_buf),
3903         (gst_base_transform_handle_buffer):
3904         Small cleanups.
3905         If we're processing a buffer and need to allocate an output
3906         buffer, we cannot accept a format change. If we did get a 
3907         format change, we have to alloc a buffer ourselves of the 
3908         right size.
3909
3910 2005-11-11  Wim Taymans  <wim@fluendo.com>
3911
3912         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3913         While checking the flag for reentrancy in the gstcaps function
3914         is nice to detect recursive invocations, it also makes it 
3915         impossible to call getcaps from multiple threads, which must be
3916         possible. So, checking for recursive calls has to go.
3917
3918 2005-11-11  Michael Smith <msmith@fluendo.com>
3919
3920         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3921           Don't sync on buffers that fall partially outside our current
3922           segment. Prevents an assertion failure/abort playing some files.
3923
3924 2005-11-10  Andy Wingo  <wingo@pobox.com>
3925
3926         * check/gst/gstbin.c (test_message_state_changed_children): Style
3927         fix..
3928
3929         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3930         gst_bus_poll with the signal watch. Ensures that poll and a signal
3931         watch see the same messages.
3932
3933         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3934         a poll and a watch at the same time get the same messages.
3935
3936 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3937
3938         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3939         * gst/gstcaps.c: (gst_caps_intersect):
3940           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3941           and it's not needed.
3942
3943 2005-11-10  Wim Taymans  <wim@fluendo.com>
3944
3945         * docs/design/part-TODO.txt:
3946         Updated todo.
3947
3948 2005-11-10  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3951         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3952         (gst_base_src_do_sync), (gst_base_src_get_range):
3953         Implement clock sync in base class.
3954
3955 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3956
3957         patch by: Tim-Philipp Müller <tim at centricular dot net>
3958
3959         * gst/gststructure.c: (gst_structure_parse_field),
3960         (gst_structure_from_string):
3961           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3962           so that gst_parse_launch() can deal with spaces in filtered link
3963           caps (fixes #164479)
3964         * check/gst/capslist.h:
3965         * check/gst/gststructure.c: (GST_START_TEST):
3966           add unit tests for this change
3967
3968 2005-11-10  Wim Taymans  <wim@fluendo.com>
3969
3970         * docs/gst/gstreamer-sections.txt:
3971         * gst/gstelement.c:
3972         * gst/gstelement.h:
3973         Fix docs, move some STATE macros to private.
3974
3975 2005-11-10  Wim Taymans  <wim@fluendo.com>
3976
3977         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3978         Added check for bug #317341
3979
3980         * gst/gstbuffer.c:
3981         * gst/gstbuffer.h:
3982         Some more spiffifying.
3983
3984         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3985         Call peer linkfunction if we are a source pad. Totally fixes
3986         #317341
3987
3988         * gst/gstpad.c:
3989         Update docs, source pads should call the peer linkfunction
3990         so they can atomically perform the pad link.
3991
3992 2005-11-09  Wim Taymans  <wim@fluendo.com>
3993
3994         * gst/gstbuffer.c:
3995         * gst/gstbuffer.h:
3996         Uber-spiffy-spiffify some more.
3997
3998 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3999
4000         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4001         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4002         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4003         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4004         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4005         * gst/gstpad.c: (gst_pad_init):
4006           Use GST_DEBUG_FUNCPTR() more extensively.
4007
4008 2005-11-09  Wim Taymans  <wim@fluendo.com>
4009
4010         * gst/gstobject.c: (gst_object_class_init):
4011         * gst/gstobject.h:
4012         Documentation fixes.
4013
4014 2005-11-09  Edward Hervey  <edward@fluendo.com>
4015
4016         * gst/gsttypefindfactory.c:
4017         Fix docs.
4018         
4019 2005-11-09  Edward Hervey  <edward@fluendo.com>
4020
4021         * gst/base/gsttypefindhelper.c:
4022         * gst/gsttypefind.c:
4023         * gst/gsttypefind.h:
4024         Fix docs.
4025
4026 2005-11-09  Wim Taymans  <wim@fluendo.com>
4027
4028         * gst/gstiterator.c:
4029         Fix revision data.
4030
4031         * gst/gsttask.c:
4032         * gst/gsttask.h:
4033         Fix docs.
4034
4035 2005-11-09  Wim Taymans  <wim@fluendo.com>
4036
4037         * gst/gstevent.h:
4038         * gst/gsturi.h:
4039         Fix docs.
4040
4041 2005-11-09  Wim Taymans  <wim@fluendo.com>
4042
4043         * docs/gst/gstreamer-sections.txt:
4044         Moved the message async delivery private lock and cond
4045         to the private section.
4046
4047         * gst/gstmessage.c:
4048         * gst/gstmessage.h:
4049         Fixed docs.
4050
4051 2005-11-09  Edward Hervey  <edward@fluendo.com>
4052
4053         * docs/gst/gstreamer-sections.txt:
4054         * gst/gsturi.c:
4055         * gst/gsturi.h:
4056         Document GstURIHandler
4057
4058 2005-11-09  Wim Taymans  <wim@fluendo.com>
4059
4060         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4061         (gst_iterator_find_custom):
4062         * gst/gstiterator.h:
4063         Fix iterator docs.
4064
4065 2005-11-09  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/gstbin.h:
4068         Document another field.
4069
4070         * gst/gststructure.c:
4071         * gst/gststructure.h:
4072         Document.
4073
4074 2005-11-09  Wim Taymans  <wim@fluendo.com>
4075
4076         * gst/gstbin.h:
4077         Documented structs.
4078
4079 2005-11-09  Wim Taymans  <wim@fluendo.com>
4080
4081         * docs/gst/gstreamer-sections.txt:
4082         Added some new macros.
4083
4084         * gst/gstclock.c:
4085         * gst/gstclock.h:
4086         * gst/gstobject.h:
4087         Docs updates.
4088
4089 2005-11-09  Wim Taymans  <wim@fluendo.com>
4090
4091         * docs/design/part-TODO.txt:
4092         Some more items for the TODO
4093
4094         * gst/gstcaps.c:
4095         * gst/gstcaps.h:
4096         Document GstCaps.
4097
4098 2005-11-09  Andy Wingo  <wingo@pobox.com>
4099
4100         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4101         to work on something else now tho...
4102
4103         * gst/base/gstadapter.c: More adapter docs.
4104
4105         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4106         (gst_file_sink_stop): New functions, replace the state change
4107         handler.
4108         (gst_file_sink_class_init): Hook up the start and stop functions.
4109         (gst_file_sink_base_init): Don't set the state change handler any
4110         more. It was a bit ugly too, being set from here...
4111         (gst_file_sink_get_property, gst_file_sink_set_property):
4112         Cleanups...
4113         (gst_file_sink_set_location): More robust check that doesn't call
4114         GST_STATE. Ugggggg.
4115
4116 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4117
4118         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4119           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4120
4121 2005-11-08  Wim Taymans  <wim@fluendo.com>
4122
4123         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4124         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4125         (gst_base_sink_chain), (gst_base_sink_change_state):
4126         * gst/base/gstbasesink.h:
4127         * gst/base/gstbasesrc.h:
4128         * gst/gstelement.h:
4129         * gst/gstevent.h:
4130         Avoid excessive typechecking in macros.
4131
4132         * gst/gstminiobject.c: (gst_mini_object_get_type),
4133         (gst_mini_object_init), (gst_mini_object_new),
4134         (gst_mini_object_free):
4135         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4136         (gst_object_finalize):
4137         Remove cruft code, optimize alloc_trace.
4138
4139 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4140
4141         * docs/faq/gst-uninstalled:
4142           fix up PS1 for systems that try to reset it
4143
4144 2005-11-07  Wim Taymans  <wim@fluendo.com>
4145
4146         * gst/base/gstbasesrc.c: (gst_base_src_init),
4147         (gst_base_src_get_range):
4148         Set the segment_end to -1 initially. Fixed typefind.
4149
4150 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4151
4152         * gst/base/gstadapter.c:
4153           Debug category should be 'adapter', not 'GstAdapter'.
4154           
4155         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4156         (gst_collectpads_class_init), (gst_collectpads_init),
4157         (gst_collectpads_peek), (gst_collectpads_pop),
4158         (gst_collectpads_event), (gst_collectpads_chain):
4159           Add debug category and some debugging output. Use boilerplate
4160           macros. Remove some extraneous words from docs.
4161
4162 2005-11-05  Andy Wingo  <wingo@pobox.com>
4163
4164         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4165         macro.
4166
4167 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4168
4169         * docs/gst/gstreamer-sections.txt:
4170         * gst/gstcaps.h:
4171         * gst/gstinfo.c:
4172         * gst/gstminiobject.h:
4173         * gst/gstobject.h:
4174         * gst/gstutils.h:
4175           more docs added
4176
4177 2005-11-04  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4180         Small update to stop at the configured segment_end
4181         position.
4182
4183 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4184
4185         * gst/gstregistry.c:
4186         * gst/gstregistry.h:
4187           added missing docs
4188
4189 2005-11-04  Edward Hervey  <edward@fluendo.com>
4190
4191         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4192         Check if we are doing a segment seek and have arrived at the
4193         end of that segment.
4194
4195 2005-11-04  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4198         Don't leak a mutex unlock in case of an error.
4199
4200         * gst/gstbus.h:
4201         Doc fixes.
4202
4203 2005-11-04  Wim Taymans  <wim@fluendo.com>
4204
4205         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4206         (gst_bus_post):
4207         Get the context to wake up only once.
4208
4209 2005-11-03  Wim Taymans  <wim@fluendo.com>
4210
4211         * check/states/sinks.c: (GST_START_TEST):
4212         Uncomment fixed check.
4213
4214         * docs/design/part-TODO.txt:
4215         Updated TODO.
4216
4217         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4218         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4219         (gst_base_sink_get_position):
4220         If we are going to PLAYING, post the right pending state
4221         when we post the intermediate paused message.
4222
4223         * gst/gstelement.c: (gst_element_continue_state),
4224         (gst_element_set_state_func), (gst_element_change_state):
4225         Don't post state changes that were between the same state
4226         and were not ASYNC.
4227
4228 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4229
4230         * docs/gst/gstreamer-sections.txt:
4231         * gst/gstcaps.h:
4232         * gst/gstinfo.c:
4233         * gst/gstminiobject.h:
4234         * gst/gstobject.h:
4235         * gst/gstutils.h:
4236           more docs and doc style fixes
4237
4238 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4239
4240         * docs/gst/gstreamer-sections.txt:
4241         * gst/gstelement.c:
4242         * gst/gstminiobject.c:
4243         doc fixes
4244
4245 2005-11-03  Andy Wingo  <wingo@pobox.com>
4246
4247         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4248         state-changed messages actually have the right order and the right
4249         values.
4250
4251 2005-11-03  Wim Taymans  <wim@fluendo.com>
4252
4253         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4254         Added some more checks. Specifically the case where NO_PREROLL
4255         elements are in the pipeline.
4256
4257         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4258         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4259         (gst_base_sink_get_position):
4260         Post READY->PAUSED state change messages too.
4261         Fix bug where VOID was posted as pending state...
4262
4263         * gst/gstbin.c: (gst_bin_recalc_state):
4264         use _element_continue_state() to continue the state change.
4265
4266         * gst/gstelement.c: (gst_element_continue_state),
4267         (gst_element_commit_state), (gst_element_set_state_func),
4268         (gst_element_change_state), (gst_element_change_state_func):
4269         Lots of state change cleanups, assign the STATE_RETURN in
4270         a new continue_state() function that also propagates the
4271         last return value from a state change to the app.
4272         Update some debug statements with proper category.
4273
4274 2005-11-03  Wim Taymans  <wim@fluendo.com>
4275
4276         * docs/design/part-events.txt:
4277         * docs/design/part-gstpipeline.txt:
4278         * docs/design/part-messages.txt:
4279         * docs/design/part-overview.txt:
4280         * docs/design/part-seeking.txt:
4281         * docs/design/part-states.txt:
4282         * docs/design/part-trickmodes.txt:
4283         * docs/manual/advanced-position.xml:
4284         Small docs updates.
4285
4286         * gst/gstobject.h:
4287         People think !! is ugly, this looks better.
4288
4289         * gst/gstpad.c: (gst_pad_set_blocked_async):
4290         Remove !! since it's fixed elsewhere now.
4291
4292 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4293
4294         * gst/gstminiobject.h:
4295         * gst/gstobject.h:
4296           Add !! to _FLAG_IS_SET macros to make the result boolean.
4297
4298 2005-11-03  Edward Hervey  <edward@fluendo.com>
4299
4300         * gst/gstpad.c: (gst_pad_set_blocked_async):
4301         comparing a flag and a gboolean rarely returns coherent results...
4302         Added two characters (!!) to make that work correctly.
4303         
4304 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * gst/gstbus.c: (gst_bus_class_init):
4307           Fix some typos.
4308           
4309         * gst/gstqueue.c: (gst_queue_loop):
4310           Don't assume a miniobject that isn't a buffer is an
4311           event (it could be that there is a refcounting
4312           problem somewhere and the pointer is stale and
4313           refers to an already destroyed miniobject).
4314
4315 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4316
4317         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4318
4319 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4320
4321         * docs/manual/advanced-position.xml:
4322           Update seek example and explanations to current 0.9 API.
4323
4324         * gst/elements/gsttypefindelement.c:
4325         (gst_type_find_element_activate):
4326           Remove FIXME comment now that the found caps
4327           are unreffed.
4328
4329 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4330
4331         * gst/gstregistryxml.c: (load_feature):
4332           Add another GST_STR_NULL instance
4333
4334 2005-11-02  Edward Hervey  <edward@fluendo.com>
4335
4336         * gst/gstpad.c: (handle_pad_block):
4337         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4338         
4339 2005-11-02  Wim Taymans  <wim@fluendo.com>
4340
4341         * gst/gstbin.c:
4342         Fix typo in docs.
4343
4344         * gst/gstelement.c: (gst_element_commit_state):
4345         Remove unused value.
4346
4347         * gst/gstiterator.c:
4348         Mention that the returned element is reffed in the docs.
4349
4350 2005-11-02  Wim Taymans  <wim@fluendo.com>
4351
4352         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4353         (gst_pad_push), (gst_pad_push_event):
4354         Unlock blocked pads when they are flushed.
4355
4356 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4357
4358         * docs/README:
4359         * docs/gst/gstreamer-sections.txt:
4360         * gst/gstbin.c:
4361           doc updates
4362         * gst/gstregistry.c: (gst_registry_scan_path_level):
4363           fix for a nasty little missed situation where an installed plug-in
4364           which was in the cache did not get overridden by an uninstalled one
4365           which was earlier in the plugin path because the newly created plugin
4366           for the uninstalled one (not in the registry) didn't get its
4367           ->registered set to TRUE
4368
4369 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4370
4371         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4372         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4373         (gst_collectpads_is_active), (gst_collectpads_collect),
4374         (gst_collectpads_collect_range), (gst_collectpads_start),
4375         (gst_collectpads_stop), (gst_collectpads_peek),
4376         (gst_collectpads_pop), (gst_collectpads_available),
4377         (gst_collectpads_read), (gst_collectpads_flush):
4378           Guard public API with assertions.
4379         
4380         * gst/gstpad.c:
4381           Fix docs for gst_pad_set_link_function().
4382
4383 2005-11-02  Johan Dahlin  <johan@gnome.org>
4384
4385         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4386         Unref found_caps after we used it.
4387
4388 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4389
4390         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4391           Don't try to ref NULL.
4392
4393 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4394
4395         * win32/common/config.h.in:
4396           provide a GST_FUNCTION that just gives a string for now
4397
4398 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4399
4400         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4401         (gst_object_flags_get_type), (register_gst_bin_flags),
4402         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4403         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4404         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4405         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4406         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4407         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4408         (gst_clock_flags_get_type), (register_gst_state),
4409         (gst_state_get_type), (register_gst_state_change_return),
4410         (gst_state_change_return_get_type), (register_gst_state_change),
4411         (gst_state_change_get_type), (register_gst_element_flags),
4412         (gst_element_flags_get_type), (register_gst_core_error),
4413         (gst_core_error_get_type), (register_gst_library_error),
4414         (gst_library_error_get_type), (register_gst_resource_error),
4415         (gst_resource_error_get_type), (register_gst_stream_error),
4416         (gst_stream_error_get_type), (register_gst_event_type),
4417         (gst_event_type_get_type), (register_gst_seek_type),
4418         (gst_seek_type_get_type), (register_gst_seek_flags),
4419         (gst_seek_flags_get_type), (register_gst_format),
4420         (gst_format_get_type), (register_gst_index_certainty),
4421         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4422         (gst_index_entry_type_get_type),
4423         (register_gst_index_lookup_method),
4424         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4425         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4426         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4427         (gst_index_flags_get_type), (register_gst_debug_level),
4428         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4429         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4430         (gst_iterator_result_get_type), (register_gst_iterator_item),
4431         (gst_iterator_item_get_type), (register_gst_message_type),
4432         (gst_message_type_get_type), (register_gst_mini_object_flags),
4433         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4434         (gst_pad_link_return_get_type), (register_gst_flow_return),
4435         (gst_flow_return_get_type), (register_gst_activate_mode),
4436         (gst_activate_mode_get_type), (register_gst_pad_direction),
4437         (gst_pad_direction_get_type), (register_gst_pad_flags),
4438         (gst_pad_flags_get_type), (register_gst_pad_presence),
4439         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4440         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4441         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4442         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4443         (gst_plugin_flags_get_type), (register_gst_rank),
4444         (gst_rank_get_type), (register_gst_query_type),
4445         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4446         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4447         (gst_tag_flag_get_type), (register_gst_task_state),
4448         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4449         (gst_alloc_trace_flags_get_type),
4450         (register_gst_type_find_probability),
4451         (gst_type_find_probability_get_type), (register_gst_uri_type),
4452         (gst_uri_type_get_type), (register_gst_parse_error),
4453         (gst_parse_error_get_type):
4454         * win32/common/gstversion.h:
4455           update win32 copies
4456
4457 2005-11-01  Luca Ognibene  <luogni@tin.it>
4458
4459         * gst/gst.c:
4460           fix docs. popt is dead, long live GOption.
4461
4462 2005-10-31  Wim Taymans  <wim@fluendo.com>
4463
4464         * gst/gstbuffer.h:
4465         Small doc fix.
4466
4467 2005-10-31  Andy Wingo  <wingo@pobox.com>
4468
4469         * Boo!
4470
4471         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4472
4473         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4474         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4475         the possibility of deadlocks here if code calling notify() or
4476         set() has a lock that can be taken in another notify handler (ABBA
4477         with class lock and e.g. python GIL state lock).
4478
4479 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4480
4481         * gst/gstbus.c: Doc updates.
4482
4483 2005-10-28  Wim Taymans  <wim@fluendo.com>
4484
4485         * docs/design/part-TODO.txt:
4486         * gst/gstiterator.c:
4487         * gst/gstsystemclock.c:
4488         * gst/gstsystemclock.h:
4489         Doc updates.
4490
4491 2005-10-28  Edward Hervey  <edward@fluendo.com>
4492
4493         * docs/gst/gstreamer-docs.sgml:
4494         * docs/gst/gstreamer-sections.txt:
4495         the GstURIType documentation page is private, it only defines GstURIType
4496         which should be defined in the GstURIHandler page
4497         
4498 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         * gst/gstbin.c: (gst_bin_class_init):
4501         * gst/gstbin.h:
4502         * gst/gstutils.c:
4503         Documentation updates.
4504
4505 2005-10-28  Wim Taymans  <wim@fluendo.com>
4506
4507         * docs/gst/gstreamer-sections.txt:
4508         * gst/gstclock.c:
4509         * gst/gstclock.h:
4510         Documented the clocks.
4511
4512 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4513
4514         * docs/gst/gstreamer-sections.txt:
4515           move some macros to private sections
4516         * gst/gstminiobject.c:
4517         * gst/gstminiobject.h:
4518           add descriptions provided by ds and some more
4519         * gst/gstpad.h:
4520           mark macro as to be removed
4521
4522 2005-10-28  Wim Taymans  <wim@fluendo.com>
4523
4524         * docs/design/part-TODO.txt:
4525         Add an item to TODO.
4526
4527         * gst/gstiterator.c: (gst_iterator_fold),
4528         (gst_iterator_find_custom):
4529         * gst/gstiterator.h:
4530         Add iterator docs.
4531
4532 2005-10-28  Wim Taymans  <wim@fluendo.com>
4533
4534         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4535         (gst_base_transform_init):
4536         Don't leak class.
4537
4538         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4539         An EOS event marks the queue as completely filled.
4540
4541 2005-10-27  Wim Taymans  <wim@fluendo.com>
4542
4543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4544         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4545         Some more debugging.
4546
4547         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4548         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4549         (gst_base_transform_event), (gst_base_transform_getrange),
4550         (gst_base_transform_chain):
4551         * gst/base/gstbasetransform.h:
4552         Fix debugging,
4553         Protect transform and concurrent buffer alloc with a new lock.
4554         Try not to break ABI/API.
4555
4556 2005-10-27  Wim Taymans  <wim@fluendo.com>
4557
4558         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4559         (gst_base_src_init), (gst_base_src_query),
4560         (gst_base_src_default_newsegment),
4561         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4562         (gst_base_src_send_event), (gst_base_src_event_handler),
4563         (gst_base_src_pad_get_range), (gst_base_src_loop),
4564         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4565         (gst_base_src_start), (gst_base_src_deactivate),
4566         (gst_base_src_activate_push), (gst_base_src_change_state):
4567         Move some stuff around and cleanup things.
4568
4569 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4570
4571         * gst/base/gstbasesrc.c: (gst_base_src_query):
4572           Add missing break statements.
4573
4574 2005-10-27  Wim Taymans  <wim@fluendo.com>
4575
4576         * check/gst/gstbin.c: (GST_START_TEST):
4577         An extra refcount is taken in basesrc.
4578
4579         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4580         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4581         (gst_base_src_loop):
4582         Small cleanups, check for flushing after being unlocked from the 
4583         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4584         Don't send out EOS when going to READY.
4585
4586 2005-10-27  Wim Taymans  <wim@fluendo.com>
4587
4588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4589         (gst_base_sink_get_position):
4590         Some more debug.
4591
4592         * gst/gstbin.c: (message_check), (bin_replace_message),
4593         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4594         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4595         (bin_query_duration_init), (bin_query_duration_fold),
4596         (bin_query_duration_done), (bin_query_generic_fold),
4597         (gst_bin_query):
4598         * tools/gst-launch.c: (main):
4599         Remove old option.
4600
4601 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4602
4603         * examples/controller/audio-example.c: (main):
4604         * examples/queue/queue.c: (event_loop):
4605         * gst/base/gstbasetransform.h:
4606         * gst/gstelement.c: (gst_element_send_event):
4607         * gst/gstevent.h:
4608         * gst/gstpad.c: (gst_pad_send_event):
4609           fixing examples
4610           fixing docs typos
4611           changing log priority in error situations
4612
4613 2005-10-25  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/gstbin.c: (message_check), (bin_replace_message),
4616         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4617         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4618         (bin_query_duration_init), (bin_query_duration_fold),
4619         (bin_query_duration_done), (bin_query_generic_fold),
4620         (gst_bin_query):
4621         Some doc and debug updates.
4622         Cache previously requested query DURATION for speed. invalidate
4623         cached duration if element posts a DURATION message.
4624
4625 2005-10-25  Wim Taymans  <wim@fluendo.com>
4626
4627         * docs/design/part-TODO.txt:
4628         Update TODO.
4629
4630         * gst/gstbin.c: (message_check), (bin_replace_message),
4631         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4632         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4633         (bin_query_duration_init), (bin_query_duration_fold),
4634         (bin_query_duration_done), (bin_query_generic_fold),
4635         (gst_bin_query):
4636         Handle SEGMENT_START/DONE messages correctly.
4637         More evolved query algorithm that handles duration queries
4638         correctly.
4639
4640         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4641         (gst_element_get_state_func), (gst_element_abort_state),
4642         (gst_element_commit_state), (gst_element_lost_state):
4643         Some more debugging.
4644
4645         * gst/gstmessage.h:
4646         Added doc.
4647
4648 2005-10-25  Wim Taymans  <wim@fluendo.com>
4649
4650         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4651         Don't use invalid stream_time.
4652
4653         * gst/gstevent.c: (gst_event_new_newsegment):
4654         stream_time in newsegment cannot be undefined.
4655
4656 2005-10-24  Wim Taymans  <wim@fluendo.com>
4657
4658         * gst/gstbus.c:
4659         Doc fix.
4660
4661         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4662         (gst_queue_loop):
4663         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4664
4665 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4666
4667         * docs/libs/tmpl/gstdparam.sgml:
4668         * docs/libs/tmpl/gstdplinint.sgml:
4669         * docs/libs/tmpl/gstdpman.sgml:
4670         * docs/libs/tmpl/gstdpsmooth.sgml:
4671         * docs/libs/tmpl/gstunitconvert.sgml:
4672           these are obsolete
4673
4674 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4675
4676         * configure.ac:
4677           back to HEAD
4678
4679 === release 0.9.4 ===
4680
4681 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4682
4683         * configure.ac:
4684           releasing 0.9.4, "Tyrannosaurus Rex"
4685
4686 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4687
4688         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4689         (gst_file_sink_get_current_offset):
4690           Use fseeko() and ftello() if available. When falling back on
4691           lseek() to get the current offset, fflush() first to make sure
4692           everything is up-to-date and we get the right offset.
4693
4694 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4695
4696         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4697         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4698         * gst/gsterror.c: (_gst_stream_errors_init):
4699         * gst/gsterror.h:
4700         * gst/gstqueue.c: (gst_queue_loop):
4701         * po/POTFILES.in:
4702           remove prematurely added error category and clean up the instances
4703
4704 2005-10-21  Wim Taymans  <wim@fluendo.com>
4705
4706         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4707         (gst_base_sink_get_position), (gst_base_sink_query),
4708         (gst_base_sink_change_state):
4709         Simply set the right flag when going to playing, that's all
4710         we need to do instead of calling a function inside the object
4711         lock (that could take the lock as well and deadlock)
4712
4713 2005-10-21  Wim Taymans  <wim@fluendo.com>
4714
4715         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4716         (gst_base_src_loop):
4717         Don't warn, the peer element knows what to do best when
4718         the seek failed, it might try something else.
4719
4720 2005-10-21  Wim Taymans  <wim@fluendo.com>
4721
4722         * gst/base/gstbasesrc.c: (gst_base_src_init),
4723         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4724         Fix seeking.
4725
4726 2005-10-21  Wim Taymans  <wim@fluendo.com>
4727
4728         * docs/design/part-segments.txt:
4729         More docs.
4730
4731         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4732         Correctly set caps, even on the subbufer.
4733
4734 2005-10-21  Wim Taymans  <wim@fluendo.com>
4735
4736         * docs/gst/gstreamer-docs.sgml:
4737         * docs/gst/gstreamer-sections.txt:
4738         * gst/gstelement.h:
4739         * gst/gstevent.c:
4740         * gst/gstevent.h:
4741         * gst/gstmessage.h:
4742         * gst/gstpad.h:
4743         * gst/gstparse.h:
4744         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4745         * gst/gsttask.h:
4746         * gst/gstutils.c:
4747         * gst/gstutils.h:
4748         And 2% more doc coverage.
4749
4750 2005-10-21  Andy Wingo  <wingo@pobox.com>
4751
4752         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4753         position reporting.
4754
4755 2005-10-20  Wim Taymans  <wim@fluendo.com>
4756
4757         * gst/gsterror.c: (gst_error_get_message):
4758         * gst/gstparse.h:
4759         * gst/gstquery.h:
4760         * gst/gststructure.c:
4761         * gst/gsttrace.c:
4762         * gst/gstutils.c:
4763         More docs.
4764
4765 2005-10-20  Wim Taymans  <wim@fluendo.com>
4766
4767         * gst/gstbuffer.h:
4768         * gst/gstpad.c:
4769         * gst/gstparse.c:
4770         Another 1% more coverage.
4771
4772 2005-10-20  Wim Taymans  <wim@fluendo.com>
4773
4774         * docs/gst/gstreamer-sections.txt:
4775         * gst/gstelement.c: (gst_element_get_state_func),
4776         (gst_element_abort_state), (gst_element_commit_state),
4777         (gst_element_lost_state):
4778         * gst/gstevent.h:
4779         * gst/gstquery.c: (gst_query_set_position),
4780         (gst_query_parse_position), (gst_query_set_duration),
4781         (gst_query_parse_duration), (gst_query_new_convert):
4782         * gst/gstutils.c:
4783         Yay! 1% more docs coverage.
4784
4785 2005-10-20  Wim Taymans  <wim@fluendo.com>
4786
4787         * gst/gstpad.h:
4788         * gst/gstquery.c: (gst_query_set_position),
4789         (gst_query_parse_position), (gst_query_set_duration),
4790         (gst_query_parse_duration), (gst_query_new_convert):
4791         * gst/gstquery.h:
4792         * gst/gstutils.c: (gst_element_query_convert):
4793         * gst/gstutils.h:
4794         Docs and consistency fixes.
4795
4796 2005-10-20  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/gsttask.c:
4799         * gst/gsttask.h:
4800         More docs.
4801
4802 2005-10-20  Wim Taymans  <wim@fluendo.com>
4803
4804         * gst/gstbin.c: (message_check), (bin_replace_message),
4805         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4806         (update_degree), (gst_bin_sort_iterator_next),
4807         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4808         Reworked the message handling a bit, cache the messages instead of
4809         only the senders. alows us to do more in the future.
4810
4811 2005-10-20  Wim Taymans  <wim@fluendo.com>
4812
4813         * docs/design/part-TODO.txt:
4814         Update TODO
4815
4816         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4817         (gst_base_sink_query):
4818         Don't use clock time to report position when in EOS.
4819
4820 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * tools/gst-inspect.c: (print_interfaces),
4823         (print_element_properties_info), (print_element_info):
4824           Fix interface output with gst-inspect -a; don't print
4825           newlines after double/float properties.
4826
4827 2005-10-20  Wim Taymans  <wim@fluendo.com>
4828
4829         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4830         (gst_base_sink_query):
4831         Speed up current position calculation.
4832
4833         * gst/base/gstbasesrc.c: (gst_base_src_query),
4834         (gst_base_src_default_newsegment):
4835         Correctly set stream position in newsegment.
4836
4837         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4838         (update_degree), (gst_bin_sort_iterator_next),
4839         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4840         * gst/gstmessage.c: (gst_message_new_custom):
4841         Clean up debugging info
4842
4843         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4844         (gst_queue_loop), (gst_queue_handle_src_query):
4845         Pause task faster.
4846
4847 2005-10-19  Wim Taymans  <wim@fluendo.com>
4848
4849         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4850         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4851         Fix query handling again.
4852
4853 2005-10-19  Wim Taymans  <wim@fluendo.com>
4854
4855         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4856         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4857         * gst/base/gstbasesrc.c: (gst_base_src_query):
4858         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4859         * gst/elements/gsttypefindelement.c:
4860         (gst_type_find_handle_src_query), (find_element_get_length),
4861         (gst_type_find_element_activate):
4862         API change fix.
4863
4864         * gst/gstquery.c: (gst_query_new_position),
4865         (gst_query_set_position), (gst_query_parse_position),
4866         (gst_query_new_duration), (gst_query_set_duration),
4867         (gst_query_parse_duration), (gst_query_set_segment),
4868         (gst_query_parse_segment):
4869         * gst/gstquery.h:
4870         Bundling query position/duration is not a good idea since duration
4871         does not change much and we don't want to recalculate it for every
4872         position query, so they are separated again..
4873         Base value in segment query is not needed.
4874
4875         * gst/gstqueue.c: (gst_queue_handle_src_query):
4876         * gst/gstutils.c: (gst_element_query_position),
4877         (gst_element_query_duration), (gst_pad_query_position),
4878         (gst_pad_query_duration):
4879         * gst/gstutils.h:
4880         Updates for query API change.
4881         Added some docs here and there.
4882
4883 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4884
4885         * check/gst/gstbin.c: (GST_START_TEST):
4886         * check/gst/gstghostpad.c: (GST_START_TEST):
4887         * check/pipelines/cleanup.c: (GST_START_TEST):
4888           wait on thread to die so we can check refcount correctly
4889
4890 2005-10-18  Wim Taymans  <wim@fluendo.com>
4891
4892         * check/pipelines/stress.c: (GST_START_TEST):
4893         Make check a little more time consuming.
4894
4895 2005-10-18  Wim Taymans  <wim@fluendo.com>
4896
4897         * check/Makefile.am:
4898         * check/pipelines/stress.c: (GST_START_TEST),
4899         (simple_launch_lines_suite), (main):
4900         Small state change torture test.
4901
4902         * docs/design/part-states.txt:
4903         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4904         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4905         (gst_base_sink_change_state):
4906         Never take state lock from streaming thread, clean up ugly
4907         hacks. Unfortunatly core does not yet support nice ways to
4908         async commit state.
4909         
4910         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4911         (bin_bus_handler):
4912         Start state recalc if a STATE_DIRTY message is posted, but only
4913         on the toplevel bin.
4914
4915         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4916         (gst_element_get_state_func), (gst_element_abort_state),
4917         (gst_element_commit_state), (gst_element_lost_state),
4918         (gst_element_set_state_func), (gst_element_change_state):
4919         * gst/gstelement.h:
4920         State variables are now protected with the LOCK, the state
4921         lock is only used to serialize _set_state().
4922
4923 2005-10-18  Wim Taymans  <wim@fluendo.com>
4924
4925         * check/gst/gstbin.c: (GST_START_TEST):
4926         * check/gst/gstmessage.c: (GST_START_TEST):
4927         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4928         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4929         (bin_bus_handler):
4930         * gst/gstelement.c: (gst_element_abort_state),
4931         (gst_element_commit_state), (gst_element_lost_state):
4932         * gst/gstmessage.c: (gst_message_new_state_changed),
4933         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4934         (gst_message_new_segment_done), (gst_message_new_duration),
4935         (gst_message_parse_state_changed),
4936         (gst_message_parse_segment_start),
4937         (gst_message_parse_segment_done), (gst_message_parse_duration):
4938         * gst/gstmessage.h:
4939         * tools/gst-launch.c: (event_loop):
4940         Seriously, this is better than a previous commit as we only need
4941         to notify the fact that an element changed state in a streaming
4942         thread, marking the state of the parents dirty, hence the 
4943         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4944         message.
4945
4946 2005-10-18  Wim Taymans  <wim@fluendo.com>
4947
4948         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4949         (gst_bin_recalc_func):
4950         * gst/gstelement.c: (gst_element_set_clock),
4951         (gst_element_abort_state), (gst_element_lost_state):
4952         Cleanups, prepare for state change fixes.
4953
4954 2005-10-18  Wim Taymans  <wim@fluendo.com>
4955
4956         * gst/gstbin.h:
4957         * gst/gstelement.c: (gst_element_class_init),
4958         (gst_element_set_state), (gst_element_set_state_func):
4959         * gst/gstelement.h:
4960         Pending ABI changes.
4961         GThreadPool in GstBinClass to monitor async state changes.
4962         state_cookie in GstElement to detect concurrent gst/set state.
4963         set_state is now virtual too in case a very complicated element
4964         has to be constructed.
4965
4966 2005-10-18  Wim Taymans  <wim@fluendo.com>
4967
4968         * check/gst/gstbin.c: (GST_START_TEST):
4969         * check/gst/gstmessage.c: (GST_START_TEST):
4970         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4971         * gst/gstbin.c: (bin_bus_handler):
4972         * gst/gstelement.c: (gst_element_commit_state),
4973         (gst_element_lost_state):
4974         * gst/gstmessage.c: (gst_message_new_state_changed),
4975         (gst_message_new_segment_start), (gst_message_new_segment_done),
4976         (gst_message_new_duration), (gst_message_parse_state_changed),
4977         (gst_message_parse_segment_start),
4978         (gst_message_parse_segment_done), (gst_message_parse_duration):
4979         * gst/gstmessage.h:
4980         * tools/gst-launch.c: (event_loop):
4981         Make messages future proof.
4982         state-change gets a flag if it was a message comming from the
4983         streaming thread.
4984         segment-start/stop can also be specified in other formats.
4985         A message to notify an app that a pipeline changed playback 
4986         duration.
4987         Also fix a GstMessage leak in -launch
4988
4989 2005-10-18  Andy Wingo  <wingo@pobox.com>
4990
4991         * gst/gstelement.c (gst_element_dispose): More helpful message.
4992
4993 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4994
4995         reviewed by: <delete if not using a buddy>
4996
4997         * common/gtk-doc.mak:
4998
4999 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5000
5001         * gst/gstregistry.c: (gst_registry_scan_path_level):
5002           unref a plug-in we get that was already initialized
5003
5004 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5005
5006         * docs/gst/gstreamer-sections.txt:
5007         * docs/libs/gstreamer-libs-sections.txt:
5008         * gst/gstelement.h:
5009           add new api entries
5010           hide internal macro
5011
5012 2005-10-17  Andy Wingo  <wingo@pobox.com>
5013
5014         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5015         cleanup.
5016
5017         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5018
5019         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5020
5021         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5022         (gst_element_get_state_func): Better debug message.
5023         (gst_element_commit_state): s/INFO/DEBUG/.
5024         (gst_element_lost_state, gst_element_change_state): 
5025
5026         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5027         (gst_message_new_custom): s/INFO/LOG/.
5028
5029 2005-10-17  Michael Smith <msmith@fluendo.com>
5030
5031         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5032           Check if end time is valid using end time, not start time.
5033
5034 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5035
5036         * check/gst-libs/controller.c: (GST_START_TEST),
5037         (gst_controller_suite):
5038         * libs/gst/controller/gstcontroller.c:
5039         (gst_controlled_property_set_interpolation_mode):
5040         * libs/gst/controller/gstcontroller.h:
5041         * libs/gst/controller/gstinterpolation.c:
5042         * testsuite/controller/.cvsignore:
5043         * testsuite/controller/Makefile.am:
5044         * testsuite/controller/interpolator.c:
5045           merge controller testsuites
5046           fix broken tests
5047           remove mem-chunk from docs
5048
5049 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5050
5051         * gst/gstmemchunk.c:
5052         * gst/gstmemchunk.h:
5053         * gst/gsttrashstack.c:
5054         * gst/gsttrashstack.h:
5055           out.  get out.  you're fired.  to the Attic !
5056
5057 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * gst/gstcaps.c: (gst_caps_intersect):
5060           fix signedness issues in a (hopefully) correct way
5061         * gst/gstelement.c: (gst_element_pads_activate):
5062           some debugging
5063         * gst/gstobject.c: (gst_object_set_parent):
5064           some debugging
5065
5066 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5067
5068         * gst/gstvalue.h: Fix prototypes.
5069
5070 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5071
5072         * docs/gst/gstreamer-sections.txt:
5073         * gst/gst.c: (gst_version_string):
5074         * gst/gst.h:
5075         * gst/gstversion.h.in:
5076         * win32/common/libgstreamer.def:
5077           add gst_version_string ()
5078
5079 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5080
5081         * configure.ac:
5082           clean up further
5083         * gst/gst.c: (init_post):
5084         * win32/common/config.h.in:
5085           it's PLUGINDIR now
5086         * gst/gstcaps.c: (gst_caps_intersect):
5087           use gint64, the range could be bigger than a guint
5088
5089 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * gst/gstclock.h:
5092           document potential problem in 2038
5093
5094 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/gstcaps.c: (gst_caps_intersect):
5097           Fix guint j diving under 0
5098
5099 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * configure.ac:
5102         * win32/common/config.h:
5103         * win32/common/config.h.in:
5104           check for process.h, declares getpid() on Windows
5105         * gst/gstinfo.c:
5106           include process.h if we have it
5107         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5108         * gst/gstmemchunk.h:
5109           fix signedness issues
5110         * win32/common/libgstreamer.def:
5111           fix get_type's
5112
5113 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5114
5115         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5116         fix. Because of unsigned ints, caps intersection was going nuts and
5117         trying to access structures with G_MAXUINT index. That fixes
5118         videotestsrc ! ffmpegcolorspace ! fakesink
5119         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5120         consistency.
5121
5122 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5123
5124         * configure.ac:
5125           use the gettext macro
5126         * gst/elements/gstelements.c:
5127         * gst/gst.c:
5128         * gst/indexers/gstindexers.c:
5129           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5130         * win32/common/config.h:
5131           updated config.h
5132         * win32/common/config.h.in:
5133           add the template to generate config.h
5134         * win32/common/gstenumtypes.c:
5135         * win32/common/gstversion.h:
5136           updated copies
5137
5138 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5139
5140         * gst/gst.c: (gst_version):
5141         * gst/gstversion.h.in:
5142           add the nano
5143
5144 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5145
5146         * gst/gstevent.h:
5147           Oops, add missing closing bracket.
5148
5149 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5150
5151         * configure.ac:
5152           use common m4's for argument checking
5153
5154 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5155
5156         * docs/gst/gstreamer-sections.txt:
5157         * gst/gstevent.h:
5158           Add GST_EVENT_TYPE_NAME() macro.
5159
5160 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5161
5162         * gst/gstinfo.c:
5163         * gst/gstpluginfeature.c:
5164         * gst/gsttask.c:
5165           privatize more symbols
5166
5167 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * configure.ac:
5170           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5171           everything that uses GStreamer API should have the includes
5172
5173 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         * docs/gst/gstreamer-sections.txt:
5176         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5177         * gst/gstvalue.h:
5178           give each value a _get_type, removes the DATA exports
5179
5180 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * gst/gst.c:
5183         * gst/gst.h:
5184           remove _gst_registry_auto_load, not used anymore
5185         * gst/gstbin.c: (gst_bin_get_type):
5186         * gst/gstbin.h:
5187         * gst/gstelement.c: (gst_element_get_type):
5188         * gst/gstelement.h:
5189         * gst/gstobject.c: (gst_object_get_type):
5190         * gst/gstobject.h:
5191         * gst/gstpad.c: (gst_pad_get_type):
5192         * gst/gstpad.h:
5193           make _get_type functions similar, fixes data export from library
5194
5195 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * configure.ac:
5198           correctly make conditionals
5199         * gst/elements/Makefile.am:
5200         * gst/elements/gstelements.c:
5201           fix typo causing fdsrc not to build
5202
5203 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5204
5205         * testsuite/Makefile.am:
5206         * testsuite/bytestream/.cvsignore:
5207         * testsuite/bytestream/Makefile.am:
5208         * testsuite/bytestream/filepadsink.c:
5209         * testsuite/bytestream/gstbstest.c:
5210         * testsuite/bytestream/test1.c:
5211         * testsuite/bytestream/testfile1:
5212         * testsuite/caps/normalisation.c:
5213         * testsuite/caps/random.c: (main):
5214         * testsuite/cleanup/.cvsignore:
5215         * testsuite/cleanup/Makefile.am:
5216         * testsuite/cleanup/cleanup1.c:
5217         * testsuite/cleanup/cleanup2.c:
5218         * testsuite/cleanup/cleanup3.c:
5219         * testsuite/cleanup/cleanup4.c:
5220         * testsuite/cleanup/cleanup5.c:
5221         * testsuite/controller/interpolator.c:
5222         * testsuite/debug/printf_extension.c: (main):
5223         * testsuite/elements/tee.c:
5224         * testsuite/negotiation/.cvsignore:
5225         * testsuite/negotiation/Makefile.am:
5226         * testsuite/negotiation/pad_link.c:
5227         * testsuite/pad/Makefile.am:
5228         * testsuite/pad/chainnopull.c:
5229         * testsuite/pad/getnopush.c:
5230         * testsuite/pad/link.c:
5231         * testsuite/refcounting/sched.c: (create_pipeline):
5232         * testsuite/registry/Makefile.am:
5233         * testsuite/registry/gst-print-formats.c:
5234         * testsuite/schedulers/.cvsignore:
5235         * testsuite/schedulers/142183-2.c:
5236         * testsuite/schedulers/142183.c:
5237         * testsuite/schedulers/143777-2.c:
5238         * testsuite/schedulers/143777.c:
5239         * testsuite/schedulers/147713.c:
5240         * testsuite/schedulers/147819.c:
5241         * testsuite/schedulers/147894-2.c:
5242         * testsuite/schedulers/147894.c:
5243         * testsuite/schedulers/Makefile.am:
5244         * testsuite/schedulers/group_link.c:
5245         * testsuite/schedulers/queue_link.c:
5246         * testsuite/schedulers/relink.c:
5247         * testsuite/schedulers/unlink.c:
5248         * testsuite/schedulers/unref.c:
5249         * testsuite/schedulers/useless_iteration.c:
5250         * testsuite/states/bin.c:
5251           clean out/remove some stuff from the testsuite directories
5252
5253 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * configure.ac:
5256           check for some headers
5257         * gst/elements/Makefile.am:
5258         * gst/elements/gstelements.c:
5259           don't compile fdsrc without sys/socket.h
5260         * gst/indexers/Makefile.am:
5261         * gst/indexers/gstindexers.c: (plugin_init):
5262           don't compile fileindex without mmap
5263
5264 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5265
5266         * configure.ac:
5267           reorganize
5268           clean up
5269           document more
5270           remove cruft
5271         * check/Makefile.am:
5272         * docs/gst/Makefile.am:
5273         * examples/helloworld/Makefile.am:
5274         * gst/Makefile.am:
5275         * gst/base/Makefile.am:
5276         * gst/check/Makefile.am:
5277         * gst/elements/Makefile.am:
5278         * gst/indexers/Makefile.am:
5279         * gst/parse/Makefile.am:
5280         * libs/gst/controller/Makefile.am:
5281         * libs/gst/dataprotocol/Makefile.am:
5282         * examples/helloworld/helloworld.c: (event_loop):
5283           compile fixes, though it's not being compiled currently
5284
5285 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5286
5287         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5288           Add some simple tests for the new taglist date API.
5289
5290 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5291
5292         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5293         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5294           Beautify 'last-message' output: print 'none' for buffer timestamps
5295           and durations if none is set; improve alignment with next messages.
5296
5297 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5298
5299         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5300         * gst/gstpluginfeature.h:
5301         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5302         * gst/gstregistry.h:
5303         * docs/gst/gstreamer-sections.txt:
5304           Add new API to check plugin feature version requirements.
5305
5306         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5307           Some basic tests for the above.         
5308
5309 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5310
5311         * gst/gststructure.c: (gst_structure_to_string):
5312           guard against NULL printf - happens when for example
5313           a message structure with GstClock gets serialized
5314
5315 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5318           Fix presumable copy'n'pasto.
5319
5320 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5321
5322         * gst/elements/gstfakesrc.h:
5323         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5324         * gst/elements/gsttypefindelement.c:
5325           fix some signedness
5326         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5327           I wonder if this could actually write +2GB files before
5328
5329 2005-10-13  Andy Wingo  <wingo@pobox.com>
5330
5331         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5332         Fix Timmeke Waymans bug.
5333         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5334         string of the proper length to gst_caps_from_string. There's a
5335         potential for, before this fix, that this could cause someone
5336         connecting over the network to cause a segfault if the payload is
5337         not NUL-terminated.
5338
5339 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5340
5341         * docs/design/draft-push-pull.txt:
5342         * docs/design/part-overview.txt:
5343         * docs/random/TODO-pre-0.9:
5344         * docs/random/old/ChangeLog.gstreamer:
5345         * gst/base/gstpushsrc.c:
5346         * gst/gstclock.c:
5347           fixed typos
5348
5349 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5350
5351         * gst/glib-compat.c: (gst_flags_get_first_value):
5352         * gst/glib-compat.h:
5353         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5354         (gst_value_compare_double), (gst_value_serialize_flags):
5355           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5356           infinite loop
5357
5358 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5359
5360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5361         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5362           fix up debugging
5363         * tools/gst-launch.c: (event_loop):
5364           print out clock nicely
5365
5366 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * docs/gst/gstreamer-sections.txt:
5369         * gst/gsttaglist.h:
5370         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5371         (gst_tag_list_get_date_index):
5372           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5373           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5374
5375 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5376
5377         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5378         (gst_collectpads_chain):
5379         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5380         in CollectData.
5381
5382 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5383
5384         * docs/gst/gstreamer-sections.txt:
5385         * gst/gst.c:
5386         * gst/gsterror.h:
5387         * tools/gst-inspect.c: (main):
5388         * tools/gst-launch.c: (main):
5389         * tools/gst-run.c: (main):
5390         * tools/gst-xmlinspect.c: (main):
5391           fix GOption context leaks
5392           doc fixes
5393
5394 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5395
5396         * gst/gstbus.c:
5397           use HAVE_UNISTD_H
5398         * win32/common/config.h:
5399           update config
5400         * win32/vs6/grammar.dsp:
5401         * win32/vs6/libgstelements.dsp:
5402         * win32/vs6/libgstreamer.dsp:
5403           update vs6 files
5404
5405 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5408         * gst/base/gstbasesrc.c: (gst_base_src_query):
5409           fix more guint64<->gdouble conversions
5410
5411 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5412
5413         * Makefile.am:
5414           add win32-update target
5415         * win32/common/gstconfig.h:
5416         * win32/common/gstenumtypes.c:
5417         * win32/common/gstenumtypes.h:
5418         * win32/common/gstversion.h:
5419           add files that visual studio can't generate
5420
5421 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * Makefile.am:
5424           add a win32-update target
5425         * configure.ac:
5426
5427 2005-10-12  Wim Taymans  <wim@fluendo.com>
5428
5429         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5430         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5431         * gst/gstelement.c: (gst_element_commit_state),
5432         (gst_element_set_state):
5433         Protect flags with proper lock.
5434         unref provided cached clock in dispose.
5435
5436 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * gst/gst.c:
5439         * gst/gstminiobject.h:
5440         * gst/gstpad.h:
5441         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5442           removed unused flags from miniobject
5443           doc fixes
5444
5445 2005-10-12  Wim Taymans  <wim@fluendo.com>
5446
5447         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5448         (gst_file_sink_event), (gst_file_sink_render):
5449         Flush before seeking.
5450
5451 2005-10-12  Andy Wingo  <wingo@pobox.com>
5452
5453         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5454         always been the case.
5455
5456 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5457
5458         * check/gst/gstbin.c: (GST_START_TEST):
5459         * docs/gst/gstreamer-sections.txt:
5460         * gst/base/gstbasesink.c: (gst_base_sink_init):
5461         * gst/base/gstbasesrc.c: (gst_base_src_init),
5462         (gst_base_src_get_range), (gst_base_src_check_get_range),
5463         (gst_base_src_start), (gst_base_src_stop):
5464         * gst/base/gstbasesrc.h:
5465         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5466         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5467         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5468         (bin_bus_handler):
5469         * gst/gstbin.h:
5470         * gst/gstbuffer.h:
5471         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5472         * gst/gstbus.h:
5473         * gst/gstelement.c: (gst_element_is_locked_state),
5474         (gst_element_set_locked_state), (gst_element_commit_state),
5475         (gst_element_set_state):
5476         * gst/gstelement.h:
5477         * gst/gstindex.c: (gst_index_init):
5478         * gst/gstindex.h:
5479         * gst/gstminiobject.h:
5480         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5481         (gst_object_set_parent):
5482         * gst/gstobject.h:
5483         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5484         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5485         * gst/gstpad.h:
5486         * gst/gstpadtemplate.h:
5487         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5488         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5489         * gst/gstpipeline.h:
5490         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5491         (gst_file_index_commit):
5492         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5493         * testsuite/pad/link.c: (gst_test_src_init),
5494         (gst_test_filter_init), (gst_test_sink_init):
5495         * testsuite/states/locked.c: (main):
5496           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5497           moved bitshift from macro to enum definition
5498
5499 2005-10-12  Wim Taymans  <wim@fluendo.com>
5500
5501         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5502         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5503         (gst_file_sink_render):
5504         Some more debugging info.
5505
5506 2005-10-12  Wim Taymans  <wim@fluendo.com>
5507
5508         * docs/design/part-states.txt:
5509         * tools/gst-launch.c: (main):
5510         Some doc updates.
5511         Revert non-intentional change.
5512
5513 2005-10-12  Wim Taymans  <wim@fluendo.com>
5514
5515         * check/gst/gstbin.c: (GST_START_TEST):
5516         * check/gst/gstelement.c: (GST_START_TEST):
5517         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5518         * check/gst/gstghostpad.c: (GST_START_TEST):
5519         * check/gst/gstpipeline.c: (GST_START_TEST):
5520         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5521         * check/states/sinks.c: (GST_START_TEST):
5522         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5523         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5524         (gst_bin_remove_func), (gst_bin_get_state_func),
5525         (gst_bin_recalc_state), (gst_bin_change_state_func),
5526         (bin_bus_handler):
5527         * gst/gstelement.c: (gst_element_get_state_func),
5528         (gst_element_get_state), (gst_element_abort_state),
5529         (gst_element_commit_state), (gst_element_set_state),
5530         (gst_element_change_state), (gst_element_change_state_func):
5531         * gst/gstelement.h:
5532         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5533         (gst_pipeline_provide_clock_func):
5534         * gst/gstutils.c: (gst_element_link_pads_filtered):
5535         * tools/gst-launch.c: (main):
5536         * tools/gst-typefind.c: (main):
5537         Use GstClockTime in _get_state() instead of GTimeVal.
5538         Remove old code in gstutils.c
5539
5540 2005-10-12  Andy Wingo  <wingo@pobox.com>
5541
5542         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5543         removed.
5544
5545         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5546         there is no task. Shouldn't affect any code, as nothing in our
5547         plugins checks this return value.
5548         (gst_pad_stop_task): Also take the stream lock if the pad has no
5549         task. Docs updated.
5550
5551 2005-10-12  Wim Taymans  <wim@fluendo.com>
5552
5553         * gst/gstpad.c: (pre_activate), (post_activate),
5554         (gst_pad_activate_pull), (gst_pad_activate_push):
5555         Cleanup activation code. Reset old state if
5556         activation failed.
5557
5558 2005-10-12  Wim Taymans  <wim@fluendo.com>
5559
5560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5561         (gst_base_sink_change_state):
5562         No need to prerol after receiving EOS.
5563
5564         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5565         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5566         * gst/elements/gstidentity.c: (gst_identity_event):
5567         Print events more verbosely.
5568
5569 2005-10-12  Wim Taymans  <wim@fluendo.com>
5570
5571         * check/Makefile.am:
5572         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5573         * check/states/sinks2.c:
5574         Moved sinks2 testcode in sinks check.
5575
5576         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5577         (gst_bin_remove_func), (gst_bin_recalc_state),
5578         (gst_bin_change_state_func), (bin_bus_handler):
5579         Fix potential race condition when _get_state() iterated over an
5580         ASYNC element right before it posted a state completion.
5581
5582         * gst/gstclock.h:
5583         Do proper cast here.
5584
5585         * gst/gstevent.c: (gst_event_new_newsegment),
5586         (gst_event_parse_newsegment):
5587         A playback rate of 0.0 is not allowed.
5588
5589 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * win32/common/config.h:
5592         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5593         (_trewinddir), (_ttelldir), (_tseekdir):
5594         * win32/common/dirent.h:
5595         * win32/common/gtchar.h:
5596         * win32/common/libgstbase.def:
5597         * win32/common/libgstreamer.def:
5598         * win32/vs6/grammar.dsp:
5599         * win32/vs6/gst_inspect.dsp:
5600         * win32/vs6/gst_launch.dsp:
5601         * win32/vs6/gstreamer.dsw:
5602         * win32/vs6/libgstbase.dsp:
5603         * win32/vs6/libgstelements.dsp:
5604         * win32/vs6/libgstreamer.dsp:
5605           Visual Studio 6 project files, and a new common directory.
5606           Phear.
5607
5608 2005-10-11  Wim Taymans  <wim@fluendo.com>
5609
5610         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5611         (gst_base_sink_do_sync), (gst_base_sink_query),
5612         (gst_base_sink_change_state):
5613         * gst/base/gstbasesink.h:
5614         Correctly parse newsegment info.
5615
5616 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5617
5618         * gst/gst.c: (init_post):
5619           split plugin paths correctly
5620
5621 2005-10-11  Wim Taymans  <wim@fluendo.com>
5622
5623         * check/gst/gstevent.c: (GST_START_TEST):
5624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5625         (gst_base_sink_change_state):
5626         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5627         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5628         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5629         * gst/gstevent.c: (gst_event_new_newsegment),
5630         (gst_event_parse_newsegment):
5631         * gst/gstevent.h:
5632         Added extra flag to newsegment for future API freeze.
5633         Updated check and base elements.
5634
5635 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5636
5637         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5638         (gst_collectpads_add_pad), (gst_collectpads_pop),
5639         (gst_collectpads_event), (gst_collectpads_chain):
5640         * gst/base/gstcollectpads.h: Handle EOS correctly.
5641
5642 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * tools/gst-launch.c: (main):
5645           more null protecting
5646
5647 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * gst/gst-i18n-lib.h:
5650           check for ENABLE_NLS, not GETTEXT_PACKAGE
5651         * gst/gstregistry.c: (gst_registry_add_plugin),
5652         (gst_registry_scan_path_level),
5653         (_gst_registry_remove_cache_plugins):
5654           protect possibly NULL strings
5655         * gst/parse/types.h:
5656           config.h already included before
5657         * tools/gst-inspect.c: (main):
5658           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5659           check for ENABLE_NLS, not GETTEXT_PACKAGE
5660         * tools/gst-launch.c: (main):
5661           check for ENABLE_NLS, not GETTEXT_PACKAGE
5662
5663 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5664
5665         * configure.ac:
5666           if we don't have glib, fail before testing 2.8
5667         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5668           fix a leak, should fix plugins-base testsuite
5669
5670 2005-10-11  Andy Wingo  <wingo@pobox.com>
5671
5672         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5673         take the mode we're going to as an arg. Go head and set the mode
5674         and flushing flags now, so that if the activate function starts a
5675         thread all the flags will be in the right state.
5676         (post_activate): Renamed also. Just handle making sure streaming
5677         finishes for the deactivation case, and setting the deactivated
5678         mode.
5679         (gst_pad_set_active): Complain loudly if deactivation fails.
5680         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5681         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5682         remove the terrible hack.
5683
5684 2005-10-11  Wim Taymans  <wim@fluendo.com>
5685
5686         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5687         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5688         (gst_bin_recalc_state), (gst_bin_change_state_func),
5689         (gst_bin_dispose), (bin_bus_handler):
5690         * gst/gstbin.h:
5691         Prepare to make current EOS message queue more generic.
5692         Fix some typos.
5693
5694         * gst/gstevent.c: (gst_event_new_newsegment),
5695         (gst_event_parse_newsegment):
5696         * gst/gstevent.h:
5697         Rename base to stream_time.
5698
5699         * gst/gstmessage.h:
5700         Fix typo in docs.
5701
5702 2005-10-11  Wim Taymans  <wim@fluendo.com>
5703
5704         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5705         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5706         (gst_bin_change_state_func), (bin_bus_handler):
5707         * gst/gstbin.h:
5708         Work on proper clock selection.
5709
5710 2005-10-11  Edward Hervey  <edward@fluendo.com>
5711
5712         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5713         * libs/gst/controller/gstcontroller.h:
5714         Added GList* version of _remove_properties() in order to be able to wrap
5715         it in bindings.
5716
5717 2005-10-11  Wim Taymans  <wim@fluendo.com>
5718
5719         * docs/design/part-states.txt:
5720         Some more docs.
5721
5722         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5723         (gst_bin_change_state_func), (bin_bus_handler):
5724         Doc updates. Don't distribute the same clock over and over again.
5725
5726         * gst/gstclock.c:
5727         * gst/gstclock.h:
5728         Doc updates.
5729
5730         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5731         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5732         (gst_pad_send_event):
5733         * gst/gstpad.h:
5734         Make probe emission threadsafe again.
5735         Register quarks and move _get_name() from utils.
5736         Doc updates.
5737
5738         * gst/gstpipeline.c: (gst_pipeline_class_init),
5739         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5740         Only redistribute the clock of it changed.
5741
5742         * gst/gstsystemclock.h:
5743         Doc updates. 
5744
5745         * gst/gstutils.c:
5746         * gst/gstutils.h:
5747         Moved the _flow_get_name() to GstPad.
5748
5749 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * check/gst-libs/gdp.c: (GST_START_TEST):
5752         * check/gst/gstcaps.c: (GST_START_TEST):
5753         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5754         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5755         (gst_dp_packet_from_caps):
5756           fix more valgrind warnings before turning up the heat
5757
5758 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5759
5760         * gst/parse/grammar.y:
5761           some cleanup before the hacking
5762
5763 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5764
5765         * gst/base/gstbasesrc.c: (gst_base_src_query):
5766           use conversions
5767         * gst/gstutils.c: (gst_guint64_to_gdouble),
5768         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5769         * gst/gstutils.h:
5770           externalize, basesrc uses it
5771           obviously the implementation needs testing
5772
5773 2005-10-10  Wim Taymans  <wim@fluendo.com>
5774
5775         * tests/sched/Makefile.am:
5776         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5777         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5778
5779 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5780
5781         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5782           apparently converting from guint64 to double is not implemented
5783           on MSVC
5784
5785 2005-10-10  Wim Taymans  <wim@fluendo.com>
5786
5787         * check/Makefile.am:
5788         * check/generic/states.c: (GST_START_TEST):
5789         * check/gst/gstbin.c: (GST_START_TEST):
5790         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5791         * check/states/sinks.c: (GST_START_TEST):
5792         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5793         (main):
5794         Check fixes, use API as stated in design docs, remove hacks.
5795
5796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5797         (gst_base_sink_change_state):
5798         Catch stopping our task while we're shutting down.
5799
5800         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5801         (gst_bin_remove_func), (gst_bin_get_state_func),
5802         (gst_bin_recalc_state), (gst_bin_change_state_func),
5803         (bin_bus_handler):
5804         * gst/gstbin.h:
5805         * gst/gstelement.c: (gst_element_init),
5806         (gst_element_get_state_func), (gst_element_abort_state),
5807         (gst_element_commit_state), (gst_element_lost_state),
5808         (gst_element_set_state), (gst_element_change_state),
5809         (gst_element_change_state_func):
5810         * gst/gstelement.h:
5811         New state change algorithm (see #318116)
5812
5813         * gst/gstpipeline.c: (gst_pipeline_class_init),
5814         (gst_pipeline_init), (gst_pipeline_set_property),
5815         (gst_pipeline_get_property), (do_pipeline_seek),
5816         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5817         * gst/gstpipeline.h:
5818         Remove crude state change hacks.
5819
5820         * gst/gstutils.h:
5821         Remove crude hacks.
5822
5823         * tools/gst-launch.c: (main):
5824         Fixes for state change. Needs some more work to fully use the
5825         new stuff.
5826
5827 2005-10-10  Andy Wingo  <wingo@pobox.com>
5828
5829         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5830
5831         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5832         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5833         issue.
5834
5835 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/gstiterator.c: (gst_iterator_new):
5838           Fix my previous commit: GTypes passed to gst_iterator_new()
5839           can be fundamental types.
5840
5841 2005-10-10  Wim Taymans  <wim@fluendo.com>
5842
5843         * gst/gstelement.c: (gst_element_iterate_pad_list),
5844         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5845         (gst_element_iterate_sink_pads):
5846         Use src/sink pads lists for the respective iterators instead
5847         of filtering.
5848
5849 2005-10-10  Andy Wingo  <wingo@pobox.com>
5850
5851         Merged in popt removal + GOption addition patch from Ronald, bug
5852         #169772.
5853
5854         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5855         GstElement macros around, remove popt-related symbols, add goption
5856         stuff.
5857
5858         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5859         
5860         * docs/gst/Makefile.am:
5861         * docs/libs/Makefile.am: No POPT_CFLAGS.
5862         
5863         * examples/manual/Makefile.am:
5864         * docs/manual/basics-init.xml: Doc updates with an example.
5865         
5866         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5867         (gst_init), (parse_one_option), (parse_goption_arg):
5868         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5869         bit of hand merging and debugging to get the GOption stuff working
5870         tho.
5871         
5872         * tests/Makefile.am:
5873         * tools/Makefile.am:
5874         * tools/gst-inspect.c: (main):
5875         * tools/gst-launch.c: (main):
5876         * tools/gst-run.c: (main):
5877         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5878
5879 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5880
5881         * gst/gstiterator.c: (gst_iterator_new):
5882           Add assertions to make sure passed GType is likely to really
5883           be a GType (as the compiler won't catch it if the size and
5884           GType arguments get mixed up, see #318447).
5885
5886 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5887
5888         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5889
5890         * gst/gstbin.c: (gst_bin_iterate_sorted):
5891           Pass GType and size arguments to gst_iterator_new() in the right
5892           order (maybe we should make _new() take the GType as first argument
5893           just like _new_list()?) (#318447).
5894           
5895
5896 2005-10-10  Wim Taymans  <wim@fluendo.com>
5897
5898         * gst/gstelement.c: (gst_element_finalize):
5899         And free the GStaticRecMutex too
5900
5901 2005-10-10  Andy Wingo  <wingo@pobox.com>
5902
5903         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5904         Allocate and free the mutex properly.
5905
5906         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5907         New macros.
5908         (GstElement): The state_lock is now recursive. Rebuild your
5909         plugins, suckers. Old macros adapted.
5910
5911         * docs/gst/gstreamer-sections.txt: Doc updates.
5912
5913         * gst/gstutils.h:
5914         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5915         (g_static_rec_cond_wait): Ported from state changes patch, while
5916         we wait on bug #317802 to be solved in a well-distributed GLib.
5917
5918         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5919         gst_element_change_state, variable name changes.
5920         (gst_element_change_state): Split out of gst_element_set_state in
5921         preparation for the state change merge. Doesn't pay attention to
5922         the 'transition' argument.
5923         (gst_element_set_state): Updates, hopefully purely cosmetic.
5924         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5925         state change patch.
5926         (gst_element_get_state_func): Renamed from get_state, cosmetic
5927         changes.
5928
5929 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5930
5931         * gst/elements/gstelements.c:
5932         * win32/GStreamer.vcproj:
5933         * win32/config.h:
5934         * win32/dirent.c: (_tseekdir):
5935         * win32/gst-inspect.vcproj:
5936         * win32/gst-launch.vcproj:
5937         * win32/gstconfig.h:
5938         * win32/gstelements.vcproj:
5939         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5940         * win32/gstreamer.def:
5941         * win32/msvc71.sln:
5942           updates for the win32 build (patch from Sebastien Moutte)
5943
5944 2005-10-10  Andy Wingo  <wingo@pobox.com>
5945
5946         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5947         gst_bin_get_state, cleaned up (but no logic changes).
5948         (bin_element_is_sink): Comment updates.
5949         (sink_iterator_filter): Remove needless cast.
5950         (gst_bin_iterate_sinks): Doc update.
5951         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5952         cleaned up (but no logic changes).
5953
5954         * check/states/sinks.c (test_src_sink): Cleanups from the state
5955         change patch.
5956         (test_livesrc_sink): Sync on the state.
5957
5958         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5959         the state change patch.
5960
5961         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5962         change patch.
5963
5964         * check/gst/gstbin.c: Merge in some style fixes and additional
5965         checks from Wim's state change patch.
5966
5967 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5970         (gst_type_find_helper):
5971           Check whether we have the requested data already in our list of
5972           cached buffers before pulling a new buffer; also make the buffer
5973           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5974
5975 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5976
5977         * gst/gstcaps.c:
5978         * gst/gstevent.c:
5979           doc updates
5980         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5981           don't use long long, it's not portable.  Replacing with
5982           gint64 seems to work; let's hope no skeletons fall out of the closet.
5983
5984 2005-10-10  Andy Wingo  <wingo@pobox.com>
5985
5986         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5987
5988 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5989
5990         * docs/gst/gstreamer-sections.txt:
5991         * gst/gstevent.c:
5992         * gst/gstevent.h:
5993         * gst/gstinfo.c:
5994         * gst/gstinfo.h:
5995         * gst/gstmessage.c: (gst_message_parse_state_changed):
5996         * gst/gstpad.c:
5997         * gst/gstpad.h:
5998           more docs, fix compilation
5999
6000 2005-10-09  Philippe Khalaf <burger@speedy.org>
6001         * gst/gstmessage.c:
6002           Fixed a few forgotten variables on previous commit
6003
6004 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6005
6006         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6007           Fix evil typefind crasher: getrange() might return a short
6008           buffer at the end of a file, but gst_type_find_peek() must
6009           either return the full data as requested or NULL, but
6010           never a short buffer.
6011
6012 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6013
6014         * gst/gstmessage.c: (gst_message_new_state_changed),
6015         (gst_message_parse_state_changed):
6016         * gst/gstmessage.h:
6017           don't use "new", it's a C++ keyword
6018
6019 2005-10-08  Wim Taymans  <wim@fluendo.com>
6020
6021         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6022         * gst/gstelement.c: (gst_element_post_message):
6023         * gst/gstpipeline.c: (gst_pipeline_change_state):
6024         Small docs and debug updates.
6025
6026 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6027
6028         * docs/gst/gstreamer-sections.txt:
6029         * gst/gstelementfactory.c:
6030         * gst/gstevent.c:
6031         * gst/gsttaglist.c:
6032           more docs
6033
6034 2005-10-08  Wim Taymans  <wim@fluendo.com>
6035
6036         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6037         (gst_bin_dispose), (bin_bus_handler):
6038         Fix typos, add comments.
6039         Clear EOS list when going to PAUSED from any direction and do it
6040         in a threadsafe way.
6041         Get base time in a threadsafe way too.
6042         Fix confusing debug in the change_state function.
6043         Various other small cleanups.
6044         
6045         * gst/gstelement.c: (gst_element_post_message):
6046         Fix very verbose bus posting code.
6047
6048         * gst/gstpipeline.c: (gst_pipeline_class_init),
6049         (gst_pipeline_set_property), (gst_pipeline_get_property),
6050         (gst_pipeline_change_state):
6051         Small ARG_ -> PROP_ cleanup
6052
6053 2005-10-08  Wim Taymans  <wim@fluendo.com>
6054
6055         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6056         Do a less CPU demanding EOS check because we can.
6057
6058 2005-10-08  Wim Taymans  <wim@fluendo.com>
6059
6060         * libs/gst/dataprotocol/dataprotocol.c:
6061         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6062         (gst_dp_packet_from_event):
6063         * libs/gst/dataprotocol/dataprotocol.h:
6064         * libs/gst/dataprotocol/dp-private.h:
6065         It's about time we bump the version number.
6066         Since event types don't fit in the guint8 anymore describing
6067         the payload type, make payload type 16 bits wide.
6068
6069 2005-10-08  Wim Taymans  <wim@fluendo.com>
6070
6071         * docs/design/part-TODO.txt:
6072         * docs/design/part-clocks.txt:
6073         * docs/design/part-events.txt:
6074         * docs/design/part-gstbin.txt:
6075         * docs/design/part-gstelement.txt:
6076         * docs/design/part-gstpipeline.txt:
6077         * docs/design/part-live-source.txt:
6078         * docs/design/part-messages.txt:
6079         * docs/design/part-overview.txt:
6080         * docs/design/part-states.txt:
6081         Many doc updates.
6082
6083 2005-10-08  Wim Taymans  <wim@fluendo.com>
6084
6085         * gst/gstevent.c:
6086         * gst/gstevent.h:
6087         Fix event quark registration.
6088         Add some space between events so we can insert them in the
6089         right groups.
6090
6091 2005-10-08  Wim Taymans  <wim@fluendo.com>
6092
6093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6094         (gst_base_sink_handle_buffer):
6095         Better log message.
6096
6097         * gst/gstbus.h:
6098         * gst/gstelement.h:
6099         More docs.
6100
6101         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6102         (gst_queue_set_property), (gst_queue_get_property):
6103         * gst/gstqueue.h:
6104         Remove old unused properties.
6105
6106 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6107         * docs/gst/gstreamer-sections.txt:
6108         * gst/gstmessage.c:
6109         * gst/gstmessage.h:
6110         * gst/gstminiobject.c:
6111         * gst/gstminiobject.h:
6112         * gst/gstobject.h:
6113         * gst/gstpad.h:
6114         * gst/gstutils.h:
6115           lots of new docs and doc fixes
6116
6117 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6118
6119         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6120         * gst/gstplugin.h:
6121         * gst/gstregistry.c: (gst_registry_lookup_locked),
6122         (gst_registry_scan_path_level):
6123         * gst/gstregistryxml.c: (load_plugin):
6124           Only ever load one plugin for a given plugin basename.
6125           This ensures correct overriding of GST_PLUGIN_PATH over
6126           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6127           system installed plugins.
6128
6129 2005-10-08  Wim Taymans  <wim@fluendo.com>
6130
6131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6132         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6133         Prepare for doing QOS.
6134
6135 2005-10-08  Wim Taymans  <wim@fluendo.com>
6136
6137         * check/gst/gstbin.c: (GST_START_TEST):
6138         * check/pipelines/cleanup.c: (GST_START_TEST):
6139         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6140         Allow new clock message too.
6141
6142 2005-10-08  Wim Taymans  <wim@fluendo.com>
6143
6144         * gst/gstmessage.c: (gst_message_new_error),
6145         (gst_message_new_warning), (gst_message_new_tag),
6146         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6147         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6148         (gst_message_new_segment_start), (gst_message_new_segment_done),
6149         (gst_message_parse_state_changed),
6150         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6151         (gst_message_parse_new_clock):
6152         * gst/gstmessage.h:
6153         Also carry the clock in question.
6154
6155 2005-10-08  Wim Taymans  <wim@fluendo.com>
6156
6157         * gst/gstmessage.c: (gst_message_new_custom),
6158         (gst_message_new_eos), (gst_message_new_error),
6159         (gst_message_new_warning), (gst_message_new_tag),
6160         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6161         (gst_message_new_new_clock), (gst_message_new_segment_start),
6162         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6163         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6164         * gst/gstmessage.h:
6165         Clean up.
6166         Added clock related messages.
6167
6168         * gst/gstpipeline.c: (gst_pipeline_change_state):
6169         Post message when the clock changed.
6170
6171         * tools/gst-launch.c: (event_loop):
6172         Print new clock.
6173
6174 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6175
6176         * tools/gst-inspect.c: (print_element_properties_info):
6177           Can't pass NULL strings to g_print() on windows.
6178
6179 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * docs/Makefile.am:
6182         * docs/gst/Makefile.am:
6183         * docs/gst/gstreamer-docs.sgml:
6184         * docs/gst/running.xml:
6185         * docs/version.entities.in:
6186           add a chapter on running GStreamer.
6187           document GST_DEBUG and GST_PLUGIN* env vars
6188
6189 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6190
6191         * Makefile.am:
6192           remove include dir
6193         * configure.ac:
6194           remove PLUGINS_BUILDDIR stuff
6195         * gst/gst.c: (init_post):
6196           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6197         * idiottest.mak:
6198           remove, it was condescending and not needed
6199
6200 2005-10-08  Wim Taymans  <wim@fluendo.com>
6201
6202         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6203         (gst_base_sink_handle_object), (gst_base_sink_event),
6204         (gst_base_sink_wait), (gst_base_sink_handle_event),
6205         (gst_base_sink_change_state):
6206         * gst/base/gstbasesink.h:
6207         Repost EOS message while going to PLAYING if still EOS.
6208         Make sure that when receiving a FLUSH_START we don't attempt
6209         to sync on the clock anymore.
6210
6211 2005-10-08  Wim Taymans  <wim@fluendo.com>
6212
6213         * tools/gst-launch.c: (event_loop):
6214         Better message printout.
6215
6216 2005-10-08  Wim Taymans  <wim@fluendo.com>
6217
6218         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6219         (gst_bin_child_proxy_get_children_count):
6220         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6221         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6222         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6223         (gst_child_proxy_set_valist):
6224         * gst/parse/grammar.y:
6225         Make ChildProxy threadsafe and fix mem leaks.
6226
6227 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * gst/gst.c: (init_post):
6230           debug the GST_PLUGIN_ env vars
6231
6232 2005-10-08  Wim Taymans  <wim@fluendo.com>
6233
6234         * check/gst/gstbin.c: (GST_START_TEST):
6235         * check/gst/gstmessage.c: (GST_START_TEST):
6236         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6237         * gst/gstelement.c: (gst_element_commit_state),
6238         (gst_element_lost_state):
6239         * gst/gstmessage.c: (gst_message_new_state_changed),
6240         (gst_message_parse_state_changed):
6241         * gst/gstmessage.h:
6242         * tools/gst-launch.c: (event_loop):
6243         Added extra field to STATE_CHANGE message with the pending
6244         state, which will be different from the new state soon.
6245
6246 2005-10-08  Wim Taymans  <wim@fluendo.com>
6247
6248         * gst/gstbus.c: (gst_bus_pop):
6249         * gst/gstclock.c:
6250         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6251         Small cleanups and doc updates.
6252
6253 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6254
6255         * gst/gst.c: (init_pre):
6256         * gst/gstbin.c: (gst_bin_add_func):
6257           log distributing clocks and base time
6258         * gst/gstregistry.c: (gst_registry_add_plugin),
6259         (gst_registry_scan_path_level), (gst_registry_scan_path):
6260           clean up the debugging output a little
6261         * gst/gstutils.c: (gst_element_state_get_name):
6262           warn about a memleak (I've actually seen this be used, though
6263           it was probably a bug)
6264
6265 2005-10-07  Wim Taymans  <wim@fluendo.com>
6266
6267         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6268         (gst_base_src_init), (gst_base_src_default_newsegment),
6269         (gst_base_src_newsegment), (gst_base_src_do_seek),
6270         (gst_base_src_loop), (gst_base_src_start):
6271         * gst/base/gstbasesrc.h:
6272         Make the newsegment event customizable by subclasses.
6273
6274 2005-10-07  Wim Taymans  <wim@fluendo.com>
6275
6276         * gst/gstevent.c: (gst_event_new_buffersize),
6277         (gst_event_parse_buffersize):
6278         * gst/gstevent.h:
6279         New event for future idea.
6280
6281 2005-10-07  Andy Wingo  <wingo@pobox.com>
6282
6283         * gst/gstelement.c (gst_element_post_message): Doc update.
6284
6285         * docs/gst/gstreamer-sections.txt: Update.
6286
6287         * gst/gstmessage.c (gst_message_new_application): Made into a
6288         function like honest API calls.
6289         (gst_message_new_element): New message type.
6290
6291         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6292
6293         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6294         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6295         times.
6296
6297         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6298         NO_PREROLL from gst_element_change_state to fall through.
6299
6300 2005-10-07  Wim Taymans  <wim@fluendo.com>
6301
6302         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6303         (gst_ghost_pad_do_activate_push):
6304         Activating a ghostpad with no internal pad in push mode
6305         is ok.
6306
6307 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6308
6309         * gst/gstobject.h:
6310           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6311           Fixes compilation on Windows.
6312
6313 2005-10-07  Michael Smith <msmith@fluendo.com>
6314
6315         * tools/gst-inspect.c:
6316           Print out feature and plugin count at the end when printing out
6317           all features.
6318
6319 2005-10-04  Michael Smith <msmith@fluendo.com>
6320
6321         * gst/gsterror.c: (_gst_stream_errors_init):
6322           Add another error string used in a few existing plugins.
6323
6324         * gst/gstplugin.c:
6325         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6326         * tools/gst-inspect.c: (print_element_info):
6327           When a feature disappears from a plugin (and the feature exists in
6328           the cached registry file), things went horribly wrong. This isn't a
6329           complete fix, we should actually be removing the 'missing' features
6330           from the features list when we load the actual plugin. That's not
6331           yet implemented. 
6332
6333 2005-10-04  Johan Dahlin  <johan@gnome.org>
6334
6335         * check/gst/gstiterator.c: (GST_START_TEST):
6336         * gst/gstbin.c: (gst_bin_iterate_elements),
6337         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6338         * gst/gstelement.c: (gst_element_iterate_pads):
6339         * gst/gstformat.c: (gst_format_iterate_definitions):
6340         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6341         (gst_iterator_new_list), (gst_iterator_filter):
6342         * gst/gstiterator.h:
6343         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6344         Add a GType to GstIterator, update callsites and tests.
6345
6346 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6347
6348         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6349           give events a chance to be handled by event probes when the pad
6350           is not linked
6351
6352 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6353
6354         * gst/gstevent.c: (gst_event_type_get_name),
6355         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6356         * gst/gstevent.h:
6357           add string representations for event types
6358
6359 2005-10-06  Wim Taymans  <wim@fluendo.com>
6360
6361         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6362         Don't use NULL pointers.
6363
6364 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6365
6366         * gst/gst_private.h:
6367         * gst/gstbus.c:
6368         * gst/gstelement.c:
6369         * gst/gstinfo.c:
6370         * gst/gstpluginfeature.c:
6371           widen the debug category in output to fit the biggest one we have
6372           add a bus category and use it
6373           play with the colors
6374           fix up some categories
6375
6376 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6377
6378         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6379           add push activation of sink ghost pads.
6380           Andye, please verify
6381
6382 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * gst/gstutils.c: (gst_element_link_pads):
6385           fix a bug in the case where neither element has a pad
6386         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6387           add a test for that case
6388
6389 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6390
6391         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6392           emit have-data before checking for peers.  This allows
6393           for probe handlers to connect elements.  This helps autopluggers.
6394         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6395         (gst_pad_suite):
6396           add six checks, linked/unlinked with no/true/false probe
6397
6398 2005-10-04  Wim Taymans  <wim@fluendo.com>
6399
6400         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6401         (gst_fake_sink_event), (gst_fake_sink_preroll),
6402         (gst_fake_sink_render), (gst_fake_sink_change_state):
6403         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6404         (gst_fake_src_get_property), (gst_fake_src_create),
6405         (gst_fake_src_stop):
6406         * gst/elements/gstidentity.c: (gst_identity_stop):
6407         Protect last_message with lock.
6408
6409 2005-10-04  Edward Hervey  <edward@fluendo.com>
6410
6411         * gst/gstformat.h: 
6412         Added precision in the comments for GST_FORMAT_DEFAULT
6413
6414 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6415
6416         * tools/gst-launch.c: (main):
6417           Don't try to run erroneous pipelines.
6418
6419 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6420
6421         * gst/gstbus.c: We don't need this header.
6422
6423 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6424
6425         * configure.ac:
6426           back to development
6427
6428 === release 0.9.3 ===
6429
6430 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * README:
6433         * configure.ac:
6434           Releasing 0.9.3, "Unregistered"
6435
6436 2005-10-03  Andy Wingo  <wingo@pobox.com>
6437
6438         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6439         whereby calling a pad's activatepush() function can start a thread
6440         that starts to push or pull before the pad gets the FLUSHING flag
6441         unset. Hack around it by holding the stream lock until the flag is
6442         set. Need to replace this with a proper solution. Together with
6443         the ghost pad fixes, this fixes mp3 playing/tagreading.
6444
6445         * docs/design/part-gstghostpad.txt: Add a note about activation of
6446         proxy pads outside of ghost pads.
6447
6448         * gst/gstghostpad.c: Implement the ghost pad activation design.
6449
6450 2005-10-02  Andy Wingo  <wingo@pobox.com>
6451
6452         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6453         It is volatile, after all.
6454
6455         * docs/design/part-gstghostpad.txt: Flesh out activation with
6456         ghost pads.
6457
6458         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6459         GST_DEBUG_FUNCPTR.
6460
6461 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6462
6463         * configure.ac:
6464           Fix (unused) AM_CONDITIONAL tests.
6465
6466 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6467
6468         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6469
6470         * gst/gstutils.c: (gst_pad_query_convert):
6471           Add assertion that makes sure src_val is >=0, just like
6472           gst_query_new_convert() has. (#315895)
6473
6474 2005-09-30  Edward Hervey  <edward@fluendo.com>
6475
6476         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6477         Let's not iterate pads we're not interested in, it avoids getting 
6478         sky-high refcounts on sinkpad.
6479
6480 2005-09-30  Wim Taymans  <wim@fluendo.com>
6481
6482         * gst/gstelement.c: (gst_element_set_state),
6483         (gst_element_change_state):
6484         Small tweak, element in ASYNC remains ASYNC.
6485
6486 2005-09-30  Wim Taymans  <wim@fluendo.com>
6487
6488         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6489         Only error is an error.
6490
6491         * gst/gstbin.c: (gst_bin_change_state):
6492         Better debugging.
6493
6494         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6495         Also call pad_block in pad alloc.
6496
6497         * gst/gstutils.c: (gst_flow_get_name):
6498         Better debugging.
6499
6500 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6501
6502         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6503         (gst_base_src_get_range):
6504           Fix documentation typos. Add some more debug info.
6505
6506 2005-09-29  David Schleef  <ds@schleef.org>
6507
6508         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6509           more end-user friendly.
6510         * tools/gst-inspect.c: (main): Check if command-line argument is
6511           a file and attempt to load that file as a plugin.
6512
6513 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6514
6515         * check/gst/gstbin.c:
6516         * check/states/sinks.c:
6517           fix tests for the new warning
6518         * check/gst/gstpipeline.c:
6519           add a test for pipeline and bus interaction
6520         * gst/gstelement.c:
6521           elements should be NULL if they get disposed; add a warning if not
6522
6523 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6524
6525         * gst/gstobject.c:
6526           for 2.6 refcounting, make debug log more correct by printing
6527           the actual refcounts at the time of swap (Wim)
6528
6529 2005-09-29  Andy Wingo  <wingo@pobox.com>
6530
6531         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6532         removes signal watches previously added via
6533         gst_bus_add_signal_watch.
6534         (gst_bus_add_signal_watch): Don't return the source id, just store
6535         it on the bus if there wasn't an id already.
6536
6537         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6538         add_signal_watch and remove_signal_watch.
6539
6540 2005-09-29  Edward Hervey  <edward@fluendo.com>
6541
6542         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6543         Better if we actually iterate the list :)
6544
6545 2005-09-29  Wim Taymans  <wim@fluendo.com>
6546
6547         * check/gst/gstbin.c: (GST_START_TEST):
6548         Change for new bus API.
6549
6550         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6551         (send_messages), (GST_START_TEST), (gstbus_suite):
6552         Change for new bus signal API.
6553
6554         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6555         (gst_bus_source_prepare), (gst_bus_source_check),
6556         (gst_bus_create_watch), (gst_bus_add_watch_full),
6557         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6558         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6559         * gst/gstbus.h:
6560         Remove support for multiple GSources operating on different
6561         message types as it is too complex and unneeded when using
6562         signals.
6563         Added support for receiving signals from the bus.
6564
6565 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6566
6567         * docs/libs/tmpl/gstdataprotocol.sgml:
6568         * docs/manual/advanced-dataaccess.xml:
6569         * gst/elements/gstcapsfilter.c:
6570         * gst/gstutils.c:
6571           rename filter-caps to caps property
6572
6573 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6574
6575         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6576           More robust fraction string parsing.
6577
6578         * docs/pwg/appendix-porting.xml:
6579           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6580
6581 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6582
6583         * gst/gstcaps.c: (gst_caps_do_simplify):
6584           Thou shalt not free a structure and then continue using it
6585           in the next loop iteration.
6586
6587         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6588         (gst_caps_suite):
6589           Add test case for caps simplification.
6590
6591 2005-09-29  Wim Taymans  <wim@fluendo.com>
6592
6593         * check/gst/gstbin.c: (GST_START_TEST):
6594         Oops.
6595
6596 2005-09-29  Wim Taymans  <wim@fluendo.com>
6597
6598         * check/gst/gstbin.c: (GST_START_TEST):
6599         Add bus to bin.
6600
6601         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6602         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6603         (find_element), (gst_bin_sort_iterator_next),
6604         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6605         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6606         (gst_bin_change_state), (gst_bin_dispose):
6607         A bin does not have a bus, it gets the bus from the parent.
6608
6609         * gst/gstelement.c: (gst_element_requires_clock),
6610         (gst_element_provides_clock), (gst_element_is_indexable),
6611         (gst_element_is_locked_state), (gst_element_change_state),
6612         (gst_element_set_bus_func):
6613         Small cleanups.
6614
6615         * gst/gstpipeline.c: (gst_pipeline_class_init),
6616         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6617         The pipeline provides a bus.
6618
6619 2005-09-28  Johan Dahlin  <johan@gnome.org>
6620
6621         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6622         gst_structure_get_enum instead of gst_structure_get_int
6623
6624         * gst/gststructure.c (gst_structure_get_enum): Impl.
6625
6626         * gst/gststructure.h (gst_structure_get_enum): Add
6627
6628         * docs/gst/gstreamer-sections.txt: Ditto
6629
6630         * gst/gstmessage.c (gst_message_new_state_changed): Use
6631         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6632         which does introspection.
6633         Reviewed by Christian Schaller
6634
6635 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6636
6637         * gst/gstinfo.c: (gst_debug_log_default):
6638           don't do dummy g_strdup()s
6639         * libs/gst/controller/gstcontroller.c:
6640         (on_object_controlled_property_changed),
6641         (gst_controlled_property_new), (gst_controller_new_valist),
6642         (gst_controller_new_list),
6643         (gst_controller_remove_properties_valist), (gst_controller_set),
6644         (gst_controller_get), (gst_controller_sync_values),
6645         (gst_controller_get_value_array), (_gst_controller_class_init),
6646         (gst_controller_get_type):
6647         * libs/gst/controller/gstcontroller.h:
6648         * libs/gst/controller/gstinterpolation.c:
6649         (gst_controlled_property_find_timed_value_node):
6650           convert // to /**/ comments
6651
6652 2005-09-28  Wim Taymans  <wim@fluendo.com>
6653
6654         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6655         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6656         (gst_bus_sync_signal_handler):
6657         * gst/gstbus.h:
6658         Added async-message and sync-message signals to the bus.
6659         Added helper BusFunc to emit signals for all posted messages.
6660
6661         * gst/gstmessage.c: (gst_message_type_get_name),
6662         (gst_message_type_to_quark), (gst_message_get_type):
6663         * gst/gstmessage.h:
6664         Register quarks for message names.
6665
6666 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6667
6668         * docs/libs/gstreamer-libs-sections.txt:
6669         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6670         (gst_controller_new_list):
6671         * libs/gst/controller/gstcontroller.h:
6672           added another constructor for language bindings
6673
6674 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6677           add another check
6678         * gst/gstbus.c:
6679           add some doc
6680         * gst/gstinfo.c: (_gst_debug_init):
6681           slightly more readable color for refcount debugging
6682
6683 2005-09-28  Wim Taymans  <wim@fluendo.com>
6684
6685         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6686         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6687         (find_element), (gst_bin_sort_iterator_next),
6688         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6689         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6690         (gst_bin_change_state), (gst_bin_dispose):
6691         Small doc fixes. get_clock -> provide_clock.
6692
6693         * gst/gstelement.c: (gst_element_class_init),
6694         (gst_element_provides_clock), (gst_element_provide_clock),
6695         (gst_element_get_clock), (gst_element_commit_state),
6696         (gst_element_lost_state):
6697         * gst/gstelement.h:
6698         Make get/set_clock() symetric. Add provide_clock vmethod since
6699         that is actually what this function does.
6700
6701         * gst/gstpipeline.c: (gst_pipeline_class_init),
6702         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6703         (gst_pipeline_get_clock):
6704         get_clock -> provide_clock.
6705
6706 2005-09-28  Andy Wingo  <wingo@pobox.com>
6707
6708         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6709         lieu of real docs...
6710
6711         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6712
6713 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * gst/elements/gstcapsfilter.c:
6716         * gst/elements/gstfakesink.c:
6717         * gst/elements/gstfakesrc.c:
6718         * gst/elements/gstfdsink.c:
6719         * gst/elements/gstfdsrc.c:
6720         * gst/elements/gstfilesink.c:
6721         * gst/elements/gstfilesrc.c:
6722         * gst/elements/gstidentity.c:
6723         * gst/elements/gsttee.c:
6724         * gst/elements/gsttypefindelement.c:
6725           Make element details static.
6726
6727 2005-09-28  Wim Taymans  <wim@fluendo.com>
6728
6729         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6730         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6731         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6732         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6733         (gst_bin_change_state), (gst_bin_dispose):
6734         Some documentation updates.
6735         Clean up dispose handlers.
6736
6737         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6738         * gst/gstpad.c: (gst_pad_dispose):
6739         Clean up dispose handler.
6740
6741         * gst/gstpipeline.c: (gst_pipeline_change_state):
6742         Removed spurious UNLOCK.
6743
6744 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6745
6746         * docs/gst/gstreamer-sections.txt:
6747         * gst/base/gstbasesrc.h:
6748         * gst/gstelement.h:
6749         * gst/gstevent.h:
6750         * gst/gstobject.h:
6751         * gst/gstpad.h:
6752         * gst/gstpipeline.c:
6753         * gst/gstpipeline.h:
6754         * gst/gstutils.h:
6755         * gst/gstxml.h:
6756           added two new functions to the docs
6757                 documents all undocumented GstXXXFlags
6758                 completed some incomplete docs 
6759
6760 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * gst/gstbin.c: (gst_bin_dispose):
6763         * gst/gstelement.c: (gst_element_dispose):
6764           remove now useless and leaky resurrection code in dispose
6765         * gst/base/gstbasesrc.c: (gst_base_src_init):
6766         * gst/gstelementfactory.c: (gst_element_factory_create):
6767         * gst/gstobject.c: (gst_object_set_parent):
6768           add some debugging
6769
6770 2005-09-27  Wim Taymans  <wim@fluendo.com>
6771
6772         * docs/design/part-TODO.txt:
6773         Update TODO.
6774
6775         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6776         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6777         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6778         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6779         (gst_bin_change_state):
6780         * gst/gstelement.h:
6781         Remove element variable, we keep element info in the iterator now.
6782
6783 2005-09-27  Andy Wingo  <wingo@pobox.com>
6784
6785         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6786         values.
6787
6788 2005-09-27  Wim Taymans  <wim@fluendo.com>
6789
6790         * check/gst/gstbin.c: (GST_START_TEST):
6791         Enable check that works now.
6792
6793         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6794         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6795         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6796         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6797         (gst_bin_change_state):
6798         * gst/gstbin.h:
6799         Redid the state change algorithm using a topological sort algo.
6800         Handles all cases correctly.
6801         Exposed iterator for state change order.
6802
6803         * gst/gstelement.h:
6804         Temp storage for state changes. Need to get rid of this soon.
6805
6806 2005-09-27  Wim Taymans  <wim@fluendo.com>
6807
6808         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6809         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6810         (link_fold_func), (gst_pad_proxy_setcaps):
6811         Leak fixes, the fold functions need to unref the passed object and
6812         _get_parent_*() returns ref to parent.
6813
6814 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6815
6816         * check/gst/gstbuffer.c: (test_make_writable):
6817           Plug leak in test case and fix 'make check-valgrind'
6818
6819 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6820
6821         * gst/gstbuffer.c: (gst_subbuffer_init):
6822           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6823           works correctly in all circumstances (we could have just copied
6824           the parent buffer's readonly flag, but conceptually it seems
6825           cleaner to mark all subbuffers as read-only). (based on patch
6826           by Alessandro Decina, #314710).
6827         
6828         * check/gst/gstbuffer.c: (create_read_only_buffer),
6829         (test_make_writable), (test_subbuffer_make_writable),
6830         (gst_test_suite):
6831           Add some tests for gst_buffer_make_writable().
6832
6833 2005-09-27  Wim Taymans  <wim@fluendo.com>
6834
6835         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6836         use gst_object_has_ancestor().
6837
6838         * gst/gstobject.c: (gst_object_has_ancestor):
6839         * gst/gstobject.h:
6840         gst_object_has_ancestor() copied from gstbin.c as it is a
6841         usefull function.
6842
6843         * tests/instantiate/create.c: (create_all_elements):
6844         * tests/lat.c: (handoff_src), (handoff_sink):
6845         * tests/sched/runxml.c: (main):
6846         * tests/seeking/seeking1.c: (main):
6847         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6848         (main):
6849         Fix compilation of some tests.
6850
6851 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6852
6853         * gst/gsterror.h:
6854           Remove comment. GST_TYPE_G_ERROR is here to stay,
6855           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6856           (#316961, #300610).
6857
6858 2005-09-26  Wim Taymans  <wim@fluendo.com>
6859
6860         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6861         Added check that shows error in state change order.
6862
6863 2005-09-26  Wim Taymans  <wim@fluendo.com>
6864
6865         * gst/gstbin.c: (gst_bin_change_state):
6866         Make state change function use 3 queues again, we were
6867         adding elements in the wrong order.
6868
6869         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6870         Some debug info,
6871
6872         * gst/gstpad.c: (gst_pad_dispose):
6873         Added some debug info first.
6874
6875 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6876
6877         * docs/design/draft-push-pull.txt:
6878         * docs/design/part-events.txt:
6879         * docs/design/part-overview.txt:
6880         * docs/design/part-scheduling.txt:
6881           Replace all _pull_region() with _pull_range()
6882           
6883 2005-09-26  Andy Wingo  <wingo@pobox.com>
6884
6885         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6886
6887         * check/gst-libs/controller.c: Update for controller api change.
6888
6889         * configure.ac: 
6890         * tests/Makefile.am:
6891         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6892         over by GLib bug 118439.
6893         
6894         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6895         routines to a function.
6896
6897         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6898
6899         * libs/gst/controller/gsthelper.c:
6900         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6901         (gst_object_sync_values): Renamed from sink_values. Ugh.
6902
6903         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6904
6905         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6906         Renamed from controller_key, as it is exported.
6907
6908         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6909
6910 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * gst/Makefile.am:
6913         * gst/gst.h:
6914         * gst/gstpad.h:
6915         * gst/gstpadtemplate.h:
6916         * gst/gstquery.c:
6917         * gst/gstquery.h:
6918         * gst/gstqueryutils.c:
6919         * gst/gstqueryutils.h:
6920           remove queryutils headers after moving the two used functions
6921           to gstquery.  also fixes build problem for gstsiddec
6922
6923 2005-09-26  Michael Smith <msmith@fluendo.com>
6924
6925         * tools/gst-launch.1.in:
6926         Correct documentation in manpage of debug syntax
6927
6928 2005-09-26  Wim Taymans  <wim@fluendo.com>
6929
6930         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6931         (gst_base_src_is_seekable), (gst_base_src_change_state):
6932         Some more debugging info.
6933
6934 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6935
6936         * docs/gst/gstreamer-sections.txt:
6937         * gst/base/gstbasetransform.h:
6938         * gst/gstindex.h:
6939           added more docs
6940
6941 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6942
6943         * docs/gst/.cvsignore:
6944         * docs/gst/tmpl/.cvsignore:
6945         * docs/gst/tmpl/gstpipeline.sgml:
6946         * docs/gst/tmpl/gstplugin.sgml:
6947         * gst/gstpipeline.c:
6948         * gst/gstplugin.c:
6949         * gst/gstplugin.h:
6950           inlined the last two docs files
6951           removed the tmpl directory from cvs (no more conflicts here!)
6952
6953 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6954
6955         * docs/gst/gstreamer-sections.txt:
6956         * docs/gst/tmpl/.cvsignore:
6957         * docs/gst/tmpl/gstpad.sgml:
6958         * docs/gst/tmpl/gstpadtemplate.sgml:
6959         * gst/Makefile.am:
6960         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6961         (gst_pad_finalize), (gst_pad_set_pad_template):
6962         * gst/gstpad.h:
6963         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6964         (gst_pad_template_class_init), (gst_pad_template_init),
6965         (gst_pad_template_dispose), (name_is_valid),
6966         (gst_static_pad_template_get), (gst_pad_template_new),
6967         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6968         (gst_pad_template_pad_created):
6969         * gst/gstpadtemplate.h:
6970           inlined two more docs
6971           factored gstpadtemplate out of gstpad
6972
6973 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6974
6975         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6976         (test_children_state_change_order_semi_sink):
6977           Fix test case: we can't rely on a fixed state change order when
6978           going from READY => PAUSED because the sink might commit its 
6979           new state first when the first buffer created by the source 
6980           reaches the sink before the source has finished its change state.
6981           (Test case still fails at times, see #316856, comment 5 onwards)
6982
6983 2005-09-24  Wim Taymans  <wim@fluendo.com>
6984
6985         * docs/design/part-events.txt:
6986         * docs/design/part-gstbus.txt:
6987         * docs/design/part-gstpipeline.txt:
6988         * docs/design/part-messages.txt:
6989         * docs/design/part-overview.txt:
6990         * docs/design/part-segments.txt:
6991         * gst/gstbin.c:
6992         * gst/gstbuffer.c:
6993         * gst/gstclock.c:
6994         * gst/gstelement.c:
6995         * gst/gstevent.c:
6996         * gst/gstfilter.c:
6997         * gst/gstiterator.c:
6998         Various documentation updates.
6999
7000 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7001
7002         * gst/gstclock.h:
7003           Well, that's embarassing.  Luckily we weren't using
7004           GST_CLOCK_DIFF anywhere.
7005
7006 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         * common/gtk-doc.mak:
7009           don't fail on building XML, FC4 slave shows a bunch of doc
7010           missing bits that I don't get
7011         * gst/gstpad.c:
7012         * gst/gstpipeline.c:
7013         * gst/gststructure.c:
7014           some doc updates
7015
7016 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7017
7018         * docs/design/part-gstbin.txt:
7019         * docs/design/part-gstbus.txt:
7020         * gst/gstbus.c:
7021           Add blurb about how the bus goes into flushing mode and
7022           drops all messages when its bin goes from READY into NULL 
7023           state.
7024
7025 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7026
7027         * docs/gst/gstreamer-sections.txt:
7028         * gst/gststructure.c: (gst_structure_get_clock_time):
7029         * gst/gststructure.h:
7030           add a method to get a GstClockTime out of a structure
7031
7032 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7033
7034         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7035         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7036           Added test to check state change order in bins (can still be made
7037           to fail here under heavy disk load; bails out with 'Push on pad
7038           fakesink:sink0, but it was not activated in push mode').
7039
7040         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7041           Fix state change order when there is only a semi sink (#316856)
7042
7043         * gst/gstbus.c: (gst_bus_class_init):
7044           Use _class_peek_parent(), not _class_ref(); fix docs to say
7045           'default main context' instead of 'mainloop' where that is
7046           what's meant.
7047
7048         * gst/gstelement.c: (gst_element_commit_state),
7049         (gst_element_set_state):
7050           Fix typos in debug messages
7051
7052 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7053
7054         * docs/README:
7055         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7056         * gst/gstpluginfeature.c:
7057         * gst/gstutils.c:
7058           various doc updates
7059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7060           change an assert into an error until it gets fixed properly
7061
7062 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7063
7064         * docs/gst/gstreamer-sections.txt:
7065         * docs/gst/tmpl/.cvsignore:
7066         * docs/gst/tmpl/gstelement.sgml:
7067         * docs/gst/tmpl/gstinfo.sgml:
7068         * docs/gst/tmpl/gstobject.sgml:
7069         * gst/gstelement.c:
7070         * gst/gstelement.h:
7071         * gst/gstinfo.c:
7072         * gst/gstinfo.h:
7073         * gst/gstobject.c: (gst_object_class_init):
7074         * gst/gstobject.h:
7075           inlined 3 more biiiig doc files and added some missing docs on the fly
7076
7077 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7078
7079         * check/gst/.cvsignore:
7080         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7081         * gst/gstregistryxml.c: (load_plugin),
7082         (gst_registry_xml_save_plugin):
7083           put back source in registry.  add checks for find_plugin.
7084         * testsuite/states/bin.c: (assert_state), (empty_bin),
7085         (test_adding_one_element), (main):
7086         * testsuite/states/locked.c: (main):
7087           some compile/run fixes
7088
7089 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7090
7091         * check/gst/gstvalue.c: (GST_START_TEST):
7092           fix leaks in the test itself
7093
7094 2005-09-22  Wim Taymans  <wim@fluendo.com>
7095
7096         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7097         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7098         (gst_base_sink_query):
7099         Prepare for more accurate position reporting and query
7100         handling.
7101
7102         * gst/gstelement.c: (gst_element_send_event),
7103         (gst_element_set_state):
7104         Add some comment.
7105
7106 2005-09-22  Wim Taymans  <wim@fluendo.com>
7107
7108         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7109         (gst_query_parse_segment):
7110         * gst/gstquery.h:
7111         More documentation.
7112         Add segment query for future use.
7113
7114 2005-09-22  Wim Taymans  <wim@fluendo.com>
7115
7116         * gst/gstbin.c: (gst_bin_add_func):
7117         Some more debug info.
7118
7119         * gst/gstelement.c: (gst_element_send_event):
7120         Simplify send_event
7121
7122         * gst/gstelement.h:
7123         Don't know how flags got broken.
7124
7125         * gst/gstquery.h:
7126         Added new query.
7127
7128 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7129
7130         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7131           Add simplistic test suite for GST_TYPE_DATE serialisation and
7132           deserialisation.
7133
7134 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7135
7136         * docs/gst/gstreamer-sections.txt:
7137         * gst/gststructure.c: (gst_structure_set_valist),
7138         (gst_structure_get_date):
7139         * gst/gststructure.h:
7140         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7141         (gst_date_copy), (gst_value_compare_date),
7142         (gst_value_serialize_date), (gst_value_deserialize_date),
7143         (gst_value_transform_date_string),
7144         (gst_value_transform_string_date), (_gst_value_initialize):
7145         * gst/gstvalue.h:
7146           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7147           bunch of utility functions along with a hack that checks that
7148           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7149           is required. Part of the grand scheme in #170777.
7150
7151 2005-09-22  Andy Wingo  <wingo@pobox.com>
7152
7153         * gst/gstconfig.h.in: Psych out gtk-doc.
7154
7155         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7156
7157         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7158
7159         * tools/gst-inspect.c (print_element_list): Plug some
7160         inconsequential leaks.
7161
7162         * gst/gstregistry.c (gst_registry_get_default): Doc.
7163
7164         * check/gst/gstplugin.c: 
7165         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7166         * gst/gstelementfactory.c (gst_element_factory_create): 
7167         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7168         refcount changes.
7169
7170         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7171         (gst_plugin_feature_load): Doc, don't eat refs.
7172
7173         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7174         (gst_plugin_list_free): Doc.
7175         (gst_plugin_load_file): Doc updates.
7176
7177         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7178         accessors returning refcounted objects, return a ref.
7179
7180         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7181         accessor for caps. IDEMPOTENCE. Oh yes.
7182
7183 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7184
7185         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7186
7187         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7188         (_gst_debug_register_funcptr):
7189           Add mutex to serialise access to the hash table with
7190           the function pointer => function name string mapping;
7191           make that hash table static scope (#316809).
7192
7193         * gst/registries/.cvsignore:
7194           Remove left-over file.
7195
7196 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7197
7198         * docs/pwg/appendix-porting.xml:
7199           And something about newsegment events and caps-on-buffers to
7200           the porting guide (feel free to improve).
7201
7202 2005-09-21  Andy Wingo  <wingo@pobox.com>
7203
7204         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7205         data and event probes on the same pad.
7206         (test_buffer_probe_once): Test that removing probes from within
7207         the probe functions works.
7208
7209 2005-09-21  Andy Wingo  <wingo@pobox.com>
7210
7211         * check/gst/gstutils.c: New file.
7212         (test_buffer_probe_n_times): A simple buffer probe test. More to
7213         come, foolios.
7214
7215         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7216         have-data::buffer, not have-data.
7217         (gst_pad_add_event_probe): Likewise for have-data::event.
7218         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7219         peer' isn't quite right yet though.
7220         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7221         (gst_pad_remove_data_probe): Change to take the guint handler_id
7222         as their arg, not the function+data, which is more glib-like.
7223
7224         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7225         the signal emission to indicate if the data is a buffer or an
7226         event.
7227         (gst_pad_get_type): Initialize buffer and event quarks.
7228         (gst_pad_class_init): have-data is now a detailed signal, yes it
7229         is.
7230
7231 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7232
7233         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7234         * gst/gstutils.c: (gst_util_set_value_from_string),
7235         (gst_util_set_object_arg):
7236           Don't put functional code in g_return_if_fail() or
7237           g_return_val_if_fail() statements, otherwise things will 
7238           break when G_DISABLE_CHECKS is defined during compilation.
7239
7240 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7241
7242         * docs/gst/tmpl/.cvsignore:
7243         * docs/gst/tmpl/gstvalue.sgml:
7244         * gst/gstvalue.c:
7245         * gst/gstvalue.h:
7246           inlied another one and added  some obvious docs
7247
7248 2005-09-21  Wim Taymans  <wim@fluendo.com>
7249
7250         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7251         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7252         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7253         (gst_fdsrc_get_property), (gst_fdsrc_create):
7254         * gst/elements/gstfdsrc.h:
7255         Properly implement fdsrc. Removed signal and timeout,
7256         better implemented somewhere else.
7257
7258 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7259
7260         * docs/gst/tmpl/.cvsignore:
7261         * docs/gst/tmpl/gstimplementsinterface.sgml:
7262         * gst/gstinterface.c:
7263           inlined more docs
7264
7265 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7266
7267         * docs/gst/gstreamer-sections.txt:
7268         * docs/gst/tmpl/.cvsignore:
7269         * docs/gst/tmpl/gstenumtypes.sgml:
7270           remove obsolete doc file
7271
7272 2005-09-21  David Schleef  <ds@schleef.org>
7273
7274         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7275         little beer, fix a little leak.
7276
7277 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7278
7279         * docs/gst/gstreamer-docs.sgml:
7280         * docs/gst/gstreamer-sections.txt:
7281         * docs/gst/tmpl/.cvsignore:
7282         * gst/Makefile.am:
7283         * gst/gst.h:
7284         * gst/gstbin.c:
7285         * gst/gstelement.h:
7286         * gst/gstindex.c: (gst_index_class_init):
7287         * gst/gstindex.h:
7288         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7289         (gst_index_factory_class_init), (gst_index_factory_init),
7290         (gst_index_factory_finalize), (gst_index_factory_new),
7291         (gst_index_factory_destroy), (gst_index_factory_find),
7292         (gst_index_factory_create), (gst_index_factory_make):
7293         * gst/gstindexfactory.h:
7294         * gst/gstpluginfeature.c:
7295         * gst/gstpluginfeature.h:
7296         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7297           more docs inlined, splitted gstindex.{c,h}
7298
7299 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7300
7301         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7302           fix a leak
7303
7304 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7305
7306         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7307           Set sync to FALSE by default.
7308
7309 2005-09-20  Wim Taymans  <wim@fluendo.com>
7310
7311         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7312         (gst_base_sink_init):
7313         Make sync property settable from subclass.
7314
7315         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7316         (gst_fake_sink_change_state):
7317         Set sync to FALSE by default.
7318
7319 2005-09-20  Wim Taymans  <wim@fluendo.com>
7320
7321         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7322         * tools/gst-launch.c: (main):
7323         The timeout handler should have lower priority than the source
7324         so we don't timeout before popping a message with 0 timeout.
7325         Dump error messages after failed state change.
7326
7327 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7328
7329         * tools/gst-inspect.c: (print_element_properties_info):
7330           Fix two typos.
7331
7332 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7333
7334         * check/gst/gstevent.c:
7335         * gst/elements/gstfakesink.c:
7336         * gst/elements/gstfakesink.h:
7337           remove the sync property from fakesink.
7338           has the side effect of setting sync TRUE
7339           for fakesink, which is a change.  Anyone who knows how
7340           to fix this nicely in a GObject-y way, feel free.
7341
7342 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7343
7344         * docs/gst/gstreamer-docs.sgml:
7345           remove probe refsection
7346
7347 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7348
7349         * check/Makefile.am:
7350           disable valgrinding the controller test again
7351         * docs/gst/gstreamer-sections.txt:
7352           update for api-changes
7353
7354 2005-09-20  Wim Taymans  <wim@fluendo.com>
7355
7356         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7357         (gst_base_sink_set_property), (gst_base_sink_get_property),
7358         (gst_base_sink_do_sync):
7359         * gst/base/gstbasesink.h:
7360         Added sync property to basesink to disable clock sync.
7361
7362 2005-09-20  Andy Wingo  <wingo@pobox.com>
7363
7364         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7365         eating the caller's refcount.
7366
7367         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7368         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7369         refcount.
7370
7371         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7372         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7373         of GLib 2.8 public, so we can know which refcount to check in
7374         tests.
7375
7376         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7377         (gst_object_init): Only set the gst refcount if we're going ahead
7378         with the refcount hack.
7379
7380 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7381
7382         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7383         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7384           more leaks plumbed, added more debug-logging
7385         * gst/gstmacros.h:
7386           whitespace fix
7387
7388 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7389
7390         * gst/gstmessage.c:
7391           remove include of gstmemchunk.h
7392
7393 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * gst/gstclock.c: (_gst_clock_id_free):
7396           Commit from the Political Party For More Atomic CVS Commits,
7397           so that people don't waste too much of their day fishing
7398           out obvious leaks out of massive commits.
7399           Oh, and fix a pretty damn obvious leak in the memchunk
7400           removal code.
7401
7402 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7403
7404         * check/Makefile.am:
7405         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7406           plug mem-leak, re-add to valgrindable tests
7407
7408 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7409
7410         * gst/gstplugin.h:
7411           unbreak the build for those who have chronic arthritis
7412           and typing "make check" is just too taxing on the hands
7413
7414 2005-09-20  Andy Wingo  <wingo@pobox.com>
7415
7416         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7417         really want it out, you should fix plugins at the same time.
7418
7419 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7420
7421         * configure.ac:
7422         * docs/gst/gstreamer-sections.txt:
7423         * gst/gstobject.c:
7424           added missing symbols to api docs
7425           disable ref-count hack if we have glib >= 2.8
7426
7427 2005-09-19  David Schleef  <ds@schleef.org>
7428
7429         * docs/gst/Makefile.am: Ignore a few more internal headers
7430         * docs/gst/gstreamer-docs.sgml: Remove old sections
7431         * docs/gst/gstreamer-sections.txt: Remove old sections
7432         * docs/gst/tmpl/gstobject.sgml: update
7433         * docs/gst/tmpl/gstplugin.sgml: update
7434         * docs/gst/tmpl/gstpluginfeature.sgml: update
7435         * docs/random/ds/0.9-suggested-changes: update.
7436         * gst/Makefile.am: remove memchunk and trashstack, since they're
7437           not used.
7438         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7439         * gst/gst.h: don't include some headers
7440         * gst/gstchildproxy.c: add gstmarshal.h
7441         * gst/gstclock.c: Don't use memchunks
7442         * gst/gstminiobject.c: Add some docs
7443         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7444         * gst/gstobject.h: same
7445         * gst/gstplugin.c: include gstmacros.h
7446         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7447         * gst/gstquery.c: don't use memchunks
7448         * gst/gstregistry.c: rename gst_registry_deinit()
7449         * gst/gstregistry.h: same
7450
7451 2005-09-19  David Schleef  <ds@schleef.org>
7452
7453         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7454         * docs/libs/gstreamer-libs-sections.txt:
7455         * docs/libs/tmpl/gstgetbits.sgml:
7456         * docs/libs/tmpl/gstputbits.sgml:
7457
7458 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7459
7460         * win32/gstenumtypes.c:
7461         * win32/gstenumtypes.h:
7462           Update.
7463
7464 2005-09-19  Wim Taymans  <wim@fluendo.com>
7465
7466         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7467         Automatically PAUSE and RESUME a pipeline when a flushing seek
7468         is performed.
7469
7470 2005-09-19  Andy Wingo  <wingo@pobox.com>
7471
7472         * gst/gstregistry.h: Spacing fixen.
7473
7474 2005-09-19  Wim Taymans  <wim@fluendo.com>
7475
7476         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7477         Handle state change failure more correctly.
7478
7479 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7480
7481         * check/Makefile.am:
7482         * check/pipelines/cleanup.c: (run_pipeline):
7483         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7484         (GST_START_TEST):
7485           enable cleanup again after fixing the leak
7486         * docs/README:
7487           some more info on docs
7488
7489 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7490
7491         * check/Makefile.am:
7492           re-enable tests now that leaks are plugged
7493         * check/gst/gst.c:
7494         * check/gst/gstbin.c:
7495         * check/gst/gstpipeline.c:
7496           add some more tests while fixing leaks
7497         * common/check.mak:
7498           make sure binaries are uptodate when valgrinding/gdbing
7499         * gst/gst.c:
7500         * gst/gstelementfactory.c:
7501           remove a ref too many, and add a FIXME for when we get
7502           round to disposing of classes
7503         * gst/gstplugin.c:
7504           fix the refcounting when loading a plugin from a file and
7505           the code pretends that the pointer is the same even though
7506           of course it can change
7507         * gst/gstpluginfeature.c:
7508           unref plugins marked cached (a bit confusing as a name)
7509           as the docs state should be done
7510           various doc additions to explain refcounting
7511         * gst/gstregistry.c:
7512         * gst/gstregistryxml.c:
7513           debugging
7514
7515 2005-09-19  Wim Taymans  <wim@fluendo.com>
7516
7517         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7518         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7519         (send_messages), (GST_START_TEST), (gstbus_suite):
7520         * check/gst/gstpipeline.c: (GST_START_TEST):
7521         * check/pipelines/cleanup.c: (run_pipeline):
7522         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7523         (GST_START_TEST):
7524         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7525         (gst_bus_source_check), (gst_bus_source_dispatch),
7526         (gst_bus_create_watch), (gst_bus_add_watch_full),
7527         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7528         * gst/gstbus.h:
7529         * tools/gst-launch.c: (event_loop):
7530         * tools/gst-md5sum.c: (event_loop):
7531         GstBusHandler -> GstBusFunc, return value has the same meaning as
7532         any other GSource (FALSE == remove source).
7533         _add_watch() and _add_watch_full() now take a MessageType mask to
7534         only handle specific types of messages.
7535         _poll() returns the GstMessage instead of the message type to avoid
7536         race conditions.
7537         _have_pending() takes a MessageType mask now too.
7538         Added testsuite for multiple bus watches.
7539         Fix testsuites and applications for new bus API.
7540
7541 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7542
7543         * check/Makefile.am:
7544           mark a bunch of the tests as to fix until we fix them
7545
7546 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7547
7548         * common/check.mak:
7549           use GST_PLUGIN settings for valgrind tests as well, so we're
7550           valgrinding the correct thing
7551         * gst/gst.c: (init_post):
7552           plug another leak
7553
7554 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7555
7556         * gst/gst.c: (init_post), (gst_deinit):
7557         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7558         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7559         * gst/gstindex.c: (gst_index_factory_class_init),
7560         (gst_index_factory_finalize):
7561         * gst/gstobject.c: (gst_object_dispose):
7562         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7563         (gst_plugin_load_file), (gst_plugin_desc_free):
7564         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7565         (gst_plugin_feature_finalize):
7566         * gst/gstregistry.c: (gst_registry_class_init),
7567         (gst_registry_init), (gst_registry_finalize),
7568         (gst_registry_get_default), (gst_registry_deinit):
7569         * gst/gstregistry.h:
7570         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7571           various cleanups and memleak plugging.  make valgrind is happy now.
7572
7573 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7574
7575         * common/check.mak:
7576           add a check-valgrind target
7577
7578 2005-09-18  David Schleef  <ds@schleef.org>
7579
7580         * tools/gst-inspect.c: Revert the GOption code.
7581
7582 2005-09-17  David Schleef  <ds@schleef.org>
7583
7584         * check/Makefile.am: Fix environment variables.
7585         * check/gst/gstplugin.c: Fix for API changes.
7586         * tools/gst-inspect.c: Fix for API changes.
7587         * tools/gst-xmlinspect.c: Fix for API changes.
7588         * gst/gstelementfactory.c:
7589         * gst/gstplugin.c:
7590         * gst/gstplugin.h:
7591         * gst/gstpluginfeature.c:
7592         * gst/gstpluginfeature.h:
7593         * gst/gstregistry.c:
7594         * gst/gstregistry.h:
7595         * gst/gstregistryxml.c:
7596         * gst/gsttypefind.c:
7597         * gst/gsttypefindfactory.c:
7598         * gst/indexers/gstfileindex.c:
7599         * gst/indexers/gstmemindex.c:
7600         * gst/schedulers/Makefile.am:
7601           Change registry to keep track of both plugins and features,
7602           removing the feature tracking from plugins themselves.
7603
7604 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7605
7606         * check/Makefile.am:
7607         * tools/gst-register.1.in:
7608           remove gst-register
7609
7610 2005-09-15  David Schleef  <ds@schleef.org>
7611
7612         * check/gst/gstplugin.c:
7613         * gst/gstelementfactory.c:
7614         * gst/gstplugin.c:
7615         * gst/gstpluginfeature.c:
7616         * gst/gstregistry.c:
7617           Getting tired of debugging.  Disabled all the unreffing of
7618           plugins and features, which fixes the segfaults, but of
7619           course leaks like crazy.  At least playbin works.
7620
7621 2005-09-15  David Schleef  <ds@schleef.org>
7622
7623         * check/gst/gstplugin.c: (register_check_elements),
7624         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7625         More testing
7626         * gst/elements/gsttypefindelement.c: Fix refcounting.
7627         * gst/gsttypefind.c:
7628         * gst/gsttypefindfactory.c:
7629         * gst/gsttypefindfactory.h:
7630
7631 2005-09-15  David Schleef  <ds@schleef.org>
7632
7633         * gst/gstindex.c: get refcounting correct.
7634         * gst/gstregistry.c: Handle the case where a feature/plugin is
7635           not found.
7636
7637 2005-09-15  David Schleef  <ds@schleef.org>
7638
7639         * check/Makefile.am:
7640         * check/gst/gstplugin.c: Add test
7641         * gst/gstplugin.c: Fix problems noticed by testsuite
7642         * gst/gstplugin.h:
7643         * gst/gstregistry.c: 
7644         * gst/gstregistry.h:
7645
7646 2005-09-15  David Schleef  <ds@schleef.org>
7647
7648         * gst/gstplugin.c: Implement semi-decent recounting and locking
7649           in plugins and plugin features.
7650         * gst/gstplugin.h:
7651         * gst/gstpluginfeature.c:
7652         * gst/gstpluginfeature.h:
7653         * gst/gstregistry.c:
7654
7655 2005-09-15  Michael Smith <msmith@fluendo.com>
7656
7657         * gst/gstregistry.c: (gst_registry_get_feature_list):
7658           Implement this. Makes oggdemux work; decodebin still broken.
7659
7660 2005-09-14  David Schleef  <ds@schleef.org>
7661
7662         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7663           #316076)
7664         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7665         * gst/check/Makefile.am:
7666         * libs/gst/controller/Makefile.am:
7667         * libs/gst/dataprotocol/Makefile.am:
7668
7669 2005-09-14  David Schleef  <ds@schleef.org>
7670
7671         * configure.ac: Remove getbits library.  Nothing uses it, and
7672           it should be in something like liboil if someone did want
7673           to use it.
7674         * libs/gst/Makefile.am:
7675         * libs/gst/getbits/Makefile.am:
7676         * libs/gst/getbits/gbtest.c:
7677         * libs/gst/getbits/getbits.c:
7678         * libs/gst/getbits/getbits.h:
7679         * libs/gst/getbits/gstgetbits_generic.c:
7680         * libs/gst/getbits/gstgetbits_i386.s:
7681         * libs/gst/getbits/gstgetbits_inl.h:
7682
7683 2005-09-14  David Schleef  <ds@schleef.org>
7684
7685         * gst/Makefile.am: Dist glib-compat.h
7686
7687 2005-09-14  David Schleef  <ds@schleef.org>
7688
7689         * configure.ac: Remove gst/registries, since it's no longer used.
7690         * gst/registries/Makefile.am:
7691         * gst/registries/gstlibxmlregistry.c:
7692         * gst/registries/gstlibxmlregistry.h:
7693         * gst/registries/gstxmlregistry.c:
7694         * gst/registries/gstxmlregistry.h:
7695         * gst/registries/registrytest.c:
7696
7697 2005-09-14  David Schleef  <ds@schleef.org>
7698
7699         * gst/glib-compat.h:
7700         * gst/gstregistryxml.c:
7701           Convergence is near.  Seriously.
7702
7703 2005-09-14  David Schleef  <ds@schleef.org>
7704
7705         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7706         * gst/glib-compat.h:
7707           Attempt #4 to appease the buildbots.
7708
7709 2005-09-14  David Schleef  <ds@schleef.org>
7710
7711         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7712           Attempt #3.
7713
7714 2005-09-14  David Schleef  <ds@schleef.org>
7715
7716         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7717         Attempt #2.
7718
7719 2005-09-14  David Schleef  <ds@schleef.org>
7720
7721         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7722           the new functions.
7723
7724 2005-09-14  David Schleef  <ds@schleef.org>
7725
7726         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7727         * gst/glib-compat.h: Add some functions that are in newer versions
7728           of glib than we care to require.
7729         * gst/gstregistryxml.c: Use them.
7730
7731 2005-09-14  David Schleef  <ds@schleef.org>
7732
7733         * po/POTFILES.in: remove gst-register.c
7734
7735 2005-09-14  David Schleef  <ds@schleef.org>
7736
7737         * docs/gst/gstreamer-docs.sgml:
7738         * docs/gst/gstreamer-sections.txt:
7739         * docs/gst/gstreamer.types:
7740         * docs/gst/tmpl/gstelement.sgml:
7741         * docs/gst/tmpl/gstplugin.sgml:
7742         * docs/gst/tmpl/gstpluginfeature.sgml:
7743           Documentation updates for registry changes.
7744
7745 2005-09-14  David Schleef  <ds@schleef.org>
7746
7747         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7748           because we don't require glib-2.8.
7749
7750 2005-09-14  David Schleef  <ds@schleef.org>
7751
7752         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7753           registries directory.
7754
7755 2005-09-14  David Schleef  <ds@schleef.org>
7756
7757         * check/Makefile.am:
7758         * check/generic/states.c:
7759         * gst/Makefile.am:
7760         * gst/gst.c:
7761         * gst/gst.h:
7762         * gst/gst_private.h:
7763         * gst/gstelementfactory.c:
7764         * gst/gstindex.c:
7765         * gst/gstinfo.c:
7766         * gst/gstplugin.c:
7767         * gst/gstplugin.h:
7768         * gst/gstpluginfeature.c:
7769         * gst/gstpluginfeature.h:
7770         * gst/gstregistry.c:
7771         * gst/gstregistry.h:
7772         * gst/gstregistrypool.c: remove
7773         * gst/gstregistrypool.h: remove
7774         * gst/gsttypefind.c:
7775         * gst/gsttypefindfactory.c:
7776         * gst/gsturi.c:
7777         * tools/Makefile.am:
7778         * tools/gst-compprep.c:
7779         * tools/gst-inspect.c:
7780         * tools/gst-register.c: remove
7781         * tools/gst-xmlinspect.c:
7782           Registry rewrite.  Changes registry from being a file created
7783           by a tool into a simple cache file created automatically by 
7784           libgstreamer.  Removed gst-register (because it's no longer
7785           needed).  Remove registry pools, because we only have one
7786           registry implementation (XML).  Fix up other subsystems as
7787           necessary.
7788
7789 2005-09-13  Michael Smith <msmith@fluendo.com>
7790
7791         * gst/gstconfig.h.in:
7792           Don't Use windows linking attributes for MinGW. Fixes #316157
7793
7794 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7795
7796         * gst/gstutils.c: (set_state_async_thread_func),
7797         (gst_element_set_state_async):
7798           Apparently people think it's better if this function doesn't
7799           try to set the state to whatever state was asked for on the first
7800           call to this function for any object.  Seriously.
7801
7802 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7803
7804         * check/gst/gstpipeline.c: (GST_START_TEST):
7805         * docs/gst/gstreamer-sections.txt:
7806         * gst/gstutils.c: (set_state_async_thread_func),
7807         (gst_element_set_state_async):
7808         * gst/gstutils.h:
7809           add a "gst_element_set_state_async" method that
7810           sets the state and starts a thread to make sure the state
7811           change completes as best as it can
7812
7813 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7816           codify design+behaviour in testsuite after discussion
7817
7818 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7819
7820         * docs/gst/tmpl/gstelement.sgml:
7821         * docs/manual/appendix-quotes.xml:
7822           add a quote
7823         * gst/gstelement.c: (gst_element_set_state):
7824           add some debug
7825
7826 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7827
7828         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7829         (gst_base_transform_prepare_output_buf),
7830         (gst_base_transform_handle_buffer):
7831         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7832         (gst_capsfilter_prepare_buf):
7833           Remove the requirement for sub-classes to call the parent
7834           implementation of prepare_output_buffer with a wrapper function.
7835           
7836         * gst/gsttaglist.h:
7837         * gst/gsttagsetter.h:
7838           Fix #define wrapper
7839
7840 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7841
7842         * docs/gst/gstreamer-sections.txt:
7843           more doc cleanups
7844
7845 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * docs/gst/gstreamer-sections.txt:
7848         * docs/gst/tmpl/gstelement.sgml:
7849         * docs/gst/tmpl/gstplugin.sgml:
7850         * gst/gstminiobject.c:
7851         * gst/gstvalue.h:
7852           docs now stop throwing warnings
7853
7854 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7855
7856         * docs/gst/gstreamer-sections.txt:
7857         * docs/gst/gstreamer.types:
7858         * docs/gst/tmpl/gstpad.sgml:
7859         * docs/gst/tmpl/gsttypes.sgml:
7860         * gst/base/gstadapter.h:
7861         * gst/base/gstbasesink.h:
7862         * gst/base/gstbasesrc.h:
7863         * gst/gstbin.h:
7864         * gst/gstbuffer.h:
7865         * gst/gstbus.h:
7866         * gst/gstcaps.h:
7867         * gst/gstclock.h:
7868         * gst/gstelement.h:
7869         * gst/gstevent.h:
7870         * gst/gstmessage.h:
7871         * gst/gstpad.h:
7872         * gst/gststructure.c:
7873         * gst/registries/gstlibxmlregistry.h:
7874           various documentation fixes
7875
7876 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7877
7878         * docs/gst/gstreamer-sections.txt:
7879         * docs/gst/tmpl/gstvalue.sgml:
7880           rearrange gstvalue section
7881         * gst/gstutils.c: (gst_element_state_get_name):
7882           NONE -> VOID
7883         * gst/gstvalue.c: (_gst_value_initialize):
7884         * gst/gstvalue.h:
7885           doc updates
7886
7887 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7888
7889         * check/gst-libs/controller.c:
7890           Header include fix.
7891         * gst/base/gstbasetransform.c:
7892         (gst_base_transform_default_prepare_buf),
7893         (gst_base_transform_handle_buffer):
7894         * gst/base/gstbasetransform.h:
7895           Some more basetransform changes and fixes to enable sub-classes
7896           that modify buffer metadata only.
7897         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7898         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7899         (gst_capsfilter_prepare_buf):
7900           If the output pad has fixed allowed caps and input buffers 
7901           don't have any, set the fixed caps on outgoing buffers.
7902
7903 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7904         * check/elements/identity.c: (GST_START_TEST):
7905           Make the error a little clearer when the test fails because
7906           identity made a copy of the buffer.
7907         * docs/gst/gstreamer-sections.txt:
7908           New symbols in gstbasetransform.h
7909         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7910         (gst_base_transform_init), (gst_base_transform_transform_size),
7911         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7912         (gst_base_transform_default_prepare_buf),
7913         (gst_base_transform_get_unit_size),
7914         (gst_base_transform_buffer_alloc),
7915         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7916         (gst_base_transform_change_state),
7917         (gst_base_transform_set_passthrough),
7918         (gst_base_transform_set_in_place),
7919         (gst_base_transform_is_in_place):
7920         * gst/base/gstbasetransform.h:
7921           Change BaseTransform to separate in_place operate from same_caps
7922           output. in_place implies that the element can perform the transform
7923           on incoming buffers in-place, even if the caps on the output are
7924           different.
7925           Sub-class elements can now implement special buffer allocation
7926           methods for outgoing buffers if they wish to.
7927           Big documentation addition.
7928         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7929         * gst/elements/gstelements.c:
7930           Changes for basetransform modifications.
7931         * gst/elements/Makefile.am:
7932         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7933           Compile fix. Extra debug output.
7934
7935 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7936
7937         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7938         (gst_pad_suite):
7939           add tests for valid pad naming
7940         * gst/check/gstcheck.c: (gst_check_log_message_func),
7941         (gst_check_log_critical_func):
7942           add ASSERT_WARNING
7943           remove printing of code, it is fragile when the code contains
7944           % and the line number is enough info
7945         * gst/check/gstcheck.h:
7946         * gst/gstpad.c: (gst_pad_template_new):
7947           fix memleaks
7948
7949 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7950
7951         * configure.ac:
7952           say what CHECK flags we use
7953         * docs/libs/gstreamer-libs.types:
7954         * libs/gst/controller/Makefile.am:
7955         * libs/gst/controller/gst-controller.c:
7956         * libs/gst/controller/gst-controller.h:
7957         * libs/gst/controller/gst-helper.c:
7958         * libs/gst/controller/gst-interpolation.c:
7959         * libs/gst/controller/gstcontroller.c:
7960         * libs/gst/controller/gsthelper.c:
7961         * libs/gst/controller/gstinterpolation.c:
7962         * tools/gst-inspect.c: (print_plugin_info):
7963           we don't use dashes in header names
7964
7965 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7966
7967         * check/Makefile.am:
7968         * check/gst/.cvsignore:
7969         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7970         (gst_pipeline_suite), (main):
7971           adding a test for pipelines and state changes
7972         * gst/gstutils.c: (get_state_func):
7973           add some debugging
7974         * gstreamer.spec.in:
7975           fix up spec file
7976
7977 2005-09-08  Michael Smith <msmith@fluendo.com>
7978
7979         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7980         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7981         (gst_file_src_is_seekable), (gst_file_src_get_size),
7982         (gst_file_src_start):
7983         * gst/elements/gstfilesrc.h:
7984           Various fixes for unseekable, unmmapable, and non-normal files, so
7985           that fallback to read() rather than mmap() works.
7986         * gst/gstevent.c: (gst_event_new_newsegment):
7987           Allow newsegment events with segment_start == segment_end, as will
7988           correctly happen if you use filesrc on a zero-size file, for
7989           example.
7990
7991 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7992
7993         * gst/gstplugin.c: (gst_plugin_load_file):
7994           Call g_module_close when we don't load the module
7995
7996         * gst/registries/gstlibxmlregistry.c:
7997         (gst_xml_registry_get_property):
7998           Port leak fix from 0.8
7999
8000 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8001
8002         * docs/gst/gstreamer-docs.sgml:
8003         * docs/gst/tmpl/.cvsignore:
8004         * docs/gst/tmpl/gsttrace.sgml:
8005         * docs/gst/tmpl/gsttrashstack.sgml:
8006         * gst/Makefile.am:
8007         * gst/gst.h:
8008         * gst/gstelement.h:
8009         * gst/gstevent.h:
8010         * gst/gstmessage.c:
8011         * gst/gstmessage.h:
8012         * gst/gsttag.c:
8013         * gst/gsttag.h:
8014         * gst/gsttaginterface.c:
8015         * gst/gsttaginterface.h:
8016         * gst/gsttaglist.c:
8017         * gst/gsttaglist.h:
8018         * gst/gsttagsetter.c:
8019         * gst/gsttagsetter.h:
8020         * gst/gsttrace.c:
8021         * gst/gsttrace.h:
8022         * gst/gsttrashstack.c:
8023           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8024           inlined docs for gsttrace, gsttrashstack
8025
8026 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8027
8028         * gst/Makefile.am:
8029         * gst/elements/gstbufferstore.h:
8030         * gst/elements/gsttypefindelement.c:
8031         * gst/elements/gsttypefindelement.h:
8032         * gst/gst.h:
8033         * gst/gsttypefind.c:
8034         * gst/gsttypefind.h:
8035         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8036         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8037         (gst_type_find_factory_dispose),
8038         (gst_type_find_factory_unload_thyself),
8039         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8040         (gst_type_find_factory_get_caps),
8041         (gst_type_find_factory_get_extensions),
8042         (gst_type_find_factory_call_function):
8043         * gst/gsttypefindfactory.h:
8044         * gst/registries/gstlibxmlregistry.c:
8045         * gst/registries/gstxmlregistry.c:
8046           splitted gsttypefind into gsttypefind, gsttypefindfactory
8047
8048 2005-09-07  Andy Wingo  <wingo@pobox.com>
8049
8050         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8051         condition whereby the pad's task function is entered before the
8052         pad_mode variable was set.
8053
8054 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8055
8056         * gst/gstpad.c: (gst_pad_alloc_buffer):
8057           Catch misbehaving pad_alloc functions that don't
8058           set up caps and do it for them.
8059
8060 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8061
8062         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8063           test for pipe!=NULL
8064         * docs/gst/tmpl/.cvsignore:
8065         * docs/gst/tmpl/gstmemchunk.sgml:
8066         * docs/gst/tmpl/gstparse.sgml:
8067         * docs/gst/tmpl/gsttaglist.sgml:
8068         * docs/gst/tmpl/gsttagsetter.sgml:
8069         * docs/gst/tmpl/gsttypefind.sgml:
8070         * docs/gst/tmpl/gsttypefindfactory.sgml:
8071         * gst/gstmemchunk.c:
8072         * gst/gstparse.c:
8073         * gst/gsttag.c:
8074         * gst/gsttaginterface.c:
8075         * gst/gsttypefind.c:
8076         * gst/gsttypefind.h:
8077           inlined more docs
8078
8079 === release 0.9.2 ===
8080
8081 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8082
8083         * NEWS:
8084         * RELEASE:
8085         * configure.ac:
8086           releasing 0.9.2, "South"
8087
8088 2005-09-05  Andy Wingo  <wingo@pobox.com>
8089
8090         * gst/registries/gstxmlregistry.h:
8091         * gst/registries/gstxmlregistry.c: Um... resurrect...
8092         
8093         * gst/registries/gstxmlregistry.h:
8094         * gst/registries/gstxmlregistry.c: and update to newer API.
8095         Incidentally they should be a bit faster now that they don't have
8096         to parse the caps.
8097         
8098 2005-09-05  Andy Wingo  <wingo@pobox.com>
8099
8100         * gst/registries/gstxmlregistry.h:
8101         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8102         replaced by the libxml registry a while back
8103
8104 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8105
8106         * docs/gst/tmpl/gstplugin.sgml:
8107         * gst/elements/gstelements.c:
8108         * gst/gst.c:
8109         * gst/gstplugin.c: (gst_plugin_register_func),
8110         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8111         (gst_plugin_get_source):
8112         * gst/gstplugin.h:
8113         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8114         (gst_xml_registry_save_plugin):
8115         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8116         (gst_xml_registry_save_plugin):
8117         * tools/gst-inspect.c: (print_plugin_info):
8118           add a "source" plugin description field, to represent the source
8119           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8120           will set it to PACKAGE, which is automake's idea of the name of
8121           the source project.
8122
8123 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8124
8125         * Makefile.am:
8126         * autogen.sh:
8127         * configure.ac:
8128         * docs/Makefile.am:
8129         * docs/faq/Makefile.am:
8130         * docs/gst/tmpl/gstelement.sgml:
8131         * docs/gst/tmpl/gsttypes.sgml:
8132         * docs/htmlinstall.mak:
8133         * docs/manual/Makefile.am:
8134         * docs/pwg/Makefile.am:
8135           reorganize doc build a little
8136           split out docbook and gtk-doc stuff
8137           have two separate --enable's and enable them through autogen
8138           but disable by default in configure (to be similar to other
8139           projects)
8140         * gstreamer.spec.in:
8141           clean up docs install
8142         * po/af.po:
8143         * po/az.po:
8144         * po/ca.po:
8145         * po/cs.po:
8146         * po/de.po:
8147         * po/en_GB.po:
8148         * po/fr.po:
8149         * po/it.po:
8150         * po/nb.po:
8151         * po/nl.po:
8152         * po/ru.po:
8153         * po/sq.po:
8154         * po/sr.po:
8155         * po/sv.po:
8156         * po/tr.po:
8157         * po/uk.po:
8158         * po/vi.po:
8159           translation updates
8160
8161 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8162
8163         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8164           Add comment.
8165           
8166         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8167         (gst_fake_sink_change_state):
8168           Make state change function thread-safe.
8169           
8170         * gst/gstpad.c: (gst_pad_alloc_buffer):
8171           Set offset on generic buffer allocated by fallback.
8172
8173 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * docs/gst/gstreamer-sections.txt:
8176         * docs/gst/tmpl/gstelement.sgml:
8177         * gst/gstpad.c:
8178         * libs/gst/controller/gst-controller.c:
8179         (gst_controlled_property_set_interpolation_mode),
8180         (gst_controlled_property_new),
8181         (gst_controller_find_controlled_property):
8182          run the wingo-magic script against the docs
8183
8184 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8185
8186         * docs/gst/gstreamer-docs.sgml:
8187         * docs/gst/gstreamer-sections.txt:
8188         * docs/gst/tmpl/.cvsignore:
8189         * docs/gst/tmpl/gstelementdetails.sgml:
8190         * docs/gst/tmpl/gstelementfactory.sgml:
8191         * gst/gst.c:
8192         * gst/gstbus.c:
8193         * gst/gstelementfactory.c:
8194         * gst/gstelementfactory.h:
8195           merged elementdetails docs into elementfactory docs
8196           inlined both
8197
8198 2005-09-02  Andy Wingo  <wingo@pobox.com>
8199
8200         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8201         consider this enum an enum and not a flags.
8202
8203 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8204
8205         * docs/gst/gstreamer-docs.sgml:
8206         * docs/gst/tmpl/.cvsignore:
8207         * docs/gst/tmpl/gstghostpad.sgml:
8208         * docs/gst/tmpl/gstiterator.sgml:
8209         * docs/gst/tmpl/gstmacros.sgml:
8210         * docs/gst/tmpl/gstrealpad.sgml:
8211         * docs/gst/tmpl/gstregistry.sgml:
8212         * docs/gst/tmpl/gstregistrypool.sgml:
8213         * docs/gst/tmpl/gststructure.sgml:
8214         * docs/gst/tmpl/gstsystemclock.sgml:
8215         * docs/gst/tmpl/gsttrace.sgml:
8216         * gst/gstghostpad.c:
8217         * gst/gstmacros.h:
8218         * gst/gstmemchunk.c:
8219         * gst/gstmemchunk.h:
8220         * gst/gstqueue.c:
8221         * gst/gstregistry.c:
8222         * gst/gstregistrypool.c:
8223         * gst/gststructure.c:
8224         * gst/gstsystemclock.c:
8225           more docs inlined
8226
8227 2005-09-02  Andy Wingo  <wingo@pobox.com>
8228
8229         * gst/gstelement.h (GstState): Renamed from GstElementState,
8230         changed to be a normal enum instead of flags.
8231         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8232         munged to be GST_STATE_CHANGE_*.
8233         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8234         work with the new state representation.
8235         (GstStateChange): New enumeration of possible state transitions.
8236         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8237         (GstElementClass::change_state): Pass the GstStateChange along as
8238         an argument. Helps language bindings, so they don't have to use
8239         tricky lock-needing macros like GST_STATE_CHANGE ().
8240
8241         * scripts/update-states (file): New script. Run it on a file to
8242         update it for state naming and API changes. Updates files in
8243         place.
8244
8245         * All files updated for the new API.
8246
8247 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8248
8249         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8250         * gst/gstutils.c: (gst_util_set_value_from_string),
8251         (gst_util_set_object_arg):
8252           fix a bunch of unchecked return values
8253         * tools/gst-complete.c: (main):
8254         * gstreamer.spec.in:
8255           clean up a little
8256
8257 2005-09-01  Wim Taymans  <wim@fluendo.com>
8258
8259         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8260         (gst_base_sink_event), (gst_base_sink_do_sync),
8261         (gst_base_sink_handle_event):
8262         * gst/base/gstbasesink.h:
8263         Handle newsegments more correctly.
8264
8265         * gst/gstbus.c:
8266         Fix docs.
8267
8268         * gst/gstevent.c: (gst_event_new_newsegment):
8269         A newsegment cannot have a start_time of -1
8270
8271 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8272
8273         * win32/gstenumtypes.c:
8274         * win32/gstenumtypes.h:
8275           Update
8276
8277 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8278
8279         * libs/gst/controller/gst-controller.c:
8280         (gst_controlled_property_set_interpolation_mode),
8281         (gst_controlled_property_new):
8282          fixed boolean again
8283
8284 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8285
8286         * docs/faq/gst-uninstalled:
8287           add -good
8288         * gst/gstevent.c:
8289         * gst/gstevent.h:
8290           remove wrong docs
8291         * gst/gstutils.c: (gst_element_link_filtered):
8292         * gst/gstutils.h:
8293           add gst_element_link_filtered
8294
8295 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8296
8297         * docs/gst/gstreamer-docs.sgml:
8298         * docs/gst/gstreamer-sections.txt:
8299         * docs/gst/tmpl/.cvsignore:
8300         * docs/gst/tmpl/gsterror.sgml:
8301         * docs/gst/tmpl/gstfilter.sgml:
8302         * docs/gst/tmpl/gsturihandler.sgml:
8303         * docs/gst/tmpl/gsturitype.sgml:
8304         * docs/gst/tmpl/gstutils.sgml:
8305         * docs/gst/tmpl/gstxml.sgml:
8306         * gst/gsterror.c:
8307         * gst/gsterror.h:
8308         * gst/gstfilter.c:
8309         * gst/gsturi.c:
8310         * gst/gsturitype.c:
8311         * gst/gstutils.c:
8312         * gst/gstxml.c:
8313           inlined more docs, fixed double id-ref
8314
8315 2005-08-31  Wim Taymans  <wim@fluendo.com>
8316
8317         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8318         (gst_base_transform_handle_buffer):
8319         Passthrough elements don't need the caps as they don't care.
8320
8321 2005-08-31  Wim Taymans  <wim@fluendo.com>
8322
8323         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8324         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8325         Don't leak refcounts on buffers.
8326
8327 2005-08-31  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8330         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8331         (gst_base_transform_chain), (gst_base_transform_change_state):
8332         * gst/base/gstbasetransform.h:
8333         Handle the case where we are not negotiated more gracefully.
8334
8335 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8336
8337         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8338         (gst_file_src_map_region):
8339           Set READONLY flag on mmap'ed buffers, otherwise
8340           gst_buffer_make_writable() won't work properly (#314708).
8341
8342 2005-08-31  Wim Taymans  <wim@fluendo.com>
8343
8344         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8345         passthrough elements can even do inplace on non writable
8346         buffers (as they don't touch them).
8347
8348 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8349
8350         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8351         (gst_test_mono_source_set_property),
8352         (gst_test_mono_source_class_init), (GST_START_TEST),
8353         (gst_controller_suite):
8354           more tests (hehe I have the most)
8355         * gst/gstbus.c:
8356           describe popping messages whenusing mulltiple sources
8357         * libs/gst/controller/gst-controller.c:
8358         (gst_controlled_property_set_interpolation_mode),
8359         (gst_controlled_property_new):
8360         * libs/gst/controller/gst-controller.h:
8361         * libs/gst/controller/gst-interpolation.c:
8362           implement boolean properties
8363
8364 2005-08-31  Wim Taymans  <wim@fluendo.com>
8365
8366         * gst/gstminiobject.c: (gst_mini_object_ref):
8367         Cannot assert that the refcount has to be positive
8368         since a disposed object can be resurrected.
8369
8370 2005-08-31  Wim Taymans  <wim@fluendo.com>
8371
8372         * gst/gstpad.c: (gst_pad_init):
8373         Revert change, need to first fix badly behaving 
8374         apps.
8375
8376 2005-08-30  Wim Taymans  <wim@fluendo.com>
8377
8378         * check/elements/fakesrc.c: (setup_fakesrc):
8379         * check/elements/identity.c: (setup_identity):
8380         Activate pads before using them.
8381
8382 2005-08-30  Wim Taymans  <wim@fluendo.com>
8383
8384         * gst/base/gstadapter.c: (gst_adapter_flush):
8385         Flushing out 0 bytes is ok for this function.
8386
8387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8388         no newsegment gives a warning and sets the start/stop to 
8389         invalid.
8390
8391         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8392         (gst_base_transform_set_passthrough):
8393         Some debug info.
8394
8395         * gst/gstminiobject.c: (gst_mini_object_ref):
8396         Check refcount here too.
8397
8398         * gst/gstpad.c: (gst_pad_init):
8399         Pads are initially flushing and refusing data.
8400
8401         * gst/gstutils.c: (gst_element_link_pads_filtered):
8402         When adding a capsfilter element make sure it has the
8403         same state as the parent bin.
8404
8405 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8406
8407         * docs/gst/tmpl/.cvsignore:
8408         * docs/gst/tmpl/gstformat.sgml:
8409         * docs/gst/tmpl/gstversion.sgml:
8410         * gst/gstbus.h:
8411         * gst/gstformat.c:
8412         * gst/gstformat.h:
8413         * gst/gstversion.h.in:
8414           more docs and two more inlined
8415
8416 2005-08-30  Wim Taymans  <wim@fluendo.com>
8417
8418         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8419         Don't sync to clock.
8420
8421 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8422
8423         * docs/gst/gstreamer-sections.txt:
8424           ultral33t func10ns deserve to appear in the docs actually
8425         * docs/gst/tmpl/.cvsignore:
8426         * docs/gst/tmpl/gstcompat.sgml:
8427         * docs/gst/tmpl/gstconfig.sgml:
8428         * gst/check/gstcheck.c:
8429         * gst/gstcompat.h:
8430         * gst/gstconfig.h.in:
8431           inlined more docs
8432
8433 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8434
8435         * docs/gst/tmpl/.cvsignore:
8436         * docs/gst/tmpl/gstquery.sgml:
8437         * docs/gst/tmpl/gstutils.sgml:
8438         * gst/gstquery.c:
8439         * gst/gstquery.h:
8440           inlined and extended docs
8441
8442 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8443
8444         * check/gst-libs/controller.c: (GST_START_TEST),
8445         (gst_controller_suite):
8446           more tests
8447         * docs/gst/tmpl/gstutils.sgml:
8448         * docs/libs/gstreamer-libs-sections.txt:
8449         * docs/libs/tmpl/gstdataprotocol.sgml:
8450           include path fixes
8451         * examples/controller/audio-example.c: (main):
8452           controller example works now
8453         * gst/gstclock.h:
8454           doc fixes
8455         * tools/gst-inspect.c: (print_element_properties_info):
8456           show param spec flags
8457
8458 2005-08-29  Andy Wingo  <wingo@pobox.com>
8459
8460         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8461
8462 2005-08-28  Andy Wingo  <wingo@pobox.com>
8463
8464         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8465         as having two arguments instead of just one. Allows superclasses
8466         to access information on subclasses -- see the terrible for() loop
8467         in gtype.c:g_type_create_instance for the reason why. All callers
8468         changed.
8469
8470 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8471
8472         * docs/design/part-messages.txt:
8473           update info
8474         * docs/gst/tmpl/.cvsignore:
8475         * docs/gst/tmpl/gstcaps.sgml:
8476         * docs/gst/tmpl/gstclock.sgml:
8477         * gst/gstbus.c:
8478         * gst/gstcaps.c:
8479         * gst/gstcaps.h:
8480         * gst/gstclock.c:
8481         * gst/gstclock.h:
8482         * gst/gstmessage.c:
8483           added descriptions for bus and message
8484           inline caps and clock docs
8485
8486 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8487
8488         * gst/gstmessage.c:
8489         * gst/gstmessage.h:
8490           doc fixes
8491
8492 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8493
8494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8495           fix div-by-zero
8496
8497 2005-08-26  Andy Wingo  <wingo@pobox.com>
8498
8499         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8500         element_set_state's return val.
8501         (test_2_elements): Add test that's been disabled for months.
8502
8503         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8504         can-activate-pull properties.
8505
8506         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8507         can-activate-pull properties. Implement is_seekable so fakesrc can
8508         operate in pull mode.
8509
8510         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8511         properties.
8512         (gst_base_sink_activate, gst_base_sink_activate_pull)
8513         (gst_base_sink_activate_push): Make activation mode choosing work.
8514         Cleanups.
8515         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8516         is right. Make pull mode work. Post an eos before pausing in pull
8517         mode.
8518         (gst_base_sink_change_state): Pay attention to the core's
8519         change_state() return val.
8520         
8521         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8522         has-getrange properties. Cleanups.
8523         
8524         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8525         has_getrange and replace with can_activate_pull and
8526         can_activate_push.
8527
8528         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8529         locking comments. Remove has_loop, has_chain and replace with
8530         can_activate_pull and can_activate_push.
8531
8532 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8533
8534         * configure.ac:
8535         * examples/Makefile.am:
8536         * examples/metadata/Makefile.am:
8537         * examples/metadata/read-metadata.c: (message_loop),
8538         (have_pad_handler), (make_pipeline), (print_tag), (main):
8539           Add metadata reading example that loops over a list of filenames,
8540           dumping any tags found.
8541
8542         * gst/gstbus.c: (gst_bus_dispose):
8543         * gst/gstelement.c: (gst_element_dispose):
8544           Release a few potentially-held references in dispose.
8545
8546 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8547
8548         * docs/gst/tmpl/gstminiobject.sgml:
8549           do *not* add tmpl/*.sgml files to CVS!
8550
8551 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8552
8553         * libs/gst/bytestream/.cvsignore:
8554         * libs/gst/bytestream/Makefile.am:
8555         * libs/gst/bytestream/adapter.c:
8556         * libs/gst/bytestream/adapter.h:
8557         * libs/gst/bytestream/bytestream.c:
8558         * libs/gst/bytestream/bytestream.h:
8559         * libs/gst/bytestream/filepad.c:
8560         * libs/gst/bytestream/filepad.h:
8561           removing obsolete files
8562
8563 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8564
8565         * docs/gst/gstreamer-docs.sgml:
8566         * docs/libs/gstreamer-libs-docs.sgml:
8567           disabed additional index entries again, as this makes docs-gen just
8568           slow and they aren't useful yet
8569         * docs/libs/gstreamer-libs-sections.txt:
8570           little -section.txt cleanup for libs
8571
8572 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8573
8574         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8575         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8576           fix up some debugging
8577         (gst_base_transform_get_unit_size),
8578         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8579         (gst_base_transform_handle_buffer):
8580         * gst/base/gstbasetransform.h:
8581           handle and store timed NEWSEGMENT events so that subclasses that
8582           calculate time by counting samples have a segment_start time they
8583           need to add to their timestamps - see audioresample
8584
8585 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8586
8587         * gst/gstbin.h:
8588           removed ';' from the end of macro defs
8589         * docs/gst/gstreamer-docs.sgml:
8590         * docs/gst/gstreamer-sections.txt:
8591         * docs/gst/tmpl/.cvsignore:
8592         * gst/gstbus.h:
8593         * gst/gstelement.c: (gst_element_class_init),
8594         (gst_element_set_state), (activate_pads),
8595         (gst_element_save_thyself):
8596         * gst/gstevent.c: (gst_event_new_newsegment):
8597         * gst/gstevent.h:
8598         * gst/gstiterator.c:
8599         * gst/gstiterator.h:
8600         * gst/gstpad.c:
8601         * gst/gstprobe.h:
8602         * gst/gstutils.c: (gst_pad_query_convert):
8603         * gst/gstutils.h:
8604           fixed parameter name mismatches between source, header and docs
8605           added some more docs, resolved the last batch of unused elements in
8606           docs (now someone needs to doc them)
8607
8608 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8609
8610         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8611         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8612           don't walk through the plugins backwards.  Where is all this
8613           reversed logic coming from ?
8614
8615 2005-08-25  Wim Taymans  <wim@fluendo.com>
8616
8617         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8618         (gst_base_transform_transform_size),
8619         (gst_base_transform_configure_caps),
8620         (gst_base_transform_get_unit_size),
8621         (gst_base_transform_buffer_alloc),
8622         (gst_base_transform_change_state):
8623         * gst/base/gstbasetransform.h:
8624         Cache caps unit_size.
8625         Make sure we cannot negotiate up and downstream at the
8626         same time.
8627
8628 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8629
8630         * gst/gst.c: (init_pre), (init_post):
8631           register the installed plugin path after the env var
8632         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8633         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8634           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8635           directories, so the tests can prefer uninstalled over installed
8636
8637 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * gst/base/gstbasetransform.h:
8640           comment
8641         * gst/gstpad.c:
8642           add to docs
8643
8644 2005-08-25  Wim Taymans  <wim@fluendo.com>
8645
8646         * gst/gstbin.c: (bin_bus_handler):
8647         Be a bit more conservative about the posted message.
8648         
8649         * gst/gstbus.c: (gst_bus_post):
8650         Some cleanups, warn wrong return values.
8651
8652 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8653
8654         * check/gst/gstbin.c: (GST_START_TEST):
8655         * gst/gstbin.c: (bin_bus_handler):
8656         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8657         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8658         (gst_message_new_warning), (gst_message_new_tag),
8659         (gst_message_new_state_changed), (gst_message_new_segment_start),
8660         (gst_message_new_segment_done), (gst_message_new_custom):
8661         * gst/gstmessage.h:
8662         * tools/gst-launch.c: (event_loop):
8663         * tools/gst-md5sum.c: (event_loop):
8664           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8665
8666 2005-08-25  Wim Taymans  <wim@fluendo.com>
8667
8668         * check/generic/states.c: (GST_START_TEST):
8669         Cleanup can be done at the end.
8670
8671         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8672         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8673         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8674         Oh boy.. Thanks for finding this, Thomas. 
8675
8676 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8677
8678         * docs/gst/gstreamer.types:
8679           added missing types
8680
8681 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8682
8683         * docs/gst/gstreamer-docs.sgml:
8684         * docs/gst/gstreamer-sections.txt:
8685         * docs/gst/tmpl/.cvsignore:
8686         * gst/gstbin.c:
8687         * gst/gstiterator.c:
8688         * gst/gstutils.c:
8689         * gst/registries/gstxmlregistry.h:
8690           added missing classes and symbols (123 more to go)
8691           removed removed symbols from section file
8692           fixed many doc-comments
8693
8694 2005-08-24  Wim Taymans  <wim@fluendo.com>
8695
8696         * check/generic/states.c: (GST_START_TEST):
8697         Make sure all tasks are stopped.
8698
8699         * check/gst/gstbin.c: (GST_START_TEST):
8700         Unref after usage for proper valgrinding.
8701
8702         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8703         Really wait for the task to stop before destroying the
8704         mutex.
8705
8706         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8707         (gst_queue_src_activate_push):
8708         Small cleanups. Don't stop the task when we did not start
8709         it.
8710
8711         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8712         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8713         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8714         (gst_task_join):
8715         * gst/gsttask.h:
8716         Protect the stream lock with the object lock.
8717         Disallow setting the stream lock when running.
8718         Add cleanup_all to wait for the threadpool to finish.
8719         Remove code to autoallocate a mutex if none was provided.
8720         Add _join() to wait for a task to stop.
8721         Protect the thread pool with a global lock.
8722
8723 2005-08-24  Wim Taymans  <wim@fluendo.com>
8724
8725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8726         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8727         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8728         * gst/base/gstbasesink.h:
8729         Handle newsegment events correctly.
8730         Drop buffers out of the segment range.
8731
8732 2005-08-22  Andy Wingo  <wingo@pobox.com>
8733
8734         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8735         macro, implements an interface and gstimplementsinterface for a
8736         new type.
8737
8738 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8739
8740         * check/Makefile.am:
8741         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8742           add a test that does a bunch of state changes on elements
8743           needs some fixing for valgrind
8744         * check/states/sinks.c: (gst_object_suite):
8745           whitespace
8746         * gst/gstcaps.h:
8747           add prototype for gst_caps_is_equal_fixed
8748         * gst/gstplugin.c:
8749         * gst/gstregistrypool.c:
8750           doc fixes
8751
8752 2005-08-24  Andy Wingo  <wingo@pobox.com>
8753
8754         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8755         convert a negative value. Doesn't make much sense. Mostly this is
8756         here to force callers to ensure -1 maps to -1.
8757
8758 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8759
8760         * docs/pwg/advanced-types.xml:
8761           Well done to Michael for catching my deliberate introduction
8762           of this spelling mistake. 
8763         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8764         * gst/gstelement.h:
8765           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8766           unlink pads before removing the element from the bin.
8767
8768 2005-08-24  Andy Wingo  <wingo@pobox.com>
8769
8770         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8771         the same thing as GST_DEBUG=*:4.
8772         (parse_debug_level, parse_debug_category): New helper parsers.
8773
8774 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8775
8776         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8777         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8778         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8779         (gst_base_transform_buffer_alloc),
8780         (gst_base_transform_handle_buffer):
8781           use gboolean return values and pointers to size so we can use the
8782           full GST_BUFFER_SIZE range (guint) for buffer sizes
8783           use GstPadDirection for transform_caps
8784         * gst/base/gstbasetransform.h:
8785           rename get_size to get_unit_size since that's what it is
8786         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8787           use GstPadDirection for transform_caps
8788         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8789         * gst/gstutils.h:
8790           cleanup and debugging
8791
8792 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8793
8794         * gst/gstelement.c: (gst_element_class_init),
8795         (gst_element_set_state), (activate_pads),
8796         (gst_element_save_thyself):
8797         * tools/gst-compprep.c: (main):
8798         * tools/gst-inspect.c: (print_element_properties_info):
8799         * tools/gst-xmlinspect.c: (print_element_properties):
8800           Fixed long standing mem-leak
8801
8802 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8803
8804         * check/gst/gstbin.c: (GST_START_TEST):
8805         * gst/gstbin.c: (bin_bus_handler):
8806         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8807         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8808         (gst_message_new_warning), (gst_message_new_tag),
8809         (gst_message_new_state_changed), (gst_message_new_segment_start),
8810         (gst_message_new_segment_done), (gst_message_new_custom):
8811         * gst/gstmessage.h:
8812         * tools/gst-launch.c: (event_loop):
8813         * tools/gst-md5sum.c: (event_loop):
8814           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8815           that applications can sensibly post custom messages with references
8816           to their own objects.
8817
8818 2005-08-24  Andy Wingo  <wingo@pobox.com>
8819
8820         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8821         already.
8822
8823 2005-08-24  Wim Taymans  <wim@fluendo.com>
8824
8825         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8826         (gst_base_transform_transform_caps),
8827         (gst_base_transform_transform_size),
8828         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8829         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8830         (gst_base_transform_handle_buffer):
8831         * gst/base/gstbasetransform.h:
8832         Many fixes and new features added by Thomas. Can now also do
8833         transforms with variable sizes and a custom fixate_caps function.
8834
8835 2005-08-24  Wim Taymans  <wim@fluendo.com>
8836
8837         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8838         Some debugging.
8839
8840         * gst/gstclock.h:
8841         Cast to ClockTime before formatting to time.
8842
8843         * gst/gstutils.h:
8844         Cleanups.
8845
8846 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8847
8848         * check/gst-libs/controller.c: (GST_START_TEST),
8849         (gst_controller_suite):
8850         * docs/gst/tmpl/gstcaps.sgml:
8851         * docs/gst/tmpl/gstghostpad.sgml:
8852         * docs/gst/tmpl/gstquery.sgml:
8853         * docs/gst/tmpl/gstutils.sgml:
8854         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8855         (gst_object_sink_values), (gst_object_get_value_arrays),
8856         (gst_object_get_value_array):
8857           gracefully handle helper method calls to objects that are not beeing
8858           controlled, added test case for that          
8859
8860 2005-08-23  Wim Taymans  <wim@fluendo.com>
8861
8862         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8863         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8864         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8865         (gst_event_parse_qos), (gst_event_new_seek),
8866         (gst_event_parse_seek):
8867         * gst/gstevent.h:
8868         Some more debugging output and doc cleanups.
8869
8870         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8871         Fix possible deadlock.
8872
8873 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8874
8875         * docs/gst/gstreamer-docs.sgml:
8876         * docs/gst/gstreamer-sections.txt:
8877         * docs/gst/gstreamer.types:
8878         * docs/gst/tmpl/.cvsignore:
8879         * gst/gstbin.h:
8880         * gst/gstbus.c:
8881         * gst/gstelement.c:
8882         * gst/gstevent.h:
8883           added 100 symbols from gstreamer-unused.txt to the right sections
8884           fixed more broken comments
8885           added GstBus to docs
8886
8887 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8888
8889         * docs/gst/gstreamer-sections.txt:
8890         * docs/gst/tmpl/.cvsignore:
8891         * docs/gst/tmpl/gstbin.sgml:
8892         * docs/gst/tmpl/gstbuffer.sgml:
8893         * gst/base/gstbasesrc.c:
8894         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8895         * gst/gstbuffer.c:
8896         * gst/gstbuffer.h:
8897         * tools/gst-launch.1.in:
8898           inlined more doc comments, added missing comments and fixed comments
8899           fixed typos
8900
8901 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8902
8903         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8904           some debugging
8905         * gst/gstcaps.h:
8906           whitespace fixes
8907         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8908           more debugging
8909         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8910         * gst/gststructure.h:
8911           add a fixate function for booleans; add a FIXME that these func
8912           names should probably be gst_structure_fixate_*
8913
8914 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8915
8916         * docs/gst/gstreamer-docs.sgml:
8917         * docs/gst/gstreamer-sections.txt:
8918         * gst/Makefile.am:
8919         * gst/gstbin.c: (gst_bin_get_type),
8920         (gst_bin_child_proxy_get_child_by_index),
8921         (gst_bin_child_proxy_get_children_count),
8922         (gst_bin_child_proxy_init):
8923         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8924         (gst_child_proxy_get_child_by_index),
8925         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8926         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8927         (gst_child_proxy_get), (gst_child_proxy_set_property),
8928         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8929         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8930         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8931         * gst/gstchildproxy.h:
8932         * gst/parse/grammar.y:
8933         * tools/gst-inspect.c: (print_interfaces),
8934         (print_element_properties_info), (print_element_info):
8935           ported gstchildproxy over from 0.8
8936           ported gst-inspect fixes and enhancements over from 0.8
8937
8938 2005-08-22  Wim Taymans  <wim@fluendo.com>
8939
8940         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8941         (gst_base_transform_handle_buffer):
8942         Also call the transform function if we have ANY caps.
8943
8944         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8945         Fix debug info.
8946
8947 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8948
8949         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8950           Don't pretend to handle seek events if the source is not seekable
8951
8952 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8953
8954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8955           Remove extra parameter to debug output
8956
8957         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8958         (gst_base_src_do_seek), (gst_base_src_activate_push):
8959           Fix seek event handling.
8960
8961         * gst/gstpipeline.c: (gst_pipeline_change_state):
8962         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8963         (gst_queue_src_activate_push):
8964           Don't start the src pad task on FLUSH_STOP if the pad
8965           isn't linked.
8966           Debug changes.
8967
8968 2005-08-22  Wim Taymans  <wim@fluendo.com>
8969
8970         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8971         Added check for gst_static_caps_get() refcounting.
8972
8973 2005-08-22  Wim Taymans  <wim@fluendo.com>
8974
8975         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8976         Make _static_caps_get() refcounting sane.
8977         
8978         * gst/gstelement.c: (gst_element_set_state):
8979         Add g_return_val_if_fail() to protect against segfaults.
8980
8981 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8982
8983         * docs/gst/tmpl/gstevent.sgml:
8984         * gst/gstevent.c:
8985         * gst/gstevent.h:
8986           inlined remaining docs, added missing doc comments
8987
8988 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8989
8990         * check/gst/gstbin.c: (GST_START_TEST):
8991           since we don't know when preroll is done, use refcount range
8992           check for the sink
8993         * gst/check/gstcheck.h:
8994           add macro for checking refcount range
8995
8996 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8997
8998         * check/Makefile.am:
8999           clean up environment for when registry gets built versus
9000           when actual tests are run; valgrind seems to not report
9001           leaks if GST_PLUGIN_PATH is set to some specific values
9002         * check/gst/gstbin.c: (GST_START_TEST):
9003           add more refcounting checks; maybe this exposes a
9004           preroll lock bug ?
9005         * common/check.mak:
9006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9007         * gst/check/gstcheck.h:
9008         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9009         (gst_bin_change_state):
9010         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9011           add/fix debugging/whitespace
9012
9013 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9014
9015         * check/gst/gstevent.c: (event_probe), (test_event),
9016         (GST_START_TEST):
9017          Er, don't call gst_bin_watch_for_state_change you idiot.
9018
9019 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9020
9021         * check/Makefile.am:
9022           Use CHECK_CFLAGS and CHECK_LIBS
9023         * check/gst/gstevent.c: (event_probe), (test_event),
9024         (GST_START_TEST):
9025           Don't leak events.
9026         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9027         (gst_base_src_start), (gst_base_src_stop),
9028         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9029         (gst_base_src_change_state):
9030           Sprinkle gst_base_src_stop liberally around error paths to fix
9031           problems reusing a source after failed state changes.
9032         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9033         (helper_find_suggest), (gst_type_find_helper):
9034           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9035         * gst/gstevent.h:
9036         * docs/gst/tmpl/gstevent.sgml:
9037           Migrate part of the docs from the SGML file. Wait for ensonic to
9038           tell me how I did it wrong ;)
9039         * tools/gst-typefind.c: (main):
9040           Extra robustness to state changes between files.
9041
9042 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9043
9044         * check/Makefile.am:
9045           don't valgrind the controller test - it's leaking - Stefan, HELP
9046         * gst/check/gstcheck.c: (gst_check_message_error),
9047         (gst_check_chain_func), (gst_check_setup_element),
9048         (gst_check_teardown_element), (gst_check_setup_src_pad),
9049         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9050         (gst_check_teardown_sink_pad):
9051         * gst/check/gstcheck.h:
9052           add a bunch of methods to set up elements, and src and sink pads
9053         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9054         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9055         (GST_START_TEST):
9056           use them
9057         * gst/gstmessage.c:
9058         * gst/gsttag.h:
9059           whitespace/doc fixes
9060
9061 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9062
9063         * gst/gstelement.h:
9064           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9065           be handled by the application and not always printed as well
9066
9067 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9068
9069         * check/Makefile.am:
9070           set GST_TOOLS_DIR
9071         * gst/check/gstcheck.c: (gst_check_message_error):
9072         * gst/check/gstcheck.h:
9073           add a fail_unless_equals_int
9074           add fail_unless for error messages
9075
9076 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9077
9078         * check/Makefile.am:
9079         * check/gst.supp:
9080         * common/Makefile.am:
9081         * common/check.mak:
9082         * common/gst.supp:
9083           factor out some of the common stuff so we can use it
9084
9085 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9086
9087         * check/Makefile.am:
9088         * check/gst/gstiterator.c: (GST_START_TEST):
9089         * check/gst/gstsystemclock.c: (GST_START_TEST),
9090         (gst_systemclock_suite):
9091         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9092         * gst/gstclock.c:
9093           valgrind more tests
9094
9095 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9096
9097         * check/elements/.cvsignore:
9098         * check/elements/gstfakesrc.c:
9099           rename to name of element
9100         * check/elements/identity.c: (chain_func), (event_func),
9101         (setup_identity), (cleanup_identity), (GST_START_TEST),
9102         (identity_suite), (main):
9103           add a test for identity
9104         * check/Makefile.am:
9105         * pkgconfig/Makefile.am:
9106         * pkgconfig/gstreamer-check.pc.in:
9107         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9108         * gst/check:
9109         * gst/Makefile.am:
9110         * configure.ac:
9111           move the check stuff to a library that gets installed
9112         * check/gst-libs/controller.c: (GST_START_TEST):
9113         * check/gst-libs/gdp.c:
9114         * check/gst/gst.c: (GST_START_TEST):
9115         * check/gst/gstbin.c:
9116         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9117         * check/gst/gstbus.c:
9118         * check/gst/gstcaps.c: (GST_START_TEST):
9119         * check/gst/gstelement.c:
9120         * check/gst/gstghostpad.c:
9121         * check/gst/gstiterator.c:
9122         * check/gst/gstmessage.c:
9123         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9124         * check/gst/gstobject.c:
9125         * check/gst/gstpad.c: (GST_START_TEST):
9126         * check/gst/gststructure.c: (GST_START_TEST):
9127         * check/gst/gstsystemclock.c: (GST_START_TEST),
9128         (gst_systemclock_suite):
9129         * check/gst/gsttag.c: (gst_tag_suite):
9130         * check/gst/gstvalue.c:
9131         * check/pipelines/cleanup.c:
9132         * check/pipelines/simple_launch_lines.c:
9133         * check/states/sinks.c:
9134           change include statement
9135
9136         * docs/gst/gstreamer-sections.txt:
9137         * docs/gst/tmpl/gstpad.sgml:
9138           document more pad stuff
9139         * gst/gstminiobject.c: (gst_mini_object_ref),
9140         (gst_mini_object_unref):
9141           debug refcounting
9142
9143 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9144
9145         * docs/gst/tmpl/gst.sgml:
9146         * gst/gst.c:
9147           eliminate another tmpl file, fix spelling in the long-description
9148
9149 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9150
9151         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9152         (test_event), (timediff), (gstevents_suite):
9153           Should fix build on 64-bit arch's
9154
9155 2005-08-18  Andy Wingo  <wingo@pobox.com>
9156
9157         Make sure that when a pipeline goes to PLAYING, that data has
9158         actually hit the sink.
9159
9160         * check/states/sinks.c (test_sink): A sink that doesn't get any
9161         data shouldn't return SUCCESS for going to either PLAYING or
9162         PAUSED. Test also the return values on the way back down.
9163
9164         * gst/gstelement.c (gst_element_set_state): When changing the
9165         state of an element currently changing state asynchronously, go to
9166         lost-state after commiting the pending state. Makes future calls
9167         to get_state continue to return ASYNC.
9168
9169         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9170         ASYNC when going to PLAYING if we still don't have preroll, as can
9171         happen with live sources.
9172
9173 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9174
9175         * docs/pwg/advanced-types.xml:
9176           Hack long paragraph into 2 chunks as a workaround for buggy
9177           jadetex version in sid and breezy that loops infinitely and
9178           eats all RAM.
9179
9180 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9181
9182         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9183         (test_event), (timediff), (gstevents_suite):
9184           Provide more error margin in clock measurements to allow for 
9185           g_get_current_time inaccuracies.
9186
9187 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9188
9189         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9190         (test_event), (timediff), (gstevents_suite):
9191            Fix error message output so I might be able to tell why the
9192            test works here but fails on the build farm.
9193
9194 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9195
9196         * check/Makefile.am:
9197         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9198         (test_event), (timediff), (gstevents_suite), (main):
9199           I wrote a test!
9200
9201         * docs/design/part-seeking.txt:
9202           Spelling correction
9203
9204         * docs/gst/tmpl/gstevent.sgml:
9205         * docs/gst/tmpl/gstfakesrc.sgml:
9206           Docs updates.
9207
9208         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9209           Treat a buffer-without-newsegment the same as a receiving 
9210           a newsegment not in time format, and disable syncing to the clock
9211           with a warning.
9212
9213         * gst/gstbus.c: (gst_bus_set_sync_handler):
9214           Assert if anyone tries to replace the existing sync_handler for bus, 
9215           as only the owner should be setting it.
9216
9217         * gst/gstevent.h:
9218           Have a fixed set of custom event enums with events identified by
9219           their structure name (as in 0.8), rather than a free-for-all
9220           allowing collisions between enum values from different plugins.
9221
9222         * gst/gstpad.c: (gst_pad_class_init):
9223           Docs change.
9224           
9225         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9226           Handle out-of-band downstream events from the sending thread.
9227
9228 2005-08-17  Andy Wingo  <wingo@pobox.com>
9229
9230         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9231         play-timeout==0 to mean no timeout at all. In that case, don't
9232         bother with a get_state or a warning, just return directly, even
9233         if it's ASYNC.
9234
9235         * gst/base/gstbasetransform.c: Debug changes.
9236
9237         * gst/gstutils.h:
9238         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9239         ensure bins post state change messages. A bit of a hack but I can't
9240         think of a way to avoid it.
9241
9242         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9243
9244 2005-08-16  Andy Wingo  <wingo@pobox.com>
9245
9246         * gst/base/gstadapter.h:
9247         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9248         peek() but you own the data. Not terribly efficient atm.
9249
9250 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9251
9252         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9253         (gst_element_found_tags):
9254         * gst/gstutils.h:
9255           Add two utility functions for tag handling.
9256
9257 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9258
9259         * docs/manual/advanced-dataaccess.xml:
9260         * docs/manual/basics-helloworld.xml:
9261           Fix docs to use _bin_add() before _link(), which fixes the examples
9262           with recent core versions (reported by Madhan Raj M
9263           <raj_madan@rediffmail.com>, #313199).
9264
9265 2005-08-16  Wim Taymans  <wim@fluendo.com>
9266
9267         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9268         Added subtract checks.
9269
9270         * docs/design/part-events.txt:
9271         Some more docs about newsegment
9272
9273         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9274         Fix FIXME
9275
9276         * gst/gstcaps.c: (gst_caps_to_string):
9277         Add comments, cleanups.
9278         
9279         * gst/gstelement.c: (gst_element_save_thyself):
9280         cleanups
9281         
9282         * gst/gstvalue.c: (gst_value_collect_int_range),
9283         (gst_string_unwrap), (gst_value_union_int_int_range),
9284         (gst_value_union_int_range_int_range),
9285         (gst_value_intersect_int_int_range),
9286         (gst_value_intersect_int_range_int_range),
9287         (gst_value_intersect_double_double_range),
9288         (gst_value_intersect_double_range_double_range),
9289         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9290         (gst_value_subtract_int_range_int),
9291         (gst_value_subtract_double_range_double),
9292         (gst_value_subtract_double_range_double_range),
9293         (gst_value_subtract_from_list), (gst_value_subtract_list),
9294         (gst_value_can_compare), (gst_value_compare_fraction):
9295         Cleanups, add comments, remove unneeded asserts.
9296
9297 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9298
9299         * tools/gst-launch.c: (event_loop):
9300           don't convert NULL structures to strings
9301
9302 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9303
9304         * docs/gst/gstreamer-sections.txt:
9305           made some defines private
9306         * docs/gst/tmpl/gstconfig.sgml:
9307         * docs/gst/tmpl/gstqueue.sgml:
9308         * docs/gst/tmpl/gsttaglist.sgml:
9309         * docs/gst/tmpl/gsttypes.sgml:
9310         * docs/gst/tmpl/gstutils.sgml:
9311         * docs/pwg/appendix-porting.xml:
9312         * gst/base/gstbasesink.h:
9313         * gst/base/gstbasesrc.c:
9314         * gst/base/gstbasesrc.h:
9315         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9316         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9317         * gst/gstelement.c: (gst_element_class_init):
9318         * gst/gstpad.c: (gst_pad_class_init):
9319         * gst/gstqueue.c: (gst_queue_class_init):
9320         * gst/gstxml.c: (gst_xml_class_init):
9321           documented all undocumented signal inline
9322         * libs/gst/controller/gst-controller.h:
9323           added padding
9324
9325 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9326
9327         * docs/pwg/appendix-porting.xml:
9328           Document _set_link_function -> _set_setcaps_function.
9329
9330 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9331
9332         * check/Makefile.am:
9333           add a .check target for running the check
9334         * check/gst-libs/controller.c: (GST_START_TEST):
9335           cosmetic fixups
9336         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9337           complete checks for gstbuffer; would be nice if I could get the
9338           gcov stuff to work so I can see if I actually completed gstbuffer.c
9339         * check/gstcheck.h:
9340           add ASSERT_BUFFER_REFCOUNT
9341
9342 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9343
9344         * docs/gst/gstreamer-sections.txt:
9345         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9346         * gst/gsttag.h:
9347           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9348           spew out a warning if a tag that is already registered
9349           is re-registered, unless it is re-registered with a 
9350           different type (#308438).
9351
9352 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9353
9354         * docs/pwg/appendix-porting.xml:
9355         * docs/pwg/building-state.xml:
9356           Add some paragraphs about state changes in 0.9 to the PWG
9357           and the porting guide, in particular about the new meaning
9358           of GST_STATE_PAUSED and how to write state change functions
9359           with concurrent access by multiple threads in mind.
9360
9361 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9362
9363         * docs/gst/gstreamer-docs.sgml:
9364         * docs/libs/gstreamer-libs-docs.sgml:
9365           added deprecation and since indexes
9366         * libs/gst/controller/gst-controller.c:
9367         * libs/gst/controller/gst-helper.c:
9368           added since tags
9369
9370
9371 2005-08-11  Wim Taymans  <wim@fluendo.com>
9372
9373         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9374         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9375         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9376         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9377         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9378         (gst_ghost_pad_set_target):
9379         Actually implement (re)setting the target on a ghostpad
9380         as described in the docs.
9381
9382 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9383
9384         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9385           Check whether GST_DEBUG_NO_COLOR environment variable is
9386           set and disable coloured debug output if that is the case.
9387
9388 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9389
9390         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9391         (gst_type_find_helper):
9392           The memory returned by gst_type_find_peek() needs to
9393           stay valid until the end of a typefind function, and
9394           typefind functions may keep results from different 
9395           offsets around, so we can't just unref the buffer from
9396           the previous _peek(), but have to save all buffers 
9397           returned by _peek() until typefinding is done and only
9398           free them then.
9399
9400 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9401
9402         * docs/gst/gstreamer-sections.txt:
9403         * gst/gstutils.h:
9404           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9405
9406 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9407
9408         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9409           Fix a pretty good memleak.
9410
9411 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9412
9413         * gst/gstiterator.h:
9414           Fix wrong include and 'make distcheck'.
9415
9416 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9417
9418         * gst/gstbin.c: (bin_bus_handler):
9419           Use gst_element_post_message() instead.
9420
9421 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9422
9423         * gst/base/gstadapter.h:
9424         * gst/base/gstbasesink.h:
9425         * gst/base/gstbasesrc.h:
9426         * gst/base/gstbasetransform.h:
9427         * gst/base/gstcollectpads.h:
9428         * gst/base/gstpushsrc.h:
9429         * gst/gstiterator.h:
9430           Add padding to our base elements' class and instance structs and
9431           to GstIterator (you will need to rebuild all plugins and apps!)
9432
9433 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9434
9435         * gst/gstbin.c: (bin_bus_handler):
9436           Make default message forwarding from child->bus to bin->bus
9437           threadsafe and make it not emit warnings if the parent has no bus.
9438
9439 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9440
9441         * gst/gstelement.c: (activate_pads):
9442           On paused->ready, set pad->caps to NULL, as is the documented
9443           behaviour in this state change. Fixes playback of series of
9444           media files when visualization is enabled in Totem.
9445
9446 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9447
9448         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9449           Allow NULL as filter-caps (which means "any").
9450
9451 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9452
9453         * docs/libs/gstreamer-libs-sections.txt:
9454         * libs/gst/controller/gst-controller.c:
9455         * libs/gst/controller/gst-controller.h:
9456         * libs/gst/controller/gst-helper.c:
9457           adding more entries to the docs and fix small doc-bugs
9458
9459 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9460
9461         * docs/gst/gstreamer-docs.sgml:
9462         * docs/gst/gstreamer-sections.txt:
9463         * docs/gst/gstreamer.types:
9464         * docs/gst/tmpl/gstbasesink.sgml:
9465         * docs/gst/tmpl/gstbasesrc.sgml:
9466         * docs/gst/tmpl/gstbasetransform.sgml:
9467         * docs/gst/tmpl/gstfakesrc.sgml:
9468         * gst/base/gstcollectpads.c:
9469         * gst/base/gstcollectpads.h:
9470         * libs/gst/controller/gst-controller.c:
9471         * libs/gst/controller/gst-controller.h:
9472         * libs/gst/controller/gst-helper.c:
9473         * libs/gst/controller/gst-interpolation.c:
9474         * libs/gst/controller/lib.c:
9475           added long/short desc for controller docs
9476           added collectpads base class docs
9477           added correct includes to base-class docs
9478
9479 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9480
9481         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9482         (gst_test_mono_source_set_property),
9483         (gst_test_mono_source_class_init), (GST_START_TEST),
9484         (gst_controller_suite):
9485         * docs/gst/gstreamer-docs.sgml:
9486         * docs/gst/gstreamer-sections.txt:
9487         * docs/gst/gstreamer.types:
9488         * docs/libs/gstreamer-libs-docs.sgml:
9489         * docs/libs/gstreamer-libs-sections.txt:
9490         * gst/base/gstadapter.c:
9491         * libs/gst/controller/gst-controller.c:
9492         (gst_controlled_property_new), (gst_controlled_property_free),
9493         (gst_controller_new_valist),
9494         (gst_controller_remove_properties_valist),
9495         (gst_controller_sink_values), (_gst_controller_finalize):
9496         * libs/gst/controller/gst-controller.h:
9497         * libs/gst/controller/gst-helper.c:
9498         (gst_object_control_properties), (gst_object_uncontrol_properties),
9499         (gst_object_get_controller), (gst_object_set_controller),
9500         (gst_object_sink_values), (gst_object_get_value_arrays),
9501         (gst_object_get_value_array):
9502           more tests (and fixes) for the controller
9503           more docs for the controller
9504           integrated companies docs for the adapter 
9505
9506 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9507
9508         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9509         (GST_START_TEST), (fakesrc_suite):
9510           add tests for sizetype
9511
9512 2005-08-04  Andy Wingo  <wingo@pobox.com>
9513
9514         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9515         fixes buffer_alloc proxying among other things.
9516
9517         * gst/base/gstbasetransform.c:
9518         * gst/base/gstbasetransform.h:
9519         Revert patch to gstbasetransform from 7-28 removing
9520         delay_configure.
9521
9522         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9523         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9524         Semantics changed, should return not the size of the output buffer
9525         but the byte size of a buffer with a given caps.
9526
9527         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9528         debug object.
9529         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9530         out) are not the pad caps until setcaps finishes.
9531         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9532         not-in-place case as well. Deal with changing from in-place to
9533         not-in-place within calling pad_alloc_buffer. Still a bit
9534         concerned about the overhead here...
9535
9536 2005-08-03  Andy Wingo  <wingo@pobox.com>
9537
9538         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9539         fixating is an error.
9540
9541 2005-08-04  Edward Hervey  <edward@fluendo.com>
9542
9543         * gst/base/gstadapter.h: 
9544         Added gst_adapter_get_type() to the header
9545
9546 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9547
9548         * check/Makefile.am:
9549         * check/gst-libs/controller.c:
9550         * libs/gst/controller/gst-controller.c:
9551         (gst_controller_new_valist):
9552           added check test suite for the controller
9553         * gst/base/gstpushsrc.c:
9554           fixed a doc typo
9555
9556 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9557
9558         * docs/gst/Makefile.am:
9559         * docs/gst/gstreamer-docs.sgml:
9560         * docs/gst/gstreamer-sections.txt:
9561         * docs/gst/gstreamer.types:
9562         * docs/gst/tmpl/gstfakesrc.sgml:
9563         * gst/base/README:
9564         * gst/base/gstbasesink.c:
9565         * gst/base/gstbasesink.h:
9566         * gst/base/gstbasesrc.c:
9567         * gst/base/gstbasesrc.h:
9568         * gst/base/gstbasetransform.c:
9569         * gst/base/gstpushsrc.c:
9570         * gst/base/gstpushsrc.h:
9571           add short/long description docs to base classes
9572           add pushsrc to the docs
9573           remove consolidated doc fragments
9574
9575 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9576
9577         * configure.ac:
9578         * docs/libs/Makefile.am:
9579         * docs/libs/gstreamer-libs-docs.sgml:
9580         * docs/libs/gstreamer-libs-sections.txt:
9581         * docs/libs/gstreamer-libs.types:
9582         * examples/Makefile.am:
9583         * examples/controller/.cvsignore:
9584         * examples/controller/Makefile.am:
9585         * examples/controller/audio-example.c: (main):
9586         * libs/gst/Makefile.am:
9587         * libs/gst/controller/.cvsignore:
9588         * libs/gst/controller/Makefile.am:
9589         * libs/gst/controller/gst-controller.c:
9590         (on_object_controlled_property_changed), (gst_timed_value_compare),
9591         (gst_timed_value_find),
9592         (gst_controlled_property_set_interpolation_mode),
9593         (gst_controlled_property_new), (gst_controlled_property_free),
9594         (gst_controller_find_controlled_property),
9595         (gst_controller_new_valist), (gst_controller_new),
9596         (gst_controller_remove_properties_valist),
9597         (gst_controller_remove_properties), (gst_controller_set),
9598         (gst_controller_set_from_list), (gst_controller_unset),
9599         (gst_controller_get), (gst_controller_get_all),
9600         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9601         (gst_controller_get_value_array),
9602         (gst_controller_set_interpolation_mode),
9603         (_gst_controller_finalize), (_gst_controller_init),
9604         (_gst_controller_class_init), (gst_controller_get_type):
9605         * libs/gst/controller/gst-controller.h:
9606         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9607         (g_object_uncontrol_properties), (g_object_get_controller),
9608         (g_object_set_controller), (g_object_sink_values),
9609         (g_object_get_value_arrays), (g_object_get_value_array):
9610         * libs/gst/controller/gst-interpolation.c:
9611         (gst_controlled_property_find_timed_value_node),
9612         (interpolate_none_get), (interpolate_trigger_get),
9613         (interpolate_trigger_get_value_array):
9614         * libs/gst/controller/lib.c: (gst_controller_init):
9615         * pkgconfig/Makefile.am:
9616         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9617         * pkgconfig/gstreamer-control.pc.in:
9618         * testsuite/Makefile.am:
9619         * testsuite/controller/.cvsignore:
9620         * testsuite/controller/Makefile.am:
9621         * testsuite/controller/interpolator.c: (main):
9622           added controller code
9623           removed dparam pc files
9624
9625 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9626         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9627         (gst_collectpads_stop):
9628           Broadcast the condition when shutting down, to make sure we wake all
9629           threads up. Shut down pads on finalize, for safety.
9630
9631 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9632         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9633         (gst_base_transform_handle_buffer),
9634         (gst_base_transform_change_state):
9635           Handle PAUSED->READY->PAUSED transition after negotiation
9636           occurred already.
9637         * gst/gstmessage.c: (gst_message_init):
9638           Extra piece of debug for new messages.
9639
9640 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9641
9642         * configure.ac:
9643         * docs/gst/tmpl/gstbasesrc.sgml:
9644         * docs/gst/tmpl/gstelement.sgml:
9645         * docs/gst/tmpl/gstevent.sgml:
9646         * docs/gst/tmpl/gstfakesrc.sgml:
9647         * docs/gst/tmpl/gstformat.sgml:
9648         * docs/gst/tmpl/gstghostpad.sgml:
9649         * docs/gst/tmpl/gstpad.sgml:
9650         * docs/gst/tmpl/gstquery.sgml:
9651         * docs/gst/tmpl/gststructure.sgml:
9652         * docs/gst/tmpl/gsttaglist.sgml:
9653         * docs/gst/tmpl/gstvalue.sgml:
9654         * docs/libs/gstreamer-libs-docs.sgml:
9655         * docs/libs/gstreamer-libs-sections.txt:
9656         * docs/libs/gstreamer-libs.types:
9657         * libs/gst/Makefile.am:
9658         * libs/gst/control/.cvsignore:
9659         * libs/gst/control/Makefile.am:
9660         * libs/gst/control/control.c:
9661         * libs/gst/control/control.h:
9662         * libs/gst/control/dparam.c:
9663         * libs/gst/control/dparam.h:
9664         * libs/gst/control/dparam_smooth.c:
9665         * libs/gst/control/dparam_smooth.h:
9666         * libs/gst/control/dparamcommon.h:
9667         * libs/gst/control/dparammanager.c:
9668         * libs/gst/control/dparammanager.h:
9669         * libs/gst/control/dplinearinterp.c:
9670         * libs/gst/control/dplinearinterp.h:
9671         * libs/gst/control/unitconvert.c:
9672         * libs/gst/control/unitconvert.h:
9673         * testsuite/Makefile.am:
9674         * testsuite/dynparams/.cvsignore:
9675         * testsuite/dynparams/Makefile.am:
9676         * testsuite/dynparams/dparamstest.c:
9677         * tools/Makefile.am:
9678         * tools/gst-inspect.c: (print_element_info), (main):
9679         * tools/gst-xmlinspect.c: (print_element_info), (main):
9680           deactivate and remove dparams (libgstcontrol)
9681
9682 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9683
9684         * gst/elements/gsttypefindelement.c:
9685         (gst_type_find_element_have_type), (gst_type_find_element_init),
9686         (stop_typefinding), (gst_type_find_element_handle_event),
9687         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9688         * gst/elements/gsttypefindelement.h:
9689           Set caps on all outgoing buffers, not just the first one.
9690
9691 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9692
9693         * gst/elements/gsttypefindelement.c:
9694         (gst_type_find_element_have_type),
9695         (gst_type_find_element_check_set_buffer_caps),
9696         (gst_type_find_element_init), (stop_typefinding),
9697         (gst_type_find_element_handle_event),
9698         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9699         * gst/elements/gsttypefindelement.h:
9700           Set caps on first outgoing buffer when we've found the type.
9701
9702 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9703
9704         * docs/gst/gstreamer-docs.sgml:
9705         * docs/gst/gstreamer-sections.txt:
9706         * docs/gst/tmpl/gstscheduler.sgml:
9707         * docs/gst/tmpl/gstschedulerfactory.sgml:
9708           Remove some old cruft from docs.
9709
9710 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9711
9712         * gst/gstpad.h:
9713           Fix inline docs for GstPadLinkReturn.
9714           
9715         * gst/gststructure.c: (gst_structure_has_name):
9716         * gst/gststructure.h:
9717         * docs/gst/gstreamer-sections.txt:
9718           New API: gst_structure_has_name().
9719
9720 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9721
9722         * configure.ac:
9723           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9724           and _LARGEFILE_SOURCE in config.h as required. Do not 
9725           export those flags in our .pc files any longer (#142209).
9726
9727           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9728
9729         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9730         (gst_file_sink_do_seek), (gst_file_sink_event),
9731         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9732           Redo seek/tell calls with large file support in mind; add some
9733           debugging messages; add log message that tells us when large
9734           file support is unavailable or not enabled for some reason.
9735
9736         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9737           Add log message that tells us when large file support 
9738           is unavailable or not enabled for some reason.
9739
9740 2005-07-29  Wim Taymans  <wim@fluendo.com>
9741
9742         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9743         Added test for removing an element with ghostpad from a bin.
9744         Fixed test as current implementation does the right thing.
9745
9746         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9747         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9748         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9749         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9750         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9751         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9752         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9753         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9754         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9755         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9756         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9757         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9758         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9759         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9760         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9761         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9762         * gst/gstghostpad.h:
9763         Clean up ghostpads, remove properties for internal stuff.
9764         Make threadsafe.
9765         Fix refcounting.
9766         Prepare for switching targets, not all use cases work yet.
9767
9768 2005-07-29  Wim Taymans  <wim@fluendo.com>
9769
9770         * docs/design/part-gstghostpad.txt:
9771         Small update.
9772
9773         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9774         (gst_bin_remove_func):
9775         Unlinking pads while holding the bin LOCK is not a good
9776         idea.
9777
9778         * gst/gstpad.c: (gst_pad_class_init),
9779         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9780         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9781         No prob setting template after creating the pad.
9782
9783 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9784
9785         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9786         (gst_bus_peek), (gst_bus_source_dispatch),
9787         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9788         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9789           gst_bus_poll may be called from other threads. Handle
9790           this nicely by not making poll_data disappear off the
9791           stack once gst_bus_poll returns.
9792           gst_bus_peek now increments the refcount on the returned
9793           message.
9794
9795 2005-07-29  Wim Taymans  <wim@fluendo.com>
9796
9797         * docs/design/part-gstghostpad.txt:
9798         Overview of current GhostPad datastructures and use
9799         cases for changing the target.
9800
9801 2005-07-28  Wim Taymans  <wim@fluendo.com>
9802
9803         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9804         Added checks for hierarchy consistency whan adding linked
9805         elements to bins.
9806
9807         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9808         Added check to test element scheduling without bin/pipeline.
9809
9810         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9811         First add elements to bin, then link.
9812         
9813         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9814         (gst_bin_remove_func):
9815         Unlink pads from elements added/removed from bin to maintain
9816         hierarchy consistency.
9817
9818 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9819
9820         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9821         (gst_base_transform_handle_buffer):
9822         * gst/base/gstbasetransform.h:
9823           Remove broken delay_configure (fixes renegotiation of software
9824           scaling pipelines); remove some leftover printf()s.
9825
9826 2005-07-28  Wim Taymans  <wim@fluendo.com>
9827
9828         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9829         Added some more tests for wrong hierarchy
9830
9831         * docs/design/part-overview.txt:
9832         Some updates.
9833
9834         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9835         Cleanups.
9836
9837         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9838         (gst_element_dispose):
9839         Some more cleanups.
9840
9841         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9842         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9843         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9844         (gst_pad_set_caps), (gst_pad_send_event):
9845         Check for correct hierarchy when linking pads. Moving to
9846         strict requirement for ghostpads when linking elements in
9847         different bins.
9848
9849         * gst/gstpad.h:
9850         Clean ups. Added WRONG_HIERARCHY return value.
9851
9852 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9853
9854         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9855           Better debug if no transform is possible.
9856
9857 2005-07-27  Wim Taymans  <wim@fluendo.com>
9858
9859         * docs/random/wtay/network-transp:
9860         Some old doc I had.
9861
9862 2005-07-27  Wim Taymans  <wim@fluendo.com>
9863
9864         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9865         (gst_dp_event_from_packet):
9866         Fix serialization of seek events.
9867
9868 2005-07-27  Wim Taymans  <wim@fluendo.com>
9869
9870         * check/gst-libs/gdp.c: (GST_START_TEST):
9871         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9872         Fix compilation and fix event serialization.
9873
9874 2005-07-27  Wim Taymans  <wim@fluendo.com>
9875
9876         * CHANGES-0.9:
9877         * docs/design/part-TODO.txt:
9878         * docs/design/part-events.txt:
9879         Some docs updates
9880
9881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9882         (gst_base_sink_event), (gst_base_sink_do_sync),
9883         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9884         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9885         (gst_base_src_do_seek), (gst_base_src_event_handler),
9886         (gst_base_src_loop):
9887         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9888         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9889         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9890         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9891         (gst_base_transform_set_passthrough),
9892         (gst_base_transform_is_passthrough):
9893         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9894         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9895         Event updates.
9896
9897         * gst/gstbuffer.h:
9898         Use faster casts.
9899
9900         * gst/gstelement.c: (gst_element_seek):
9901         * gst/gstelement.h:
9902         Update gst_element_seek.
9903
9904         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9905         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9906         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9907         (gst_event_new_eos), (gst_event_new_newsegment),
9908         (gst_event_parse_newsegment), (gst_event_new_tag),
9909         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9910         (gst_event_parse_qos), (gst_event_new_seek),
9911         (gst_event_parse_seek), (gst_event_new_navigation):
9912         * gst/gstevent.h:
9913         Make GstEvent use GstStructure. Add parsing code, make sure the
9914         API is sufficiently generic.
9915         Mark possible directions of events and serialization.
9916
9917         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9918         (_gst_message_copy), (gst_message_new_segment_start),
9919         (gst_message_new_segment_done), (gst_message_new_custom),
9920         (gst_message_parse_segment_start),
9921         (gst_message_parse_segment_done):
9922         Small cleanups.
9923
9924         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9925         (gst_pad_set_caps), (gst_pad_send_event):
9926         Update for new events. 
9927         Catch events sent in wrong directions.
9928
9929         * gst/gstqueue.c: (gst_queue_link_src),
9930         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9931         (gst_queue_handle_src_query):
9932         Event updates.
9933
9934         * gst/gsttag.c:
9935         * gst/gsttag.h:
9936         Remove event code from this file.
9937
9938         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9939         (gst_dp_event_from_packet):
9940         Event updates.
9941
9942 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9943
9944         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9945         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9946         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9947           Make debugging actually useful.
9948
9949 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9950
9951         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9952         (gst_pad_fixate_caps):
9953           Implement default fixation once again, so that gst_pad_fixate()
9954           actually does anything at all. This probably needs to be some
9955           sort of a last resort, and use profile-based fixation first, but
9956           since that doesn't exist yet, this is the best we have. Fixes
9957           visualization in Totem.
9958
9959 2005-07-22  Wim Taymans  <wim@fluendo.com>
9960
9961         * docs/design/part-events.txt:
9962         Small update.
9963
9964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9965         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9966         (gst_base_sink_activate_pull):
9967         Some more comments.
9968
9969         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9970         (gst_fake_src_create):
9971         Fix handoff marshall.
9972
9973         * gst/elements/gstidentity.c: (gst_identity_class_init),
9974         (gst_identity_transform_ip):
9975         We're a real inplace element.
9976
9977         * gst/gstbus.c: (gst_bus_post):
9978         Added some comments.
9979
9980         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9981         * tests/muxing/case1.c: (main):
9982         * tests/sched/dynamic-pipeline.c: (main):
9983         * tests/sched/interrupt1.c: (main):
9984         * tests/sched/interrupt2.c: (main):
9985         * tests/sched/interrupt3.c: (main):
9986         * tests/sched/runxml.c: (main):
9987         * tests/sched/sched-stress.c: (main):
9988         * tests/seeking/seeking1.c: (event_received), (main):
9989         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9990         (main):
9991         * tests/threadstate/threadstate3.c: (main):
9992         * tests/threadstate/threadstate4.c: (main):
9993         * tests/threadstate/threadstate5.c: (main):
9994         Fix the tests.
9995
9996 2005-07-21  Wim Taymans  <wim@fluendo.com>
9997
9998         * docs/design/part-seeking.txt:
9999         Some small additions.
10000
10001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10002         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10003         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10004         * gst/base/gstbasesink.h:
10005         discont values are gint64, handle the math correctly.
10006
10007         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10008         Make the basesrc report error if the source pad is not linked.
10009
10010         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10011         (gst_queue_loop), (gst_queue_handle_src_query),
10012         (gst_queue_src_activate_push):
10013         Make queue collect data even if the srcpad is not linked.
10014         Start pushing out data as soon as it is linked.
10015
10016         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10017         * gst/gstutils.h:
10018         Added gst_flow_get_name() to ease error reporting.
10019
10020 2005-07-20  Wim Taymans  <wim@fluendo.com>
10021
10022         * gst/gstmessage.c: (gst_message_new_segment_start),
10023         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10024         (gst_message_parse_segment_done):
10025         * gst/gstmessage.h:
10026         Added a bunch of messages for advanced seeking.
10027
10028         * gst/parse/grammar.y:
10029         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10030         (gst_dpman_state_changed):
10031         Fix some new-pad -> pad-added signals
10032
10033 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10034
10035         * docs/manual/appendix-porting.xml:
10036         * docs/pwg/appendix-porting.xml:
10037           Document new-pad/state-change signal renames and the FixedList
10038           type rename.
10039
10040 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10041
10042         * docs/manual/advanced-autoplugging.xml:
10043         * docs/manual/basics-helloworld.xml:
10044         * docs/manual/basics-pads.xml:
10045         * docs/random/ds/0.9-suggested-changes:
10046         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10047         * gst/gstelement.h:
10048         * gst/gstevent.h:
10049         * gst/gstformat.h:
10050         * gst/gstquery.h:
10051         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10052         (gst_structure_parse_array), (gst_structure_parse_value):
10053         * gst/gstvalue.c: (gst_type_is_fixed),
10054         (gst_value_list_prepend_value), (gst_value_list_append_value),
10055         (gst_value_list_get_size), (gst_value_list_get_value),
10056         (gst_value_transform_array_string), (gst_value_serialize_array),
10057         (gst_value_deserialize_array), (gst_value_intersect_array),
10058         (gst_value_is_fixed), (_gst_value_initialize):
10059         * gst/gstvalue.h:
10060           GstElement::new-pad -> pad-added, GstElement::state-change ->
10061           state-changed, GstValueFixedList -> GstValueArray, add format and
10062           flags as their own arguments in gst_element_seek() (should improve
10063           "bindeability"), remove function generators since they don't work
10064           under a whole bunch of compilers (they were deprecated already
10065           anyway).
10066
10067 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10068
10069         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10070         (_gst_debug_register_funcptr):
10071         * gst/gstinfo.h:
10072           Fix illegal cast on some platforms (#309253).
10073
10074 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10075
10076         * gst/gstmessage.c: (gst_message_new_custom):
10077         * gst/gstmessage.h:
10078           Add _new_custom, make _new_application a macro to _new_custom.
10079
10080 2005-07-20  Wim Taymans  <wim@fluendo.com>
10081
10082         * gst/base/gstbasesrc.c: (gst_base_src_init),
10083         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10084         * gst/base/gstbasesrc.h:
10085         Add a gboolean to decide when to push out a discont.
10086
10087         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10088         (gst_queue_loop), (gst_queue_handle_src_query),
10089         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10090         (gst_queue_set_property), (gst_queue_get_property):
10091         Some cleanups.
10092
10093         * tests/threadstate/threadstate1.c: (main):
10094         Make a thread test compile and run... very silly..
10095
10096
10097 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10098
10099         * docs/manual/appendix-porting.xml:
10100           Mention removal of libgstgconf-0.9.la and existence of gconf
10101           elements.
10102
10103 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10104
10105         * docs/pwg/advanced-clock.xml:
10106         * docs/pwg/appendix-porting.xml:
10107         * docs/pwg/intro-preface.xml:
10108         * docs/pwg/other-base.xml:
10109         * docs/pwg/other-manager.xml:
10110         * docs/pwg/other-nton.xml:
10111         * docs/pwg/other-ntoone.xml:
10112         * docs/pwg/other-oneton.xml:
10113         * docs/pwg/pwg.xml:
10114           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10115           demuxer), remove n-to-n (was never written), fix some code examples
10116           and links and update the porting section to include all this.
10117
10118 2005-07-19  Wim Taymans  <wim@fluendo.com>
10119
10120         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10121         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10122         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10123         (gst_queue_src_activate_push), (gst_queue_change_state),
10124         (gst_queue_get_property):
10125         * gst/gstqueue.h:
10126         Propagate GstFlowReturn more intelligently upstream and output
10127         an ERROR/EOS when streaming stopped due to fatal error.
10128
10129 2005-07-19  Wim Taymans  <wim@fluendo.com>
10130
10131         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10132         Don't block forever for the state change to complete, the
10133         pipeline already did with a sensible timeout.
10134
10135 2005-07-19  Wim Taymans  <wim@fluendo.com>
10136
10137         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10138         Make sure we never call the create function is we
10139         got deactivated.
10140
10141 2005-07-19  Andy Wingo  <wingo@pobox.com>
10142
10143         * gst/parse/parse.l: Attempt to solve bug #172815.
10144
10145 2005-07-19  Wim Taymans  <wim@fluendo.com>
10146
10147         * docs/design/part-clocks.txt:
10148         * docs/design/part-events.txt:
10149         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10150         Small docs updates.
10151         Only update the seeking values when we are not
10152         busy streaming.
10153
10154 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10155
10156         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10157           Oops, ignore the result of gst_pad_push_event here.
10158
10159 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10160
10161         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10162         (gst_base_src_activate_push):
10163           Send discont event from the loop function, as pads
10164           aren't activated yet in the activate_push handler.
10165
10166         * gst/gstbin.c: (bin_bus_handler):
10167           Don't leak element name.
10168
10169 2005-07-18  Andy Wingo  <wingo@pobox.com>
10170
10171         * configure.ac: Use AS_LIBTOOL_TAGS.
10172
10173 2005-07-18  Wim Taymans  <wim@fluendo.com>
10174
10175         * docs/gst/gstreamer.types:
10176         Remove deleted types.
10177
10178 2005-07-18  Wim Taymans  <wim@fluendo.com>
10179
10180         * check/elements/gstfakesrc.c: (GST_START_TEST):
10181         * configure.ac:
10182         * gst/Makefile.am:
10183         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10184         (init_popt_callback):
10185         * gst/gst.h:
10186         * gst/gst_private.h:
10187         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10188         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10189         * gst/gstbin.h:
10190         * gst/gstbus.h:
10191         * gst/gstconfig.h.in:
10192         * gst/gstelement.c: (gst_element_class_init),
10193         (gst_element_set_base_time), (gst_element_get_base_time),
10194         (iterator_fold_with_resync), (gst_element_change_state),
10195         (gst_element_dispose), (gst_element_get_bus):
10196         * gst/gstelement.h:
10197         * gst/gstelementfactory.h:
10198         * gst/gsterror.c: (_gst_core_errors_init):
10199         * gst/gsterror.h:
10200         * gst/gstevent.h:
10201         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10202         * gst/gstindex.c:
10203         * gst/gstinfo.c: (_gst_debug_init):
10204         * gst/gstmessage.c: (_gst_message_copy):
10205         * gst/gstmessage.h:
10206         * gst/gstminiobject.h:
10207         * gst/gstobject.c:
10208         * gst/gstobject.h:
10209         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10210         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10211         * gst/gstpad.h:
10212         * gst/gstparse.h:
10213         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10214         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10215         (gst_pipeline_get_last_stream_time):
10216         * gst/gstpipeline.h:
10217         * gst/gstpluginfeature.h:
10218         * gst/gstquery.h:
10219         * gst/gstscheduler.c:
10220         * gst/gstscheduler.h:
10221         * gst/gststructure.h:
10222         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10223         (gst_task_finalize), (gst_task_func), (gst_task_create),
10224         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10225         (gst_task_stop), (gst_task_pause):
10226         * gst/gsttask.h:
10227         * gst/gsttypefind.h:
10228         * gst/gsttypes.h:
10229         * gst/registries/gstlibxmlregistry.c: (load_feature),
10230         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10231         * gst/registries/gstxmlregistry.c:
10232         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10233         * gst/schedulers/threadscheduler.c:
10234         * libs/gst/control/dparammanager.h:
10235         * tools/gst-inspect.c: (print_element_list),
10236         (print_plugin_features), (print_element_features):
10237         * tools/gst-xmlinspect.c: (print_element_list),
10238         (print_plugin_info), (main):
10239         Removed plugable schedulers.
10240         Removed Scheduler/Manager from elements.
10241         Removed gsttypes.h, rearranged includes.
10242         Removed dependency pad<->element, element<>pipeline, and
10243         various others,  fix includes.
10244         implement gst_pad_get_parent() with gst_object_get_parent()
10245         Make GstTask sefcontained.
10246         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10247         timeout.
10248         Fix endless loop in iterator_fold_with_resync.
10249
10250
10251 2005-07-18  Wim Taymans  <wim@fluendo.com>
10252
10253         * gst/Makefile.am:
10254         * gst/gstarch.h:
10255         Remove old file.
10256
10257 2005-07-18  Wim Taymans  <wim@fluendo.com>
10258
10259         * gst/Makefile.am:
10260         No more cothreads.h
10261
10262 2005-07-18  Wim Taymans  <wim@fluendo.com>
10263
10264         * gst/cothreads.c:
10265         * gst/cothreads.h:
10266         Let's remove these.
10267
10268 2005-07-18  Wim Taymans  <wim@fluendo.com>
10269
10270         * docs/design/part-dynamic.txt:
10271         * docs/design/part-events.txt:
10272         * docs/design/part-seeking.txt:
10273         Some more docs in the works.
10274
10275         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10276         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10277         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10278         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10279         (gst_base_transform_handle_buffer),
10280         (gst_base_transform_sink_activate_push),
10281         (gst_base_transform_src_activate_pull),
10282         (gst_base_transform_set_passthrough),
10283         (gst_base_transform_is_passthrough):
10284         Refcounting fixes.
10285
10286         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10287         Cleanups.
10288
10289         * gst/gstevent.c: (gst_event_finalize):
10290         Set SRC to NULL.
10291
10292         * gst/gstutils.c: (gst_element_unlink),
10293         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10294         (gst_pad_proxy_setcaps):
10295         * gst/gstutils.h:
10296         Add _get_parent_element() to get a pads parent as an element.
10297
10298 2005-07-18  Wim Taymans  <wim@fluendo.com>
10299
10300         * check/gst/gstbin.c: (GST_START_TEST):
10301         Remove bogus test.
10302
10303 2005-07-18  Wim Taymans  <wim@fluendo.com>
10304
10305         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10306         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10307         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10308         (gst_base_sink_event), (gst_base_sink_do_sync),
10309         (gst_base_sink_chain), (gst_base_sink_loop),
10310         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10311         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10312         Refcounting fixes.
10313         Fix logic for returning ASYNC when not prerolled.
10314
10315 2005-07-18  Wim Taymans  <wim@fluendo.com>
10316
10317         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10318         Fix nasty refcount bug.
10319
10320 2005-07-16 Philippe Khalaf <burger@speedy.org>
10321
10322         * gst/elements/gstfdsrc.c:
10323         * gst/elements/gstfdsrc.h:
10324         * gst/elements/gstelements.c:
10325         * gst/elements/Makefile.am:
10326         Ported fdsrc to 0.9.
10327
10328 2005-07-16  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10331         (gst_base_sink_do_sync):
10332         Fix compile error.
10333
10334 2005-07-16  Wim Taymans  <wim@fluendo.com>
10335
10336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10337         (gst_base_sink_event), (gst_base_sink_get_times),
10338         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10339         * gst/base/gstbasesink.h:
10340         Store and use discont values when syncing buffers as described
10341         in design docs.
10342         
10343         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10344         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10345         (gst_base_src_activate_push):
10346         Push discont event when starting.
10347
10348         * gst/elements/gstidentity.c: (gst_identity_transform):
10349         Small cleanups.
10350
10351         * gst/gstbin.c: (gst_bin_change_state):
10352         Small cleanups in base_time  distribution.
10353
10354         * gst/gstelement.c: (gst_element_set_base_time),
10355         (gst_element_get_base_time), (gst_element_change_state):
10356         * gst/gstelement.h:
10357         Added methods for the base_time of the element.
10358         Some MT fixes.
10359
10360         * gst/gstpipeline.c: (gst_pipeline_send_event),
10361         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10362         (gst_pipeline_get_last_stream_time):
10363         * gst/gstpipeline.h:
10364         MT fixes.
10365         Handle seeking as described in design doc, remove stream_time
10366         hack.
10367         Cleanups clock and stream_time selection code. Added accessors
10368         for the stream_time.
10369         
10370
10371 2005-07-16  Andy Wingo  <wingo@pobox.com>
10372
10373         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10374         (#305291).
10375
10376 2005-07-16  Wim Taymans  <wim@fluendo.com>
10377
10378         * check/gst/gstbin.c: (GST_START_TEST):
10379         Make elements silent as the deep_notify refs the
10380         parent, which might make the test fail.
10381
10382         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10383         Don't hold the lock for too long.
10384
10385 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10386
10387         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10388           Don't unref the caps we passed to gst_caps_make_writable() after
10389           passing them. gst_caps_make_writable() will do that for us.
10390
10391 2005-07-15  Andy Wingo  <wingo@pobox.com>
10392
10393         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10394         (#157311).
10395
10396         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10397         own marshalling function for the handoff signal. Properly type the
10398         buffer as a buffer. Fixes some warnings. Should do a more general
10399         solution.
10400         (gst_identity_class_init): Plug into the right marshaller.
10401
10402 2005-07-15  Wim Taymans  <wim@fluendo.com>
10403
10404         * docs/design/part-TODO.txt:
10405         * docs/design/part-clocks.txt:
10406         * docs/design/part-element-sink.txt:
10407         * docs/design/part-events.txt:
10408         * docs/design/part-gstpipeline.txt:
10409         Updated docs, mostly DISCONT related.
10410
10411 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10412
10413         * docs/pwg/building-pads.xml:
10414           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10415
10416 2005-07-15  Andy Wingo  <wingo@pobox.com>
10417
10418         * tools/gst-typefind.c: Update, add copyright block.
10419
10420         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10421         Normalize and truncate caps before fixation.
10422
10423         * gst/gstcaps.h:
10424         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10425         discards all but the first structure from its argument.
10426
10427 2005-07-15  Wim Taymans  <wim@fluendo.com>
10428
10429         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10430         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10431         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10432         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10433         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10434         (gst_base_transform_chain), (gst_base_transform_change_state),
10435         (gst_base_transform_set_passthrough),
10436         (gst_base_transform_is_passthrough):
10437         * gst/base/gstbasetransform.h:
10438         Make passthrough work using the bufferpools.
10439         Changed API a bit, subclasses have to write into a buffer
10440         provided by the base class.
10441         More debug info in nego functions.
10442         
10443         * gst/elements/gstidentity.c: (gst_identity_init),
10444         (gst_identity_transform):
10445         Port to new base class.
10446
10447 2005-07-15  Wim Taymans  <wim@fluendo.com>
10448
10449         * gst/gstmessage.c: (gst_message_new_state_changed):
10450         * tools/gst-launch.c: (event_loop), (main):
10451         Totally dump messages in -launch with the -m option.
10452         Fix message name for State messages,
10453
10454 2005-07-14  Wim Taymans  <wim@fluendo.com>
10455
10456         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10457         Post error messages on errors.
10458
10459 2005-07-14  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/gstcaps.c: (gst_caps_do_simplify):
10462         Remove debug info.
10463
10464         * gst/gsterror.h:
10465         Define error for stream stopped.
10466
10467         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10468         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10469         Do proper return values.
10470
10471         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10472         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10473         (gst_pad_get_range):
10474         Better return values.
10475
10476         * gst/gstpad.h:
10477         Reorganise return values, add macro to check for fatal errors.
10478
10479         * gst/gstqueue.c: (gst_queue_chain):
10480         Return proper GstFlowReturn values,
10481
10482 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10483
10484         * docs/gst/gstreamer-sections.txt:
10485         * docs/gst/gstreamer.types:
10486         * docs/gst/tmpl/gst.sgml:
10487         * docs/gst/tmpl/gstbasesink.sgml:
10488         * docs/gst/tmpl/gstbasesrc.sgml:
10489         * docs/gst/tmpl/gstbasetransform.sgml:
10490         * docs/gst/tmpl/gstbin.sgml:
10491         * docs/gst/tmpl/gstbuffer.sgml:
10492         * docs/gst/tmpl/gstcaps.sgml:
10493         * docs/gst/tmpl/gstclock.sgml:
10494         * docs/gst/tmpl/gstcompat.sgml:
10495         * docs/gst/tmpl/gstconfig.sgml:
10496         * docs/gst/tmpl/gstelement.sgml:
10497         * docs/gst/tmpl/gstelementdetails.sgml:
10498         * docs/gst/tmpl/gstelementfactory.sgml:
10499         * docs/gst/tmpl/gstenumtypes.sgml:
10500         * docs/gst/tmpl/gsterror.sgml:
10501         * docs/gst/tmpl/gstevent.sgml:
10502         * docs/gst/tmpl/gstfakesink.sgml:
10503         * docs/gst/tmpl/gstfakesrc.sgml:
10504         * docs/gst/tmpl/gstfilesink.sgml:
10505         * docs/gst/tmpl/gstfilesrc.sgml:
10506         * docs/gst/tmpl/gstfilter.sgml:
10507         * docs/gst/tmpl/gstformat.sgml:
10508         * docs/gst/tmpl/gstghostpad.sgml:
10509         * docs/gst/tmpl/gstimplementsinterface.sgml:
10510         * docs/gst/tmpl/gstindex.sgml:
10511         * docs/gst/tmpl/gstindexfactory.sgml:
10512         * docs/gst/tmpl/gstinfo.sgml:
10513         * docs/gst/tmpl/gstiterator.sgml:
10514         * docs/gst/tmpl/gstmacros.sgml:
10515         * docs/gst/tmpl/gstmemchunk.sgml:
10516         * docs/gst/tmpl/gstminiobject.sgml:
10517         * docs/gst/tmpl/gstobject.sgml:
10518         * docs/gst/tmpl/gstpad.sgml:
10519         * docs/gst/tmpl/gstpadtemplate.sgml:
10520         * docs/gst/tmpl/gstparse.sgml:
10521         * docs/gst/tmpl/gstpipeline.sgml:
10522         * docs/gst/tmpl/gstplugin.sgml:
10523         * docs/gst/tmpl/gstpluginfeature.sgml:
10524         * docs/gst/tmpl/gstquery.sgml:
10525         * docs/gst/tmpl/gstqueue.sgml:
10526         * docs/gst/tmpl/gstregistry.sgml:
10527         * docs/gst/tmpl/gstregistrypool.sgml:
10528         * docs/gst/tmpl/gstscheduler.sgml:
10529         * docs/gst/tmpl/gstschedulerfactory.sgml:
10530         * docs/gst/tmpl/gststructure.sgml:
10531         * docs/gst/tmpl/gstsystemclock.sgml:
10532         * docs/gst/tmpl/gsttaglist.sgml:
10533         * docs/gst/tmpl/gsttagsetter.sgml:
10534         * docs/gst/tmpl/gsttrace.sgml:
10535         * docs/gst/tmpl/gsttrashstack.sgml:
10536         * docs/gst/tmpl/gsttypefind.sgml:
10537         * docs/gst/tmpl/gsttypefindfactory.sgml:
10538         * docs/gst/tmpl/gsttypes.sgml:
10539         * docs/gst/tmpl/gsturihandler.sgml:
10540         * docs/gst/tmpl/gsturitype.sgml:
10541         * docs/gst/tmpl/gstutils.sgml:
10542         * docs/gst/tmpl/gstvalue.sgml:
10543         * docs/gst/tmpl/gstversion.sgml:
10544         * docs/gst/tmpl/gstxml.sgml:
10545         * docs/libs/tmpl/gstcontrol.sgml:
10546         * docs/libs/tmpl/gstdataprotocol.sgml:
10547         * docs/libs/tmpl/gstdparam.sgml:
10548         * docs/libs/tmpl/gstdplinint.sgml:
10549         * docs/libs/tmpl/gstdpman.sgml:
10550         * docs/libs/tmpl/gstdpsmooth.sgml:
10551         * docs/libs/tmpl/gstgetbits.sgml:
10552         * docs/libs/tmpl/gstunitconvert.sgml:
10553         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10554         (gst_push_src_base_init), (gst_push_src_class_init),
10555         (gst_push_src_init), (gst_push_src_create):
10556         * gst/base/gstpushsrc.h:
10557         * gst/elements/gstelements.c:
10558         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10559         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10560         (gst_fake_sink_init), (gst_fake_sink_set_property),
10561         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10562         (gst_fake_sink_event), (gst_fake_sink_preroll),
10563         (gst_fake_sink_render), (gst_fake_sink_change_state):
10564         * gst/elements/gstfakesink.h:
10565         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10566         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10567         (gst_fake_src_base_init), (gst_fake_src_class_init),
10568         (gst_fake_src_init), (gst_fake_src_event_handler),
10569         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10570         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10571         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10572         (gst_fake_src_create_buffer), (gst_fake_src_create),
10573         (gst_fake_src_start), (gst_fake_src_stop):
10574         * gst/elements/gstfakesrc.h:
10575         * gst/elements/gstfilesink.c: (_do_init),
10576         (gst_file_sink_base_init), (gst_file_sink_class_init),
10577         (gst_file_sink_init), (gst_file_sink_dispose),
10578         (gst_file_sink_set_location), (gst_file_sink_set_property),
10579         (gst_file_sink_get_property), (gst_file_sink_open_file),
10580         (gst_file_sink_close_file), (gst_file_sink_query),
10581         (gst_file_sink_event), (gst_file_sink_render),
10582         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10583         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10584         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10585         * gst/elements/gstfilesink.h:
10586         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10587         (gst_file_src_class_init), (gst_file_src_init),
10588         (gst_file_src_finalize), (gst_file_src_set_location),
10589         (gst_file_src_set_property), (gst_file_src_get_property),
10590         (gst_file_src_map_region), (gst_file_src_map_small_region),
10591         (gst_file_src_create_mmap), (gst_file_src_create_read),
10592         (gst_file_src_create), (gst_file_src_is_seekable),
10593         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10594         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10595         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10596         (gst_file_src_uri_handler_init):
10597         * gst/elements/gstfilesrc.h:
10598           more autistic cleanliness in functions/names/defines
10599
10600 2005-07-13  Andy Wingo  <wingo@pobox.com>
10601
10602         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10603         source couldn't negotiate.
10604
10605         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10606         connections again.
10607
10608         * gst/gstutils.h:
10609         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10610         function. I am channeling Hades. Put your boots on suckers!!!
10611
10612 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10613
10614         * testsuite/caps/Makefile.am:
10615         * testsuite/caps/value_compare.c:
10616         * testsuite/caps/value_intersect.c:
10617         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10618           move two testsuite apps over to the check dir
10619
10620 2005-07-12  Wim Taymans  <wim@fluendo.com>
10621
10622         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10623         Added more debug info in the negotiate process.
10624
10625         * gst/gstmessage.h:
10626         Prepare for segment playback.
10627
10628         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10629         Better debugging.
10630
10631         * gst/gstutils.c:
10632         Some more docs.
10633
10634         * tools/gst-launch.c: (main):
10635         NULL pipeline on errors.
10636
10637 2005-07-12  Andy Wingo  <wingo@pobox.com>
10638
10639         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10640         not it comes from a malloc region. Make sure our copy gets freed.
10641
10642 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10643
10644         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10645         * check/gst/gstmessage.c: (GST_START_TEST):
10646         * check/gst/gststructure.c: (GST_START_TEST),
10647         (gst_structure_suite), (main):
10648           more testing
10649         * gst/gstelement.c: (gst_element_message_full):
10650           clean up GError and debug string now that they get copied
10651         * gst/gstmessage.c: (gst_message_new_error),
10652         (gst_message_new_warning), (gst_message_parse_error),
10653         (gst_message_parse_warning):
10654           use GST_TYPE_G_ERROR for structure_new, and take copies of
10655           arguments, so that we don't mess up refcounting
10656
10657 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10658
10659         * check/Makefile.am:
10660           add per-test valgrind targets
10661         * check/gst-libs/gdp.c: (GST_START_TEST),
10662         (gst_data_protocol_suite), (main):
10663           clean up
10664
10665 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10666
10667         * check/Makefile.am:
10668           instate more valgrindable tests
10669         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10670         (GST_START_TEST), (fakesrc_suite):
10671         * check/gst/gstpad.c: (GST_START_TEST):
10672         * check/gst/gststructure.c: (GST_START_TEST):
10673           fix test leaks
10674         * docs/gst/tmpl/gstminiobject.sgml:
10675         * gst/gstpad.c: (gst_pad_finalize):
10676           fix the static mutex leak
10677
10678 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10679
10680         * check/Makefile.am:
10681           add two more tests for valgrinding
10682         * check/gst/gstvalue.c: (GST_START_TEST):
10683           test refcount of deserialized buffer, found a leak
10684         * docs/gst/gstreamer-docs.sgml:
10685         * docs/gst/gstreamer-sections.txt:
10686         * docs/gst/gstreamer.types:
10687         * docs/gst/tmpl/gstminiobject.sgml:
10688           add miniobject to docs
10689         * gst/gstminiobject.c:
10690           add some docs
10691         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10692         (gst_string_unwrap):
10693           fix a hard-to-find invalid write for one of the tests
10694           fix a leak for deserialized buffers
10695
10696 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10697
10698         * docs/pwg/advanced-events.xml:
10699         * docs/pwg/advanced-request.xml:
10700         * docs/pwg/advanced-scheduling.xml:
10701         * docs/pwg/appendix-porting.xml:
10702         * docs/pwg/building-boiler.xml:
10703         * docs/pwg/intro-preface.xml:
10704         * docs/pwg/other-ntoone.xml:
10705           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10706           of example code and explanation for pad activation, loop() and
10707           getrange() functions and a bit more. Remove old comments pointing
10708           to loop-functions.
10709         * examples/pwg/Makefile.am:
10710           Add loop/getrange examples.
10711
10712 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10713
10714         * configure.ac:
10715           check for valgrind binary + some fixes
10716         * check/gst.supp:
10717           valgrind suppressions for the tests
10718         * check/Makefile.am:
10719           add a valgrind: target that valgrinds the unit tests
10720         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10721         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10722         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10723         * check/gst/gstghostpad.c:
10724           added some cleanup
10725         * check/gst/gstdata.c:
10726           removed
10727         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10728         (thread_unref), (gst_mini_object_suite), (main):
10729           added
10730         * gst/gst.c: (gst_deinit):
10731         * gst/gst.h:
10732           add a method to clean up.
10733         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10734         (gst_system_clock_obtain):
10735           allow for disposing the system clock.
10736         * tools/gst-launch.c: (main):
10737           deinit
10738
10739 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10740
10741         * docs/gst/tmpl/gstbasesrc.sgml:
10742         * docs/gst/tmpl/gstfakesrc.sgml:
10743         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10744         (gst_base_src_init), (gst_base_src_set_property),
10745         (gst_base_src_get_property), (gst_base_src_get_range),
10746         (gst_base_src_start):
10747         * gst/base/gstbasesrc.h:
10748           add num-buffers property
10749         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10750         (gst_fakesrc_init), (gst_fakesrc_set_property),
10751         (gst_fakesrc_get_property), (gst_fakesrc_create),
10752         (gst_fakesrc_start):
10753           remove num-buffers property
10754
10755 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10756
10757         * docs/gst/gstreamer-sections.txt:
10758         * docs/gst/tmpl/gstbasesink.sgml:
10759         * docs/gst/tmpl/gstbasesrc.sgml:
10760         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10761         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10762         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10763         (gst_base_sink_set_property), (gst_base_sink_get_property),
10764         (gst_base_sink_handle_object), (gst_base_sink_event),
10765         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10766         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10767         (gst_base_sink_loop), (gst_base_sink_deactivate),
10768         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10769         (gst_base_sink_change_state):
10770         * gst/base/gstbasesink.h:
10771         * gst/base/gstbasesrc.h:
10772         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10773         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10774         (gst_filesink_init):
10775           more macro splitting
10776
10777 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10778
10779         * gst/gstelement.c: (gst_element_get_bus):
10780           add debug
10781         * tools/gst-launch.c: (check_intr), (event_loop):
10782           fix bus leaks
10783
10784 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10785
10786         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10787           fix a caps leak
10788
10789 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10790
10791         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10792         (gst_base_src_finalize):
10793           add finalize method and clean up properly
10794         * gst/gstpipeline.c: (gst_pipeline_dispose):
10795           add debug
10796
10797 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10798
10799         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10800         (gst_bin_suite):
10801           add more things to check
10802         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10803         * gst/gstelement.c:
10804           more debug
10805
10806 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10807
10808         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10809         (GST_START_TEST), (fakesrc_suite):
10810         * check/gst-libs/gdp.c: (GST_START_TEST):
10811         * check/gst/gst.c: (GST_START_TEST):
10812         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10813         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10814         * check/gst/gstbus.c: (GST_START_TEST):
10815         * check/gst/gstcaps.c: (GST_START_TEST):
10816         * check/gst/gstdata.c: (GST_START_TEST):
10817         * check/gst/gstelement.c: (GST_START_TEST):
10818         * check/gst/gstghostpad.c: (GST_START_TEST):
10819         * check/gst/gstiterator.c: (GST_START_TEST):
10820         * check/gst/gstmessage.c: (GST_START_TEST):
10821         * check/gst/gstobject.c: (GST_START_TEST):
10822         * check/gst/gstpad.c: (GST_START_TEST):
10823         * check/gst/gststructure.c: (GST_START_TEST):
10824         * check/gst/gstsystemclock.c: (GST_START_TEST),
10825         (gst_systemclock_suite):
10826         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10827         * check/gst/gstvalue.c: (GST_START_TEST):
10828         * check/pipelines/cleanup.c: (GST_START_TEST):
10829         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10830         * check/states/sinks.c: (GST_START_TEST):
10831         * check/gstcheck.c: (gst_check_init):
10832         * check/gstcheck.h:
10833           add debugging category
10834           use GST_START_TEST now, so we add a debug line
10835
10836 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10839           add test for state change message on a bin
10840         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10841           add another test
10842         * gst/gstbin.c: (gst_bin_init):
10843         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10844         * gst/gstelement.c: (gst_element_post_message),
10845         (gst_element_set_state):
10846         * gst/gstelementfactory.c: (gst_element_factory_create):
10847         * gst/gstmessage.c: (gst_message_new):
10848         * gst/gstscheduler.c:
10849           various debugging additions and cleanups
10850
10851 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10852
10853         * check/Makefile.am:
10854         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10855         (main):
10856           adding tests for elements
10857         * gst/gstelement.c: (gst_element_dispose):
10858
10859 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10860
10861         * gst/registries/gstlibxmlregistry.c: (load_feature):
10862           plug more leaks.  A simple gst_init() now is leakfree, yay.
10863
10864 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10867         (gst_xml_registry_load):
10868           plug another memleak
10869
10870 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10871
10872         * configure.ac:
10873           use GST_SET_ERROR_CFLAGS
10874         * docs/faq/cvs.xml:
10875           change to ERROR_CFLAGS
10876
10877 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * configure.ac:
10880           make GST_ERROR_CFLAGS overridable and re-enable Werror
10881         * docs/faq/cvs.xml:
10882           add a note about error CFLAGS
10883         * docs/gst/tmpl/gstfakesrc.sgml:
10884         * gst/elements/gstfakesrc.c:
10885           comment out some unused code
10886         * gst/gst.c: (split_and_iterate):
10887         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10888         (load_feature):
10889           plug some memleaks
10890
10891 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10892
10893         * common/Makefile.am:
10894         * common/gtk-doc.mak:
10895         * docs/gst/Makefile.am:
10896           factor out gtk-doc.mak
10897
10898 2005-07-07  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10901         (gst_thread_scheduler_dispose):
10902         Unlock the STREAM_LOCK completely.
10903
10904 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10905
10906         * check/Makefile.am:
10907         * check/elements/.cvsignore:
10908         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10909         (START_TEST), (fakesrc_suite), (main):
10910         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10911         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10912         (gst_fakesrc_create), (gst_fakesrc_start):
10913         * gst/elements/gstfakesrc.h:
10914           adding a first element test
10915
10916 2005-07-07  Andy Wingo  <wingo@pobox.com>
10917
10918         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10919         debug message.
10920
10921 2005-07-07  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/gstquery.c:
10924         * gst/gstquery.h:
10925         Remove old types
10926
10927 2005-07-07  Wim Taymans  <wim@fluendo.com>
10928
10929         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10930         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10931         Allow subclasses to implement their own negotiation.
10932
10933 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10934
10935         * docs/design/part-gstbin.txt:
10936         * docs/design/part-gstpipeline.txt:
10937           Update design notes to reflect the movement of
10938           responsibility for bus handling from GstPipeline to
10939           GstBin
10940
10941 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10942
10943         * configure.ac:
10944           Remove unnecessary queue2/3/4 examples.
10945
10946 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10947
10948         * examples/Makefile.am:
10949         * examples/helloworld/helloworld.c: (event_loop), (main):
10950         * examples/queue/queue.c: (event_loop), (main):
10951         * examples/queue2/queue2.c: (main):
10952           Update a couple of the examples to work again.
10953
10954         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10955         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10956          Spelling corrections and extra debug.
10957         
10958         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10959         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10960         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10961         * gst/gstbin.h:
10962         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10963         (gst_pipeline_change_state):
10964         * gst/gstpipeline.h:
10965           Move the bus handler for children to the GstBin, and create a
10966           separate bus for receiving messages from children to the one the
10967           bus sends 'upwards' on.
10968
10969 2005-07-06  Wim Taymans  <wim@fluendo.com>
10970
10971         * gst/base/README:
10972         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10973         (gst_base_sink_handle_object), (gst_base_sink_loop),
10974         (gst_base_sink_change_state):
10975         * gst/base/gstbasesink.h:
10976         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10977         (gst_base_src_init), (gst_base_src_setcaps),
10978         (gst_base_src_getcaps), (gst_base_src_loop),
10979         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10980         (gst_base_src_start), (gst_base_src_change_state):
10981         * gst/base/gstbasesrc.h:
10982         Make basesrc negotiate.
10983         Handle the case where preroll fails in basesink.
10984         Update README.
10985
10986 2005-07-06  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10989         Implement the fixate function.
10990         Clean up acceptcaps.
10991
10992 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10993
10994         * docs/pwg/building-filterfactory.xml:
10995         * docs/pwg/pwg.xml:
10996           Remove never-written filter-factory chapter; I'll add the various
10997           base classes to part 4 ("other element types") later on.
10998
10999 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11000
11001         * docs/pwg/advanced-negotiation.xml:
11002         * docs/pwg/building-boiler.xml:
11003         * docs/pwg/building-pads.xml:
11004         * docs/pwg/pwg.xml:
11005         * examples/pwg/Makefile.am:
11006           Add a chapter on caps negotiation, simplify the original code
11007           samples a bit w.r.t. caps negotiation, add link to the advanced
11008           section. Add a bunch of examples showing different use cases of
11009           different types of caps negotiation. Upstream renegotiation isn't
11010           fully documented yet since nobody knows how that works.
11011
11012 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * check/gst/gstpad.c:
11015         * check/gstcheck.c:
11016         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11017           if pad has no parent, return NULL as list of internal links
11018
11019 2005-07-05  Andy Wingo  <wingo@pobox.com>
11020
11021         * gst/elements/gstfilesrc.c:
11022         * gst/elements/gstfakesrc.c: 
11023         * gst/base/gstpushsrc.c:
11024         * gst/base/gstbasesrc.h: 
11025         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11026         
11027 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11028
11029         * Makefile.am:
11030           better report generation target (lcov needs a patch)
11031
11032 2005-07-05  Andy Wingo  <wingo@pobox.com>
11033
11034         * gst/elements, testsuite: Null if we got it...
11035
11036 2005-07-05  Wim Taymans  <wim@fluendo.com>
11037
11038         * configure.ac:
11039         * libs/gst/dataprotocol/Makefile.am:
11040         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11041         * libs/gst/dataprotocol/dataprotocol.h:
11042         * pkgconfig/Makefile.am:
11043         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11044         * pkgconfig/gstreamer-dataprotocol.pc.in:
11045         Ported dataprotol to 0.9. 
11046         Added pkgconfig files.
11047
11048 2005-07-05  Andy Wingo  <wingo@pobox.com>
11049
11050         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11051         Default to returning TRUE for the case when tranform_caps returns
11052         a fixed caps, like for identity or volume.
11053
11054         * check/gst/gstbus.c (pound_bus_with_messages): 
11055         * check/gst/gstmessage.c (START_TEST): 
11056         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11057         message API change.
11058
11059         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11060         logic weaks here: always run transform_caps, trying passthrough
11061         operation only if the original caps intersects with the transform.
11062
11063         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11064         source and sink caps.
11065
11066         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11067         Intersect the peer caps with the pad template before going into
11068         transform_caps.
11069         (gst_base_transform_transform_caps): More debugging.
11070
11071         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11072         src argument.
11073
11074 2005-07-04  Edward Hervey  <edward@fluendo.com>
11075
11076         * gst/gstutils.c:
11077         * gst/gstutils.h:
11078         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11079         in bindings.
11080
11081 2005-07-04  Andy Wingo  <wingo@pobox.com>
11082
11083         * check/gst/gstpad.c: Only set explicit caps on pads.
11084
11085 2005-07-01  Andy Wingo  <wingo@pobox.com>
11086
11087         * tests/network-clock.scm: Commentary update.
11088
11089         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11090         Didn't really make sense, not implementable with basetransform,
11091         etc.
11092         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11093         attempt at implementing the sync property, needs an unlock method.
11094
11095         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11096         New func, by default returns the same caps (the identity
11097         transformation).
11098         (gst_base_transform_getcaps): Uses transform_caps to return
11099         something sensible.
11100         (gst_base_transform_setcaps): Complicated logic to get caps on
11101         both pads, even if they are different, and to call set_caps once
11102         for every time both pads get their caps set.
11103         (gst_base_transform_handle_buffer): Give the ref to the transform
11104         function. Allows in-place modification of the buffer.
11105
11106         * gst/base/gstbasetransform.h (transform_caps): New class method.
11107         Given caps on one side, what can I do on the other.
11108         (set_caps): Take two caps, one for each side of the element.
11109
11110         * gst/gstpad.h:
11111         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11112         caps in place. This is safe because we can check the mutability of
11113         the caps, and a good idea because fixate functions are just called
11114         as a matter of last resort. (Not actually implemented.)
11115         (gst_pad_set_caps): If the caps we're setting is actually the same
11116         as the existing pad caps, just update the pointer without calling
11117         setcaps. Assert that caps is either NULL or fixed, as per the
11118         docs.
11119
11120         * gst/gstghostpad.c: Update for fixate changes.
11121
11122 2005-07-02  Andy Wingo  <wingo@pobox.com>
11123
11124         * gst/gstcaps.c:
11125         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11126         two refcounts makes it immutable, which is enough. Doc more.
11127
11128 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11129
11130         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11131           Put the mini_object into GValue as a mini_object,
11132           not a gpointer, since that's how we declared
11133           the signal.
11134
11135 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11136
11137         * examples/pwg/Makefile.am:
11138           Fix buildbot again.
11139
11140 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11141
11142         * docs/pwg/building-testapp.xml:
11143           Add extra check.
11144         * examples/pwg/Makefile.am:
11145           Fix buildbot.
11146
11147 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11148
11149         * configure.ac:
11150         * examples/Makefile.am:
11151         * examples/pwg/Makefile.am:
11152         * examples/pwg/extract.pl:
11153           Enable building the PWG examples.
11154         * docs/pwg/advanced-interfaces.xml:
11155           Add URI interface stub.
11156         * docs/pwg/advanced-types.xml:
11157         * docs/pwg/other-autoplugger.xml:
11158         * docs/pwg/appendix-porting.xml:
11159         * docs/pwg/pwg.xml:
11160           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11161         * docs/pwg/building-boiler.xml:
11162         * docs/pwg/building-chainfn.xml:
11163         * docs/pwg/building-pads.xml:
11164         * docs/pwg/building-props.xml:
11165         * docs/pwg/building-state.xml:
11166         * docs/pwg/building-testapp.xml:
11167           Update the building-*.xml parts for 0.9 changes. All examples
11168           code blocks compile in examples/pwg/*.
11169
11170 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11171
11172         * docs/manual/advanced-autoplugging.xml:
11173         * docs/manual/appendix-checklist.xml:
11174         * docs/manual/appendix-integration.xml:
11175         * docs/manual/highlevel-components.xml:
11176           Fix playbin/decodebin examples, update docs a bit, mention bus
11177           instead of signals in various places, mention kmplayer and
11178           kaffeine since they have a working GStreamer backend in the KDE
11179           section.
11180
11181 2005-06-30  Wim Taymans  <wim@fluendo.com>
11182
11183         * CHANGES-0.9:
11184         * docs/design/draft-ghostpads.txt:
11185         * docs/design/draft-push-pull.txt:
11186         * docs/design/draft-query.txt:
11187         * docs/design/part-TODO.txt:
11188         * docs/design/part-query.txt:
11189         Added CHANGES-0.9 doc, updated status of other docs.
11190         
11191         * gst/gstquery.h:
11192         Remove "hmm" macro
11193
11194 2005-06-30  Wim Taymans  <wim@fluendo.com>
11195
11196         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11197         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11198         (gst_base_sink_change_state):
11199         * gst/base/gstbasesink.h:
11200         Some tweaks, only EOS and a buffer complete a preroll.
11201
11202 2005-06-30  Andy Wingo  <wingo@pobox.com>
11203
11204         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11205         activate_push down to the internal pad as well.
11206
11207 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11208
11209         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11210
11211         * gst/gsttaginterface.c:
11212           Some documentation fixes (#307394 and #307397).
11213
11214 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11215
11216         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11217
11218         * gst/gstvalue.c: (gst_value_intersect_list):
11219           Fix memleak (#309125).
11220
11221 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11222
11223         * docs/manual/advanced-dataaccess.xml:
11224           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11225         * docs/manual/basics-pads.xml:
11226           Add reference for filtered caps to above chapter.
11227
11228 2005-06-30  Wim Taymans  <wim@fluendo.com>
11229
11230         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11231         (gst_bin_change_state):
11232         Probes are gone.
11233         Lame attempt at making the state change function a bit
11234         more readable.
11235
11236 2005-06-30  Wim Taymans  <wim@fluendo.com>
11237
11238         * docs/design/part-clocks.txt:
11239         * docs/design/part-element-sink.txt:
11240         * docs/design/part-events.txt:
11241         * docs/design/part-preroll.txt:
11242         * docs/design/part-states.txt:
11243         Some more tweeks and additions to the docs.
11244
11245 2005-06-30  Wim Taymans  <wim@fluendo.com>
11246
11247         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11248         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11249         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11250         (gst_pad_check_pull_range), (gst_pad_get_range),
11251         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11252         * gst/gstpad.h:
11253         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11254         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11255         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11256         (gst_pad_remove_buffer_probe):
11257         Removed atomic operations, use existing LOCK.
11258         Move exception handling out of main code path.
11259
11260 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11261
11262         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11263         (silly_return_true_function), (gst_pad_class_init),
11264         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11265         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11266         (gst_pad_send_event):
11267           Fix accumulator, add default value by using _emitv() instead
11268           of _emit() for signal emission.
11269
11270 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11271
11272         * docs/manual/advanced-dataaccess.xml:
11273         * examples/manual/Makefile.am:
11274           Add probe example.
11275         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11276           Make work (??).
11277
11278 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11279
11280         * gst/elements/gstfilesink.c: (gst_filesink_render):
11281           Simplify code so that we don't have to handle short
11282           writes and return GST_FLOW_ERROR if an error occured.
11283
11284 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11285
11286         * docs/gst/gstreamer-docs.sgml:
11287           Remove probes more.
11288
11289 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11290
11291         * docs/gst/gstreamer-sections.txt:
11292         * docs/gst/tmpl/gstpad.sgml:
11293         * docs/gst/tmpl/gstprobe.sgml:
11294         * gst/Makefile.am:
11295         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11296         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11297         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11298         (gst_pad_push_event), (gst_pad_send_event):
11299         * gst/gstpad.h:
11300         * gst/gstutils.c: (gst_pad_add_data_probe),
11301         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11302         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11303         (gst_pad_remove_buffer_probe):
11304         * gst/gstutils.h:
11305           Remove old probes, add new g-signal-based probes and some utility
11306           functions.
11307
11308 2005-06-29  Edward Hervey  <edward@fluendo.com>
11309
11310         * gst/gstelementfactory.c:
11311         * gst/gstutils.h:
11312         * gst/gstutils.c:
11313         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11314         the definition to the header file.
11315
11316 2005-06-29  Andy Wingo  <wingo@pobox.com>
11317
11318         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11319         plugins from the source directory.
11320
11321 2005-06-29  Wim Taymans  <wim@fluendo.com>
11322
11323         * docs/gst/tmpl/gstbuffer.sgml:
11324         * docs/gst/tmpl/gstclock.sgml:
11325         Some fixings for blantently wrong text.
11326
11327 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11328
11329         * check/Makefile.am:
11330         * gst/gst.c: (add_path_func), (init_pre):
11331         * gst/gstregistry.c: (gst_registry_add_path):
11332           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11333           only scan the GST_PLUGIN_PATH locations, and not add
11334           system locations
11335
11336 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * docs/gst/gstreamer-sections.txt:
11339         * docs/gst/tmpl/gstbasesrc.sgml:
11340         * gst/gstelement.c:
11341         * gst/gstelement.h:
11342         * gst/gstevent.c:
11343         * gst/gstutils.c:
11344           doc fixes
11345
11346 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11347
11348         * docs/manual/advanced-autoplugging.xml:
11349           Fix autoplugging example.
11350
11351 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11352
11353         * docs/manual/advanced-autoplugging.xml:
11354         * docs/manual/mime-world.fig:
11355           Try to get autoplugging working, fix type detection. Fix text
11356           in hello-world image.
11357
11358 2005-06-29  Wim Taymans  <wim@fluendo.com>
11359
11360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11361         (gst_base_sink_change_state):
11362         Small debug line.
11363
11364         * gst/gstclock.h:
11365         map SIGNAL and BROADCAST to the right function.
11366
11367         * gst/gstobject.h:
11368         Remove redundant braces.
11369
11370         * gst/gstpad.c: (gst_pad_set_caps):
11371         Don't call setcaps function when reseting caps to NULL.
11372
11373         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11374         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11375         (gst_system_clock_id_unschedule):
11376         Use BROADCAST as this is what we do.
11377
11378 2005-06-29  Wim Taymans  <wim@fluendo.com>
11379
11380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11381         We are actually prerolling before commiting the state
11382         change. 
11383
11384 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11385
11386         * docs/manual/advanced-clocks.xml:
11387         * docs/manual/advanced-interfaces.xml:
11388         * docs/manual/advanced-metadata.xml:
11389         * docs/manual/advanced-position.xml:
11390         * docs/manual/advanced-schedulers.xml:
11391         * docs/manual/advanced-threads.xml:
11392         * docs/manual/appendix-porting.xml:
11393         * docs/manual/basics-bins.xml:
11394         * docs/manual/basics-bus.xml:
11395         * docs/manual/basics-elements.xml:
11396         * docs/manual/basics-helloworld.xml:
11397         * docs/manual/basics-pads.xml:
11398         * docs/manual/highlevel-components.xml:
11399         * docs/manual/manual.xml:
11400         * docs/manual/thread.fig:
11401           Update (until threads/scheduling) Application Development Manual;
11402           remove GstThread, add GstBus, add simple porting checklist, add
11403           documentation for tag writing, clocks, make all examples until this
11404           part compile and run.
11405         * examples/manual/Makefile.am:
11406           Update from changes to Application Development Manual; add bus
11407           example, remove thread example.
11408
11409 2005-06-28  Wim Taymans  <wim@fluendo.com>
11410
11411         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11412         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11413         (gst_bus_source_dispatch):
11414         Add debugging messages.
11415         Make internal methods static.
11416         Handle the case where the bus is flushed in the handler.
11417         
11418         * gst/gstelement.c: (gst_element_get_bus):
11419         Fix refcount in _get_bus();
11420
11421         * gst/gstpipeline.c: (gst_pipeline_change_state),
11422         (gst_pipeline_get_clock_func):
11423         Clock refcounting fixes.
11424         Handle the case where preroll timed out more gracefully.
11425         
11426         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11427         Clean up the internal thread in dispose. This is needed
11428         for subclasses that actually get disposed.
11429         
11430         * gst/schedulers/threadscheduler.c:
11431         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11432         (gst_thread_scheduler_dispose):
11433         Free thread pool in dispose.
11434
11435 2005-06-28  Andy Wingo  <wingo@pobox.com>
11436
11437         * tests/network-clock-utils.scm (debug, print-event): New utils.
11438
11439         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11440         (*packet-loss*): Unified loss probability.
11441         (network-time): Report out-of-band events.
11442
11443         * tests/plot-data: Add support for out-of-band events. Hack it
11444         into this script instead of passing it down the pipe; should fix
11445         this later.
11446
11447 2005-06-28  Wim Taymans  <wim@fluendo.com>
11448
11449         * docs/gst/gstreamer.types:
11450         * docs/gst/tmpl/gstbasesrc.sgml:
11451         * docs/gst/tmpl/gstpad.sgml:
11452         Docs fixes.
11453
11454 2005-06-28  Wim Taymans  <wim@fluendo.com>
11455
11456         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11457         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11458         (gst_proxy_pad_do_fixatecaps):
11459         Correctly proxy the check_pull_range function.
11460
11461 2005-06-28  Andy Wingo  <wingo@pobox.com>
11462
11463         * tests/network-clock.scm: Removed need for slib.
11464         
11465 2005-06-28  Wim Taymans  <wim@fluendo.com>
11466
11467         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11468         (gst_basesink_preroll_queue_flush):
11469         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11470         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11471         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11472         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11473         (gst_proxy_pad_set_property):
11474         * gst/gstpad.c:
11475         * gst/gstpad.h:
11476         * gst/gstqueue.c: (gst_queue_init):
11477         The deprecated pad loop function is removed now.
11478
11479 2005-06-28  Andy Wingo  <wingo@pobox.com>
11480
11481         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11482         New parameters, simulate network packet loss.
11483
11484         * tests/network-clock-utils.scm: Initialize the RNG.
11485
11486 2005-06-28  Wim Taymans  <wim@fluendo.com>
11487
11488         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11489         (gst_basesink_event), (gst_basesink_deactivate):
11490         Flushing the preroll queue always needs to unlock the waiters.
11491
11492 2005-06-28  Edward Hervey  <edward@fluendo.com>
11493
11494         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11495         Wheen a seek was successful on a pipeline, set the stream_time to the
11496         seek offset in order to have a synchronized stream_time.
11497
11498 2005-06-28  Wim Taymans  <wim@fluendo.com>
11499
11500         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11501         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11502         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11503         (gst_proxy_pad_do_fixatecaps):
11504         Call wrapper function instead of just calling the function
11505         pointers. This takes care of any locking and whatmore.
11506
11507 2005-06-28  Wim Taymans  <wim@fluendo.com>
11508
11509         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11510         (gst_pad_pull_range):
11511         * gst/gstpad.h:
11512         CONNECTED -> LINKED.
11513
11514 2005-06-28  Andy Wingo  <wingo@pobox.com>
11515
11516         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11517         source-munging commit!!!
11518
11519         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11520         (gst_object_sink): Take gpointer arguments, not GstObject --
11521         avoids casts. Like GLib.
11522
11523         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11524         activate.
11525
11526 2005-06-27  Andy Wingo  <wingo@pobox.com>
11527
11528         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11529         remaining buffer.
11530
11531         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11532         returns a sorted copy of the trace list.
11533         (gst_alloc_trace_print_live): New API, only prints traces with
11534         live objects. Sort the list.
11535         (gst_alloc_trace_print_all): Sort the list.
11536         (gst_alloc_trace_print): Align columns.
11537
11538         * gst/elements/gstttypefindelement.c:
11539         * gst/elements/gsttee.c:
11540         * gst/base/gstbasesrc.c:
11541         * gst/base/gstbasesink.c:
11542         * gst/base/gstbasetransform.c:
11543         * gst/gstqueue.c: Adapt for pad activation changes.
11544
11545         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11546         sched.
11547         (gst_pipeline_dispose): Drop ref on sched.
11548
11549         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11550         (gst_pad_activate_default): Push mode by default.
11551         (pre_activate_switch, post_activate_switch): New stubs, things to
11552         do before and after switching activation modes on pads.
11553         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11554         the pad's activate function to choose which mode to activate.
11555         Shortcut on deactivation and call the right function directly.
11556         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11557         mode.
11558         (gst_pad_activate_push): New API, same for push mode.
11559         (gst_pad_set_activate_function) 
11560         (gst_pad_set_activatepull_function) 
11561         (gst_pad_set_activatepush_function): Setters for new API.
11562
11563         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11564         Trace all miniobjects.
11565         (gst_mini_object_make_writable): Unref the arg if we copy, like
11566         gst_caps_make_writable.
11567
11568         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11569
11570         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11571         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11572         Adapt for new pad API.
11573
11574         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11575
11576         * gst/gstelement.h:
11577         * gst/gstelement.c (gst_element_iterate_src_pads) 
11578         (gst_element_iterate_sink_pads): New API functions.
11579         
11580         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11581         should fold into gstiterator.c in some form.
11582         (gst_element_pads_activate): Simplified via use of fold and
11583         delegation of decisions to gstpad->activate.
11584
11585         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11586         help in debugging.
11587
11588         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11589         class once in init, like gstmessage. Didn't run into this issue
11590         but it seems correct. Don't initialize a trace, gstminiobject does
11591         that.
11592
11593         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11594         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11595         to the bus.
11596         (assert_live_count): New util function, uses alloc traces to check
11597         cleanup.
11598
11599         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11600         To be modified when unlink drops the internal pad.
11601
11602 2005-06-27  Wim Taymans  <wim@fluendo.com>
11603
11604         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11605         (gst_bin_change_state):
11606         Cleanup the get_state() function a little, make sure it
11607         iterates the same set of elements.
11608         Added stub iterate_state_order().
11609
11610 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * docs/gst/gstreamer-docs.sgml:
11613         * docs/gst/gstreamer-sections.txt:
11614         * docs/gst/gstreamer.types:
11615         * docs/gst/tmpl/gstbasesink.sgml:
11616         * docs/gst/tmpl/gstbasesrc.sgml:
11617         * docs/gst/tmpl/gstbasetransform.sgml:
11618         * docs/gst/tmpl/gstelement.sgml:
11619         * docs/gst/tmpl/gstiterator.sgml:
11620         * gst/base/gstbasesrc.c:
11621         * gst/base/gstbasesrc.h:
11622         * gst/base/gstbasetransform.h:
11623         * gst/gstelement.c:
11624         * gst/gstiterator.h:
11625           adding basetransform and iterator docs
11626
11627 2005-06-27  Andy Wingo  <wingo@pobox.com>
11628
11629         * docs/design/part-activation.txt: Notes on how activation should
11630         work -- not quite implemented yet.
11631
11632 2005-06-25  Wim Taymans  <wim@fluendo.com>
11633
11634         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11635         At least get the chain function correct, needs more
11636         fixing.
11637
11638 2005-06-25  Wim Taymans  <wim@fluendo.com>
11639
11640         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11641         (gst_basesink_handle_object), (gst_basesink_event),
11642         (gst_basesink_do_sync), (gst_basesink_handle_event),
11643         (gst_basesink_change_state):
11644         * gst/gsttask.h:
11645         Right, two problems here: ghostpads don't take locks and
11646         glib _rec_mutex_lock_full() with depth==0 still locks.
11647         Catch illegal locking and g_warn them.
11648
11649 2005-06-25  Wim Taymans  <wim@fluendo.com>
11650
11651         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11652         Have to check for completion now...
11653
11654 2005-06-25  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11657         (gst_basesink_handle_object), (gst_basesink_event),
11658         (gst_basesink_do_sync), (gst_basesink_handle_event),
11659         (gst_basesink_change_state):
11660         * gst/gstpad.h:
11661         Unlock STREAM_LOCK whatever the recursion was.
11662
11663 2005-06-25  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11666         (gst_basesink_preroll_queue_empty),
11667         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11668         (gst_basesink_event), (gst_basesink_do_sync),
11669         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11670         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11671         (gst_basesink_change_state):
11672         Reworked the base sink, handle event and buffer serialisation
11673         correctly and removed possible deadlock.
11674         Handle EOS correctly.
11675
11676 2005-06-25  Wim Taymans  <wim@fluendo.com>
11677
11678         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11679         (gst_pipeline_change_state):
11680         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11681         Allow elements to post EOS in the state change function.
11682         Fix up -launch, make it exit the poll loop when the
11683         pipeline actually changed state.
11684         Fix up warning parsing in -launch.
11685
11686 2005-06-25  Wim Taymans  <wim@fluendo.com>
11687
11688         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11689         (gst_tee_sink_activate):
11690         Core takes STREAM_LOCK for us now.
11691
11692 2005-06-25  Wim Taymans  <wim@fluendo.com>
11693
11694         * gst/gstelement.c: (gst_element_get_state_func),
11695         (gst_element_set_state):
11696         * gst/gstelement.h:
11697         * gst/gstmessage.c: (gst_message_parse_error),
11698         (gst_message_parse_warning):
11699         Keep track of current target state while performing a state
11700         change so that subclasses can do something interesting.
11701         Fix parsing of warning/error messages when GError is NULL.
11702
11703 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11704
11705         * docs/gst/Makefile.am:
11706         * docs/gst/gstreamer-docs.sgml:
11707         * docs/gst/gstreamer-sections.txt:
11708         * docs/gst/gstreamer.types:
11709         * docs/gst/tmpl/gstbasesink.sgml:
11710         * docs/gst/tmpl/gstbasesrc.sgml:
11711         * docs/gst/tmpl/gstbin.sgml:
11712         * docs/gst/tmpl/gstcompat.sgml:
11713         * docs/gst/tmpl/gstfakesink.sgml:
11714         * docs/gst/tmpl/gstfakesrc.sgml:
11715         * docs/gst/tmpl/gstfilesink.sgml:
11716         * docs/gst/tmpl/gstfilesrc.sgml:
11717         * docs/gst/tmpl/gstindex.sgml:
11718         * docs/manual/appendix-quotes.xml:
11719         * gst/base/gstbasesrc.h:
11720         * gst/elements/gstfakesrc.h:
11721         * gst/gstmessage.h:
11722           start pulling in base classes and elements in our docs
11723
11724 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11725
11726         * docs/gst/Makefile.am:
11727         * docs/libs/Makefile.am:
11728           fixed make distcheck with gtk-doc 1.3
11729
11730 2005-06-23  Wim Taymans  <wim@fluendo.com>
11731
11732         * gst/gstelement.c: (gst_element_get_state_func),
11733         (gst_element_set_state), (gst_element_change_state):
11734         When the state did not change, also report NO_PREROLL
11735         when it matters.
11736
11737 2005-06-23  Wim Taymans  <wim@fluendo.com>
11738
11739         * gst/gstpad.c: (gst_pad_event_default):
11740         * gst/gstqueue.c: (gst_queue_loop):
11741         No unsafe task pausing please.
11742
11743 2005-06-23  Wim Taymans  <wim@fluendo.com>
11744
11745         * gst/schedulers/threadscheduler.c:
11746         (gst_thread_scheduler_task_start),
11747         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11748         Ref the task before pushing it on the threadpool. This
11749         makes sure that we have a ref when the threadfunction is
11750         actually called.
11751
11752 2005-06-23  Andy Wingo  <wingo@pobox.com>
11753
11754         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11755         offset is greater than the file's size.
11756
11757         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11758         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11759         * gst/gstobject.c (gst_object_class_init): Make the class lock
11760         recursive. Wim won't let me drop deep_notify. Decodebin works
11761         again, whoopdy doo.
11762
11763         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11764         internal pad, and hacks accordingly. Doesn't do it on the target
11765         pad because we change its caps. Probably catches all cases of
11766         interest tho.
11767         (gst_ghost_pad_set_property): Connect to notify::caps as
11768         appropritate.
11769
11770         * tests/network-clock.scm (plot-simulation): Pipe data to the
11771         elite python skript.
11772
11773         * tests/network-clock-utils.scm (define-parameter): New macro,
11774         defines a parameter that can be set via the command line.
11775         (set-parameter!, parse-parameter-arguments): Command line args
11776         parser.
11777
11778         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11779         stdin.
11780
11781 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11782
11783         * gst/elements/gsttypefindelement.c:
11784         (gst_type_find_element_handle_event):
11785           Don't restart typefinding on a discont.
11786         * gst/gstelement.c: (gst_element_set_state):
11787           Debug spelling fix.
11788         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11789           Allow changing mode of an active pad.
11790           Debug output fixes.
11791         * gst/registries/gstlibxmlregistry.c: (load_feature):
11792           Don't cast a static pad template to a normal pad template.
11793
11794 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11795
11796         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11797         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11798           remove gst_strtoll completely, since it didn't actually do
11799           anything more than what g_ascii_strtoull already does.
11800           check for range errors when deserializing
11801           do a cast for the unsigned cases; but further fixing needs
11802           a decision on what the interpretation of "(int)" and
11803           deserialization should be for values that fall outside the
11804           type's boundaries (ie, refuse, or interpret as casting)
11805
11806 2005-06-23  Wim Taymans  <wim@fluendo.com>
11807
11808         * check/Makefile.am:
11809         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11810         * docs/design/part-live-source.txt:
11811         * docs/design/part-states.txt:
11812         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11813         (gst_basesrc_set_live), (gst_basesrc_is_live),
11814         (gst_basesrc_get_range), (gst_basesrc_activate),
11815         (gst_basesrc_change_state):
11816         * gst/base/gstbasesrc.h:
11817         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11818         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11819         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11820         * gst/gstelement.c: (gst_element_get_state_func),
11821         (gst_element_set_state):
11822         * gst/gstelement.h:
11823         * gst/gsttypes.h:
11824         * tools/gst-launch.c: (event_loop), (main):
11825         Added support for live sources and other elements that
11826         cannot do preroll.
11827         Updated design docs, added live-source design doc.
11828         Implemented live source functionality in basesrc
11829         Fix error condition in _bin_get_state()
11830         Implement live source handling in -launch.
11831         Added check for live sources.
11832         Fixed case in GstBin where elements were changed state
11833         multiple times.
11834
11835
11836 2005-06-23  Andy Wingo  <wingo@pobox.com>
11837
11838         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11839         borken refcounting.
11840
11841         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11842         gst_caps_replace takes care of this for us.
11843
11844         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11845         gst_pad_set_caps on the target, not just its setcaps() function.
11846
11847         * tests/network-clock.scm: 
11848         * tests/network-clock-utils.scm: A network clock simulator.
11849         Something of an algorithmic testbed before doing something in C.
11850
11851 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11852
11853         * check/Makefile.am:
11854         * check/gst/capslist.h:
11855           copy over from 0.8, and add two with bitmasks specified with
11856           (int) 0xFF...
11857         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11858           add test to parse everything from capslist.h
11859         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11860         (main):
11861           add test for structure deserialization
11862         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11863           add tests for deserialization of strings to int types
11864         * gst/gststructure.c: (gst_structure_nth_field_name):
11865         * gst/gststructure.h:
11866           add a way to get the name of a field referenced by index
11867         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11868           instead of checking if the resulting long long lies between
11869           min and max, we check if the long long would fit into
11870           a number of bytes for the final type.
11871           This fixes cases where a string represents 2^32 - 1, which
11872           when cast to int would be the (valid) -1, but is bigger than
11873           G_MAXINT
11874
11875 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * gst/parse/grammar.y:
11878           add a log line for type deserialization
11879
11880 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11881
11882         * check/gst/gstvalue.c: (START_TEST):
11883         * gst/gstvalue.c: (gst_value_deserialize):
11884           return long long, not int, so gint64 deserialization actually
11885           works.  Is there any flag that makes the compiler check this ?
11886           Fixes #308559
11887
11888 2005-06-22  Wim Taymans  <wim@fluendo.com>
11889
11890         * gst/gstbuffer.h:
11891         Added convenience macros for setting buffers in GValue.
11892
11893 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11894
11895         * check/gst/.cvsignore:
11896         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11897           add a test deserializing int64, and comment part out because
11898           it fails, yay !
11899
11900 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11901
11902         * check/Makefile.am:
11903         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11904         * testsuite/Makefile.am:
11905         * testsuite/caps/Makefile.am:
11906         * testsuite/caps/value_serialize.c:
11907         * testsuite/test_gst_init.c:
11908           move a value_serialize test over
11909
11910 2005-06-20  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/gstpad.c:
11913         Small doc updates.
11914         
11915         * gst/gstvalue.c: (gst_value_compare_buffer),
11916         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11917         (gst_value_compare_flags), (gst_value_serialize_flags),
11918         (gst_value_deserialize_flags), (_gst_value_initialize):
11919         Fix serialisation of buffers, they are not boxed types anymore
11920
11921 2005-06-20  Wim Taymans  <wim@fluendo.com>
11922
11923         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11924         Testcase to show error in buffer-on-caps serialisation.
11925
11926 2005-06-20  Andy Wingo  <wingo@pobox.com>
11927
11928         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11929         will be adding to later.
11930
11931         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11932         if its socks fill with rocks.
11933         (gst_system_clock_obtain): Set the name on object construction.
11934         Avoid double-checked locking.
11935
11936 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11937
11938         * gst/gsturi.c: (gst_element_make_from_uri):
11939           Fix potential endless loop.
11940
11941 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11942
11943         * check/Makefile.am:
11944           add gsttag
11945         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11946         (main):
11947           move over from testsuite dir and clean up
11948         * configure.ac:
11949         * gst/gsttag.c:
11950         * testsuite/Makefile.am:
11951         * testsuite/tags/.cvsignore:
11952         * testsuite/tags/Makefile.am:
11953         * testsuite/tags/merge.c:
11954           remove testsuite/tags
11955
11956 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * docs/gst/gstreamer-sections.txt:
11959         * docs/gst/tmpl/gstenumtypes.sgml:
11960         * win32/gstenumtypes.c:
11961           clean up documentation build a little
11962
11963 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11964
11965         * check/gstcheck.h:
11966           add macros for checking refcounts on objects and caps
11967         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11968           add some more unit tests
11969         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11970         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11971           fix leaked refcounts (I hope :)) so unittest works
11972         * gst/gstpad.h:
11973           whitespace removal
11974
11975 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11976
11977         * configure.ac: back to HEAD
11978
11979 === release 0.9.1 ===
11980
11981 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11982
11983         * NEWS:
11984         * RELEASE:
11985           updated
11986
11987 2005-06-17  Andy Wingo  <wingo@pobox.com>
11988
11989         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11990         assert; it's always possible that the pad gets deactivated in
11991         between the checks in gstpad.c and the implementation. Rely on
11992         finish_preroll() to return a FLUSHING or similar instead of on the
11993         assert.
11994         
11995         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11996         clock and post an EOS message if we come out of finish_preroll in
11997         the playing state.
11998
11999 2005-06-16  David Schleef  <ds@schleef.org>
12000
12001         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12002         (gst_capsfilter_set_property): Allow NULL as possible value
12003         for filter_caps property, indicating GST_CAPS_ANY.
12004
12005 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12006
12007         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12008           fix debug output
12009         * gst/schedulers/Makefile.am:
12010           use libgst prefix
12011         * gstreamer.spec.in:
12012           fix spec for it
12013
12014 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12015
12016         * gstreamer.spec.in:
12017           clean up
12018
12019 2005-06-08  Andy Wingo  <wingo@pobox.com>
12020
12021         * gst/gstutils.c: RPAD fixes all around.
12022         (gst_element_link_pads): Refcounting fixes.
12023
12024         * tools/gst-inspect.c:
12025         * tools/gst-xmlinspect.c:
12026         * parse/grammar.y:
12027         * gst/base/gsttypefindhelper.c:
12028         * gst/base/gstbasesink.c:
12029         * gst/gstqueue.c: RPAD fixes.
12030
12031         * gst/gstghostpad.h:
12032         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12033         pads. The tricky thing is they provide both source and sink
12034         interfaces, since they proxy the internal pad for the external
12035         pad, and vice versa. Implement with lower-level ProxyPad objects,
12036         with the interior proxy pad as a child of the exterior ghost pad.
12037         Should write a doc on this.
12038         
12039         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12040         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12041         gst_object API.
12042         
12043         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12044         pads are real pads. No ghost pads in this file. Not documenting
12045         the myriad s/RPAD/PAD/ and REALIZE fixes.
12046         (gst_pad_class_init): Add properties for "direction" and
12047         "template". Both are construct-only, so they can't change during
12048         the life of the pad. Fixes properly deriving from GstPad.
12049         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12050         derived objects, just set properties when creating the objects via
12051         g_object_new.
12052         (gst_pad_get_parent): Implement as a function, return NULL if the
12053         parent is not an element.
12054         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12055         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12056         
12057         * gst/gstobject.c (gst_object_class_init): Make name a construct
12058         property. Don't set it in the object init.
12059
12060         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12061         with UNKNOWN direction.
12062         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12063         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12064         (gst_element_remove_pad): Remove ghost-pad special cases.
12065         (gst_element_pads_activate): Remove rpad cruft.
12066
12067         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12068         catch the pad's-parent-not-an-element case.
12069
12070         * gst/gst.h: Include gstghostpad.h.
12071
12072         * gst/gst.c (init_post): No more real, ghost pads.
12073
12074         * gst/Makefile.am: Add gstghostpad.[ch].
12075
12076         * check/Makefile.am:
12077         * check/gst/gstbin.c:
12078         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12079         into a bin creates ghost pads, and that the refcounts are right.
12080         Partly moved from gstbin.c.
12081
12082 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12083
12084         * check/gst-libs/.cvsignore:
12085         * check/gst/.cvsignore:
12086         * check/pipelines/.cvsignore:
12087           ignore more
12088         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12089         (START_TEST), (cleanup_suite), (main):
12090           add some tests related to cleanup after running pipelines
12091
12092 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12095           add a testsuite for GstBuffer
12096
12097 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12098
12099         * gst/gstminiobject.h:
12100           add defines for accessing the refcount
12101
12102 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12103
12104         * Makefile.am: added support for html unit test coverage reports
12105
12106 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12107
12108         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12109           Free existing caps if the capsfilter changes. Add a FIXME about
12110           setting those caps on the pads.
12111
12112         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12113           Before adding a ghost pad to a parent bin, check that there isn't
12114           already one for the element on the bin. Prevents infinite recursion
12115           when using decodebin in parse pipelines. Andy says he'll rewrite the
12116           way this works anyway, so ignore the hack.
12117
12118 2005-06-02  Andy Wingo  <wingo@pobox.com>
12119
12120         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12121         file size, pass it on to the type find helper.
12122
12123         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12124         segment_start and segment_end properly according to the seek
12125         method. Segment_end is still a bit flaky because offset can be
12126         negative for CUR and END cases, but it takes -1 as an "unset"
12127         value.
12128
12129 2005-06-02  Wim Taymans  <wim@fluendo.com>
12130
12131         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12132         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12133         (gst_basesink_activate):
12134         * gst/base/gstbasesink.h:
12135         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12136         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12137         (gst_pad_query), (gst_pad_start_task):
12138         * gst/gstpad.h:
12139         * gst/gstqueue.c: (gst_queue_bufferalloc),
12140         (gst_queue_handle_sink_event), (gst_queue_chain):
12141         Bufferalloc: return GstFlowReturn to more accuratly report
12142         why allocation failed.
12143
12144 2005-06-02  Wim Taymans  <wim@fluendo.com>
12145
12146         * gst/gstpipeline.c: (gst_pipeline_send_event):
12147         Take snapshot of state without blocking.
12148
12149 2005-06-02  Wim Taymans  <wim@fluendo.com>
12150
12151         * docs/design/part-TODO.txt:
12152         * docs/design/part-caps.txt:
12153         * docs/design/part-clocks.txt:
12154         * docs/design/part-negotiation.txt:
12155         * docs/design/part-preroll.txt:
12156         Small doc updates 
12157
12158 2005-05-30  Wim Taymans  <wim@fluendo.com>
12159
12160         * gst/elements/gstidentity.c: (gst_identity_event),
12161         (gst_identity_transform), (gst_identity_get_property):
12162         Protect last_message property as it is accessed from
12163         multiple threads.
12164
12165 2005-05-30  Wim Taymans  <wim@fluendo.com>
12166
12167         * gst/gstelement.c: (gst_element_init),
12168         (gst_element_pads_activate), (gst_element_change_state):
12169         Slicker pad activation code.
12170
12171 2005-05-30  Wim Taymans  <wim@fluendo.com>
12172
12173         * gst/Makefile.am:
12174         * gst/gstelement.h:
12175         * gst/gstelementfactory.h:
12176         * gst/gsttypes.h:
12177         Move elementfactory methods to separate .h file.
12178
12179 2005-05-30  Wim Taymans  <wim@fluendo.com>
12180
12181         * docs/design/part-overview.txt:
12182         * gst/gstsystemclock.h:
12183         Small typo fixes, doc updates.
12184
12185 2005-05-30  Wim Taymans  <wim@fluendo.com>
12186
12187         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12188         (init_popt_callback):
12189         Remove cpu-opt flag.
12190
12191 2005-05-30  Wim Taymans  <wim@fluendo.com>
12192
12193         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12194         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12195         * gst/gstbuffer.h:
12196         Avoid typechecking in places where not needed.
12197         Added accessor for malloc_data.
12198
12199 2005-05-30  Wim Taymans  <wim@fluendo.com>
12200
12201         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12202         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12203         (gst_pad_configure_sink), (gst_pad_configure_src),
12204         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12205         (gst_pad_start_task):
12206         Propagate errors from _set_caps() in configure_src/sink
12207         functions instead of returning TRUE.
12208         FLUSH events can travel up and downstream
12209
12210
12211 2005-05-30  Wim Taymans  <wim@fluendo.com>
12212
12213         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12214         (gst_basesink_activate):
12215         Handle EOS in preroll.
12216
12217 2005-05-30  Wim Taymans  <wim@fluendo.com>
12218
12219         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12220         (gst_queue_loop), (gst_queue_handle_src_event):
12221         Remove old pieces of code
12222         Flushing the queue in an upstream event is a very bad idea.
12223
12224 2005-05-26  Andy Wingo  <wingo@pobox.com>
12225
12226         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12227         gst_value_set_mini_object so as to add a ref on the object (which
12228         will be removed when the value is unset).
12229
12230         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12231         arg type in ::handoff.
12232
12233         * gst/gstelement.c (gst_element_change_state): Also deactivate
12234         pads in READY->NULL, just in case the element didn't make it to
12235         PAUSED. Wingo tested, Wim approved.
12236
12237 2005-05-26  Wim Taymans  <wim@fluendo.com>
12238
12239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12240         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12241         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12242         A flushing pad cannot be used to alloc_buffer from.
12243
12244 2005-05-26  Wim Taymans  <wim@fluendo.com>
12245
12246         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12247         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12248         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12249         (gst_bus_create_watch), (gst_bus_add_watch_full):
12250         * gst/gstbus.h:
12251         Implement a real GSource and use g_main_context_wakeup() to
12252         signal new messages instead of the socketpair.
12253
12254 2005-05-25  Wim Taymans  <wim@fluendo.com>
12255
12256         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12257         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12258         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12259         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12260         (gst_pad_send_event), (gst_pad_start_task):
12261         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12262         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12263         (gst_queue_sink_activate), (gst_queue_src_activate),
12264         (gst_queue_change_state):
12265         * gst/gstqueue.h:
12266         Fix state changes for non sinks. We now change sinks, then elements
12267         with unconnected srcpads, then the rest.
12268         More efficient queue unlocking in flush and state changes.
12269         Set the pad activate mode even if it does not have an activate
12270         function.
12271
12272 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12273
12274         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12275           Don't go in pull mode for non-seekable sources.
12276         * gst/elements/gsttypefindelement.h:
12277         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12278         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12279         (free_entry), (stop_typefinding),
12280         (gst_type_find_element_handle_event), (find_peek),
12281         (gst_type_find_element_chain), (do_pull_typefind),
12282         (gst_type_find_element_change_state):
12283           Allow typefinding (w/o seeking) in push-mode, simplified version
12284           of what was in 0.8.
12285         * gst/gstutils.c: (gst_buffer_join):
12286         * gst/gstutils.h:
12287           gst_buffer_join() from 0.8.
12288
12289 2005-05-25  Wim Taymans  <wim@fluendo.com>
12290
12291         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12292         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12293         (gst_pad_send_event), (gst_pad_start_task):
12294         Disable attempt at mode switching until it is figured out.
12295
12296 2005-05-25  Wim Taymans  <wim@fluendo.com>
12297
12298         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12299         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12300         (gst_basesink_finish_preroll), (gst_basesink_chain),
12301         (gst_basesink_loop), (gst_basesink_activate),
12302         (gst_basesink_change_state):
12303         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12304         (gst_basesrc_get_range), (gst_basesrc_loop),
12305         (gst_basesrc_activate):
12306         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12307         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12308         (gst_real_pad_init), (gst_real_pad_set_property),
12309         (gst_real_pad_get_property), (gst_pad_set_active),
12310         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12311         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12312         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12313         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12314         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12315         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12316         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12317         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12318         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12319         (gst_pad_stop_task):
12320         * gst/gstpad.h:
12321         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12322         (gst_queue_loop), (gst_queue_src_activate):
12323         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12324         (gst_task_get_state):
12325         * gst/gsttask.h:
12326         * gst/schedulers/threadscheduler.c:
12327         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12328         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12329         in task function.
12330         Remove ACTIVE pad flag, use FLUSHING everywhere
12331         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12332         functions.
12333         Add locks around IS_FLUSHING when reading.
12334         Take STREAM lock in chain(), get_range() functions so plugins
12335         don't need to take it anymore.
12336         
12337
12338
12339 2005-05-25  Wim Taymans  <wim@fluendo.com>
12340
12341         * tools/gst-launch.c: (event_loop):
12342         Unref message after using its contents instead of
12343         before.
12344
12345 2005-05-24  Wim Taymans  <wim@fluendo.com>
12346
12347         * docs/design/draft-ghostpads.txt:
12348         * docs/design/draft-push-pull.txt:
12349         * docs/design/draft-query.txt:
12350         * docs/design/part-overview.txt:
12351         Docs updates, added general overview doc.
12352
12353 2005-05-21  David Schleef  <ds@schleef.org>
12354
12355         * docs/gst/tmpl/old/GstBin.sgml:
12356         * docs/gst/tmpl/old/GstBuffer.sgml:
12357         * docs/gst/tmpl/old/GstCaps.sgml:
12358         * docs/gst/tmpl/old/GstClock.sgml:
12359         * docs/gst/tmpl/old/GstCompat.sgml:
12360         * docs/gst/tmpl/old/GstData.sgml:
12361         * docs/gst/tmpl/old/GstElement.sgml:
12362         * docs/gst/tmpl/old/GstEvent.sgml:
12363         * docs/gst/tmpl/old/GstIndex.sgml:
12364         * docs/gst/tmpl/old/GstStructure.sgml:
12365         * docs/gst/tmpl/old/GstTag.sgml:
12366         * docs/gst/tmpl/old/cothreads.sgml:
12367         * docs/gst/tmpl/old/cothreads_compat.sgml:
12368         * docs/gst/tmpl/old/gettext.sgml:
12369         * docs/gst/tmpl/old/gobject2gtk.sgml:
12370         * docs/gst/tmpl/old/grammar.tab.sgml:
12371         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12372         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12373         * docs/gst/tmpl/old/gst_private.sgml:
12374         * docs/gst/tmpl/old/gstaggregator.sgml:
12375         * docs/gst/tmpl/old/gstarch.sgml:
12376         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12377         * docs/gst/tmpl/old/gstbufferstore.sgml:
12378         * docs/gst/tmpl/old/gstdata_private.sgml:
12379         * docs/gst/tmpl/old/gstdisksink.sgml:
12380         * docs/gst/tmpl/old/gstdisksrc.sgml:
12381         * docs/gst/tmpl/old/gstelementfactory.sgml:
12382         * docs/gst/tmpl/old/gstextratypes.sgml:
12383         * docs/gst/tmpl/old/gstfakesink.sgml:
12384         * docs/gst/tmpl/old/gstfakesrc.sgml:
12385         * docs/gst/tmpl/old/gstfdsink.sgml:
12386         * docs/gst/tmpl/old/gstfdsrc.sgml:
12387         * docs/gst/tmpl/old/gstfilesink.sgml:
12388         * docs/gst/tmpl/old/gstfilesrc.sgml:
12389         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12390         * docs/gst/tmpl/old/gstidentity.sgml:
12391         * docs/gst/tmpl/old/gstindexfactory.sgml:
12392         * docs/gst/tmpl/old/gstmarshal.sgml:
12393         * docs/gst/tmpl/old/gstmd5sink.sgml:
12394         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12395         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12396         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12397         * docs/gst/tmpl/old/gstpipefilter.sgml:
12398         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12399         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12400         * docs/gst/tmpl/old/gstshaper.sgml:
12401         * docs/gst/tmpl/old/gstspider.sgml:
12402         * docs/gst/tmpl/old/gstspideridentity.sgml:
12403         * docs/gst/tmpl/old/gststatistics.sgml:
12404         * docs/gst/tmpl/old/gsttee.sgml:
12405         * docs/gst/tmpl/old/gsttimecache.sgml:
12406         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12407         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12408         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12409         * docs/gst/tmpl/old/types.sgml:
12410           I didn't intend to add these or check them in.
12411
12412 2005-05-19  David Schleef  <ds@schleef.org>
12413
12414         * configure.ac: Use -no-common everywhere.  In a sane world, it
12415           would be the default in libtool, because without it, you can't
12416           build DLLs on Windows.
12417         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12418         * docs/gst/gstreamer-sections.txt:
12419         * docs/gst/tmpl/gstcpu.sgml:
12420         * docs/gst/tmpl/gstdata.sgml:
12421         * docs/gst/tmpl/gstthread.sgml:
12422
12423 2005-05-19  David Schleef  <ds@schleef.org>
12424
12425         * gst/gstminiobject.c: (gst_value_set_mini_object),
12426         (gst_value_take_mini_object), (gst_value_get_mini_object):
12427         * gst/gstminiobject.h: Add GValue set/get functions.
12428
12429 2005-05-19  Wim Taymans  <wim@fluendo.com>
12430
12431         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12432         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12433         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12434         * gst/gstbuffer.h:
12435         * gst/gstbus.c: (gst_bus_post):
12436         * gst/gstelement.c: (gst_element_get_random_pad):
12437         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12438         Make subbufer unref the parent in finalize.
12439         some more debugging info.
12440
12441
12442 2005-05-19  Wim Taymans  <wim@fluendo.com>
12443
12444         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12445         (gst_basesink_init), (gst_basesink_finalize),
12446         (gst_basesink_activate), (gst_basesink_change_state):
12447         Don't free preroll queue too early.
12448
12449 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12450
12451         * gst/Makefile.am:
12452         * gst/ROADMAP:
12453           Hi, I'm outdated. Please shoot me.
12454
12455 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12456
12457         * gst/gstpipeline.c: (gst_pipeline_send_event):
12458           Do not access variables after they have been deleted.
12459
12460 2005-05-19  Wim Taymans  <wim@fluendo.com>
12461
12462         * tools/gst-inspect.c: (print_plugin_features):
12463         A plugin feature does unfortunatly not use the
12464         object name yet...
12465
12466 2005-05-18  Wim Taymans  <wim@fluendo.com>
12467
12468         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12469         Port _span() functions to new subbuffers.
12470
12471 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12472
12473         * gst/gstbin.c: (gst_bin_add_func):
12474           Fix clock settery in bins when adding kids after the clock has
12475           been selected.
12476
12477 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12478
12479         * gst/elements/gstidentity.c: (gst_identity_class_init):
12480           Workaround until signals support GstMiniObject.
12481
12482 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12483
12484         * gst/gstbuffer.c:
12485         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12486
12487 2005-05-18  Wim Taymans  <wim@fluendo.com>
12488
12489         * gst/base/Makefile.am:
12490         * gst/base/gstadapter.c: (gst_adapter_base_init),
12491         (gst_adapter_class_init), (gst_adapter_init),
12492         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12493         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12494         (gst_adapter_flush), (gst_adapter_available),
12495         (gst_adapter_available_fast):
12496         * gst/base/gstadapter.h:
12497         Ported and added adapter to the base classes.
12498
12499 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12500
12501         * gst/gst.c:
12502         * gst/gstmessage.c:
12503           Make sure the class is reffed/unreffed once before threads can be
12504           used.  Fixes #304551.
12505
12506 2005-05-17  Wim Taymans  <wim@fluendo.com>
12507
12508         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12509         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12510         * gst/gstminiobject.c: (gst_mini_object_get_type),
12511         (gst_mini_object_free):
12512         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12513         (gst_pad_push), (gst_pad_push_event):
12514         * gst/gstqueue.c: (gst_queue_change_state):
12515         Don't queue buffers in basesink when we are flushing.
12516         Unref buffer when flushing in basesink.
12517         Flush queue when going to READY
12518         Unref buffer when _push() returns an error.
12519         Don't free MiniObject instance when refcount is incremented
12520         in _finalize() so that we can recover objects.
12521
12522 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12523
12524         * docs/manual/advanced-schedulers.xml:
12525         * docs/manual/appendix-checklist.xml:
12526         * docs/pwg/advanced-clock.xml:
12527         * docs/pwg/advanced-interfaces.xml:
12528         * docs/pwg/advanced-request.xml:
12529         * docs/pwg/advanced-types.xml:
12530         * docs/pwg/intro-preface.xml:
12531         * examples/plugins/example.c: (gst_example_get_type),
12532         (gst_example_class_init), (gst_example_chain),
12533         (gst_example_set_property), (gst_example_get_property),
12534         (gst_example_change_state), (plugin_init):
12535         * examples/plugins/example.h:
12536           small doc fixes
12537
12538 2005-05-17  Wim Taymans  <wim@fluendo.com>
12539
12540         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12541         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12542         * gst/gstqueue.c: (gst_queue_change_state):
12543         Clear queue when going to READY.
12544         Remove IN_SETCAPS flag too.
12545
12546 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12547
12548         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12549           Remove implicit cast from gboolean to GstElementStateReturn;
12550           make sure we still return failure in paused => ready case if
12551           the parent class fails to change state and our own stop 
12552           vfunc succeeds.
12553
12554 2005-05-17  Wim Taymans  <wim@fluendo.com>
12555
12556         * tools/gst-launch.c: (event_loop):
12557         Message was unreffed too soon.
12558
12559 2005-05-16  Andy Wingo  <wingo@pobox.com>
12560
12561         * gst/gstbin.c (sink_iterator_filter): Err... um...
12562
12563         * check/gst/gstbin.c (test_ghost_pads): New test for the
12564         ghosting-if-elements-not-in-same-bin behavior.
12565
12566 2005-05-16  David Schleef  <ds@schleef.org>
12567
12568         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12569         accessing refcount directly.
12570
12571 2005-05-15  David Schleef  <ds@schleef.org>
12572
12573         * check/Makefile.am: remove GstData checks
12574         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12575         * gst/Makefile.am: add miniobject, remove data
12576         * gst/gst.h: add miniobject, remove data
12577         * gst/gstdata.c: remove
12578         * gst/gstdata.h: remove
12579         * gst/gstdata_private.h: remove
12580         * gst/gsttypes.h: remove GstEvent and GstMessage
12581         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12582         * gst/gstmarshal.list: change BOXED -> OBJECT
12583
12584         Implement GstMiniObject.
12585         * gst/gstminiobject.c:
12586         * gst/gstminiobject.h:
12587
12588         Modify to be subclasses of GstMiniObject.
12589         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12590         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12591         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12592         (gst_subbuffer_get_type), (gst_subbuffer_init),
12593         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12594         (gst_buffer_span):
12595         * gst/gstbuffer.h:
12596         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12597         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12598         (_gst_event_copy), (gst_event_new):
12599         * gst/gstevent.h:
12600         * gst/gstmessage.c: (_gst_message_initialize),
12601         (gst_message_get_type), (gst_message_class_init),
12602         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12603         (gst_message_new), (gst_message_new_error),
12604         (gst_message_new_warning), (gst_message_new_tag),
12605         (gst_message_new_state_changed), (gst_message_new_application):
12606         * gst/gstmessage.h:
12607         * gst/gstprobe.c: (gst_probe_perform),
12608         (gst_probe_dispatcher_dispatch):
12609         * gst/gstprobe.h:
12610         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12611         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12612         (_gst_query_copy), (gst_query_new):
12613
12614         Update elements for GstData -> GstMiniObject changes
12615         * gst/gstquery.h:
12616         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12617         (gst_queue_chain), (gst_queue_loop):
12618         * gst/elements/gstbufferstore.c:
12619         (gst_buffer_store_add_buffer_func),
12620         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12621         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12622         (gst_fakesink_render):
12623         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12624         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12625         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12626         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12627         (gst_filesrc_create_read):
12628         * gst/elements/gstidentity.c: (gst_identity_class_init):
12629         * gst/elements/gsttypefindelement.c:
12630         (gst_type_find_element_src_event), (free_entry_buffers),
12631         (gst_type_find_element_handle_event):
12632         * libs/gst/dataprotocol/dataprotocol.c:
12633         (gst_dp_header_from_buffer):
12634         * libs/gst/dataprotocol/dataprotocol.h:
12635         * libs/gst/dataprotocol/dp-private.h:
12636
12637 2005-05-15  David Schleef  <ds@schleef.org>
12638
12639         * gst/elements/gstelements.c: Don't include headers that were
12640         just removed.
12641
12642 2005-05-15  David Schleef  <ds@schleef.org>
12643
12644         * gst/elements/Makefile.am: Remove some elements that don't
12645         need to be in the core (or even exist at all).
12646         * gst/elements/gstaggregator.c:
12647         * gst/elements/gstaggregator.h:
12648         * gst/elements/gstmd5sink.c:
12649         * gst/elements/gstmd5sink.h:
12650         * gst/elements/gstmultifilesrc.c:
12651         * gst/elements/gstmultifilesrc.h:
12652         * gst/elements/gstpipefilter.c:
12653         * gst/elements/gstpipefilter.h:
12654         * gst/elements/gstshaper.c:
12655         * gst/elements/gstshaper.h:
12656         * gst/elements/gststatistics.c:
12657         * gst/elements/gststatistics.h:
12658         * po/POTFILES.in: Remove above files.
12659
12660 2005-05-14  Andy Wingo  <wingo@pobox.com>
12661
12662         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12663         so as to get the refs right.
12664         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12665         unreffing objects that don't pass the filter.
12666
12667         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12668         gst_element_set_bus.
12669         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12670         normal cases, this will destroy the bus.
12671
12672         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12673         object.
12674
12675         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12676         has no sinks.
12677
12678 2005-05-13  Andy Wingo  <wingo@pobox.com>
12679
12680         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12681         gst_pad_link, call pad_link_maybe_ghosting,
12682         (pad_link_maybe_ghosting): Links pads, making sure that the
12683         elements being linked are in the same bin.
12684         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12685         Helpers for pad_link_maybe_ghosting.
12686
12687 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12688
12689         * configure.ac:
12690           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12691
12692 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12693
12694         * docs/design/part-element-source.txt:
12695           Mention GstPushSrc
12696
12697 2005-05-12  Wim Taymans  <wim@fluendo.com>
12698
12699         * gst/base/gstbasesink.c: (gst_basesink_init),
12700         (gst_basesink_activate):
12701         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12702         (gst_basesrc_is_seekable):
12703         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12704         (bin_element_is_sink), (gst_bin_change_state):
12705         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12706         * gst/gstelement.h:
12707         Identify sinks by their flag to avoid overly complicated
12708         checks (fow now).
12709         Do state changes even for elements not reachable from the
12710         sinks.
12711         BaseSink is a sink now :)
12712         Some more debugging info in the basesrc.
12713
12714
12715 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12716
12717         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12718           Implement _query on a bin, similar to _send_event.
12719
12720 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12721
12722         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12723           Discont event offset format should be GST_FORMAT_BYTES,
12724           not GST_FORMAT_TIME.
12725
12726 2005-05-12  Wim Taymans  <wim@fluendo.com>
12727
12728         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12729         Same fix as Ronald's but without the signal. 
12730
12731 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12732
12733         * gst/gstutils.c: (gst_element_query_position):
12734           No, an element is not a pad.
12735
12736 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12737
12738         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12739         (gst_bin_get_state):
12740           If a child is removed from a bin while we remove the child from
12741           the bin and while we're retrieving its state, signal this to the
12742           get_state function so we abort the wait (instead of waiting for
12743           a timeout) and can immediately re-iterate over all other elements.
12744
12745 2005-05-12  Wim Taymans  <wim@fluendo.com>
12746
12747         * gst/base/Makefile.am:
12748         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12749         (gst_basesrc_start):
12750         * gst/base/gstbasesrc.h:
12751         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12752         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12753         (gst_pushsrc_init), (gst_pushsrc_create):
12754         * gst/base/gstpushsrc.h:
12755         Added is_seekable to BaseSrc
12756         Added simple PushSrc.
12757
12758 2005-05-11  Wim Taymans  <wim@fluendo.com>
12759
12760         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12761         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12762         (gst_element_link_pads), (gst_element_query_position),
12763         (gst_element_query_convert), (intersect_caps_func),
12764         (gst_pad_query_position), (gst_pad_query_convert):
12765         Fix refcounting in utils function.
12766         No point in trying to activate a pad when it's added, it could
12767         be added from the state change function and then we deadlock, the
12768         element has to decide what to do.
12769
12770 2005-05-10  Andy Wingo  <wingo@pobox.com>
12771
12772         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12773         *all* the arguments.
12774
12775         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12776         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12777         lock (according to the docs -- if this is wrong change the docs).
12778
12779         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12780         flush messages in the NULL state.
12781
12782         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12783         message immediately and return.
12784         (gst_bus_set_flushing): New function. If a bus is flushing, it
12785         flushes out any queued messages and immediately unrefs new
12786         messages. This is so when an element goes to NULL, all of the
12787         unhandled messages coming from it can be freed, and their
12788         references to the element dropped. In other words: message source
12789         ref considered harmful :P
12790
12791         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12792         we're finished with it.
12793
12794         * gst/gstmessage.c (gst_message_new_state_changed): 
12795
12796 2005-05-10  Wim Taymans  <wim@fluendo.com>
12797
12798         * gst/gstvalue.c: (gst_value_compare_flags),
12799         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12800         (_gst_value_initialize):
12801         Added flags serialize/deserialize/compare code.
12802
12803 2005-05-09  Andy Wingo  <wingo@pobox.com>
12804
12805         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12806         Intersect the peer's caps with our caps.
12807
12808 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12809
12810         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12811         * gst/elements/gsttypefindelement.c: (find_peek):
12812           Handle negative offsets better. Fixes decodebin.
12813
12814 2005-05-09  Wim Taymans  <wim@fluendo.com>
12815
12816         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12817         (gst_base_transform_event):
12818         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12819         Implement accept_caps.
12820         Fix silly lock/unlock mismatch in base class.
12821
12822 2005-05-09  Wim Taymans  <wim@fluendo.com>
12823
12824         * docs/design/draft-push-pull.txt:
12825         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12826         * gst/elements/gstfilesink.c: (gst_filesink_init),
12827         (gst_filesink_query):
12828         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12829         (gst_type_find_handle_src_query), (find_element_get_length):
12830         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12831         * gst/gstelement.h:
12832         * gst/gstmessage.c:
12833         * gst/gstmessage.h:
12834         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12835         (gst_real_pad_get_caps_unlocked),
12836         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12837         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12838         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12839         (gst_real_pad_dispose), (gst_real_pad_finalize),
12840         (gst_pad_load_and_link), (gst_pad_save_thyself),
12841         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12842         (gst_pad_check_pull_range), (gst_pad_pull_range),
12843         (gst_pad_template_get_type), (gst_pad_template_class_init),
12844         (gst_pad_template_init), (gst_pad_template_dispose),
12845         (name_is_valid), (gst_static_pad_template_get),
12846         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12847         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12848         (gst_pad_get_element_private), (gst_pad_start_task),
12849         (gst_pad_pause_task), (gst_pad_stop_task),
12850         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12851         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12852         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12853         (gst_ghost_pad_new):
12854         * gst/gstpad.h:
12855         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12856         (gst_query_new_position), (gst_query_set_position),
12857         (gst_query_parse_position), (gst_query_new_convert),
12858         (gst_query_set_convert), (gst_query_parse_convert):
12859         * gst/gstquery.h:
12860         * gst/gstqueryutils.c:
12861         * gst/gstqueryutils.h:
12862         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12863         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12864         (gst_queue_handle_src_query):
12865         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12866         (gst_element_query_position), (gst_element_query_convert),
12867         (intersect_caps_func), (gst_pad_query_position),
12868         (gst_pad_query_convert):
12869         * gst/gstutils.h:
12870         * tools/gst-inspect.c: (print_pad_info):
12871         * tools/gst-xmlinspect.c: (print_element_info):
12872         Remove old query functions. Ported old code.
12873         Added position/convert helper functions to gstutils.
12874         Reordered gstpad.c code, grouping relevant things.
12875         Remove gst_message_new(), always need to speficy a specific
12876         message.
12877
12878
12879 2005-05-09  Andy Wingo  <wingo@pobox.com>
12880
12881         * gst/gstiterator.h: Add some includes.
12882
12883         * gst/gstqueryutils.h: Include more headers.
12884
12885         * gst/gstpad.h:
12886         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12887         some uses of gst_pad_query.
12888
12889         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12890         NULL out parameters.
12891         (gst_query_new_position): New proc, allocates a new position
12892         query.
12893
12894         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12895         gstqueryutils.c to the build.
12896
12897         * gst/gststructure.c (gst_structure_set_valist): Implement with
12898         the generic G_VALUE_COLLECT.
12899         
12900 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12901
12902         * gst/Makefile.am: (gst_headers):
12903         Added gstqueryutils.h to the list of headers to install, that was
12904         a 'nachty' move wingo :)
12905
12906 2005-05-06  Andy Wingo  <wingo@pobox.com>
12907
12908         * gst/gstquery.h
12909         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12910         GstData, init a memchunk.
12911         (standard_definitions): Add a few query types, deprecate a few.
12912         (gst_query_get_type): New proc.
12913         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12914         implementation.
12915         (gst_query_new_application, gst_query_get_structure): New public
12916         procs.
12917
12918         * docs/design/draft-query.txt: Removed LINKS from the query types,
12919         because all the rest can be dispatched to other pads -- seemed
12920         ugly to have a query that couldn't be dispatched. internal_links
12921         is fine as a pad method.
12922
12923         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12924         in gstpad.c, but maintain binary compatibility for the moment.
12925         Will fix before 0.9 is out.
12926
12927         * gst/gstqueryutils.c: 
12928         * gst/gstqueryutils.h: New files, implement 3 methods for each
12929         query type: parse_query, parse_response, and set. Probably need an
12930         allocator as well.
12931
12932         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12933
12934         * gst/elements/gstfilesink.c (gst_filesink_query2):
12935         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12936         query_types, and formats methods.
12937
12938         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12939         (gst_pad_set_query2_function): New functions.
12940         (gst_real_pad_init): Set query2_default as the default query2
12941         function. Basically just dispatches to internally linked pads.
12942
12943         Needs review!
12944         
12945         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12946         without using the atomic operations. Only one thread can possibly
12947         be accessing the data at this point. Changed so as to avoid
12948         gst_atomic operations.
12949
12950 2005-05-06  Wim Taymans  <wim@fluendo.com>
12951
12952         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12953         Also set caps if we use the fallback buffer alloc.
12954
12955 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12956
12957         * docs/gst/Makefile.am:
12958         * docs/gst/gstreamer-docs.sgml:
12959         * docs/gst/gstreamer-sections.txt:
12960         * docs/gst/tmpl/gstatomic.sgml:
12961         * docs/gst/tmpl/gstmemchunk.sgml:
12962         * testsuite/elements/struct_i386.h:
12963         * win32/GStreamer.vcproj:
12964         * win32/Makefile:
12965           Purge GstAtomic stuff from docs and win32 makefiles as well
12966
12967 2005-05-06  Wim Taymans  <wim@fluendo.com>
12968
12969         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12970         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12971         * gst/gstpad.c: (gst_pad_peer_get_caps):
12972         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12973         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12974         (gst_queue_src_activate), (gst_queue_change_state):
12975         * gst/gstqueue.h:
12976         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12977         (intersect_caps_func):
12978         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12979         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12980         Some fixes for the peer_get_caps() change.
12981
12982 2005-05-06  Wim Taymans  <wim@fluendo.com>
12983
12984         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12985         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12986         (gst_basesink_activate):
12987         Actually do something with error codes returned from the push
12988         functions.
12989
12990 2005-05-06  Wim Taymans  <wim@fluendo.com>
12991
12992         * docs/design/part-element-sink.txt:
12993         * docs/design/part-element-source.txt:
12994         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12995         (gst_basesink_event), (gst_basesink_activate):
12996         * gst/base/gstbasesink.h:
12997         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12998         (gst_basesrc_activate):
12999         * gst/base/gstbasesrc.h:
13000         * gst/gstelement.c: (gst_element_pads_activate):
13001         Some more documentation.
13002         Fixed scheduling decision in _pads_activate().
13003
13004 2005-05-05  Andy Wingo  <wingo@pobox.com>
13005
13006         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13007         the test suite.
13008
13009 2005-05-05  Wim Taymans  <wim@fluendo.com>
13010
13011         * gst/base/Makefile.am:
13012         * gst/base/gstbasesink.h:
13013         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13014         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13015         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13016         (gst_collectpads_class_init), (gst_collectpads_init),
13017         (gst_collectpads_finalize), (gst_collectpads_new),
13018         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13019         (find_pad), (gst_collectpads_remove_pad),
13020         (gst_collectpads_is_active), (gst_collectpads_collect),
13021         (gst_collectpads_collect_range), (gst_collectpads_start),
13022         (gst_collectpads_stop), (gst_collectpads_peek),
13023         (gst_collectpads_pop), (gst_collectpads_available),
13024         (gst_collectpads_read), (gst_collectpads_flush),
13025         (gst_collectpads_chain):
13026         * gst/base/gstcollectpads.h:
13027         * gst/elements/Makefile.am:
13028         * gst/elements/gstelements.c:
13029         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13030         (gst_fakesink_get_times), (gst_fakesink_event),
13031         (gst_fakesink_preroll), (gst_fakesink_render):
13032         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13033         (gst_filesink_init), (gst_filesink_set_location),
13034         (gst_filesink_open_file), (gst_filesink_close_file),
13035         (gst_filesink_pad_query), (gst_filesink_event),
13036         (gst_filesink_render), (gst_filesink_change_state):
13037         * gst/elements/gstfilesink.h:
13038         Added object to help in making collect pad based elements.
13039         Ported filesink.
13040         Make event function in sink baseclass return gboolean.
13041
13042 2005-05-05  Wim Taymans  <wim@fluendo.com>
13043
13044         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13045         (gst_bin_get_by_name):
13046         * gst/gstbuffer.h:
13047         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13048         (gst_clock_finalize):
13049         * gst/gstdata.c: (gst_data_replace):
13050         * gst/gstdata.h:
13051         * gst/gstelement.c: (gst_element_request_pad),
13052         (gst_element_pads_activate):
13053         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13054         (gst_object_unref):
13055         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13056         (gst_pad_set_checkgetrange_function),
13057         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13058         (gst_pad_check_pull_range), (gst_pad_pull_range),
13059         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13060         (gst_pad_pause_task), (gst_pad_stop_task):
13061         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13062         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13063         Fix name lookup in GstBin.
13064         Added _data_replace() function and _buffer_replace()
13065         Use finalize method to clean up clock.
13066         Fix refcounting on request pads.
13067         Fix pad schedule mode error.
13068         Some more object refcounting debug info,
13069
13070
13071 2005-05-04  Andy Wingo <wingo@pobox.com>
13072
13073         * check/Makefile.am:
13074         * docs/gst/tmpl/gstatomic.sgml:
13075         * docs/gst/tmpl/gstplugin.sgml:
13076         * gst/base/gstbasesink.c: (gst_basesink_activate):
13077         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13078         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13079         (gst_basesrc_query), (gst_basesrc_set_property),
13080         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13081         (gst_basesrc_activate):
13082         * gst/base/gstbasesrc.h:
13083         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13084         (gst_base_transform_src_activate):
13085         * gst/elements/gstelements.c:
13086         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13087         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13088         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13089         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13090         (gst_type_find_element_checkgetrange),
13091         (gst_type_find_element_activate):
13092         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13093         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13094         (gst_caps_load_thyself):
13095         * gst/gstelement.c: (gst_element_pads_activate),
13096         (gst_element_save_thyself), (gst_element_restore_thyself):
13097         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13098         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13099         * gst/gstpad.h:
13100         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13101         (gst_xml_parse_file), (gst_xml_parse_memory),
13102         (gst_xml_get_element), (gst_xml_make_element):
13103         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13104         (_file_index_id_save_xml), (gst_file_index_commit):
13105         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13106         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13107         (load_paths):
13108         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13109         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13110         * tools/gst-complete.c: (main):
13111         * tools/gst-compprep.c: (main):
13112         * tools/gst-inspect.c: (print_element_properties_info):
13113         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13114         * tools/gst-xmlinspect.c: (print_element_properties):
13115         GCC 4 fixen.
13116         
13117 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * gst/gstplugin.c: (gst_plugin_check_module),
13120         (gst_plugin_check_file), (gst_plugin_load_file):
13121             apply patch from #172526 to make register work on MacOSX
13122
13123 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13124
13125         * docs/gst/tmpl/gstconfig.sgml:
13126         * gst/gstconfig.h.in:
13127           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13128         * testsuite/debug/printf_extension.c: (main):
13129           Do not use GST_PTR_FORMAT on pointers to types with
13130           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13131         * testsuite/elements/property.h:
13132           use correct printf format
13133
13134 2005-05-02  Wim Taymans  <wim@fluendo.com>
13135
13136         * docs/design/draft-push-pull.txt:
13137         * docs/design/draft-query.txt:
13138         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13139         (gst_basesrc_start):
13140         Added draft for new query API.
13141         Added draft for better selecting scheduling methods.
13142         Make basesrc ignore length if the subclass does not support
13143         it.
13144
13145 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13146
13147         * gst/Makefile.am:
13148           possible fixes for automake-1.5 - _LIBADD is reserved
13149
13150 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13151
13152         * docs/faq/Makefile.am:
13153         * docs/manual/Makefile.am:
13154         * docs/manuals.mak:
13155         * docs/pwg/Makefile.am:
13156         * gst/Makefile.am:
13157           possible fixes for automake-1.5
13158
13159 2005-04-28  Wim Taymans  <wim@fluendo.com>
13160
13161         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13162         (gst_basesink_pad_getcaps), (gst_basesink_init),
13163         (gst_basesink_do_sync):
13164         * gst/gstclock.c: (gst_clock_entry_new):
13165         * gst/gstevent.c: (gst_event_discont_get_value):
13166         * gst/gstpipeline.c: (pipeline_bus_handler),
13167         (gst_pipeline_change_state):
13168         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13169         Better debugging of clocking info.
13170         Allow NULL values when getting discont values.
13171
13172 2005-04-27  Wim Taymans  <wim@fluendo.com>
13173
13174         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13175         * check/gst/gstpad.c: (gst_pad_suite):
13176         Increase timeout for checks.
13177
13178 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13179
13180         * check/Makefile.am:
13181           fix the broken rule for cleanup.  Apparently this rule is
13182           only needed on FC2, so maybe this warrants further autotool
13183           inspection.
13184
13185 2005-04-26  Wim Taymans  <wim@fluendo.com>
13186
13187         * gst/gsttrashstack.h:
13188         Ooohh. a nasty one! After having a failed pop() from the stack,
13189         it's possible that the stack is empty. In that case, don't
13190         follow the NULL pointer.
13191
13192 2005-04-25  Wim Taymans  <wim@fluendo.com>
13193
13194         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13195         (gst_pad_set_checkgetrange_function),
13196         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13197         (gst_pad_check_pull_range), (gst_pad_pull_range),
13198         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13199         (gst_pad_pause_task), (gst_pad_stop_task):
13200         * gst/gstplugin.c: (gst_plugin_load):
13201         * gst/gstplugin.h:
13202         Remove gst_library_load as it does more harm than good with
13203         the new g_module flags.
13204         Revert bogus caps template check in pad linking, pad caps
13205         are important when linking not the template, which is more
13206         general than the current caps.
13207
13208 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13209
13210         * gst/autoplug/.cvsignore:
13211         * gst/autoplug/Makefile.am:
13212         * gst/autoplug/gstsearchfuncs.c:
13213         * gst/autoplug/gstsearchfuncs.h:
13214         * gst/autoplug/gstspider.c:
13215         * gst/autoplug/gstspider.h:
13216         * gst/autoplug/gstspideridentity.c:
13217         * gst/autoplug/gstspideridentity.h:
13218         * gst/autoplug/spidertest.c:
13219           Die, spider, die.
13220
13221 2005-04-25  Wim Taymans  <wim@fluendo.com>
13222
13223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13224         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13225         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13226         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13227         * gst/gstpad.h:
13228         Added stubs for unimplemented functions. 
13229
13230 2005-04-24  David Schleef  <ds@schleef.org>
13231
13232         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13233         please fix.
13234
13235 2005-04-24  David Schleef  <ds@schleef.org>
13236
13237         Convert everything from GstAtomicInt to g_atomic_int_*, and
13238         remove gstatomic.
13239         * gst/Makefile.am:
13240         * gst/gstatomic.c:
13241         * gst/gstatomic.h:
13242         * gst/gstatomic_impl.h:
13243         * gst/gstbuffer.c:
13244         * gst/gstcaps.c:
13245         * gst/gstcaps.h:
13246         * gst/gstclock.c:
13247         * gst/gstclock.h:
13248         * gst/gstdata.c:
13249         * gst/gstdata.h:
13250         * gst/gstdata_private.h:
13251         * gst/gstevent.c:
13252         * gst/gstinfo.c:
13253         * gst/gstinfo.h:
13254         * gst/gstmessage.c:
13255         * gst/gstobject.c:
13256         * gst/gstobject.h:
13257         * gst/gststructure.c:
13258         * gst/gststructure.h:
13259         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13260         * gst/gstutils.h:
13261
13262 2005-04-24  David Schleef  <ds@schleef.org>
13263
13264         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13265         make the regressions tests work.  Remove some code that is no
13266         longer true.
13267         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13268         Disable warning for pads without templates.
13269
13270 2005-04-24  David Schleef  <ds@schleef.org>
13271
13272         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13273         functions that handle filtered links.
13274         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13275         removed functions.
13276         * gst/gstutils.c: Fix/remove utility functions that handle
13277         filtered caps.
13278         * gst/gstutils.h:
13279         * gst/gstvalue.c: Add serialization/deserialization of caps
13280         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13281         requires fixing so that the filter caps notation creates
13282         a capsfilter element and sets the filter_caps property.  I
13283         think everyone probably wants to keep the shorthand notation.
13284         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13285         * docs/gst/tmpl/gstpad.sgml:
13286
13287         * gst/elements/gstelements.c: Register capsfilter element.
13288         * gst/Makefile.am: fix spacing
13289         * docs/random/ds/0.9-suggested-changes: random
13290
13291 2005-04-23  David Schleef  <ds@schleef.org>
13292
13293         * gst/elements/Makefile.am:
13294         * gst/elements/gstcapsfilter.c: New element that acts like an
13295         identity, but filters caps.  Will eventually replace filtered
13296         caps in pad linking.
13297         * gst/gstutils.c: (gst_element_create_all_pads): New function
13298         to create all the ALWAYS pads that are registered with an
13299         element class.  This functionality should eventually be
13300         merged in with GstElement initialization.
13301         * gst/gstutils.h:
13302         * testsuite/trigger/README: part of trigger test code that should
13303         have been checked in a long time ago.
13304
13305 2005-04-23  David Schleef  <ds@schleef.org>
13306
13307         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13308         needed with new versions of libtool (nobody will confirm this),
13309         and hard to carry around.
13310         * gst/autoplug/Makefile.am:
13311         * gst/base/Makefile.am:
13312         * gst/elements/Makefile.am:
13313         * gst/indexers/Makefile.am:
13314         * gst/schedulers/Makefile.am:
13315         * libs/gst/bytestream/Makefile.am:
13316         * libs/gst/control/Makefile.am:
13317         * libs/gst/dataprotocol/Makefile.am:
13318         * libs/gst/getbits/Makefile.am:
13319
13320 2005-04-21  Wim Taymans  <wim@fluendo.com>
13321
13322         * docs/design/draft-push-pull.txt:
13323         * docs/design/part-MT-refcounting.txt:
13324         * docs/design/part-TODO.txt:
13325         * docs/design/part-caps.txt:
13326         * docs/design/part-events.txt:
13327         * docs/design/part-gstbus.txt:
13328         * docs/design/part-gstpipeline.txt:
13329         * docs/design/part-messages.txt:
13330         * docs/design/part-push-pull.txt:
13331         * docs/design/part-query.txt:
13332         Some more docs.
13333
13334 2005-04-21  Wim Taymans  <wim@fluendo.com>
13335
13336         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13337         (gst_message_new), (gst_message_new_error),
13338         (gst_message_new_warning), (gst_message_new_tag),
13339         (gst_message_new_state_changed), (gst_message_new_application),
13340         (gst_message_get_structure):
13341         * gst/gstmessage.h:
13342         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13343         (gst_structure_copy_conditional):
13344         Use parent refcount in GstMessage to ensure GstStructure
13345         consistency.
13346         Cleaned up headers a bit.
13347         
13348
13349 2005-04-20  Wim Taymans  <wim@fluendo.com>
13350
13351         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13352         (gst_basesink_pad_getcaps), (gst_basesink_init),
13353         (gst_basesink_chain_unlocked):
13354         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13355         (gst_type_find_helper):
13356         * gst/elements/gsttypefindelement.c:
13357         (gst_type_find_element_have_type), (gst_type_find_element_init),
13358         (stop_typefinding), (gst_type_find_element_handle_event),
13359         (find_suggest), (gst_type_find_element_chain),
13360         (gst_type_find_element_checkgetrange),
13361         (gst_type_find_element_getrange), (do_typefind),
13362         (gst_type_find_element_activate):
13363         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13364         (gst_buffer_default_free), (gst_buffer_default_copy),
13365         (gst_buffer_set_caps):
13366         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13367         (gst_caps_replace):
13368         * gst/gstmessage.c: (gst_message_new),
13369         (gst_message_new_state_changed):
13370         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13371         (gst_pad_set_checkgetrange_function),
13372         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13373         (gst_pad_set_caps), (gst_pad_check_pull_range),
13374         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13375         * gst/gstpad.h:
13376         * gst/gsttypefind.c: (gst_type_find_register):
13377         Make gst_caps_replace() work like other _replace() functions.
13378         Use _caps_replace() where possible.
13379         Make sure _message_new() initialises its field.
13380         Add gst_static_pad_template_get_caps()
13381
13382
13383 2005-04-18  Andy Wingo  <wingo@pobox.com>
13384
13385         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13386         on the peer, not the pad. I think that was a typo. Pass an extra
13387         arg to see if random access is possible. Activate the pads as
13388         PULL_RANGE if possible.
13389
13390         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13391
13392         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13393         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13394         to PROP_....
13395
13396 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13397
13398         * docs/faq/using.xml:
13399           Add note on gstreamer-properties (#154996).
13400
13401 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13402
13403         * docs/random/bbb/optional-properties:
13404           Some analysis on optional properties.
13405
13406 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13407
13408         * docs/gst/tmpl/gstelementfactory.sgml:
13409         * gst/gstelement.h:
13410         * gst/gstelementfactory.c: (gst_element_factory_init),
13411         (gst_element_factory_cleanup), (gst_element_register),
13412         (__gst_element_factory_add_static_pad_template),
13413         (gst_element_factory_get_static_pad_templates),
13414         (gst_element_factory_can_src_caps),
13415         (gst_element_factory_can_sink_caps):
13416         * gst/registries/Makefile.am:
13417         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13418         (gst_xml_registry_class_init), (gst_xml_registry_init),
13419         (gst_xml_registry_new), (gst_xml_registry_set_property),
13420         (gst_xml_registry_get_property), (get_time), (make_dir),
13421         (gst_xml_registry_get_perms_func),
13422         (plugin_times_older_than_recurse), (plugin_times_older_than),
13423         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13424         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13425         (add_to_char_array), (read_string), (read_uint), (read_enum),
13426         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13427         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13428         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13429         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13430         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13431         (gst_xml_registry_rebuild):
13432         * gst/registries/gstlibxmlregistry.h:
13433         * tools/gst-compprep.c: (main):
13434         * tools/gst-inspect.c: (print_pad_templates_info):
13435         * tools/gst-xmlinspect.c: (print_element_info):
13436           Use libxml2 for registry parsing, use staticpadtemplates in
13437           elementfactories. Makes gst_init() +/- 10x faster.
13438
13439 2005-04-12  Wim Taymans  <wim@fluendo.com>
13440
13441         * gst/base/Makefile.am:
13442         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13443         (gst_basesink_pad_getcaps), (gst_basesink_init),
13444         (gst_basesink_event), (gst_basesink_change_state):
13445         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13446         (gst_basesrc_init), (gst_basesrc_query),
13447         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13448         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13449         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13450         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13451         (gst_basesrc_stop), (gst_basesrc_activate),
13452         (gst_basesrc_change_state):
13453         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13454         (helper_find_suggest), (gst_type_find_helper):
13455         * gst/base/gsttypefindhelper.h:
13456         * gst/elements/Makefile.am:
13457         * gst/elements/gstelements.c:
13458         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13459         (gst_fakesink_get_times), (gst_fakesink_event),
13460         (gst_fakesink_preroll), (gst_fakesink_render):
13461         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13462         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13463         (gst_fakesrc_get_property), (gst_fakesrc_create),
13464         (gst_fakesrc_start), (gst_fakesrc_stop):
13465         * gst/elements/gstfakesrc.h:
13466         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13467         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13468         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13469         (gst_filesrc_create_read), (gst_filesrc_create),
13470         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13471         (gst_filesrc_start):
13472         * gst/elements/gsttypefindelement.c:
13473         (gst_type_find_element_have_type), (gst_type_find_element_init),
13474         (start_typefinding), (stop_typefinding), (push_buffer_store),
13475         (gst_type_find_element_handle_event),
13476         (gst_type_find_element_chain),
13477         (gst_type_find_element_checkgetrange),
13478         (gst_type_find_element_getrange), (do_typefind),
13479         (gst_type_find_element_activate),
13480         (gst_type_find_element_change_state):
13481         * gst/elements/gsttypefindelement.h:
13482         * gst/gstpipeline.c: (pipeline_bus_handler):
13483         Added typefind helper.
13484         Small preroll fix in the base sink.
13485         Disable typefind code in basesrc.
13486         Crude port of typefindelement.
13487         Fakesrc cleanups.
13488
13489
13490 2005-04-11  Wim Taymans  <wim@fluendo.com>
13491
13492         * check/gst/gstbus.c: (gstbus_suite):
13493         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13494         * check/gstcheck.h:
13495           Fix up the timeout so that the test does not fail.
13496
13497 2005-04-06  Wim Taymans  <wim@fluendo.com>
13498
13499         * gst/base/README:
13500         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13501         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13502         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13503         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13504         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13505         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13506         (gst_basesrc_stop), (gst_basesrc_activate),
13507         (gst_basesrc_change_state), (basesrc_find_peek),
13508         (basesrc_find_suggest), (gst_basesrc_type_find):
13509         * gst/base/gstbasesrc.h:
13510         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13511         (gst_filesrc_class_init), (gst_filesrc_init),
13512         (gst_filesrc_finalize), (gst_filesrc_set_location),
13513         (gst_filesrc_set_property), (gst_filesrc_get_property),
13514         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13515         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13516         (gst_filesrc_create_read), (gst_filesrc_create),
13517         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13518         * gst/elements/gstfilesrc.h:
13519         * gst/gstelement.c: (gst_element_get_state_func),
13520         (gst_element_lost_state), (gst_element_pads_activate):
13521         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13522         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13523         (gst_pad_pull_range):
13524         * gst/gstpad.h:
13525         More work on the generic source base class, implement seeking,
13526         query.
13527         Make filesrc extend the base source class.
13528         Added gst_pad_set_checkgetrange_function to GstPad.
13529
13530 2005-04-06  Andy Wingo  <wingo@pobox.com>
13531
13532         * pkgconfig/gstreamer-base.pc.in:
13533         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13534
13535         * pkgconfig/Makefile.am:
13536         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13537
13538 2005-04-04  Wim Taymans  <wim@fluendo.com>
13539
13540         * gst/base/Makefile.am:
13541         * gst/base/README:
13542         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13543         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13544         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13545         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13546         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13547         (gst_basesrc_base_init), (gst_basesrc_class_init),
13548         (gst_basesrc_init), (gst_basesrc_get_formats),
13549         (gst_basesrc_get_query_types), (gst_basesrc_query),
13550         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13551         (gst_basesrc_set_property), (gst_basesrc_get_property),
13552         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13553         (gst_basesrc_loop), (gst_basesrc_activate),
13554         (gst_basesrc_change_state):
13555         * gst/base/gstbasesrc.h:
13556         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13557         (gst_fakesrc_class_init), (gst_fakesrc_init),
13558         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13559         (gst_fakesrc_get_property), (gst_fakesrc_create):
13560         * gst/elements/gstfakesrc.h:
13561         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13562         (gst_filesrc_open_file), (gst_filesrc_loop),
13563         (gst_filesrc_activate), (filesrc_find_peek),
13564         (gst_filesrc_type_find):
13565         Made base source class, make fakesrc extend it.
13566         Add comments to basesink class.
13567         Some filesrc cleanup.
13568
13569 2005-03-31  David Schleef  <ds@schleef.org>
13570
13571         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13572         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13573         expected to link against libgstreamer.
13574         * gst/base/Makefile.am: link against libgstreamer
13575         * gst/elements/Makefile.am: same
13576
13577 2005-03-31  Andy Wingo  <wingo@pobox.com>
13578
13579         * tests/instantiate/Makefile.am:
13580         * tests/instantiate/caps.c: Add test to test speed of caps copy
13581         and free.
13582
13583         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13584         GMemChunk to be fair.
13585
13586         * gst/gsttrashstack.h: Remove warning about using the fallback
13587         trash stack implementation, it's still faster than malloc.
13588
13589 2005-03-30  Andy Wingo  <wingo@pobox.com>
13590
13591         * tests/complexity.c: Add a copyright.
13592
13593 2005-03-31  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13596         (gst_base_transform_class_init), (gst_base_transform_init),
13597         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13598         (gst_base_transform_get_property),
13599         (gst_base_transform_sink_activate),
13600         (gst_base_transform_src_activate),
13601         (gst_base_transform_change_state):
13602         * gst/base/gstbasetransform.h:
13603         * gst/elements/gstidentity.c: (gst_identity_class_init),
13604         (gst_identity_event), (gst_identity_check_perfect),
13605         (gst_identity_transform), (gst_identity_start),
13606         (gst_identity_stop):
13607         Added start/stop methods to transform base class so subclasses 
13608         don't need to deal with state changes even.
13609
13610 2005-03-31  Wim Taymans  <wim@fluendo.com>
13611
13612         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13613         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13614         * gst/gstevent.h:
13615         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13616         (gst_pad_pull_range):
13617         Added rate to the discont event to prepare for variable speed
13618         and reverse playback.
13619
13620 2005-03-29  David Schleef  <ds@schleef.org>
13621
13622         * configure.ac:
13623         * testsuite/trigger/Makefile.am:
13624         * testsuite/trigger/trigger.c: A little example program to show
13625         how trigger-based elements can work.
13626
13627 2005-03-29  Wim Taymans  <wim@fluendo.com>
13628
13629         * gst/base/Makefile.am:
13630         * gst/base/README:
13631         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13632         (gst_basesink_base_init), (gst_basesink_class_init),
13633         (gst_basesink_pad_getcaps), (gst_basesink_init),
13634         (gst_basesink_activate), (gst_basesink_change_state):
13635         * gst/base/gstbasesink.h:
13636         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13637         (gst_base_transform_base_init), (gst_base_transform_finalize),
13638         (gst_base_transform_class_init), (gst_base_transform_init),
13639         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13640         (gst_base_transform_event), (gst_base_transform_getrange),
13641         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13642         (gst_base_transform_set_property),
13643         (gst_base_transform_get_property),
13644         (gst_base_transform_sink_activate),
13645         (gst_base_transform_src_activate),
13646         (gst_base_transform_change_state):
13647         * gst/base/gstbasetransform.h:
13648         * gst/elements/gstidentity.c: (gst_identity_finalize),
13649         (gst_identity_class_init), (gst_identity_init),
13650         (gst_identity_event), (gst_identity_check_perfect),
13651         (gst_identity_transform), (gst_identity_set_property),
13652         (gst_identity_get_property), (gst_identity_change_state):
13653         * gst/elements/gstidentity.h:
13654         * gst/gstelement.c: (gst_element_get_state_func),
13655         (gst_element_lost_state), (gst_element_pads_activate):
13656         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13657         (gst_pad_check_pull_range), (gst_pad_pull_range):
13658         * gst/gstpad.h:
13659         Simplify pad activation.
13660         Added function to check if pull_range can be performed.
13661         Error out when pulling inactive or flushing pads.
13662         Removed const from refcounted types as it does not make sense.
13663         Simplify pad templates in basesink
13664         Added base class for simple 1-to-1 transforms.
13665         Make identity subclass the base transform.
13666
13667 2005-03-29  Andy Wingo  <wingo@pobox.com>
13668
13669         * docs/libs/gstreamer-libs-overrides.txt: 
13670         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13671         really don't understand what's going on, but like whatever. I want
13672         green buildbot!
13673
13674         * docs/gst/Makefile.am:
13675         * docs/libs/Makefile.am: Dist the overrides files.
13676
13677         * check/Makefile.am (clean-local): Remove .libs directories.
13678
13679         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13680         elements to EXTRA_DIST, so po/ files are happy.
13681
13682         * po/POTFILES.in: Er, remove it here.
13683
13684         * po/POTFILES: Remove gstspider.c.
13685
13686         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13687
13688         * docs/libs/gstreamer-libs-docs.sgml: 
13689         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13690         bytestream.
13691
13692         * tests/complexity.c (main): Set the length of the preroll queue
13693         on the sinks to prevent a lockup.
13694
13695         * libs/gst/dataprotocol/Makefile.am: 
13696         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13697         the same as the one in check/gst-libs/gdp.c.
13698
13699         * po/, docs/gst/: Commit automatic changes to docs and po files.
13700
13701         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13702         the versioned libgstbase.
13703
13704         * check/Makefile.am: Depend on an unversioned gst-register, seems
13705         to make autoconf happier.
13706
13707         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13708
13709 2005-03-28  Wim Taymans  <wim@fluendo.com>
13710
13711         * configure.ac:
13712         * docs/design/part-gstelement.txt:
13713         * docs/design/part-negotiation.txt:
13714         * docs/design/part-preroll.txt:
13715         * docs/design/part-scheduling.txt:
13716         * docs/design/part-states.txt:
13717         * gst/Makefile.am:
13718         * gst/base/Makefile.am:
13719         * gst/base/README:
13720         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13721         (gst_basesink_base_init), (gst_basesink_class_init),
13722         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13723         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13724         (gst_basesink_set_pad_functions),
13725         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13726         (gst_basesink_set_property), (gst_basesink_get_property),
13727         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13728         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13729         (gst_basesink_preroll_queue_push),
13730         (gst_basesink_preroll_queue_empty),
13731         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13732         (gst_basesink_event), (gst_basesink_get_times),
13733         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13734         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13735         (gst_basesink_loop), (gst_basesink_activate),
13736         (gst_basesink_change_state):
13737         * gst/base/gstbasesink.h:
13738         * gst/elements/Makefile.am:
13739         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13740         (gst_fakesink_class_init), (gst_fakesink_init),
13741         (gst_fakesink_set_property), (gst_fakesink_get_property),
13742         (gst_fakesink_get_times), (gst_fakesink_event),
13743         (gst_fakesink_preroll), (gst_fakesink_render),
13744         (gst_fakesink_change_state):
13745         * gst/elements/gstfakesink.h:
13746         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13747         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13748         * gst/gstelement.c: (gst_element_add_pad),
13749         (gst_element_get_state_func), (gst_element_abort_state),
13750         (gst_element_commit_state), (gst_element_lost_state),
13751         (gst_element_set_state), (gst_element_pads_activate):
13752         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13753         * gst/gstpipeline.c: (gst_pipeline_send_event),
13754         (gst_pipeline_change_state):
13755         Added state change code.
13756         Added/updated docs.
13757         Added sink base class, make fakesink extend the base class.
13758         Small cleanups in GstPipeline.
13759
13760 2005-03-26  David Schleef  <ds@schleef.org>
13761
13762         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13763         is broken and should be implemented in a different library.
13764         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13765         * gst/gst.h: remove gstcpu.h
13766         * gst/gstcpu.c: remove
13767         * gst/gstcpu.h: remove
13768         * gst/Makefile.am.future: Remove this file.  It's ancient.
13769
13770 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13771
13772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13773         (gst_bin_send_event):
13774           Add default event/set_manager handlers. The set_manager handler
13775           takes care that the manager is distributed over kids that were
13776           already in the bin before the manager was set. The event handler
13777           is a utility virtual function that sends the event over all sinks,
13778           so that gst_element_send_event (bin, event); has the expected
13779           behaviour.
13780         * gst/gstpad.c: (gst_pad_event_default):
13781           Re-install default event handling for discontinuities, so that
13782           seeking works without requiring hacks in applications or extra
13783           code in sinks.
13784         * gst/gstpipeline.c: (gst_pipeline_class_init),
13785         (gst_pipeline_send_event):
13786           Half hack, half utility: set a pipeline to PAUSED for seek events,
13787           since that is the only way we can guarantee a/v sync. Means that
13788           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13789           and it "just works".
13790
13791 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13792
13793         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13794           Lock/unlock mismatch.
13795
13796 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13797
13798         * docs/faq/gst-uninstalled:
13799           add gst-plugins-base
13800         * docs/gst/Makefile.am:
13801           don't error out until docs are fixed
13802         * docs/gst/gstreamer.types:
13803           remove thread
13804
13805 2005-03-22  Wim Taymans  <wim@fluendo.com>
13806
13807         * check/Makefile.am:
13808         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13809         * gst/gststructure.c: (gst_structure_set_valist),
13810         (gst_structure_copy_conditional):
13811         Activated more tests.
13812         Added message test.
13813         Added G_TYPE_POINTER to GstStructure.
13814         
13815
13816 2005-03-22  Wim Taymans  <wim@fluendo.com>
13817
13818         * docs/design/part-TODO.txt:
13819         * docs/design/part-events.txt:
13820         * docs/design/part-gstbin.txt:
13821         * docs/design/part-gstbus.txt:
13822         * docs/design/part-gstpipeline.txt:
13823         * docs/design/part-messages.txt:
13824         * gst/gstbus.c:
13825         * gst/gstmessage.c:
13826         Docs updates
13827
13828 2005-03-21  Wim Taymans  <wim@fluendo.com>
13829
13830         * gst/gstbus.c: (gst_bus_post):
13831         Fix copy-and-paste error.
13832
13833 2005-03-21  Wim Taymans  <wim@fluendo.com>
13834
13835         * check/Makefile.am:
13836         * gst/Makefile.am:
13837         * gst/elements/Makefile.am:
13838         * gst/elements/gstelements.c:
13839         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13840         (gst_fakesink_event), (gst_fakesink_chain):
13841         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13842         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13843         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13844         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13845         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13846         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13847         (gst_fakesrc_loop), (gst_fakesrc_activate),
13848         (gst_fakesrc_change_state):
13849         * gst/elements/gstfakesrc.h:
13850         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13851         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13852         (gst_filesrc_open_file), (gst_filesrc_loop),
13853         (gst_filesrc_activate), (gst_filesrc_change_state),
13854         (filesrc_find_peek), (filesrc_find_suggest),
13855         (gst_filesrc_type_find):
13856         * gst/elements/gstidentity.c: (gst_identity_finalize),
13857         (gst_identity_class_init), (gst_identity_init),
13858         (gst_identity_proxy_getcaps), (identity_queue_push),
13859         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13860         (gst_identity_getrange), (gst_identity_chain),
13861         (gst_identity_sink_loop), (gst_identity_src_loop),
13862         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13863         (gst_identity_set_property), (gst_identity_get_property),
13864         (gst_identity_change_state):
13865         * gst/elements/gstidentity.h:
13866         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13867         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13868         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13869         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13870         (gst_tee_sink_activate):
13871         * gst/elements/gsttee.h:
13872         * gst/gst.c: (gst_register_core_elements), (init_post):
13873         * gst/gst.h:
13874         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13875         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13876         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13877         (gst_bin_change_state):
13878         * gst/gstbin.h:
13879         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13880         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13881         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13882         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13883         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13884         (bus_watch_callback), (bus_watch_destroy),
13885         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13886         (poll_timeout), (gst_bus_poll):
13887         * gst/gstbus.h:
13888         * gst/gstcaps.h:
13889         * gst/gstdata.h:
13890         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13891         (gst_element_post_message), (gst_element_message_full),
13892         (gst_element_get_state_func), (gst_element_get_state),
13893         (gst_element_abort_state), (gst_element_commit_state),
13894         (gst_element_lost_state), (gst_element_set_state),
13895         (gst_element_pads_activate), (gst_element_change_state),
13896         (gst_element_dispose), (gst_element_set_manager_func),
13897         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13898         (gst_element_set_manager), (gst_element_get_manager),
13899         (gst_element_set_bus), (gst_element_get_bus),
13900         (gst_element_set_scheduler), (gst_element_get_scheduler):
13901         * gst/gstelement.h:
13902         * gst/gstevent.c: (gst_event_new_segment_seek),
13903         (gst_event_new_flush):
13904         * gst/gstevent.h:
13905         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13906         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13907         (gst_message_new_eos), (gst_message_new_error),
13908         (gst_message_new_warning), (gst_message_new_tag),
13909         (gst_message_new_state_changed), (gst_message_new_application),
13910         (gst_message_get_structure), (gst_message_parse_tag),
13911         (gst_message_parse_state_changed), (gst_message_parse_error),
13912         (gst_message_parse_warning):
13913         * gst/gstmessage.h:
13914         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13915         (gst_real_pad_set_property), (gst_pad_set_active),
13916         (gst_pad_is_active), (gst_pad_set_blocked_async),
13917         (gst_pad_set_blocked), (gst_pad_is_blocked),
13918         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13919         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13920         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13921         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13922         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13923         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13924         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13925         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13926         (gst_pad_set_caps), (gst_pad_configure_sink),
13927         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13928         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13929         (gst_real_pad_dispose), (gst_real_pad_finalize),
13930         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13931         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13932         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13933         * gst/gstpad.h:
13934         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13935         (pipeline_bus_handler), (gst_pipeline_change_state),
13936         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13937         * gst/gstpipeline.h:
13938         * gst/gstprobe.h:
13939         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13940         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13941         (gst_queue_link_src), (gst_queue_bufferalloc),
13942         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13943         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13944         (gst_queue_loop), (gst_queue_handle_src_event),
13945         (gst_queue_handle_src_query), (gst_queue_src_activate),
13946         (gst_queue_change_state):
13947         * gst/gstqueue.h:
13948         * gst/gstscheduler.c: (gst_scheduler_init),
13949         (gst_scheduler_dispose), (gst_scheduler_create_task),
13950         (gst_scheduler_factory_create):
13951         * gst/gstscheduler.h:
13952         * gst/gststructure.c: (gst_structure_get_type),
13953         (gst_structure_copy_conditional):
13954         * gst/gststructure.h:
13955         * gst/gsttaginterface.h:
13956         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13957         (gst_task_init), (gst_task_dispose), (gst_task_create),
13958         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13959         (gst_task_pause):
13960         * gst/gsttask.h:
13961         * gst/gstthread.c:
13962         * gst/gstthread.h:
13963         * gst/gsttypes.h:
13964         * gst/schedulers/Makefile.am:
13965         * gst/schedulers/cothreads_compat.h:
13966         * gst/schedulers/entryscheduler.c:
13967         * gst/schedulers/faircothreads.c:
13968         * gst/schedulers/faircothreads.h:
13969         * gst/schedulers/fairscheduler.c:
13970         * gst/schedulers/gstbasicscheduler.c:
13971         * gst/schedulers/gstoptimalscheduler.c:
13972         * gst/schedulers/gthread-cothreads.h:
13973         * gst/schedulers/threadscheduler.c:
13974         (gst_thread_scheduler_task_get_type),
13975         (gst_thread_scheduler_task_class_init),
13976         (gst_thread_scheduler_task_init),
13977         (gst_thread_scheduler_task_start),
13978         (gst_thread_scheduler_task_stop),
13979         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13980         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13981         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13982         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13983         (plugin_init):
13984         * libs/gst/Makefile.am:
13985         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13986         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13987         (gst_file_pad_parent_set):
13988         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13989         (gst_dp_event_from_packet):
13990         * tests/complexity.c: (main):
13991         * tests/mass_elements.c: (main):
13992         * testsuite/states/locked.c: (message_received), (main):
13993         * testsuite/states/parent.c: (main):
13994         * tools/gst-inspect.c: (print_element_flag_info),
13995         (print_implementation_info), (print_pad_info):
13996         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13997         (main):
13998         * tools/gst-md5sum.c: (event_loop), (main):
13999         * tools/gst-typefind.c: (main):
14000         * tools/gst-xmlinspect.c: (print_element_info):
14001         Next big merge.
14002         Added GstBus for mainloop integration.
14003         Added GstMessage for sending notifications on the bus.
14004         Added GstTask as an abstraction for pipeline entry points.
14005         Removed GstThread.
14006         Removed Schedulers.
14007         Simplified GstQueue for multithreaded core.
14008         Made _link threadsafe, removed old capsnego.
14009         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14010         Added pad blocking functions.
14011         Reworked scheduling functions in GstPad to prepare for
14012         scheduling updates soon.
14013         Moved events out of data stream.
14014         Simplified GstEvent types.
14015         Added return values to push/pull.
14016         Removed clocking from GstElement.
14017         Added prototypes for state change function for next merge.
14018         Removed iterate from bins and state change management.
14019         Fixed some elements, disabled others for now.
14020         Fixed -inspect and -launch.
14021         Added check for GstBus.
14022
14023 2005-03-10  Wim Taymans  <wim@fluendo.com>
14024
14025         * docs/design/part-MT-refcounting.txt:
14026         * docs/design/part-clocks.txt:
14027         * docs/design/part-gstelement.txt:
14028         * docs/design/part-gstobject.txt:
14029         * docs/design/part-standards.txt:
14030         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14031         (gst_bin_remove_func), (gst_bin_remove):
14032         * gst/gstbin.h:
14033         * gst/gstbuffer.c:
14034         * gst/gstcaps.h:
14035         * testsuite/clock/clock1.c: (main):
14036         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14037         (main):
14038         * testsuite/dlopen/loadgst.c: (do_test):
14039         * testsuite/refcounting/bin.c: (add_remove_test1),
14040         (add_remove_test2), (main):
14041         * testsuite/refcounting/element.c: (main):
14042         * testsuite/refcounting/element_pad.c: (main):
14043         * testsuite/refcounting/pad.c: (main):
14044         * tools/gst-launch.c: (sigint_handler_sighandler):
14045         * tools/gst-typefind.c: (main):
14046         Doc updates.
14047         Added doc about clock.
14048         removed gst_bin_iterate_recurse_up(), marked methods
14049         for removal.
14050         Fix more testsuites.
14051
14052 2005-03-09  Wim Taymans  <wim@fluendo.com>
14053
14054         * gst/gstpad.c: (gst_pad_get_direction),
14055         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14056         (gst_pad_collect_valist):
14057         * testsuite/bins/interface.c: (main):
14058         * testsuite/caps/audioscale.c: (test_caps):
14059         * testsuite/caps/caps.c: (test1), (test2), (test3):
14060         * testsuite/caps/deserialize.c: (main):
14061         * testsuite/caps/enumcaps.c: (main):
14062         * testsuite/caps/filtercaps.c: (main):
14063         * testsuite/caps/intersect2.c: (main):
14064         * testsuite/caps/random.c: (main):
14065         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14066         * testsuite/caps/sets.c: (check_caps):
14067         * testsuite/caps/simplify.c: (check_caps), (main):
14068         * testsuite/caps/subtract.c: (check_caps):
14069         Fix _pad_get_direction wrt ghostpads.
14070         Fix caps testsuite.
14071
14072 2005-03-09  Wim Taymans  <wim@fluendo.com>
14073
14074         * check/Makefile.am:
14075         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14076         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14077         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14078         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14079         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14080         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14081         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14082         (bin_element_is_sink), (gst_bin_iterate_sinks),
14083         (gst_bin_iterate_all_by_interface):
14084         * gst/gstbin.h:
14085         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14086         (gst_element_change_state), (gst_element_dispose),
14087         (gst_element_finalize), (gst_element_set_loop_function):
14088         * gst/gstelement.h:
14089         * gst/gstiterator.c: (find_custom_fold_func):
14090         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14091         (gst_pad_collectv), (gst_pad_collect_valist),
14092         (gst_pad_template_new):
14093         * gst/gstpipeline.c: (gst_pipeline_class_init),
14094         (gst_pipeline_dispose), (gst_pipeline_set_property),
14095         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14096         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14097         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14098         * gst/gstutils.h:
14099         * gst/schedulers/entryscheduler.c:
14100         * gst/schedulers/gstbasicscheduler.c:
14101         (gst_basic_scheduler_cothreaded_chain),
14102         (gst_basic_scheduler_chain_add_element):
14103         * testsuite/bins/interface.c: (main):
14104         Added GstBin test.
14105         Added GstSystemClock test.
14106         Implemented clock distribution code in GstBin.
14107         Implemented iterate sinks method for future use.
14108         Rearranged gstelement.h
14109         Fix GstIterator comparison bug.
14110         Moved some code to GstPipeline, mostly clocking related.
14111
14112 2005-03-09  Wim Taymans  <wim@fluendo.com>
14113
14114         * configure.ac:
14115         * gst/gst_private.h:
14116         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14117         (gst_bin_remove_func), (gst_bin_remove),
14118         (gst_bin_get_by_name_recurse_up):
14119         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14120         (gst_clock_id_compare_func), (gst_clock_id_wait),
14121         (gst_clock_id_wait_async), (gst_clock_init),
14122         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14123         * gst/gstelement.h:
14124         * gst/gstinfo.c: (_gst_debug_init):
14125         * gst/gstobject.h:
14126         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14127         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14128         * gst/gstpad.h:
14129         Bump version number, we're now 0.9.0
14130         Add future debugging category.
14131         Fix NULL _unref() in _get_by_name_recurse_up
14132         Rearrange gstpad.h.
14133         Update some docs.
14134
14135 2005-03-08  Wim Taymans  <wim@fluendo.com>
14136
14137         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14138         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14140         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14141         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14142         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14143         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14144         * gst/elements/gstidentity.c: (gst_identity_class_init):
14145         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14146         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14147         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14148         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14149         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14150         (gst_tee_link):
14151         * gst/gstelement.c: (gst_element_class_init),
14152         (gst_element_base_class_init), (gst_element_init),
14153         (gst_element_get_random_pad), (gst_element_wait_state_change),
14154         (gst_element_change_state), (gst_element_dispose),
14155         (gst_element_finalize), (gst_element_set_loop_function):
14156         * gst/gstelement.h:
14157         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14158         * gst/gstthread.c: (gst_thread_class_init),
14159         (gst_thread_release_children_locks), (gst_thread_change_state):
14160         * gst/schedulers/gstbasicscheduler.c:
14161         (gst_basic_scheduler_loopfunc_wrapper),
14162         (gst_basic_scheduler_chain_wrapper),
14163         (gst_basic_scheduler_src_wrapper),
14164         (gst_basic_scheduler_remove_element):
14165         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14166         Remove threadsafe properties. Fix elements because GObject
14167         complains when installing a property before declaring a
14168         set/get_property handler.
14169         Rearrange gstelement.h file, use STATE macros for state locks.
14170         Free mutexes in the finalize method instead of dispose.
14171
14172 2005-03-08  Wim Taymans  <wim@fluendo.com>
14173
14174         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14175         * gst/gstthread.c: (gst_thread_release_children_locks):
14176         Added parentage check.
14177         Fix build og GstThread again.
14178
14179 2005-03-08  Wim Taymans  <wim@fluendo.com>
14180
14181         * docs/design/part-MT-refcounting.txt:
14182         * docs/design/part-conventions.txt:
14183         * docs/design/part-gstobject.txt:
14184         * docs/design/part-relations.txt:
14185         * docs/design/part-standards.txt:
14186         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14187         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14188         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14189         (gst_bin_iterate_all_by_interface):
14190         * gst/gstbuffer.h:
14191         * gst/gstclock.h:
14192         * gst/gstelement.c: (gst_element_class_init),
14193         (gst_element_change_state), (gst_element_set_loop_function):
14194         * gst/gstelement.h:
14195         * gst/gstiterator.c:
14196         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14197         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14198         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14199         (gst_object_set_parent), (gst_object_unparent),
14200         (gst_object_check_uniqueness):
14201         * gst/gstobject.h:
14202         Docs updates, clean up some headers.
14203
14204 2005-03-07  Wim Taymans  <wim@fluendo.com>
14205
14206         * check/.cvsignore:
14207         * check/Makefile.am:
14208         * check/gst-libs/.cvsignore:
14209         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14210         * check/gst/.cvsignore:
14211         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14212         (START_TEST), (gstbus_suite), (main):
14213         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14214         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14215         (gst_data_suite), (main):
14216         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14217         (add_fold_func), (gstiterator_suite), (main):
14218         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14219         (thread_name_object), (thread_name_object_default),
14220         (gst_object_name_compare), (gst_object_suite), (main):
14221         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14222         (gst_pad_suite), (main):
14223         * check/gstcheck.c: (gst_check_log_message_func),
14224         (gst_check_log_critical_func), (gst_check_init):
14225         * check/gstcheck.h:
14226         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14227         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14228         Added checks.
14229
14230 2005-03-07  Wim Taymans  <wim@fluendo.com>
14231
14232         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14233         (gst_list_iterator_next), (gst_list_iterator_resync),
14234         (gst_list_iterator_free), (gst_iterator_new_list),
14235         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14236         (gst_iterator_free), (gst_iterator_push), (filter_next),
14237         (filter_resync), (filter_uninit), (filter_free),
14238         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14239         (gst_iterator_foreach), (find_custom_fold_func),
14240         (gst_iterator_find_custom):
14241         * gst/gstiterator.h:
14242         Added missing files.
14243
14244 2005-03-07  Wim Taymans  <wim@fluendo.com>
14245
14246         * Makefile.am:
14247         * configure.ac:
14248         * docs/design/part-MT-refcounting.txt:
14249         * docs/design/part-conventions.txt:
14250         * docs/design/part-gstobject.txt:
14251         * docs/design/part-relations.txt:
14252         * examples/mixer/mixer.c: (main):
14253         * examples/thread/thread.c: (eos), (main):
14254         * gst/Makefile.am:
14255         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14256         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14257         (gst_spider_plug_from_srcpad):
14258         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14259         (gst_spider_identity_change_state),
14260         (gst_spider_identity_sink_loop_type_finding):
14261         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14262         * gst/elements/gstidentity.c: (gst_identity_init):
14263         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14264         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14265         * gst/elements/gsttypefindelement.c: (free_entry):
14266         * gst/gst.c:
14267         * gst/gst.h:
14268         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14269         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14270         (gst_bin_set_index), (gst_bin_set_element_sched),
14271         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14272         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14273         (gst_bin_iterate_elements), (iterate_child_recurse),
14274         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14275         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14276         (compare_interface), (gst_bin_get_by_interface),
14277         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14278         * gst/gstbin.h:
14279         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14280         (gst_buffer_default_free), (gst_buffer_default_copy),
14281         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14282         (gst_buffer_create_sub):
14283         * gst/gstbuffer.h:
14284         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14285         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14286         (gst_caps_unref), (gst_static_caps_get),
14287         (gst_caps_remove_and_get_structure), (gst_caps_append),
14288         (gst_caps_append_structure), (gst_caps_remove_structure),
14289         (gst_caps_copy_nth), (gst_caps_set_simple),
14290         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14291         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14292         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14293         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14294         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14295         (gst_caps_structure_figure_out_union),
14296         (gst_caps_switch_structures), (gst_caps_do_simplify),
14297         (gst_caps_replace), (gst_caps_from_string),
14298         (gst_caps_copy_conditional):
14299         * gst/gstcaps.h:
14300         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14301         (_gst_clock_id_free), (gst_clock_id_unref),
14302         (gst_clock_id_compare_func), (gst_clock_id_wait),
14303         (gst_clock_id_wait_async), (gst_clock_class_init),
14304         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14305         (gst_clock_get_time), (gst_clock_set_time_adjust),
14306         (gst_clock_set_property), (gst_clock_get_property):
14307         * gst/gstclock.h:
14308         * gst/gstcompat.h:
14309         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14310         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14311         * gst/gstdata.h:
14312         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14313         (gst_element_requires_clock), (gst_element_provides_clock),
14314         (gst_element_set_clock), (gst_element_clock_wait),
14315         (gst_element_wait), (gst_element_set_time_delay),
14316         (gst_element_is_indexable), (gst_element_add_pad),
14317         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14318         (pad_compare_name), (gst_element_get_static_pad),
14319         (gst_element_request_pad), (gst_element_get_request_pad),
14320         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14321         (gst_element_class_get_pad_template_list),
14322         (gst_element_class_get_pad_template), (gst_element_error_func),
14323         (gst_element_get_random_pad), (gst_element_get_event_masks),
14324         (gst_element_send_event), (gst_element_seek),
14325         (gst_element_get_query_types), (gst_element_query),
14326         (gst_element_get_formats), (gst_element_convert),
14327         (gst_element_is_locked_state), (gst_element_set_locked_state),
14328         (gst_element_sync_state_with_parent), (gst_element_change_state),
14329         (gst_element_finalize), (gst_element_yield),
14330         (gst_element_interrupt), (gst_element_set_scheduler),
14331         (gst_element_get_scheduler), (gst_element_set_loop_function):
14332         * gst/gstelement.h:
14333         * gst/gstevent.h:
14334         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14335         (gst_format_get_by_nick), (gst_format_get_details),
14336         (gst_format_iterate_definitions):
14337         * gst/gstformat.h:
14338         * gst/gstindex.c: (gst_index_gtype_resolver):
14339         * gst/gstinfo.c:
14340         * gst/gstinfo.h:
14341         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14342         (gst_mem_chunk_free):
14343         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14344         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14345         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14346         (gst_object_dispatch_properties_changed),
14347         (gst_object_set_name_default), (gst_object_set_name),
14348         (gst_object_get_name), (gst_object_set_name_prefix),
14349         (gst_object_get_name_prefix), (gst_object_set_parent),
14350         (gst_object_get_parent), (gst_object_unparent),
14351         (gst_object_check_uniqueness), (gst_object_save_thyself),
14352         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14353         (gst_object_set_property), (gst_object_get_property),
14354         (gst_object_get_path_string):
14355         * gst/gstobject.h:
14356         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14357         (gst_real_pad_init), (gst_real_pad_get_property),
14358         (gst_pad_custom_new), (gst_pad_get_direction),
14359         (gst_pad_set_active), (gst_pad_is_active),
14360         (gst_pad_set_event_function), (gst_pad_is_linked),
14361         (gst_pad_link_free), (gst_pad_link_intersect),
14362         (gst_pad_link_fixate), (gst_pad_set_caps),
14363         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14364         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14365         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14366         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14367         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14368         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14369         (gst_pad_realize), (gst_pad_get_allowed_caps),
14370         (gst_real_pad_dispose), (gst_real_pad_finalize),
14371         (gst_pad_collectv), (gst_pad_collect_valist),
14372         (gst_pad_template_dispose), (gst_pad_template_new),
14373         (gst_pad_get_internal_links):
14374         * gst/gstpad.h:
14375         * gst/gstpipeline.c: (gst_pipeline_dispose),
14376         (gst_pipeline_change_state):
14377         * gst/gstpipeline.h:
14378         * gst/gstplugin.c:
14379         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14380         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14381         * gst/gstpluginfeature.h:
14382         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14383         * gst/gstquery.c: (_gst_query_type_initialize),
14384         (gst_query_type_register), (gst_query_type_get_by_nick),
14385         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14386         * gst/gstquery.h:
14387         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14388         * gst/gstscheduler.c: (gst_scheduler_add_element),
14389         (gst_scheduler_factory_create):
14390         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14391         (gst_structure_free), (gst_structure_set_name),
14392         (gst_structure_id_set_value), (gst_structure_set_value),
14393         (gst_structure_set_valist), (gst_structure_remove_field),
14394         (gst_structure_remove_fields),
14395         (gst_structure_remove_fields_valist),
14396         (gst_structure_remove_all_fields), (gst_structure_foreach),
14397         (gst_structure_map_in_place),
14398         (gst_caps_structure_fixate_field_nearest_int),
14399         (gst_caps_structure_fixate_field_nearest_double):
14400         * gst/gststructure.h:
14401         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14402         (gst_system_clock_init), (gst_system_clock_dispose),
14403         (gst_system_clock_async_thread),
14404         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14405         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14406         * gst/gstsystemclock.h:
14407         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14408         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14409         * gst/gsttaginterface.c:
14410         * gst/gstthread.c: (gst_thread_dispose),
14411         (gst_thread_release_children_locks), (gst_thread_change_state),
14412         (gst_thread_main_loop):
14413         * gst/gsttrashstack.h:
14414         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14415         * gst/gsttypes.h:
14416         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14417         (gst_element_request_pad), (gst_element_get_pad_from_template),
14418         (gst_element_request_compatible_pad),
14419         (gst_element_get_compatible_pad_filtered),
14420         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14421         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14422         (gst_element_link_many), (gst_element_link),
14423         (gst_element_link_pads), (gst_element_unlink_pads),
14424         (gst_element_unlink_many), (gst_element_unlink),
14425         (gst_pad_can_link_filtered), (gst_pad_can_link),
14426         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14427         (gst_object_default_error), (gst_bin_add_many),
14428         (gst_bin_remove_many), (gst_element_populate_std_props),
14429         (gst_element_class_install_std_props), (gst_buffer_merge),
14430         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14431         (link_fold_func), (gst_pad_proxy_setcaps):
14432         * gst/gstutils.h:
14433         * gst/gstvalue.c: (gst_value_deserialize_string):
14434         * gst/parse/grammar.y:
14435         * gst/schedulers/gstbasicscheduler.c:
14436         (gst_basic_scheduler_cothreaded_chain),
14437         (gst_basic_scheduler_chain_recursive_add),
14438         (gst_basic_scheduler_pad_link):
14439         * gst/schedulers/gstoptimalscheduler.c:
14440         (get_group_schedule_function),
14441         (gst_opt_scheduler_state_transition),
14442         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14443         * libs/gst/bytestream/bytestream.c:
14444         * libs/gst/dataprotocol/dataprotocol.c:
14445         (gst_dp_header_from_buffer):
14446         * po/nb.po:
14447         * po/ru.po:
14448         * tests/threadstate/threadstate2.c: (eos):
14449         * tools/gst-compprep.c: (main):
14450         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14451         (print_pad_info), (print_children_info):
14452         * tools/gst-launch.c: (idle_func), (main):
14453         * tools/gst-md5sum.c: (idle_func), (main):
14454         * tools/gst-xmlinspect.c: (print_element_info):
14455         First THREADED backport attempt, focusing on adding locks and
14456         making sure the API is threadsafe. Needs more work. More docs
14457         follow this week.
14458
14459 2005-02-24  Andy Wingo  <wingo@pobox.com>
14460
14461         * tests/bench-complexity.scm:
14462         * tests/complexity.gnuplot: New files, good for running complexity
14463         benchmarks.
14464
14465         * tests/Makefile.am:
14466         * tests/complexity.c: New test, sets up N elements, at each level
14467         teeing into M streams per element. Eeeenteresting.
14468
14469         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14470         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14471         running bench-mass_elements.scm.
14472
14473         * tests/bench-mass_elements.scm: New script, runs mass_elements
14474         for various numbers of identities, outputting the results to a
14475         file. Requires guile 1.6. Just for testing.
14476
14477 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14478
14479         * gst/schedulers/fairscheduler.c:
14480           compile with debug disabled
14481
14482 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14483
14484         * configure.ac:
14485           hunting season on 0.9 is now OPEN