gst/gstghostpad.c: Set pad functions unconditionally. Fixes #329105.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-29  Julien MOUTTE  <julien@moutte.net>
2
3         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4         Set pad functions unconditionally. Fixes #329105.
5
6 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
7         * win32/vs8:
8                 add vs8 project files created by Sergey Scobich
9         
10 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
11         * gst/gstcaps.c:
12         * gst/gstelement.c: (gst_element_send_event):
13         * gst/gstevent.c:
14         * gst/gstinfo.c:
15         * gst/gstiterator.c:
16         * gst/gstiterator.h:
17         * gst/gstpad.c: (gst_pad_send_event):
18         * gst/gststructure.c:
19         * gst/gsturi.c:
20         * gst/gstutils.c:
21         * gst/gstvalue.c:
22         * libs/gst/base/gstadapter.c:
23           doc fixes, to link to function, just write gst_cool_function(), don't
24           prefix with '#'
25
26 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
27
28         * plugins/elements/gsttee.c: (gst_tee_do_push),
29         (gst_tee_handle_buffer):
30         Always prefer an actual return value from a src
31         pad in place of NOT_LINKED. This means we return
32         WRONG_STATE when all src pads are WRONG_STATE
33         instead of NOT_LINKED.
34
35         Lock when replacing the last message to prevent
36         racing with the get_property method.
37
38         Add debug output
39
40 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
41
42         * tests/check/Makefile.am:
43         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
44         (main):
45         Add a very simple check that should have caught the memleak I fixed
46         last night (if not for the slice allocator hiding it)
47
48 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
49
50         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
51         (gst_bin_remove_func), (gst_bin_handle_message_func),
52         (bin_query_duration_fold), (bin_query_generic_fold):
53         Clean up references to the clock provider when disposed or when
54         handling a clock-lost message from it.
55
56         Unref sinks when performing a query via gst_iterator_fold, as the
57         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
58
59         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
60         (gst_clock_set_master):
61         Drop our reference to the master clock, if any, when we are disposed.
62
63         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
64         Chain up in dispose. 
65
66 2006-01-26  Wim Taymans  <wim@fluendo.com>
67
68         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
69         Add some debugging.
70
71 2006-01-26  Julien MOUTTE  <julien@moutte.net>
72
73         * plugins/elements/gsttee.c: (gst_tee_do_push),
74         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
75         handles pad being NOT_LINKED or in WRONG_STATE.
76
77 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
78
79         * win32/MANIFEST:
80           more updating
81
82 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
83
84         * win32/MANIFEST:
85           remove obsolete entry
86
87 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
88
89         * docs/gst/gstreamer-sections.txt:
90         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
91         (gst_bin_iterate_sources), (gst_bin_send_event):
92         * gst/gstbin.h:
93         * gst/gstelement.c: (gst_element_send_event):
94         * gst/gstevent.c:
95         * gst/gstpad.c: (gst_pad_send_event):
96           added code for downstream events, reviewed docs in gstevent.c
97
98 2006-01-25  Julien MOUTTE  <julien@moutte.net>
99
100         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
101         We only query position using the clock in the playing state.
102         Query peer in the other cases.
103         * win32/common/config.h: Updates.
104
105 2006-01-24  Wim Taymans  <wim@fluendo.com>
106
107         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
108         A clock entry that is scheduled for the exact time of the
109         clock is still in time.
110
111         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
112         (gst_base_sink_do_sync):
113         Add some more debug info.
114
115 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
116
117         * win32/vs7:
118           Add new vs7 project files and solution.
119
120 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
121
122         * win32/vs7:
123           all files removed as they were out-dated.
124
125 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
126
127         * docs/random/release:
128           update notes
129         * gst/gstbin.c: (gst_bin_init):
130         * gst/gstbus.c: (gst_bus_new):
131         * gst/gstbus.h:
132         * gst/gstpipeline.c: (gst_pipeline_init):
133           use gst_bus_new(), improve logging, fix docs
134         * win32/common/config.h:
135           update for cvs build
136
137 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
138
139         * autogen.sh:
140           up required version of automake to 1.7
141
142 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
143
144         * win32/common/libgstreamer.def:
145           export gst_buffer_is_metadata_writable
146
147 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
148
149         * docs/gst/gstreamer-sections.txt:
150         * gst/gstevent.h:
151           Add gst_event_replace() (#327001)
152
153 2006-01-20  Wim Taymans  <wim@fluendo.com>
154
155         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
156         Make it actually compile too..
157
158 2006-01-20  Wim Taymans  <wim@fluendo.com>
159
160         * gst/gstcaps.c:
161         Clarify behaviour of _is_equal() when passing NULL parameters.
162
163         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
164         (gst_pad_set_caps):
165         Cleanups. Don't unref NULL caps.
166         When setting the same caps, protect caps of the pad with
167         proper lock.
168         Use full functionality of _is_equal() when comparing caps.
169
170 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
171
172         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
173         Don't loop infinitely if there are no buffers to present. Partially
174         fixes #327197, but collectpads is just broken for reusing elements
175         to do multiple encodes atm.
176
177 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
178
179         * tools/gst-inspect.c: (print_element_features):
180         * tools/gst-xmlinspect.c: (main):
181         URL_HANDLER is not a plugin feature we can search for in
182         the registry.
183
184 2006-01-19  Edward Hervey  <edward@fluendo.com>
185
186         * gst/gstelement.c: (gst_element_pads_activate): 
187         When activating, do src pads first, then sink pads.
188         When de-activating, do sink pads first, then src pads.
189
190 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
191
192         * docs/gst/gstreamer-sections.txt:
193         Add gst_index_add_associationv to the docs
194
195 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
196
197         * gst/gstevent.c:
198           Fix docs typo
199
200         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
201         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
202           Do some refactoring. Doesn't actually change functionality,
203           but makes landing the DRAIN event easier later.
204
205 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
206
207         * docs/pwg/advanced-scheduling.xml:
208           Update from 0.9.x to 0.10 API and make example a bit
209           clearer.
210
211 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
212
213         * docs/gst/gstreamer-sections.txt:
214         Add gst_buffer_(is|make)_metadata_writable methods.
215
216 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
217
218         * docs/design/part-sparsestreams.txt:
219         Update sparse streams doc, hopefully for greater clarity
220
221 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
222
223         * docs/design/part-events.txt:
224         Remove mention of FILLER events.
225         Add DRAIN event.
226
227         * docs/design/part-sparsestreams.txt:
228         Write some things about using NEWSEGMENT to keep sparse streams
229         flowing.
230
231 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
232
233         * gst/gstbin.c: (gst_bin_dispose):
234           Guard gst_object_unref call against a NULL object (dispose
235           can theoretically be called multiple times).
236           
237 2006-01-18  Wim Taymans  <wim@fluendo.com>
238
239         * gst/gstbin.c: (gst_bin_element_set_state):
240         * gst/gstclock.c: (gst_clock_id_wait):
241         Added some more debug info.
242
243         * libs/gst/base/gstadapter.c:
244         Added more docs.
245
246         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
247         (gst_base_sink_do_sync), (gst_base_sink_chain):
248         Added some comments.
249
250 2006-01-18  Wim Taymans  <wim@fluendo.com>
251
252         * tests/check/Makefile.am:
253         * tests/check/elements/fakesink.c: (chain_async_buffer),
254         (chain_async), (chain_async_return), (GST_START_TEST),
255         (fakesink_suite), (main):
256         Added fakesink test that checks prerolling and clipping
257         behaviour.
258
259         * tests/check/gst/gstutils.c: (GST_START_TEST):
260         Make check run faster so that buildbots don't timeout.
261
262 2006-01-18  Wim Taymans  <wim@fluendo.com>
263
264         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
265         (gst_base_sink_do_sync):
266         Some cleanups.
267         When the sink finishes blocking on the preroll buffer, it can
268         immediatly render it instead of rendering when the next buffer
269         arrives.
270
271 2006-01-18  Wim Taymans  <wim@fluendo.com>
272
273         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
274         (gst_base_sink_get_property), (gst_base_sink_do_sync),
275         (gst_base_sink_chain):
276         Small cleanups.
277         GST_ELEMENT_CLOCK and sync are protected with LOCK.
278         Don't store _last_stop if the buffer is dropped.
279
280 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
281
282         * plugins/elements/gsttypefindelement.c:
283         (gst_type_find_element_class_init):
284           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
285           object method handler that sets the caps on the pad and we want
286           that to happen before we emit the signal (fixes e.g. feeding a
287           plain text file to decodebin).
288
289 2006-01-18  Christian Schaller  <Christian@fluendo.com>
290
291         * gst/gstplugin.c: Add MPL and Proprietary as license options
292
293 2006-01-18  Andy Wingo  <wingo@pobox.com>
294
295         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
296         symbol was exported before, it appears this was just an oversight.
297         Fixes #168703.
298         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
299
300         * gst/gstindex.c (gst_index_add_associationv): Changed int in
301         prototype to gint. OK since this prototype was not in the header.
302
303 2006-01-17  Andy Wingo  <wingo@pobox.com>
304
305         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
306         registry while we remove plugins.
307
308         * tools/gst-inspect.c (print_element_info): Don't unref the
309         factory arg, that should be the responsibility of whatever code
310         received the ref. Fixes a double-free when called from
311         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
312         (main): Unref the factory if we have one.
313         (print_element_list): No change -- relies on the
314         plugin_feature_list_free to free the list of features.
315
316 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
317
318         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
319         (gst_buffer_make_metadata_writable):
320         * gst/gstbuffer.h:
321         * libs/gst/base/gstbasetransform.c:
322         (gst_base_transform_prepare_output_buf):
323         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
324         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
325           Replace gst_buffer_(make|is)_metadata_writable patch now
326           that the release is out.
327
328 2006-01-17  Andy Wingo  <wingo@pobox.com>
329
330         * gst/gstregistry.c: Reflow design comment. Update so as to speak
331         in the present tense without reference to versions.
332
333         * gst/gstregistry.c (gst_registry_add_plugin)
334         (gst_registry_remove_plugin, gst_registry_remove_feature)
335         (gst_registry_find_feature, gst_registry_get_feature_list)
336         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
337         (gst_registry_lookup, gst_registry_scan_path)
338         (_gst_registry_remove_cache_plugins)
339         (gst_registry_get_feature_list_by_plugin): Add argument
340         validation.
341
342 === release 0.10.2 ===
343
344 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
345
346         * configure.ac:
347           releasing 0.10.2, "If man is five"
348
349 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
350
351         * gst/gstbuffer.c:
352         * gst/gstbuffer.h:
353         * libs/gst/base/gstbasetransform.c:
354         (gst_base_transform_prepare_output_buf):
355         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
356         * tests/check/gst/gstbuffer.c: (gst_test_suite):
357           Back out patch until after the release.
358
359 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
360
361         * gst/gstminiobject.c:
362           Spelling fix in docs.
363         * ChangeLog - remove conflict indicator
364
365 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
366
367         Reviewed By: Andy Wingo
368
369         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
370         (gst_buffer_make_metadata_writable):
371         * gst/gstbuffer.h:
372           Add gst_buffer_(is|make)_metadata_writable as analogues of
373           gst_buffer_(is|make)_writable.
374
375         * libs/gst/base/gstbasetransform.c:
376         (gst_base_transform_prepare_output_buf):
377         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
378           Use name gst_buffer_(is|make)_metadata_writable functions.
379
380         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
381           Test gst_buffer_(is|make)_metadata_writable
382         
383           (Closes: #324162)
384
385 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
386
387         * docs/manual/Makefile.am:
388           don't do parallel make
389         * configure.ac:
390           AC_SUBST HOST_CPU
391         * win32/common/config.h.in:
392           add generations for HOST_CPU and GST_MAJORMINOR
393         * win32/common/config.h:
394           commit generated result
395
396 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
397
398         * docs/manual/appendix-integration.xml:
399           Update GNOME integration section to use gst_init_get_option_group()
400           instead of the old popt stuff (#322911). Also, GNOME applications
401           should  now use gconf*sink and gconf*src instead of the old gconf
402           helper lib we had.
403
404 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
405
406
407         * docs/gst/gstreamer-docs.sgml:
408         * docs/gst/gstreamer-sections.txt:
409         * docs/libs/gstreamer-libs-sections.txt:
410           add new API entries to the docs
411         * libs/gst/controller/Makefile.am:
412         * libs/gst/controller/gstcontroller.c:
413         * libs/gst/controller/gstcontroller.h:
414         * libs/gst/controller/gstcontrollerprivate.h:
415         * libs/gst/controller/gsthelper.c:
416         * libs/gst/controller/gstinterpolation.c:
417           move private structs to private header
418         * po/README:
419           gstreamer-0.7 -> gstreamer-0.10
420         * tests/check/libs/struct_i386.h:
421           remove private structs
422
423 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
424
425         * plugins/indexers/Makefile.am:
426           Fixes as part of #317048
427
428 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
429
430         * plugins/indexers/Makefile.am:
431           fix #316086 - compilation when mmap is missing
432
433 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
434
435         * libs/gst/base/gstbasesink.c:
436           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
437           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
438         * win32/common/config.h:
439           added some defines GST_MAJORMINOR and HOST_CPU
440         * win32/common/libgstbase.def:
441         * win32/common/libgstreamer.def:
442           added some exported functions.
443
444 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
445
446         * libs/gst/controller/gstcontroller.c:
447         (gst_controlled_property_set_interpolation_mode),
448         (gst_controlled_property_new):
449         * libs/gst/controller/gstcontroller.h:
450         * libs/gst/controller/gstinterpolation.c:
451         (interpolate_none_get_string_value_array):
452           make G_TYPE_STRING controlable
453
454 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
455
456         * tools/README:
457         * tools/gst-feedback.1.in:
458         * tools/gst-inspect.1.in:
459         * tools/gst-launch.1.in:
460         * tools/gst-md5sum.1.in:
461         * tools/gst-typefind.1.in:
462         * tools/gst-xmlinspect.1.in:
463         * tools/gst-xmllaunch.1.in:
464           cleanup man-pages, remove reference to gst-register, document env-vars
465
466 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
467
468         * gst/gstbuffer.c: (gst_buffer_span):
469           gst_buffer_span should copy the timestamp of the first buffer
470           if they were both originally overlapping subbuffers of the 
471           same parent, using the same logic as the 'slow copy' case.
472
473 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
474
475         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
476           Need to awaken ALL the pads when we pop a buffer, otherwise
477           collectpads only works when there is 2 input streams.
478
479 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
480
481         * docs/random/ensonic/media-device-daemon.txt:
482           more ideas (dbus)
483         * gst/gstbuffer.c:
484           fix doc example, add clarification
485         * tools/gst-launch.1.in:
486           add initial info about GST_PLUGIN_PATH, needs more work
487
488 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
489
490         * docs/manual/basics-bins.xml:
491         * docs/manual/basics-elements.xml:
492         * docs/manual/intro-basics.xml:
493           Some more minor docs additions and updates.
494
495 2006-01-11  Wim Taymans  <wim@fluendo.com>
496
497         * docs/manual/basics-bins.xml:
498         * docs/manual/basics-elements.xml:
499         Some small fixes as pointed out by Ser-ver on IRC.
500
501 2006-01-10  Edward Hervey  <edward@fluendo.com>
502
503         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
504         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
505         the single-segment mode.
506
507 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
508
509         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
510
511         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
512         (gst_base_src_perform_seek), (gst_base_src_send_event),
513         (gst_base_src_set_property), (gst_base_src_get_property),
514         (gst_base_src_loop), (gst_base_src_start),
515         (gst_base_src_activate_push):
516         * libs/gst/base/gstbasesrc.h:
517           Name (private) union; makes Sun's Forte compiler happy (#324900).
518
519 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
520
521         * README:
522           gst-register is gone.
523
524 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
525
526         * gst/gstvalue.c: (_gst_value_initialize):
527           make the G_TYPE_DATE instantiation work if debug is disabled
528
529 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
530
531         * gst/gstmessage.c: (gst_message_parse_tag),
532         (gst_message_parse_error), (gst_message_parse_warning):
533           Don't crash when return location for error/warning debug
534           string is NULL; add fact that return locations can be
535           NULL to docs where appropriate.
536
537 2006-01-05  Wim Taymans  <wim@fluendo.com>
538
539         * gst/gstplugin.c: (gst_plugin_load_file):
540         Replace strdup by g_strdup.
541
542 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
543
544         * docs/pwg/advanced-types.xml:
545           fix doc borkage
546
547 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
548
549         submitted by: Abel Cheung
550
551         * po/LINGUAS:
552         * po/zh_TW.po:
553           Added Chinese (traditional) translation
554
555 2006-01-04  Wim Taymans  <wim@fluendo.com>
556
557         * docs/manual/basics-pads.xml:
558         * docs/plugins/Makefile.am:
559         * docs/plugins/gstreamer-plugins-docs.sgml:
560         * docs/plugins/gstreamer-plugins-sections.txt:
561         * docs/pwg/advanced-clock.xml:
562         * docs/pwg/advanced-scheduling.xml:
563         * docs/pwg/advanced-types.xml:
564         * plugins/elements/gstfdsink.c:
565         * plugins/elements/gstfdsrc.c:
566         * plugins/elements/gstfdsrc.h:
567         * plugins/elements/gstidentity.c: (gst_identity_class_init):
568         * plugins/elements/gstidentity.h:
569         * plugins/elements/gstqueue.h:
570         * plugins/elements/gsttee.c:
571         * plugins/elements/gsttee.h:
572         * plugins/elements/gsttypefindelement.c:
573         (gst_type_find_element_class_init):
574         * plugins/elements/gsttypefindelement.h:
575         Small updates to various docs.
576         Added core plugins to docs.
577
578 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
579
580         * common/gst.supp:
581           add a suppression for liboil's uninitialized variable
582
583 2006-01-02  James Livingston  <jrl at ids dot org dot au>
584
585         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
586
587         * gst/gstutils.h:
588           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
589           macro, so that gcc doesn't complain if the -Wmissing-prototypes
590           compiler switch is being used (#325429).
591
592 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
593
594         * gst/gstbin.c: (gst_bin_query):
595           Disable duration query caching in bins until it gets
596           fixed (see #324807).
597
598 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
599
600         * tools/gst-inspect.c: (print_element_properties_info):
601           Handle properties of POINTER and BOXED type.
602
603 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
604
605         * gst/gst.c: (init_post):
606           Init tags stuff and some other things before loading
607           any static plugins (there may be other static plugins
608           than just the GStreamer ones, and they may want to
609           register their own tags or formats or whatever, and
610           preferably without segfaulting).
611
612         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
613           Print at least a warning in the debug logs if we drop a
614           query just because we don't know how to adjust the value
615           in the particular format.
616
617 2005-12-24  David Schleef  <ds@schleef.org>
618
619         * tools/gstreamer-completion:
620           Replacement for gst-complete written in sh and sed.  Only
621           completes names of features, but that's 90% of what I want
622           it for.  Properties are not available in registry.xml.  (Maybe
623           they should be...)
624
625 === release 0.10.1 ===
626
627 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
628
629         * configure.ac:
630           releasing 0.10.1, "Nollaig chridheil"
631
632 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
633
634         * docs/faq/cvs.xml:
635           Add missing quote, should be make ERROR_CFLAGS="".
636
637 2005-12-20  Wim Taymans  <wim@fluendo.com>
638
639         * docs/design/part-trickmodes.txt:
640         More documentation on trickmodes.
641
642 2005-12-20  Edward Hervey  <edward@fluendo.com>
643
644         * gst/gstcaps.c: (gst_static_caps_get_type):
645         * gst/gstcaps.h:
646           API addition: GST_TYPE_STATIC_CAPS
647         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
648         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
649         * gst/gstpadtemplate.h:
650           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
651         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
652         bindings.
653
654 2005-12-18  Wim Taymans  <wim@fluendo.com>
655
656         * libs/gst/base/gstadapter.c:
657         * libs/gst/base/gstadapter.h:
658         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
659         (gst_base_sink_get_position):
660         * libs/gst/base/gstbasesink.h:
661         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
662         (gst_base_src_default_query), (gst_base_src_default_do_seek),
663         (gst_base_src_do_seek), (gst_base_src_perform_seek),
664         (gst_base_src_send_event), (gst_base_src_update_length),
665         (gst_base_src_get_range), (gst_base_src_loop),
666         (gst_base_src_start):
667         * libs/gst/base/gstbasesrc.h:
668         * libs/gst/base/gstbasetransform.h:
669         * libs/gst/base/gstcollectpads.h:
670         * libs/gst/base/gstpushsrc.c:
671         * libs/gst/base/gstpushsrc.h:
672         * libs/gst/dataprotocol/dataprotocol.c:
673         * libs/gst/dataprotocol/dataprotocol.h:
674         * libs/gst/net/gstnetclientclock.h:
675         * libs/gst/net/gstnettimeprovider.h:
676         Documentation updates.
677
678 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
679
680         * docs/manual/basics-helloworld.xml:
681           Remove superfluous closing bracket in helloworld example.
682
683 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
684
685         * tools/gst-launch.1.in:
686           Update gst-launch man page; add a section with useful
687           environment variables. Fixes #323882.
688
689 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
690
691         * gst/gst.c:
692         * gst/gst_private.h:
693           change some char* into char[]
694
695 2005-12-16  Wim Taymans  <wim@fluendo.com>
696
697         * gst/gstregistryxml.c: (load_feature):
698         Cleanups.
699         Don't use g_object_unref on GstObjects so that we avoid
700         leaks on unsafe glibs.
701
702 2005-12-16  Wim Taymans  <wim@fluendo.com>
703
704         * gst/gstbin.c: (gst_bin_recalc_state):
705         Small doc updates.
706
707 2005-12-16  Wim Taymans  <wim@fluendo.com>
708
709         * common/check.mak:
710         Added make forever target for check.
711
712 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
713
714         * gst/gst.c: (init_post):
715           make the registry cache file HOST_CPU-dependent
716
717 2005-12-16  Andy Wingo  <wingo@pobox.com>
718
719         * plugins/elements/gstbufferstore.c
720         (gst_buffer_store_cleared_func): Pay attention to g_list_append
721         return value.
722
723         * tests/check/gst/gstobject.c
724         (test_fake_object_name_threaded_unique): Pay attention to
725         g_list_sort return value.
726
727 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
728
729         * tools/gst-feedback-m.m:
730           Update for 0.9/0.10 (fixes #323870).
731
732 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
733
734         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
735           Fix lcopy for mini objects, the mini object needs to be ref'ed.
736           
737         * tests/check/gst/gstminiobject.c: (my_foo_init),
738         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
739         (test_value_collection), (gst_mini_object_suite):
740           Add test to ensure refcounts end up as expected when passing
741           GstMiniObjects through g_object_get() and g_object_set().
742
743 2005-12-14  Julien MOUTTE  <julien@moutte.net>
744
745         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
746         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
747         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
748         of collectpads. This version removes a lot of races without
749         touching API/ABI. Yay !
750
751 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
752
753         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
754           Don't allow activation of a srcpad in pull_range if it has no
755           getrange function.
756           Change some debug statements to be a little clearer
757
758         * plugins/elements/gsttypefindelement.c:
759         (gst_type_find_handle_src_query):
760           Check that we have a peer before executing queries thereupon.
761
762         * tests/examples/metadata/read-metadata.c: (message_loop):
763           Use gst_bus_pop instead of gst_bus_poll when we just want it to
764           immediately return us any available message with 0 timeout.
765
766 2005-12-12  Michael Smith  <msmith@fluendo.com>
767
768         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
769           Don't unref factories after calling them.
770         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
771         * plugins/elements/gsttypefindelement.c:
772         (gst_type_find_element_chain):
773           Free lists of factories after using them. Fixing typefinding memory
774           leaks.
775
776 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
777
778         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
779         (gst_plugin_feature_load):
780           more meaningful debug output
781         * configure.ac:
782         * tests/Makefile.am:
783         * tests/old/examples/Makefile.am:
784           make make distcheck happy again
785
786 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
787
788         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
789           Catch the special case where we are operating chain-based,
790           but the downstream peer pad has no chain function. Emit a
791           custom error message in this case instead of letting the
792           core generate one implying that this is some sort of core
793           bug. It's not, it just means that whatever got plugged
794           into the pipeline downstream when we announced the type
795           can only operate pull-based, while our source can only
796           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
797           Error string has not been marked for translation yet, as
798           it probably needs some more work first.
799
800         (gst_type_find_element_get_best_possibility):
801           Add helper function to find the best of all available
802           found possibilities that qualify given the min. threshold.
803
804         (gst_type_find_element_handle_event):
805           Fix the case where we get an EOS while still in TYPEFIND
806           mode (we want to chose the best of all possible types,
807           not just the first type that happens to be in our unsorted
808           list of possible types).
809
810         (gst_type_find_element_chain):
811           Make sure we return GST_FLOW_ERROR when we errored out
812           in stop_typefinding(); also, don't just find the best of
813           all found type entries and then use the last examined
814           type entry, but actually use the best entry.
815
816 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
817
818         * tests/examples/typefind/typefind.c: (type_found):
819         * tests/examples/xml/runxml.c: (xml_loaded):
820           More gcc4 fixes and a mem leak fix.
821
822 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
823
824         * tests/examples/xml/createxml.c: (object_saved):
825           gcc 4 fixes
826
827 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
828
829         * tests/Makefile.am:
830           enable the examples even more
831
832 2005-12-12  Andy Wingo  <wingo@pobox.com>
833
834         * libs/gst/net/gstnettimeprovider.c
835         (gst_net_time_provider_class_init, gst_net_time_provider_init)
836         (gst_net_time_provider_set_property)
837         (gst_net_time_provider_get_property):
838         API addition: Export "active" as a GObject property.
839         (gst_net_time_provider_thread): Only respond to time queries if
840         the time provider is active.
841
842         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
843         NetTimeProvider, preserving binary compat.
844
845 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
846
847         * tests/examples/controller/audio-example.c: (main):
848         * tests/examples/launch/Makefile.am:
849           convert comments again
850
851 2005-12-12  Wim Taymans  <wim@fluendo.com>
852
853         * libs/gst/base/gstpushsrc.c:
854         Fix typo.
855
856 2005-12-12  Wim Taymans  <wim@fluendo.com>
857
858         * docs/libs/gstreamer-libs-sections.txt:
859         Added new symbol to docs.
860
861         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
862         (gst_base_src_init), (gst_base_src_set_format),
863         (gst_base_src_default_query), (gst_base_src_query),
864         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
865         (gst_base_src_perform_seek), (gst_base_src_send_event),
866         (gst_base_src_default_event), (gst_base_src_event_handler),
867         (gst_base_src_set_property), (gst_base_src_get_property),
868         (gst_base_src_wait), (gst_base_src_do_sync),
869         (gst_base_src_update_length), (gst_base_src_get_range),
870         (gst_base_src_check_get_range), (gst_base_src_loop),
871         (gst_base_src_default_negotiate), (gst_base_src_start),
872         (gst_base_src_activate_push), (gst_base_src_activate_pull),
873         (gst_base_src_change_state):
874         * libs/gst/base/gstbasesrc.h:
875         Implement seeking to other formats than _BYTES.
876         Implement more seeking methods correctly.
877         Doc updates.
878         Added query vmethod.
879         Added do_seek vmethod to make life easier for subclasses
880         when seeking.
881         API addition: gst_base_src_set_format()
882
883 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
884
885         * tests/examples/Makefile.am:
886           added that too
887
888 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
889
890         * configure.ac:
891         * docs/random/ensonic/media-device-daemon.txt:
892         * tests/examples/controller/.cvsignore:
893         * tests/examples/controller/Makefile.am:
894         * tests/examples/controller/audio-example.c: (main):
895         * tests/examples/helloworld/.cvsignore:
896         * tests/examples/helloworld/Makefile.am:
897         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
898         * tests/examples/launch/.cvsignore:
899         * tests/examples/launch/Makefile.am:
900         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
901         * tests/examples/metadata/.cvsignore:
902         * tests/examples/metadata/Makefile.am:
903         * tests/examples/metadata/read-metadata.c: (message_loop),
904         (make_pipeline), (print_tag), (main):
905         * tests/examples/queue/.cvsignore:
906         * tests/examples/queue/Makefile.am:
907         * tests/examples/queue/queue.c: (event_loop), (main):
908         * tests/examples/typefind/.cvsignore:
909         * tests/examples/typefind/Makefile.am:
910         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
911         (main):
912         * tests/examples/xml/.cvsignore:
913         * tests/examples/xml/Makefile.am:
914         * tests/examples/xml/createxml.c: (object_saved), (main):
915         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
916         * tests/old/examples/Makefile.am:
917         * tests/old/examples/TODO:
918         * tests/old/examples/controller/.cvsignore:
919         * tests/old/examples/controller/Makefile.am:
920         * tests/old/examples/controller/audio-example.c:
921         * tests/old/examples/helloworld/.cvsignore:
922         * tests/old/examples/helloworld/Makefile.am:
923         * tests/old/examples/helloworld/helloworld.c:
924         * tests/old/examples/launch/.cvsignore:
925         * tests/old/examples/launch/Makefile.am:
926         * tests/old/examples/launch/mp3parselaunch.c:
927         * tests/old/examples/launch/mp3play:
928         * tests/old/examples/manual/Makefile.am:
929         * tests/old/examples/metadata/Makefile.am:
930         * tests/old/examples/metadata/read-metadata.c:
931         * tests/old/examples/queue/.cvsignore:
932         * tests/old/examples/queue/Makefile.am:
933         * tests/old/examples/queue/queue.c:
934         * tests/old/examples/typefind/.cvsignore:
935         * tests/old/examples/typefind/Makefile.am:
936         * tests/old/examples/typefind/typefind.c:
937         * tests/old/examples/xml/.cvsignore:
938         * tests/old/examples/xml/Makefile.am:
939         * tests/old/examples/xml/createxml.c:
940         * tests/old/examples/xml/runxml.c:
941           applied some simple fixing to some examples
942           re-enabled the working examples
943
944 2005-12-12  Wim Taymans  <wim@fluendo.com>
945
946         * gst/gstsegment.c: (gst_segment_init),
947         (gst_segment_set_last_stop), (gst_segment_set_seek),
948         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
949         (gst_segment_to_running_time):
950         Added more documentation.
951         Make sure the last_pos value is updated properly.
952         Make sure to_stream_time and to_running_time don't
953         operate on wrong values.
954
955         * tests/check/gst/gstsegment.c: (GST_START_TEST):
956         Update check.
957
958 2005-12-12  Michael Smith  <msmith@fluendo.com>
959
960         * plugins/elements/gsttypefindelement.c: (free_entry),
961         (gst_type_find_element_chain):
962           Now that we're not leaking factories, make sure we keep references
963           to them while we need them.
964
965 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
966
967         * tests/check/gst/struct_i386.h:
968           ifdef out the XML structs
969
970 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
971
972         * gst/gstvalue.c: (gst_value_transform_double_fraction):
973           floor is not needed, F is always positive; this obviates the
974           need for adding -lm when building without libxml
975
976 2005-12-12  Wim Taymans  <wim@fluendo.com>
977
978         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
979         Take current playback rate into account when reporting
980         the position.
981
982 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
983
984         * docs/manual/mime-world.fig:
985           Let's try this again, this time with a file that is
986           actually in XFig format.
987
988 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
989
990         * docs/manual/mime-world.fig:
991           Add audioconvert element to diagram so that it
992           matches the text and the code (fixes #319526).
993
994 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * docs/pwg/building-chainfn.xml:
997         * docs/pwg/building-pads.xml:
998         * docs/pwg/building-state.xml:
999         * docs/pwg/other-source.xml:
1000           Update state change stuff for 0.10 (fixes #322969).
1001
1002 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1003
1004         * docs/manual/advanced-dataaccess.xml:
1005         * docs/manual/appendix-checklist.xml:
1006         * docs/manual/appendix-programs.xml:
1007         * docs/manual/basics-pads.xml:
1008         * docs/manual/highlevel-components.xml:
1009         * docs/manual/manual.xml:
1010           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1011           add converters in front of pipelines; remove curly
1012           brackets for threads stuff, they no longer exist; use
1013           GST_TYPE_FRACTION for framerates; update some pieces of
1014           code to 0.10, but there's plenty more to do.
1015
1016         * docs/manual/appendix-porting.xml:
1017           Expand on asynchroneous state changes; s/0.9/0.10/;
1018           mention disappearance of gst_init_get_popt_table()
1019           (fixes #322916).
1020
1021 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1022
1023         * docs/faq/using.xml:
1024           Spider no longer exists, and neither does gst-launch-ext.
1025           Update examples to use decodebin and playbin and put
1026           converters in front of sinks (fixes #323726).
1027
1028 2005-12-09  Michael Smith  <msmith@fluendo.com>
1029
1030         * plugins/elements/gsttypefindelement.c: (find_peek),
1031         (gst_type_find_element_chain):
1032           Fix leaking element factories in typefinding.
1033           Fix problem where we forgot about a probable type on non-seekable
1034           files, and thus later mis-typefound it.
1035
1036 2005-12-09  Michael Smith  <msmith@fluendo.com>
1037
1038         * common/m4/gst-makecontext.m4:
1039         * common/m4/gst-mcsc.m4:
1040         * configure.ac:
1041         * win32/common/config.h:
1042         * win32/common/config.h.in:
1043           Remove makecontext stuff; not used in 0.10 and causes problems on
1044           HPUX according to bug #322441
1045
1046 2005-12-07  Wim Taymans  <wim@fluendo.com>
1047
1048         * tests/check/Makefile.am:
1049         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1050         (main):
1051         * tests/check/libs/struct_i386.h:
1052         Added ABI check for libs
1053
1054 2005-12-07  Wim Taymans  <wim@fluendo.com>
1055
1056         * tests/check/Makefile.am:
1057         And add the struct_i386.h to dist.
1058
1059 2005-12-07  Wim Taymans  <wim@fluendo.com>
1060
1061         * tests/check/Makefile.am:
1062         * tests/check/gst/.cvsignore:
1063         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1064         (main):
1065         * tests/check/gst/struct_i386.h:
1066         Added check for ABI compatibility.
1067
1068 2005-12-07  Wim Taymans  <wim@fluendo.com>
1069
1070         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1071         (gst_fake_src_get_times), (gst_fake_src_create):
1072         Fix broken sync option, fixes #323259
1073
1074 2005-12-07  Wim Taymans  <wim@fluendo.com>
1075
1076         * gst/gstbuffer.c:
1077         Small docs update.
1078
1079         * gst/gstcaps.c: (gst_caps_is_equal):
1080         Don't assert on NULL <--> X. Fixes #323260
1081
1082         * gst/gstminiobject.c: (gst_mini_object_replace):
1083         If we're doing atomic operations, we might just as well use
1084         the proper way to get an atomic pointer.
1085
1086         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1087         Clean up debugging.
1088
1089 2005-12-07  Michael Smith  <msmith@fluendo.com>
1090
1091         * gst/parse/grammar.y:
1092           Remove handling of { } for threads.
1093
1094 2005-12-06  David Schleef  <ds@schleef.org>
1095
1096         * libs/gst/base/gstbasetransform.c: speling fix.
1097
1098 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1099
1100         * docs/libs/tmpl/gstdataprotocol.sgml:
1101         * docs/random/omega/testing/gstobject.c:
1102         * gst/gst.c:
1103         * gst/gstclock.c:
1104         * gst/gstelement.c:
1105         * gst/gstelementfactory.c:
1106         * gst/gsterror.c:
1107         * gst/gstevent.c:
1108         * gst/gstghostpad.c:
1109         * gst/gstinfo.c:
1110         * gst/gstpadtemplate.c:
1111         * gst/gstregistryxml.c:
1112         * gst/gsttaglist.c:
1113         * gst/gsttagsetter.c:
1114         * gst/gsttypefind.c:
1115         * gst/gstvalue.c:
1116         * libs/gst/base/gstbasesrc.c:
1117         * libs/gst/net/gstnetclientclock.c:
1118         * libs/gst/net/gstnettimeprovider.c:
1119         * plugins/elements/gstfakesrc.c:
1120         * plugins/elements/gstfdsrc.c:
1121         * plugins/elements/gstfilesrc.c:
1122         * plugins/elements/gstidentity.c:
1123         * plugins/elements/gstqueue.c:
1124         * plugins/elements/gsttypefindelement.c:
1125         * plugins/indexers/gstfileindex.c:
1126         * plugins/indexers/gstmemindex.c:
1127         * tests/check/gst/gsttag.c:
1128         * tests/old/examples/cutter/cutter.c:
1129         * tests/old/examples/mixer/mixer.c:
1130         * tests/old/examples/xml/runxml.c: (main):
1131         * tests/old/testsuite/caps/normalisation.c:
1132         * tests/old/testsuite/debug/global.c:
1133         * tests/old/testsuite/parse/parse1.c:
1134         * tools/gst-xmlinspect.c:
1135         * win32/common/dirent.c:
1136           expand tabs
1137
1138 === release 0.10.0 ===
1139
1140 2005-12-05   <thomas (at) apestaart (dot) org>
1141
1142         * configure.ac:
1143           releasing 0.10.0, "Maroilles"
1144
1145 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1146
1147         submitted by: Funda Wang <fundawang@linux.net.cn>
1148
1149         * po/LINGUAS:
1150         * po/zh_CN.po:
1151           added Chinese (Traditional) translation
1152
1153 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1154
1155         * docs/gst/gstreamer-sections.txt:
1156         * docs/libs/tmpl/gstdataprotocol.sgml:
1157         * docs/random/thomasvs/TODO:
1158         * gst/gstutils.c:
1159         * gst/gstutils.h:
1160           fix docs
1161
1162 2005-12-05  Andy Wingo  <wingo@pobox.com>
1163
1164         patch by: Wim Taymans <wim@fluendo.com>
1165
1166         * libs/gst/base/gstbasetransform.c
1167         (gst_base_transform_prepare_output_buf)
1168         (gst_base_transform_buffer_alloc):
1169         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1170         alloc_buffer_and_set_caps.
1171
1172         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1173         set_caps on the source pad.
1174         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1175         alloc_buffer used to do. Fixes #322874.
1176
1177         * docs/gst/gstreamer-sections.txt: 
1178         * docs/design/part-negotiation.txt: 
1179         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1180         changes.
1181
1182 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1183
1184         patch by: Sebastien Moutte
1185
1186         * win32/MANIFEST:
1187         * win32/common/config.h.in:
1188         * win32/vs6/libgstcontroller.dsp:
1189           win32 build fixes
1190
1191 2005-12-05  Wim Taymans  <wim@fluendo.com>
1192
1193         * gst/gstcaps.c: (gst_caps_is_equal):
1194         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1195         (gst_fake_src_create):
1196         Back out previous code changes, leave doc updates, file bugs 
1197         instead. 
1198
1199 2005-12-05  Wim Taymans  <wim@fluendo.com>
1200
1201         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1202         (gst_fake_src_get_times), (gst_fake_src_create):
1203         * plugins/elements/gstfakesrc.h:
1204         Fix broken sync code.
1205
1206 2005-12-05  Wim Taymans  <wim@fluendo.com>
1207
1208         * gst/gstcaps.c: (gst_caps_is_equal):
1209         Comparing NULL against !NULL yields different caps, not a
1210         failure.
1211
1212 2005-12-05  Wim Taymans  <wim@fluendo.com>
1213
1214         * gst/gstpipeline.c:
1215         Fix small typo in docs.
1216
1217 2005-12-05  Andy Wingo  <wingo@pobox.com>
1218
1219         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1220
1221         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1222         registries/plugins with a MAJORMINOR one.
1223         (plugin_desc): Rename library from gstcoreleements to
1224         staticelements. Fixes #323222.
1225
1226 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1227
1228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1229           Change debug category to 'collectpads' from 'collect_pads'
1230           (fixes #323250).
1231
1232 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1233
1234         patch by: Sebastien Moutte
1235
1236         * libs/gst/controller/gstinterpolation.c:
1237           use convert function for uint64/double
1238         * win32/vs6/libgstcontroller.dsp:
1239           link to GLib
1240
1241 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1242
1243         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1244         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1245         * gst/gstutils.h:
1246         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1247           add tests that seem to show that the guint64/gdouble conversions
1248           are correct.
1249
1250 2005-12-02  Wim Taymans  <wim@fluendo.com>
1251
1252         * gst/gstregistry.c: (gst_registry_add_path):
1253         * gst/gstregistry.h:
1254         * gst/gstregistryxml.c:
1255         Fix docs again.
1256
1257 2005-12-02  Wim Taymans  <wim@fluendo.com>
1258
1259         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1260         (gst_util_uint64_scale_int):
1261         Small cleanup.
1262
1263         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1264         Add debug log line.
1265
1266         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1267         Add FIXME.
1268
1269 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1270
1271         * win32/MANIFEST:
1272         * win32/common/config.h:
1273         * win32/vs6/gstreamer.dsw:
1274         * win32/vs6/libgstcoreelements.dsp:
1275         * win32/vs6/libgstelements.dsp:
1276           renamed core elements plugin
1277
1278 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1279
1280         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1281         (get_candidates):
1282           do piece-wise major/minor comparison so 0.9 < 0.10
1283           also allow .exe extensions for tools
1284
1285 2005-12-02  Michael Smith  <msmith@fluendo.com>
1286
1287         * gst/gst.c:
1288           Escape a % to make gtkdoc happier; bug 322958.
1289
1290 === release 0.9.7 ===
1291
1292 2005-12-01   <thomas (at) apestaart (dot) org>
1293
1294         * configure.ac:
1295           releasing 0.9.7, "My Dog Has No Nose"
1296
1297 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1298
1299         * common/gst-xmlinspect.py:
1300         * configure.ac:
1301         * docs/libs/tmpl/gstdataprotocol.sgml:
1302         * docs/random/release:
1303         * po/af.po:
1304         * po/az.po:
1305         * po/bg.po:
1306         * po/ca.po:
1307         * po/cs.po:
1308         * po/de.po:
1309         * po/en_GB.po:
1310         * po/fr.po:
1311         * po/it.po:
1312         * po/nb.po:
1313         * po/nl.po:
1314         * po/ru.po:
1315         * po/sq.po:
1316         * po/sr.po:
1317         * po/sv.po:
1318         * po/tr.po:
1319         * po/uk.po:
1320         * po/vi.po:
1321         * win32/common/config.h:
1322         * win32/common/config.h.in:
1323         * win32/vs6/gst_inspect.dsp:
1324         * win32/vs6/gst_launch.dsp:
1325         * win32/vs6/libgstbase.dsp:
1326         * win32/vs6/libgstelements.dsp:
1327         * win32/vs6/libgstreamer.dsp:
1328         * win32/vs7/GStreamer.vcproj:
1329         * win32/vs7/gst-inspect.vcproj:
1330         * win32/vs7/gst-launch.vcproj:
1331         * win32/vs7/libgstbase.vcproj:
1332           bump GST_MAJORMINOR to 0.10
1333           reset libtool version
1334
1335 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1336
1337         * po/LINGUAS:
1338         * po/bg.po:
1339           Added Bulgarian translation by (Alexander Shopov)
1340
1341 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1342
1343         * tests/check/gst/gstplugin.c:
1344           fix test
1345
1346 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1347
1348         * common/gst-xmlinspect.py:
1349         * common/gtk-doc-plugins.mak:
1350         * configure.ac:
1351         * docs/Makefile.am:
1352         * docs/gst/Makefile.am:
1353         * docs/gst/gstreamer-docs.sgml:
1354         * docs/gst/gstreamer-sections.txt:
1355         * docs/gst/gstreamer.types:
1356         * docs/gst/gstreamer.types.in:
1357         * docs/plugins/Makefile.am:
1358         * docs/plugins/gstreamer-plugins-docs.sgml:
1359         * docs/plugins/gstreamer-plugins-sections.txt:
1360         * docs/plugins/gstreamer-plugins.types:
1361         * docs/plugins/inspect.stamp:
1362         * docs/plugins/inspect/plugin-coreelements.xml:
1363         * docs/plugins/inspect/plugin-coreindexers.xml:
1364         * docs/plugins/scanobj-build.stamp:
1365         * gstreamer.spec.in:
1366         * plugins/elements/Makefile.am:
1367         * plugins/elements/gstelements.c:
1368         * plugins/elements/gstfakesink.c:
1369         * plugins/elements/gstfakesrc.c:
1370         * plugins/elements/gstfilesink.c:
1371         * plugins/elements/gstfilesrc.c:
1372         * plugins/elements/gstqueue.c:
1373         * plugins/indexers/Makefile.am:
1374         * plugins/indexers/gstindexers.c:
1375           document core plugins in a separate document just like all the
1376           others
1377           rename these plugins to something starting with core
1378
1379 2005-12-01  Andy Wingo  <wingo@pobox.com>
1380
1381         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1382         padding here before, but it missed the commit.
1383
1384 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1385
1386         * libs/gst/controller/gstinterpolation.c:
1387           whitespace prices have crashed, we should feel free to use some now
1388           use gst_guint64_to_gdouble
1389
1390 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1391
1392         * libs/gst/controller/gstcontroller.c:
1393         * libs/gst/controller/gsthelper.c:
1394         * libs/gst/controller/gstinterpolation.c:
1395         * libs/gst/controller/lib.c:
1396           wrap config.h include
1397
1398 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1399
1400         * docs/gst/gstreamer-sections.txt:
1401           update docs
1402
1403 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1404
1405         * plugins/elements/gstelements.c:
1406         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1407         (gst_fd_sink__class_init), (gst_fd_sink__init),
1408         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1409         (gst_fd_sink__get_property):
1410         * plugins/elements/gstfdsink.h:
1411         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1412         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1413         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1414         (gst_fd_src_unlock), (gst_fd_src_set_property),
1415         (gst_fd_src_get_property), (gst_fd_src_create),
1416         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1417         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1418         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1419         (gst_fd_src_uri_handler_init):
1420         * plugins/elements/gstfdsrc.h:
1421         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1422           more anal cleanup
1423
1424 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1425
1426         * docs/gst/Makefile.am:
1427         * docs/gst/gstreamer.types.in:
1428         * gst/Makefile.am:
1429           fix the docs build
1430
1431 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1432
1433         * configure.ac:
1434         * gst/Makefile.am:
1435         * gst/gst.c:
1436         * gst/gstplugin.h:
1437         * gst/gstregistry.h:
1438         * tests/benchmarks/complexity.c:
1439         * tests/benchmarks/mass-elements.c:
1440         * tests/check/Makefile.am:
1441         * tools/Makefile.am:
1442         * tools/gst-inspect.c:
1443         * tools/gst-xmlinspect.c:
1444           various fixes to make
1445           --disable-nls --disable-registry --disable-loadsave
1446           --disable-parse --disable-gst-debug
1447           work and get the core .so down to 360444 bytes after stripping
1448
1449 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1450
1451         * Makefile.am:
1452         * configure.ac:
1453           descend into tests
1454         * docs/random/thomasvs/TODO:
1455         * tests/Makefile.am:
1456         * tests/README:
1457           add a README
1458
1459 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1460
1461         * win32/GStreamer.vcproj:
1462         * win32/MANIFEST:
1463         * win32/Makefile:
1464         * win32/Makefile.inspect:
1465         * win32/Makefile.launch:
1466         * win32/Makefile.register:
1467         * win32/README.txt:
1468         * win32/gst-inspect.vcproj:
1469         * win32/gst-launch.vcproj:
1470         * win32/gst-register.vcproj:
1471         * win32/gstelements.vcproj:
1472         * win32/gstgetbits.def:
1473         * win32/gstgetbits.vcproj:
1474         * win32/gstreamer-dbg.def:
1475         * win32/gstreamer.def:
1476         * win32/libgstbase.def:
1477         * win32/libgstbase.vcproj:
1478         * win32/link_oldruntime.c:
1479         * win32/mman.c:
1480         * win32/mman.h:
1481         * win32/mman.inl:
1482         * win32/msvc71.sln:
1483           move even more stuff, win32/ is nice and clean now
1484
1485 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1486
1487         * libs/gst/control/.cvsignore:
1488         * win32/MANIFEST:
1489         * win32/config.h:
1490         * win32/dirent.c:
1491         * win32/dirent.h:
1492         * win32/gstbytestream.def:
1493         * win32/gstbytestream.vcproj:
1494         * win32/gstconfig.h:
1495         * win32/gstenumtypes.c:
1496         * win32/gstenumtypes.h:
1497         * win32/gstoptimalscheduler.vcproj:
1498         * win32/gstversion.h:
1499         * win32/gtchar.h:
1500         * win32/testsuite/bins.vcproj:
1501         * win32/testsuite/bytestream.vcproj:
1502         * win32/testsuite/caps.vcproj:
1503         * win32/testsuite/cleanup.vcproj:
1504         * win32/testsuite/clock.vcproj:
1505         * win32/testsuite/debug.vcproj:
1506         * win32/testsuite/dlopen.vcproj:
1507         * win32/testsuite/dynparams.vcproj:
1508         * win32/testsuite/elements.vcproj:
1509         * win32/testsuite/ghostpads.vcproj:
1510         * win32/testsuite/indexers.vcproj:
1511         * win32/testsuite/negotiation.vcproj:
1512         * win32/testsuite/parse.vcproj:
1513         * win32/testsuite/plugin.vcproj:
1514         * win32/testsuite/refcounting.vcproj:
1515         * win32/testsuite/schedulers.vcproj:
1516         * win32/testsuite/states.vcproj:
1517         * win32/testsuite/tags.vcproj:
1518         * win32/testsuite/threads.vcproj:
1519           remove old win32 stuff that isn't maintained and should be
1520           reorganized
1521
1522 2005-11-30  Andy Wingo  <wingo@pobox.com>
1523
1524         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1525         loading the gst.interfaces python module bork.
1526
1527         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1528         available since GLib 2.2. Fixes #318031.
1529
1530 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1531
1532         * Makefile.am:
1533         * check/.cvsignore:
1534         * check/Makefile.am:
1535         * check/elements/.cvsignore:
1536         * check/elements/fakesrc.c:
1537         * check/elements/fdsrc.c:
1538         * check/elements/identity.c:
1539         * check/generic/.cvsignore:
1540         * check/generic/states.c:
1541         * check/gst-libs/.cvsignore:
1542         * check/gst-libs/controller.c:
1543         * check/gst-libs/gdp.c:
1544         * check/gst/.cvsignore:
1545         * check/gst/capslist.h:
1546         * check/gst/gst.c:
1547         * check/gst/gstbin.c:
1548         * check/gst/gstbuffer.c:
1549         * check/gst/gstbus.c:
1550         * check/gst/gstcaps.c:
1551         * check/gst/gstelement.c:
1552         * check/gst/gstevent.c:
1553         * check/gst/gstghostpad.c:
1554         * check/gst/gstiterator.c:
1555         * check/gst/gstmessage.c:
1556         * check/gst/gstminiobject.c:
1557         * check/gst/gstobject.c:
1558         * check/gst/gstpad.c:
1559         * check/gst/gstpipeline.c:
1560         * check/gst/gstplugin.c:
1561         * check/gst/gstsegment.c:
1562         * check/gst/gststructure.c:
1563         * check/gst/gstsystemclock.c:
1564         * check/gst/gsttag.c:
1565         * check/gst/gstutils.c:
1566         * check/gst/gstvalue.c:
1567         * check/net/.cvsignore:
1568         * check/net/gstnetclientclock.c:
1569         * check/net/gstnettimeprovider.c:
1570         * check/pipelines/.cvsignore:
1571         * check/pipelines/cleanup.c:
1572         * check/pipelines/simple_launch_lines.c:
1573         * check/pipelines/stress.c:
1574         * check/states/.cvsignore:
1575         * check/states/sinks.c:
1576         * configure.ac:
1577         * examples/Makefile.am:
1578         * examples/appreader/.cvsignore:
1579         * examples/appreader/Makefile.am:
1580         * examples/appreader/appreader.c:
1581         * examples/controller/.cvsignore:
1582         * examples/controller/Makefile.am:
1583         * examples/controller/audio-example.c:
1584         * examples/cutter/.cvsignore:
1585         * examples/cutter/Makefile.am:
1586         * examples/cutter/cutter.c:
1587         * examples/cutter/cutter.h:
1588         * examples/events/Makefile.am:
1589         * examples/events/seek.c:
1590         * examples/helloworld/.cvsignore:
1591         * examples/helloworld/Makefile.am:
1592         * examples/helloworld/helloworld.c:
1593         * examples/helloworld2/.cvsignore:
1594         * examples/helloworld2/Makefile.am:
1595         * examples/helloworld2/helloworld2.c:
1596         * examples/launch/.cvsignore:
1597         * examples/launch/Makefile.am:
1598         * examples/launch/mp3parselaunch.c:
1599         * examples/launch/mp3play:
1600         * examples/manual/.cvsignore:
1601         * examples/manual/Makefile.am:
1602         * examples/manual/extract.pl:
1603         * examples/metadata/Makefile.am:
1604         * examples/metadata/read-metadata.c:
1605         * examples/mixer/.cvsignore:
1606         * examples/mixer/Makefile.am:
1607         * examples/mixer/mixer.c:
1608         * examples/mixer/mixer.h:
1609         * examples/pingpong/.cvsignore:
1610         * examples/pingpong/Makefile.am:
1611         * examples/pingpong/pingpong.c:
1612         * examples/plugins/.cvsignore:
1613         * examples/plugins/Makefile.am:
1614         * examples/plugins/example.c:
1615         * examples/plugins/example.h:
1616         * examples/pwg/.cvsignore:
1617         * examples/pwg/Makefile.am:
1618         * examples/pwg/extract.pl:
1619         * examples/queue/.cvsignore:
1620         * examples/queue/Makefile.am:
1621         * examples/queue/queue.c:
1622         * examples/queue2/.cvsignore:
1623         * examples/queue2/Makefile.am:
1624         * examples/queue2/queue2.c:
1625         * examples/queue3/.cvsignore:
1626         * examples/queue3/Makefile.am:
1627         * examples/queue3/queue3.c:
1628         * examples/queue4/.cvsignore:
1629         * examples/queue4/Makefile.am:
1630         * examples/queue4/queue4.c:
1631         * examples/retag/.cvsignore:
1632         * examples/retag/Makefile.am:
1633         * examples/retag/retag.c:
1634         * examples/retag/transcode.c:
1635         * examples/thread/.cvsignore:
1636         * examples/thread/Makefile.am:
1637         * examples/thread/thread.c:
1638         * examples/typefind/.cvsignore:
1639         * examples/typefind/Makefile.am:
1640         * examples/typefind/typefind.c:
1641         * examples/xml/.cvsignore:
1642         * examples/xml/Makefile.am:
1643         * examples/xml/createxml.c:
1644         * examples/xml/runxml.c:
1645         * tests/Makefile.am:
1646         * tests/check/Makefile.am:
1647         * testsuite/.cvsignore:
1648         * testsuite/Makefile.am:
1649         * testsuite/Rules:
1650         * testsuite/caps/.cvsignore:
1651         * testsuite/caps/Makefile.am:
1652         * testsuite/caps/app_fixate.c:
1653         * testsuite/caps/audioscale.c:
1654         * testsuite/caps/caps.c:
1655         * testsuite/caps/caps.h:
1656         * testsuite/caps/caps_strings:
1657         * testsuite/caps/compatibility.c:
1658         * testsuite/caps/deserialize.c:
1659         * testsuite/caps/enumcaps.c:
1660         * testsuite/caps/eratosthenes.c:
1661         * testsuite/caps/filtercaps.c:
1662         * testsuite/caps/fixed.c:
1663         * testsuite/caps/fraction-convert.c:
1664         * testsuite/caps/fraction-multiply-and-zero.c:
1665         * testsuite/caps/intersect2.c:
1666         * testsuite/caps/intersection.c:
1667         * testsuite/caps/normalisation.c:
1668         * testsuite/caps/random.c:
1669         * testsuite/caps/renegotiate.c:
1670         * testsuite/caps/sets.c:
1671         * testsuite/caps/simplify.c:
1672         * testsuite/caps/string-conversions.c:
1673         * testsuite/caps/structure.c:
1674         * testsuite/caps/subtract.c:
1675         * testsuite/caps/union.c:
1676         * testsuite/debug/.cvsignore:
1677         * testsuite/debug/Makefile.am:
1678         * testsuite/debug/category.c:
1679         * testsuite/debug/commandline.c:
1680         * testsuite/debug/global.c:
1681         * testsuite/debug/output.c:
1682         * testsuite/debug/printf_extension.c:
1683         * testsuite/dlopen/.cvsignore:
1684         * testsuite/dlopen/Makefile.am:
1685         * testsuite/dlopen/dlopen_gst.c:
1686         * testsuite/dlopen/loadgst.c:
1687         * testsuite/elements/.cvsignore:
1688         * testsuite/elements/Makefile.am:
1689         * testsuite/elements/gst-inspect-check.in:
1690         * testsuite/elements/struct_i386.h:
1691         * testsuite/elements/struct_size.c:
1692         * testsuite/indexers/.cvsignore:
1693         * testsuite/indexers/Makefile.am:
1694         * testsuite/indexers/cache1.c:
1695         * testsuite/indexers/indexdump.c:
1696         * testsuite/parse/.cvsignore:
1697         * testsuite/parse/Makefile.am:
1698         * testsuite/parse/parse1.c:
1699         * testsuite/parse/parse2.c:
1700         * testsuite/plugin/.cvsignore:
1701         * testsuite/plugin/Makefile.am:
1702         * testsuite/plugin/README:
1703         * testsuite/plugin/dynamic.c:
1704         * testsuite/plugin/linked.c:
1705         * testsuite/plugin/loading.c:
1706         * testsuite/plugin/registry.c:
1707         * testsuite/plugin/static.c:
1708         * testsuite/plugin/static2.c:
1709         * testsuite/plugin/testplugin.c:
1710         * testsuite/plugin/testplugin2.c:
1711         * testsuite/plugin/testplugin2_s.c:
1712         * testsuite/plugin/testplugin_s.c:
1713         * testsuite/refcounting/.cvsignore:
1714         * testsuite/refcounting/Makefile.am:
1715         * testsuite/refcounting/bin.c:
1716         * testsuite/refcounting/element.c:
1717         * testsuite/refcounting/element_pad.c:
1718         * testsuite/refcounting/mainloop.c:
1719         * testsuite/refcounting/mem.c:
1720         * testsuite/refcounting/mem.h:
1721         * testsuite/refcounting/object.c:
1722         * testsuite/refcounting/pad.c:
1723         * testsuite/refcounting/sched.c:
1724         * testsuite/refcounting/thread.c:
1725         * testsuite/states/.cvsignore:
1726         * testsuite/states/Makefile.am:
1727         * testsuite/states/bin.c:
1728         * testsuite/states/locked.c:
1729         * testsuite/states/parent.c:
1730         * testsuite/threads/.cvsignore:
1731         * testsuite/threads/159566.c:
1732         * testsuite/threads/159852.c:
1733         * testsuite/threads/Makefile.am:
1734         * testsuite/threads/queue.c:
1735         * testsuite/threads/signals.c:
1736         * testsuite/threads/staticrec.c:
1737         * testsuite/threads/thread.c:
1738         * testsuite/threads/threadb.c:
1739         * testsuite/threads/threadc.c:
1740         * testsuite/threads/threadd.c:
1741         * testsuite/threads/threade.c:
1742         * testsuite/threads/threadf.c:
1743         * testsuite/threads/threadg.c:
1744         * testsuite/threads/threadh.c:
1745         * testsuite/threads/threadi.c:
1746           move all of these under tests
1747
1748 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1749
1750         * configure.ac:
1751         * tests/Makefile.am:
1752           fix distcheck
1753
1754 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1755
1756         * docs/gst/gstreamer-sections.txt:
1757         * tests/sched/.cvsignore:
1758         * tests/sched/Makefile.am:
1759         * tests/sched/cases/(fs-fs).xml:
1760         * tests/sched/cases/(fs-i-fs).xml:
1761         * tests/sched/cases/(fs-i-i-fs).xml:
1762         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1763         * tests/sched/dynamic-pipeline.c:
1764         * tests/sched/interrupt1.c:
1765         * tests/sched/interrupt2.c:
1766         * tests/sched/interrupt3.c:
1767         * tests/sched/runtestcases:
1768         * tests/sched/runxml.c:
1769         * tests/sched/sched-stress.c:
1770         * tests/sched/sort.c:
1771         * tests/sched/testcases:
1772         * tests/sched/testcases1.tc:
1773         * tests/seeking/.cvsignore:
1774         * tests/seeking/Makefile.am:
1775         * tests/seeking/seeking1.c:
1776         * tests/threadstate/.cvsignore:
1777         * tests/threadstate/Makefile.am:
1778         * tests/threadstate/test1.c:
1779         * tests/threadstate/test2.c:
1780         * tests/threadstate/threadstate1.c:
1781         * tests/threadstate/threadstate2.c:
1782         * tests/threadstate/threadstate3.c:
1783         * tests/threadstate/threadstate4.c:
1784         * tests/threadstate/threadstate5.c:
1785           remove obsolete tests
1786         * configure.ac:
1787         * tests/bench-complexity.scm:
1788         * tests/bench-mass_elements.scm:
1789         * tests/complexity.c:
1790         * tests/complexity.gnuplot:
1791         * tests/instantiate/.cvsignore:
1792         * tests/instantiate/Makefile.am:
1793         * tests/instantiate/caps.c:
1794         * tests/mass_elements.c:
1795         * tests/network-clock-utils.scm:
1796         * tests/network-clock.scm:
1797         * tests/plot-data:
1798         First pass at cleaning up tests/ dir before moving the rest
1799         Combined with CVS surgery
1800
1801 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1802
1803         * po/POTFILES.in:
1804           queue has moved, update
1805
1806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * docs/gst/gstreamer-sections.txt:
1809           remove double entries from the docs
1810         * gst/gst_private.h:
1811         * gst/gstinfo.c: (_gst_debug_init):
1812           remove the THREAD debug category
1813         * gst/Makefile.am:
1814         * gst/gstqueue.c:
1815         * gst/gstqueue.h:
1816         * docs/gst/gstreamer.types:
1817         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1818         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1819           completely move queue and fix up debugging categories
1820
1821 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1822
1823         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1824           make initialization portable, using LL is not
1825
1826 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * win32/common/gstconfig.h:
1829           add large padding
1830
1831 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * win32/common/libgstreamer.def:
1834           rename symbols; sort base section
1835
1836 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1837
1838         * gst/gstclock.c: (do_linear_regression):
1839           remove crack non-portable handrolled DEBUG macro
1840
1841 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1842
1843         * docs/random/release:
1844           update notes
1845         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1846         (gst_object_flags_get_type), (register_gst_bin_flags),
1847         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1848         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1849         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1850         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1851         (gst_caps_flags_get_type), (register_gst_clock_return),
1852         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1853         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1854         (gst_clock_flags_get_type), (register_gst_state),
1855         (gst_state_get_type), (register_gst_state_change_return),
1856         (gst_state_change_return_get_type), (register_gst_state_change),
1857         (gst_state_change_get_type), (register_gst_element_flags),
1858         (gst_element_flags_get_type), (register_gst_core_error),
1859         (gst_core_error_get_type), (register_gst_library_error),
1860         (gst_library_error_get_type), (register_gst_resource_error),
1861         (gst_resource_error_get_type), (register_gst_stream_error),
1862         (gst_stream_error_get_type), (register_gst_event_type_flags),
1863         (gst_event_type_flags_get_type), (register_gst_event_type),
1864         (gst_event_type_get_type), (register_gst_seek_type),
1865         (gst_seek_type_get_type), (register_gst_seek_flags),
1866         (gst_seek_flags_get_type), (register_gst_format),
1867         (gst_format_get_type), (register_gst_index_certainty),
1868         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1869         (gst_index_entry_type_get_type),
1870         (register_gst_index_lookup_method),
1871         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1872         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1873         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1874         (gst_index_flags_get_type), (register_gst_debug_level),
1875         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1876         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1877         (gst_iterator_result_get_type), (register_gst_iterator_item),
1878         (gst_iterator_item_get_type), (register_gst_message_type),
1879         (gst_message_type_get_type), (register_gst_mini_object_flags),
1880         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1881         (gst_pad_link_return_get_type), (register_gst_flow_return),
1882         (gst_flow_return_get_type), (register_gst_activate_mode),
1883         (gst_activate_mode_get_type), (register_gst_pad_direction),
1884         (gst_pad_direction_get_type), (register_gst_pad_flags),
1885         (gst_pad_flags_get_type), (register_gst_pad_presence),
1886         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1887         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1888         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1889         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1890         (gst_plugin_flags_get_type), (register_gst_rank),
1891         (gst_rank_get_type), (register_gst_query_type),
1892         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1893         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1894         (gst_tag_flag_get_type), (register_gst_task_state),
1895         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1896         (gst_alloc_trace_flags_get_type),
1897         (register_gst_type_find_probability),
1898         (gst_type_find_probability_get_type), (register_gst_uri_type),
1899         (gst_uri_type_get_type), (register_gst_parse_error),
1900         (gst_parse_error_get_type):
1901         * win32/common/gstenumtypes.h:
1902         * win32/common/gstversion.h:
1903           update visual studio generated files
1904
1905 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1906
1907         * win32/vs6/libgstbase.dsp:
1908         * win32/vs6/libgstelements.dsp:
1909           update project files for new locations
1910
1911 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1912
1913         * Makefile.am:
1914           remove some files
1915         * README:
1916           reinstate and update
1917         * DEVEL:
1918         * REQUIREMENTS:
1919           removed
1920         * LICENSE:
1921         * docs/random/LICENSE:
1922           moved to random
1923
1924 2005-11-30  Edward Hervey  <edward@fluendo.com>
1925
1926         * gst/gsttypefind.c: (gst_type_find_register):
1927         * gst/gsttypefind.h:
1928         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1929         (gst_type_find_factory_dispose):
1930         * gst/gsttypefindfactory.h:
1931         Fix memory leak in GstTypeFindFactory.
1932
1933 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1934
1935         * gst/gst.c:
1936         * plugins/elements/Makefile.am:
1937         * plugins/elements/gstelements.c:
1938         * plugins/elements/gstqueue.c:
1939           move queue from core to the elements plugin
1940
1941 2005-11-29  Andy Wingo  <wingo@pobox.com>
1942
1943         * libs/gst/base/gstbasetransform.h: 
1944         * libs/gst/base/gstbasesrc.h: 
1945         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1946
1947         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1948         of pointers by which to pad very extensible base classes (like the
1949         ones in libs/gst/base).
1950
1951 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1952
1953         * docs/gst/gstreamer-docs.sgml:
1954         * docs/gst/gstreamer-sections.txt:
1955         * docs/libs/gstreamer-libs-docs.sgml:
1956         * docs/libs/gstreamer-libs-sections.txt:
1957           moving documentation from core to lib
1958
1959 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1960
1961         * check/Makefile.am:
1962         * configure.ac:
1963         * docs/gst/Makefile.am:
1964         * gst/Makefile.am:
1965         * gst/base/.cvsignore:
1966         * gst/base/Makefile.am:
1967         * gst/base/README:
1968         * gst/base/gstadapter.c:
1969         * gst/base/gstadapter.h:
1970         * gst/base/gstbasesink.c:
1971         * gst/base/gstbasesink.h:
1972         * gst/base/gstbasesrc.c:
1973         * gst/base/gstbasesrc.h:
1974         * gst/base/gstbasetransform.c:
1975         * gst/base/gstbasetransform.h:
1976         * gst/base/gstcollectpads.c:
1977         * gst/base/gstcollectpads.h:
1978         * gst/base/gstpushsrc.c:
1979         * gst/base/gstpushsrc.h:
1980         * gst/base/gsttypefindhelper.c:
1981         * gst/base/gsttypefindhelper.h:
1982         * gst/check/Makefile.am:
1983         * gst/check/gstcheck.c:
1984         * gst/check/gstcheck.h:
1985         * gst/net/Makefile.am:
1986         * gst/net/gstnet.h:
1987         * gst/net/gstnetclientclock.c:
1988         * gst/net/gstnetclientclock.h:
1989         * gst/net/gstnettimepacket.c:
1990         * gst/net/gstnettimepacket.h:
1991         * gst/net/gstnettimeprovider.c:
1992         * gst/net/gstnettimeprovider.h:
1993         * libs/gst/Makefile.am:
1994         * libs/gst/base/Makefile.am:
1995         * libs/gst/base/gstbasetransform.c:
1996         * libs/gst/check/Makefile.am:
1997         * plugins/elements/Makefile.am:
1998         * po/POTFILES.in:
1999           CVS surgery + support to move base, check, and net out of gst
2000           and into libs/gst
2001
2002 2005-11-29  Andy Wingo  <wingo@pobox.com>
2003
2004         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2005
2006         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2007         padding.
2008
2009         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2010
2011         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2012
2013         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2014
2015         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2016         padding; reduces object size by about 30%. We don't expect
2017         anything else to go into gstobject.
2018
2019         * gst/gstminiobject.h (struct _GstMiniObject)
2020         (struct _GstMiniObjectClass): Only one pointer of padding; the
2021         payload is only a pointer and two ints anyway. For the class there
2022         are only two methods as well.
2023         
2024         * gst/gstelement.h (struct _GstElementClass): Removed
2025         the state_changed signal callback, it is not used.
2026
2027 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2028
2029         * docs/gst/gstreamer.types:
2030           fix includes, though they are a little dinky
2031
2032 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2033
2034         * check/Makefile.am:
2035           look in the right place for elements, a lot more chance of
2036           success
2037         * gst/Makefile.am:
2038           remove indexers and elements subdirs
2039         * plugins/Makefile.am:
2040           make indexers conditional
2041
2042 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2043
2044         * Makefile.am:
2045         * configure.ac:
2046         * plugins/elements/Makefile.am:
2047         * plugins/elements/gstcapsfilter.c:
2048         * plugins/elements/gstfilesink.c:
2049         * plugins/elements/gstfilesrc.c:
2050         * plugins/elements/gstidentity.c:
2051         * plugins/indexers/Makefile.am:
2052           do CVS surgery and related build fixery to move elements
2053           and indexers in a new gstreamer/plugins directory, out of the
2054           gst/ directory
2055
2056 2005-11-29  Andy Wingo  <wingo@pobox.com>
2057
2058         * check/Makefile.am:
2059         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2060         * pkgconfig/gstreamer-net.pc.in:
2061         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2062         #322257.
2063
2064 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2065
2066         * tools/Makefile.am:
2067         * tools/gst-complete.1.in:
2068         * tools/gst-complete.c:
2069         * tools/gst-compprep.1.in:
2070         * tools/gst-compprep.c:
2071           removing -compprep and -complete
2072
2073 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2074
2075         * gst/gstevent.c: (gst_event_new_new_segment),
2076         (gst_event_parse_new_segment):
2077         * gst/gstevent.h:
2078           fix #320529 - clean up new_segment API and structure.
2079           Let's hope everyone was using the methods, and not the structure.
2080
2081 2005-11-29  Edward Hervey  <edward@fluendo.com>
2082
2083         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2084         (gst_base_sink_event), (gst_base_sink_do_sync),
2085         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2086         Properly handle non GST_FORMAT_TIME segment
2087         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2088         Properly handle non GST_FORMAT_TIME segment
2089         * gst/gstsegment.c:
2090         This function is valid if the accumulator is 0 and the format
2091         is different from the requested format.
2092         
2093 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2094
2095         * docs/gst/gstreamer-sections.txt:
2096         Add gst_query_new_seeking and gst_query_parse_seeking to the
2097         docs.
2098
2099 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2100
2101         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2102           Treat a pad alloc with new caps the same as if we were not
2103           negotiated, in order to allow a changing upstream output
2104           to produce a new format of data.
2105
2106 2005-11-29  Edward Hervey  <edward@fluendo.com>
2107
2108         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2109         (gst_base_transform_event), (gst_base_transform_eventfunc):
2110         The event virtual method is now properly implemented, with a default
2111         handler
2112         Sub classes should call the parent_class event method. They should
2113         return FALSE if they had a problem handling the given event, or don't
2114         want GstBaseTransform to send that even downstream
2115         * gst/elements/gstidentity.c: (gst_identity_class_init),
2116         (gst_identity_init), (gst_identity_event),
2117         (gst_identity_transform_ip), (gst_identity_set_property),
2118         (gst_identity_get_property):
2119         * gst/elements/gstidentity.h:
2120         Added the single-segment boolean property.
2121         If set to TRUE, it will output a single segment of data, starting from
2122         0, will eat up all incoming newsegment, and modify the timestamp of the
2123         buffers accordingly
2124
2125 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2126
2127         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2128           Don't ref NULL target pad (#322751). Improve docs.
2129
2130 2005-11-29  Michael Smith  <msmith@fluendo.com>
2131
2132         * gst/gstregistryxml.c: (load_plugin):
2133           Don't crash if we failed to load a feature from a plugin. 
2134
2135 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2136
2137         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2138         (GST_START_TEST):
2139           use more check API and less GLib API
2140
2141 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2142
2143         * Makefile.am:
2144           don't run checks if we don't have check
2145         * common/check.mak:
2146           remove the registry when running make torture
2147         * docs/gst/gstreamer-sections.txt:
2148           remove second multiply
2149         * gst/gstqueue.c: (gst_queue_loop):
2150           fix a compile warning when disabling debug
2151
2152 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2153
2154         * gst/gstinfo.h:
2155         Hey! Let's print the pad name if the pointer != NULL instead
2156         of when it == NULL :-)
2157
2158 2005-11-28  Wim Taymans  <wim@fluendo.com>
2159
2160         * check/gst/gstutils.c: (GST_START_TEST):
2161         Updated check, add some scaling accuracy checking code.
2162
2163         * gst/gstutils.c: (gst_util_div128_64),
2164         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2165         (gst_util_uint64_scale_int):
2166         Fix 6 times faster division code. Optimize for common 
2167         1/1 and less common X/1 cases.
2168
2169 2005-11-28  Wim Taymans  <wim@fluendo.com>
2170
2171         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2172         More checks.
2173
2174         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2175         (do_linear_regression), (gst_clock_add_observation):
2176         Cleanups.
2177         Release lock when the clock cannot be slaved.
2178         Catch the case where the regression returned an invalid denominator.
2179
2180         * gst/gstutils.c: (gst_util_div128_64_iterate),
2181         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2182         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2183         Add protentially more performant non-iterative 128/64 divide function
2184         that unfortunatly does not work yet.
2185         Shortcut the trivial 0/X = 0 case.
2186         Remove the warnings on overflow.
2187
2188 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2189
2190         * gst/gstplugin.c: (gst_plugin_register_func):
2191           everything causing a plugin not to load should be at least a WARNING
2192
2193 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2194
2195         * docs/random/ensonic/dparams.txt:
2196           some TODOs for the next dev cycle
2197         * libs/gst/controller/gstcontroller.c:
2198         (gst_controlled_property_set_interpolation_mode),
2199         (gst_controlled_property_new):
2200         * libs/gst/controller/gstcontroller.h:
2201           use base type to assign acccessor functions
2202
2203 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2204
2205         * check/Makefile.am:
2206         Oops, that should have been top_srcdir
2207
2208 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2209
2210         * check/Makefile.am:
2211         * check/elements/fdsrc.c: (GST_START_TEST):
2212         Use a cmdline define to specify the location of a file to use for
2213         testing, to avoid breaking distcheck.
2214
2215 2005-11-28  Andy Wingo  <wingo@pobox.com>
2216
2217         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2218
2219 2005-11-28  Edward Hervey  <edward@fluendo.com>
2220
2221         * tools/gst-launch.c: (main):
2222         Clarify the output strings, makes it easier to translate.
2223         Fixes #322626
2224
2225 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2226
2227         * gst/Makefile.am:
2228           don't try and build net if we don't even have <sys/socket.h>
2229
2230 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2231
2232         * check/Makefile.am:
2233         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2234         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2235           Add tests for fdsrc seekability
2236
2237         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2238         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2239         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2240         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2241         * gst/elements/gstfdsrc.h:
2242           fdsrc should not be a 'live' source.
2243           Implement seeking on seekable fd's.
2244
2245         * gst/gstquery.c: (gst_query_new_seeking),
2246         (gst_query_parse_seeking):
2247         * gst/gstquery.h:
2248           Implement SEEKING query functions: 
2249             *_new_seeking and *_parse_seeking
2250
2251 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2252
2253         * gst/gstelement.c: (gst_element_dispose):
2254           don't loop forever
2255
2256         * gst/gstiterator.c:
2257         * gst/gststructure.c:
2258           doc fixes
2259
2260         * libs/gst/controller/gstcontroller.c:
2261         (gst_controlled_property_set_interpolation_mode):
2262         * libs/gst/controller/gstcontroller.h:
2263         * libs/gst/controller/gstinterpolation.c:
2264         (interpolate_none_get_enum_value_array):
2265           support controlling enums
2266
2267 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2268
2269         * gst/gstvalue.c:
2270           Improve documentation for gst_value_union().
2271
2272         * gst/gstvalue.h:
2273           Change return value for union, intersect and subtract functions
2274           from gint to gboolean.
2275
2276 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2277
2278         * gst/gstvalue.c: (gst_value_serialize_any_list),
2279         (gst_value_transform_any_list_string),
2280         (gst_value_deserialize_list), (gst_value_deserialize_array),
2281         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2282         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2283         (gst_value_set_fraction_range_full),
2284         (gst_value_deserialize_fraction_range),
2285         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2286         (gst_value_deserialize_boolean),
2287         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2288         (gst_value_serialize_float), (gst_value_deserialize_float),
2289         (gst_string_wrap), (gst_value_deserialize_string),
2290         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2291         (gst_value_union_int_range_int_range),
2292         (gst_value_intersect_int_range_int_range),
2293         (gst_value_intersect_double_range_double_range),
2294         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2295         (gst_value_subtract_int_range_int_range),
2296         (gst_value_subtract_double_double_range),
2297         (gst_value_subtract_double_range_double_range),
2298         (gst_value_deserialize_fraction):
2299         * gst/gstvalue.h:
2300           Use gint, gdouble and gchar in our API instead of int, double and
2301           char (and make usage in gstvalue.c more consistent).
2302
2303 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2304
2305         * check/Makefile.am:
2306         * libs/gst/controller/Makefile.am:
2307         * libs/gst/dataprotocol/Makefile.am:
2308           fix up Makefile.am and remove GST_ENABLE_NEW
2309
2310 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * configure.ac:
2313         * gst/Makefile.am:
2314         * gst/base/Makefile.am:
2315         * gst/check/Makefile.am:
2316         * gst/elements/Makefile.am:
2317         * gst/net/Makefile.am:
2318           update LDFLAGS use some more
2319
2320 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2321
2322         * common/m4/gst-doc.m4:
2323           Fixes #312589
2324
2325 2005-11-26  Edward Hervey  <edward@fluendo.com>
2326
2327         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2328         This shouldn't issue a g_warning since it returns NULL if it
2329         couldn't find the plugin, and all functions using this behave
2330         properly on a NULL return. Switching to a GST_WARNING.
2331
2332 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2333
2334         * gst/gstbin.c: (gst_bin_handle_message_func):
2335         Don't leak clock messages.
2336
2337 2005-11-25  Wim Taymans  <wim@fluendo.com>
2338
2339         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2340         (gst_util_uint64_scale_int):
2341         Optimisations, remove unneeded vars.
2342
2343 2005-11-25  Wim Taymans  <wim@fluendo.com>
2344
2345         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2346         Added more checks for the high precision uint64 cases.
2347
2348         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2349         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2350         Implement high precision (guint64 * guint64) / guint64.
2351
2352 2005-11-24  Wim Taymans  <wim@fluendo.com>
2353
2354         * gst/base/gstbasesrc.c: (gst_base_src_query):
2355         Fix wrong percentage query.
2356
2357         * gst/gstutils.c: (gst_util_uint64_scale),
2358         (gst_util_uint64_scale_int):
2359         Add some more common cases that can be handled 
2360         efficiently to _scale.
2361
2362 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2363
2364         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2365         (gst_mini_object_suite):
2366           don't use check calls from threads; check probably isn't
2367           threadsafe and using a lock to make it threadsafe would
2368           defeat the purpose of this check
2369         * gst/check/gstcheck.c:
2370         * gst/check/gstcheck.h:
2371           use GST_DEBUG some more
2372
2373 2005-11-24  Wim Taymans  <wim@fluendo.com>
2374
2375         * gst/gstutils.c: (gst_util_uint64_scale),
2376         (gst_util_uint64_scale_int):
2377         Chain trivial case to _scale_int.
2378
2379 2005-11-24  Wim Taymans  <wim@fluendo.com>
2380
2381         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2382         Added test for scaling.
2383
2384         * gst/gstclock.h:
2385         Small doc fix.
2386
2387         * gst/gstutils.c: (gst_util_uint64_scale_int):
2388         Implemented high precision scaling code.
2389
2390 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2391
2392         * gst/gstinfo.h:
2393           do not crash on pad==NULL
2394
2395 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2396
2397         Patch by: Stefan Kost
2398
2399         * common/gtk-doc.mak:
2400         * docs/gst/Makefile.am:
2401         * docs/libs/Makefile.am:
2402           Fix distcheck issues for the libraries docs build
2403           Closes #319599.
2404
2405 2005-11-24  Michael Smith <msmith@fluendo.com>
2406
2407         * docs/manual/basics-helloworld.xml:
2408           Fix bug #315027: memory leak in example code in docs.
2409
2410 2005-11-24  Michael Smith <msmith@fluendo.com>
2411
2412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2413           Unlock the PREROLL_LOCK in a failure case.
2414
2415 2005-11-24  Wim Taymans  <wim@fluendo.com>
2416
2417         * docs/gst/gstreamer-sections.txt:
2418         * gst/base/gstadapter.h:
2419         * gst/base/gstbasesink.h:
2420         * gst/base/gstbasesrc.h:
2421         * gst/base/gstbasetransform.h:
2422         * gst/base/gstpushsrc.h:
2423         * gst/elements/gstfakesink.h:
2424         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2425         * gst/elements/gstfakesrc.h:
2426         * gst/elements/gstfilesink.h:
2427         * gst/elements/gstfilesrc.h:
2428         * gst/gst.c:
2429         * gst/gstbin.c:
2430         * gst/gstbuffer.c: (_gst_buffer_copy):
2431         * gst/gstbus.h:
2432         * gst/gstcaps.c:
2433         * gst/gstchildproxy.c:
2434         * gst/gstclock.c:
2435         * gst/gstelement.c:
2436         * gst/gstelementfactory.c:
2437         * gst/gstelementfactory.h:
2438         * gst/gstevent.c:
2439         * gst/gstghostpad.h:
2440         * gst/gstindex.h:
2441         * gst/gstinterface.h:
2442         * gst/gstminiobject.c:
2443         * gst/gstminiobject.h:
2444         * gst/gstpad.c:
2445         * gst/gstpad.h:
2446         * gst/gstpadtemplate.h:
2447         * gst/gstpipeline.h:
2448         * gst/gstpluginfeature.h:
2449         * gst/gstquery.h:
2450         * gst/gstqueue.h:
2451         * gst/gsttaglist.c:
2452         * gst/gsttaglist.h:
2453         * gst/gsttagsetter.c:
2454         * gst/gsttagsetter.h:
2455         * gst/gsttrace.c:
2456         * gst/gsttrace.h:
2457         * gst/gsttypefind.h:
2458         * gst/gsturi.h:
2459         * gst/gstvalue.c:
2460         * gst/net/gstnetclientclock.c:
2461         * gst/net/gstnetclientclock.h:
2462         * gst/net/gstnettimepacket.c:
2463         * gst/net/gstnettimeprovider.c:
2464         * gst/net/gstnettimeprovider.h:
2465         Doc fixes.
2466
2467 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2468
2469         * configure.ac: back to HEAD
2470
2471 === release 0.9.6 ===
2472
2473 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2474
2475         * configure.ac:
2476           releasing 0.9.6, "Always On Time"
2477
2478 2005-11-23  Wim Taymans  <wim@fluendo.com>
2479
2480         * docs/gst/gstreamer-sections.txt:
2481         * gst/glib-compat.c:
2482         * gst/gsttagsetter.c:
2483         * gst/gstvalue.c:
2484         * gst/net/gstnetclientclock.c:
2485         * gst/net/gstnettimepacket.h:
2486         Doc updates.
2487
2488 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2489
2490         * docs/faq/using.xml:
2491         * docs/libs/tmpl/gstcontrol.sgml:
2492         * docs/manual/advanced-dparams.xml:
2493         * docs/manual/appendix-checklist.xml:
2494         * docs/manual/basics-elements.xml:
2495         * docs/pwg/other-source.xml:
2496         * docs/random/moving-plugins:
2497         * gst/gstpad.c:
2498         * tools/gst-launch.1.in:
2499           remove mentions of sinesrc
2500
2501 2005-11-23  Michael Smith <msmith@fluendo.com>
2502
2503         * docs/gst/gstreamer-sections.txt:
2504           Update for new API and API changes.
2505         * gst/gstobject.h:
2506           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2507         * gst/gstvalue.c:
2508           Documentation typo fix.
2509         * gst/net/gstnettimepacket.c:
2510           Documentation fixes for arguments.
2511
2512 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2513
2514         * gst/gststructure.c: (gst_structure_get_fraction),
2515         (gst_structure_parse_value),
2516         (gst_structure_fixate_field_nearest_fraction):
2517         * gst/gststructure.h:
2518         * gst/gstutils.c: (gst_util_uint64_scale_int):
2519         * gst/gstutils.h:
2520         * scripts/update-funcnames:
2521         API Changes. 
2522         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2523         Make gst_structure_fixate_field_nearest_fraction take a numerator
2524         and denominator argument instead of a GValue
2525         add gst_structure_get_fraction helper function.
2526
2527 2005-11-23  Wim Taymans  <wim@fluendo.com>
2528
2529         * docs/design/part-TODO.txt:
2530         Update TODO.
2531
2532         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2533         * gst/net/gstnetclientclock.h:
2534         Use parent fields for timeout and window_size.
2535
2536 2005-11-23  Andy Wingo  <wingo@pobox.com>
2537
2538         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2539         rate_num/rate_denom change.
2540
2541         * gst/net/gstnetclientclock.c
2542         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2543         OBJECT_LOCK. Don't call add_observation with the lock.
2544
2545         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2546         fraction.
2547         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2548         rate fraction.
2549         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2550         deal with rate as a fraction whose numerator and denominator are
2551         GstClockTime values.
2552         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2553         master; the other fields are protected by the SLAVE_LOCK.
2554         (do_linear_regression): Note that this must be called with the
2555         SLAVE_LOCK.
2556         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2557         OBJECT_LOCK. Call set_calibration instead of touching the
2558         variables directly.
2559         (gst_clock_set_property, gst_clock_get_property): Protect
2560         master/slave parameters with the SLAVE_LOCK.
2561
2562         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2563         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2564         note that all of the instance variables that add_observation and
2565         the set_master functions use are protected by that lock and not
2566         the OBJECT_LOCK.
2567         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2568
2569         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2570         the caller to take the object lock.
2571
2572 2005-11-23  Wim Taymans  <wim@fluendo.com>
2573
2574         * gst/gsterror.c: (_gst_core_errors_init):
2575         * gst/gsterror.h:
2576         Add error for clock stuff.
2577
2578         * gst/gstpipeline.c: (gst_pipeline_change_state),
2579         (gst_pipeline_set_clock):
2580         Post clock error when clock cannot be used in a pipeline.
2581
2582 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2583
2584         * docs/gst/gstreamer-sections.txt:
2585           make two symbols from gstinfo private for the docs
2586         * gst/base/gstcollectpads.h:
2587         * gst/gstutils.c:
2588           fix doc typos, update docs
2589
2590 2005-11-22  Wim Taymans  <wim@fluendo.com>
2591
2592         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2593         (gst_base_sink_wait), (gst_base_sink_do_sync),
2594         (gst_base_sink_handle_event):
2595         * gst/base/gstbasesink.h:
2596         No need to store the clock, the parent element class already
2597         has it.
2598
2599         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2600         Updates for clock_set returning a gboolean
2601
2602         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2603         (gst_clock_id_wait_async), (gst_clock_class_init),
2604         (gst_clock_init), (gst_clock_finalize),
2605         (gst_clock_get_internal_time), (gst_clock_get_time),
2606         (gst_clock_slave_callback), (gst_clock_set_master),
2607         (gst_clock_get_master), (do_linear_regression),
2608         (gst_clock_add_observation), (gst_clock_set_property),
2609         (gst_clock_get_property):
2610         * gst/gstclock.h:
2611         Implement master/slave. When setting a clock as a slave, a
2612         periodic timeout is scheduled to sample master and slave times.
2613         Then the slave clock is recalibrated to match offset and rate
2614         of the master clock.
2615         Update logging a bit.
2616         Add flag so that a clock can state that is cannot be slaved to
2617         another clock.
2618
2619         * gst/gstelement.c: (gst_element_set_clock):
2620         * gst/gstelement.h:
2621         The set clock returns a gboolean for when an element cannot
2622         deal with the selected clock in the pipeline. 
2623
2624         * gst/gstpipeline.c: (gst_pipeline_change_state),
2625         (gst_pipeline_set_clock):
2626         * gst/gstpipeline.h:
2627         Handle the case where the selected clock cannot be set on
2628         the pipeline.
2629
2630         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2631         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2632         (gst_net_client_clock_set_property),
2633         (gst_net_client_clock_get_property),
2634         (gst_net_client_clock_observe_times):
2635         * gst/net/gstnetclientclock.h:
2636         Use regression code in GstClock parent, remove duplicated
2637         functionality.
2638
2639 2005-11-22  Michael Smith <msmith@fluendo.com>
2640
2641         * gst/gstutils.c: (gst_util_clock_time_scale):
2642         * gst/gstutils.h:
2643         * docs/gst/gstreamer-sections.txt:
2644           Rename method to have extra underscore.
2645
2646 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2647
2648         * gst/elements/Makefile.am:
2649         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2650         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2651         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2652         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2653         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2654         * gst/elements/gstfakesrc.h:
2655         * gst/gstqueue.c: (queue_leaky_get_type):
2656           correctly fix GEnumValues so that nick is the short lowercase
2657           dashed tag
2658         * tools/gst-inspect.c: (print_element_properties_info):
2659           also show the nick, since it's useful to use from parse_launch
2660           syntax
2661           Fixes #322139
2662
2663 2005-11-22  Michael Smith <msmith@fluendo.com>
2664
2665         * gst/gstutils.c: (gst_util_clocktime_scale):
2666         * gst/gstutils.h:
2667         * docs/gst/gstreamer-sections.txt:
2668           Add util method for scaling a clocktime by a fraction. Useful 
2669           implementation is left as an exercise for the reader.
2670
2671 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2672
2673         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2674         If needed, allocate storage in the destination value during
2675         collection.
2676
2677 2005-11-22  Edward Hervey  <edward@fluendo.com>
2678
2679         * docs/gst/gstreamer-sections.txt:
2680         * gst/Makefile.am:
2681         * gst/gst.h:
2682         * gst/gsturitype.c:
2683         * gst/gsturitype.h:
2684         * gst/gstutils.c: (gst_util_set_object_arg):
2685         * tools/gst-compprep.c: (main):
2686         * tools/gst-inspect.c: (print_element_properties_info):
2687         Removed GstURI, closes bug #321061
2688
2689 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2690
2691         * check/gst/gststructure.c: (GST_START_TEST):
2692         * gst/gststructure.c: (gst_structure_parse_value):
2693           Oops, broke automatic string type parsing.
2694           Add a test to catch it in future.
2695
2696 2005-11-22  Andy Wingo  <wingo@pobox.com>
2697
2698         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2699         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2700         Actually rename the function implementations. Grr.
2701
2702 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2703
2704         * check/gst/capslist.h:
2705           Comment test cases
2706         * check/gst/gststructure.c: (GST_START_TEST),
2707         (gst_structure_suite):
2708           Test automatic value type detection in gst_structure_from_string.
2709         * gst/gststructure.c: (gst_structure_parse_value):
2710           Add fraction as a type we try and guess automatically in
2711           caps/structure strings.
2712
2713 2005-11-22  Andy Wingo  <wingo@pobox.com>
2714
2715         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2716
2717         * gst/gsttagsetter.h:
2718         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2719         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2720         (gst_tag_setter_add_tag_valist)
2721         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2722         _add_values, _add_valist, and _add_valist_values. Since this is an
2723         interface the function suffixes should be more explicit so
2724         language binding don't end up with element.add_valist ->
2725         gst_tag_setter_add_valist, for example. Fixes #322069.
2726
2727 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2728
2729         * check/gst/gstcaps.c: (GST_START_TEST):
2730           Extend caps string tests to check that a caps to string
2731           conversion is reversible and produces the same caps.
2732
2733         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2734           Output "fraction" as the generic type fraction range, so caps
2735           serialisation and deserialisation works.
2736         * check/gst/capslist.h:
2737         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2738           Support 'MIN' and 'MAX' for deserialising fractions.
2739
2740 2005-11-22  Andy Wingo  <wingo@pobox.com>
2741
2742         * gst/gstevent.h (gst_event_new_new_segment)
2743         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2744         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2745         Renamed from *_newsegment, *_buffersize, *_notarget.
2746
2747         * scripts/update-funcnames: New script, performs the changes
2748         listed above.
2749
2750 2005-11-22  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2753         Make sure the GstFlowReturn is returned.
2754
2755         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2756         (gst_bus_add_signal_watch):
2757         * gst/gstbus.h:
2758         add gst_bus_add_signal_watch_full.
2759
2760         * gst/gstplugin.c: (gst_plugin_load_file):
2761         Small style cleanup.
2762
2763 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2764
2765         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2766           Block the fakesrc srcpad when we send an event, to avoid
2767           contention on the stream_lock causing random test failures.
2768
2769 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2770
2771         * check/gst/gstvalue.c: (GST_START_TEST):
2772         * gst/gstvalue.c: (gst_value_fraction_subtract):
2773           Fix subtraction.
2774
2775 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2776
2777         * gst/gst.h:
2778           include "gstchildproxy.h"
2779         * gst/gstchildproxy.h:
2780         * libs/gst/controller/gstcontroller.h:
2781           use G_GNUC_NULL_TERMINATED
2782
2783 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2784
2785         * check/gst/capslist.h:
2786         * check/gst/gstcaps.c: (GST_START_TEST):
2787         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2788         * gst/gststructure.c: (gst_structure_parse_range),
2789         (gst_structure_fixate_field_nearest_fraction):
2790         * gst/gststructure.h:
2791         * gst/gstvalue.c: (gst_value_init_fraction_range),
2792         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2793         (gst_value_collect_fraction_range),
2794         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2795         (gst_value_set_fraction_range_full),
2796         (gst_value_get_fraction_range_min),
2797         (gst_value_get_fraction_range_max),
2798         (gst_value_serialize_fraction_range),
2799         (gst_value_transform_fraction_range_string),
2800         (gst_value_compare_fraction_range),
2801         (gst_value_deserialize_fraction_range),
2802         (gst_value_intersect_fraction_fraction_range),
2803         (gst_value_intersect_fraction_range_fraction_range),
2804         (gst_value_subtract_fraction_fraction_range),
2805         (gst_value_subtract_fraction_range_fraction),
2806         (gst_value_subtract_fraction_range_fraction_range),
2807         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2808         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2809         (gst_value_transform_string_fraction), (_gst_value_initialize):
2810         * gst/gstvalue.h:
2811           Implement fraction ranges and extend GstFraction to support
2812           arithmetic subtraction, as well as deserialization from integer
2813           strings such as "100"
2814           Add a testsuite as for int and double range set operations
2815
2816 2005-11-21  Andy Wingo  <wingo@pobox.com>
2817
2818         * gst/gsttaglist.h: 
2819         * gst/gstcaps.h: 
2820         * gst/gststructure.h: Add glib-compat.h.
2821
2822 2005-11-21  Wim Taymans  <wim@fluendo.com>
2823
2824         * gst/gstbin.c: (gst_bin_change_state_func):
2825         Fix for #321595
2826
2827 2005-11-21  Wim Taymans  <wim@fluendo.com>
2828
2829         * gst/gstsegment.h:
2830         And add a nice define too.
2831
2832 2005-11-21  Wim Taymans  <wim@fluendo.com>
2833
2834         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2835         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2836         (gst_segment_set_duration), (gst_segment_set_last_stop),
2837         (gst_segment_set_seek), (gst_segment_set_newsegment),
2838         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2839         (gst_segment_clip):
2840         * gst/gstsegment.h:
2841         Make binding friendly.
2842
2843 2005-11-21  Andy Wingo  <wingo@pobox.com>
2844
2845         * gst/gsttagsetter.h: 
2846         * gst/gsttaglist.h: 
2847         * gst/gststructure.h: 
2848         * gst/gstcaps.h: 
2849         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2850         #319940.
2851
2852         * gst/gsterror.c (_gst_core_errors_init):
2853         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2854         category.
2855
2856         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2857         (noinst_HEADERS): noinst the -private.
2858
2859 2005-11-21  Michael Smith <msmith@fluendo.com>
2860
2861         * gst/gstplugin.h:
2862         * gst/gstregistry.h:
2863           Remove unimplemented declarations for which we can see no sensible
2864           use.
2865
2866 2005-11-21  Andy Wingo  <wingo@pobox.com>
2867
2868         * gst/gst.h: Include glib-compat.h.
2869
2870         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2871
2872         * gst/glib-compat.c: Include the public and the private header.
2873
2874         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2875
2876         * gst/gstvalue.c: 
2877         * gst/gstpad.c: 
2878         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2879
2880         * check/gst/gstevent.c (create_custom_events): Check that
2881         FLUSH_STOP is serialized.
2882
2883         * check/elements/identity.c (event_func): 
2884         * check/elements/fakesrc.c (event_func): No stream lock, the core
2885         takes it.
2886
2887         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2888         stream lock taking, yay.
2889
2890         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2891         ensure that core takes the stream lock.
2892
2893         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2894         lock name change.
2895
2896         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2897         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2898         it already. For the flush start we do take it though so we get the
2899         right preroll state change messages.
2900
2901         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2902         the stream lock here, the core does it for us.
2903
2904         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2905         GST_STREAM_GET_LOCK.
2906         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2907         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2908         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2909         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2910         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2911         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2912
2913         * gst/gstpad.c: Update for stream lock name change.
2914
2915         * gst/base/gstbasesink.c: Update for preroll lock name change.
2916
2917 2005-11-21  Wim Taymans  <wim@fluendo.com>
2918
2919         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2920         (gst_clock_get_master):
2921         * gst/gstclock.h:
2922         * gst/gstsystemclock.c: (gst_system_clock_init):
2923         Convert Clock flags to object flags.
2924         Added methods to manage master/slave clocks.
2925
2926 2005-11-21  Wim Taymans  <wim@fluendo.com>
2927
2928         * check/gst/gstsegment.c: (GST_START_TEST):
2929         * docs/design/part-TODO.txt:
2930         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2931         (gst_base_sink_event), (gst_base_sink_do_sync),
2932         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2933         (gst_base_sink_query), (gst_base_sink_change_state):
2934         * gst/base/gstbasesink.h:
2935         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2936         (gst_base_src_default_newsegment),
2937         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2938         (gst_base_src_get_range), (gst_base_src_loop),
2939         (gst_base_src_change_state):
2940         * gst/base/gstbasesrc.h:
2941         * gst/base/gstbasetransform.c:
2942         (gst_base_transform_prepare_output_buf),
2943         (gst_base_transform_event), (gst_base_transform_change_state):
2944         * gst/base/gstbasetransform.h:
2945         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2946         (gst_collect_pads_event):
2947         * gst/base/gstcollectpads.h:
2948         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2949         (gst_fake_src_create):
2950         * gst/elements/gstfakesrc.h:
2951         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2952         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2953         (gst_segment_set_last_stop), (gst_segment_set_seek),
2954         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2955         (gst_segment_to_running_time), (gst_segment_clip):
2956         * gst/gstsegment.h:
2957         More segment updates, replace code in plugins with segment
2958         helper functions.
2959
2960 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2961
2962         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2963         Don't ignore sscanf results
2964
2965 2005-11-21  Andy Wingo  <wingo@pobox.com>
2966
2967         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2968
2969         * *.h:
2970         * *.c: Ran scripts/update-macros. Oh yes.
2971
2972         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2973         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2974         GST_GET_LOCK, etc.
2975
2976         * scripts/update-macros: New script. Run it on your files to
2977         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2978         well.
2979
2980 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2981
2982         * docs/gst/Makefile.am:
2983         * docs/gst/gstreamer-docs.sgml:
2984         * docs/gst/gstreamer-sections.txt:
2985         * docs/gst/gstreamer.types:
2986         * gst/gstinfo.h:
2987           more docs fixes, add new api to the docs
2988
2989 2005-11-21  Andy Wingo  <wingo@pobox.com>
2990
2991         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2992         state_broadcast call.
2993
2994         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2995
2996 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2997
2998         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2999         function calls for arrays.
3000
3001 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3002
3003         * docs/random/ensonic/media-device-daemon.txt:
3004           wild idea, can this be done?
3005         * docs/gst/gstreamer-sections.txt:
3006         * gst/gsterror.h:
3007         * gst/gstfilter.c:
3008         * gst/gstfilter.h:
3009         * gst/gstplugin.h:
3010         * gst/gstpluginfeature.c:
3011         * gst/gsttrace.c:
3012         * gst/gstvalue.c:
3013         * gst/gstvalue.h:
3014           doc fixes and additions
3015
3016 2005-11-21  Andy Wingo  <wingo@pobox.com>
3017
3018         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3019         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3020         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3021         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3022         private to the basesrc implementation.
3023
3024         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3025         behalf of event function if necessary. It should no longer be
3026         necessary to take the stream lock in pad's event functions. Fixes
3027         #320299.
3028
3029 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3030         * docs/gst/gstreamer-sections.txt:
3031         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3032         (gst_structure_fixate_field_nearest_double),
3033         (gst_structure_fixate_field_boolean):
3034         * gst/gststructure.h:
3035         * win32/common/libgstreamer.def:
3036         * win32/gstreamer.def:
3037
3038         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3039         (#322027)
3040
3041 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3042
3043         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3044         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3045         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3046         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3047         (gst_fdsrc_uri_handler_init):
3048         * gst/elements/gstfdsrc.h:
3049           Port fd:// URI handler from 0.8 to fdsrc
3050
3051 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3054         (gst_value_serialize_fourcc):
3055         * gst/gstvalue.h:
3056           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3057           consistent with our other format defines (#320324).
3058
3059 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * gst/gstvalue.c: (gst_value_is_fixed):
3062           Revert previous commit. Value lists are by definition
3063           not fixed, as they are a list of possible values.
3064
3065 2005-11-21  Andy Wingo  <wingo@pobox.com>
3066
3067         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3068         during the stable series if we need it. Fixes #319178.
3069
3070         * gst/gstevent.c (gst_event_new_filler): Removed.
3071
3072         * check/gst/gstevent.c: Update comment about filler events.
3073
3074 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3075
3076         * gst/gstvalue.c: (gst_value_is_fixed):
3077           Should handle both value arrays and value lists.
3078
3079 2005-11-21  Andy Wingo  <wingo@pobox.com>
3080
3081         patch by: Alessandro Dessina <alessandro nnva org>
3082
3083         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3084         functions to access arrays. Fixes #321962.
3085
3086 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3087
3088         * docs/gst/gstreamer.types:
3089           gst_collectpads_get_type => gst_collect_pads_get_type.
3090           
3091         * gst/base/gstbasetransform.c:
3092           Remove unused SIGNAL_HANDOFF enum.
3093
3094 2005-11-21  Andy Wingo  <wingo@pobox.com>
3095
3096         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3097         the event type (upstream, downstream, serialized). Renamed
3098         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3099         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3100         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3101
3102         * gst/gstevent.c: Update for new CUSTOM event names.
3103
3104         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3105
3106         * gst/gstevent.h:
3107         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3108         bug #319392.
3109
3110 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * docs/gst/gstreamer-sections.txt:
3113         * win32/common/libgstbase.def:
3114         * win32/libgstbase.def:
3115         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3116         (gst_collect_pads_class_init), (gst_collect_pads_init),
3117         (gst_collect_pads_finalize), (gst_collect_pads_new),
3118         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3119         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3120         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3121         (gst_collect_pads_start), (gst_collect_pads_stop),
3122         (gst_collect_pads_peek), (gst_collect_pads_pop),
3123         (gst_collect_pads_available), (gst_collect_pads_read),
3124         (gst_collect_pads_flush), (gst_collect_pads_event),
3125         (gst_collect_pads_chain):
3126         * gst/base/gstcollectpads.h:
3127           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3128           unimplemented functions as unimplemented. Add padding to
3129           GstCollectData. (#320766, #320423)
3130
3131 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3132
3133         * gst/gstmessage.c:
3134           Improve docs for DURATION message (usage of duration parameter)
3135           (#320113)
3136
3137 2005-11-20  Wim Taymans  <wim@fluendo.com>
3138
3139         * check/Makefile.am:
3140         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3141         (main):
3142         * gst/Makefile.am:
3143         * gst/gst.h:
3144         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3145         (gst_segment_set_seek), (gst_segment_set_newsegment),
3146         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3147         (gst_segment_clip):
3148         * gst/gstsegment.h:
3149         Added segment helper structure and methods. Not fully implemented
3150         yet.
3151         Added segment check.
3152
3153 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3154
3155         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3156           Add a deserialisation test for fractions
3157         * examples/metadata/read-metadata.c: (message_loop),
3158         (make_pipeline), (main):
3159           Fix up metadata reading sample.
3160         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3161           Debug format fix
3162         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3163           Don't try and fixate empty caps
3164         * gst/gst_private.h:
3165           Wrap in G_BEGIN_DECLS/G_END_DECLS
3166         * gst/gstvalue.c: (gst_value_collect_fraction),
3167         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3168         (gst_value_transform_string_fraction),
3169         (gst_value_compare_fraction):
3170           Add some extra guards to ensure that we don't end up 
3171           with an invalid denominator of 0 in a gstfraction and
3172           that fractions always get reduced.
3173
3174 2005-11-20  Wim Taymans  <wim@fluendo.com>
3175
3176         * docs/gst/gstreamer-sections.txt:
3177         * gst/gstbuffer.h:
3178         * gst/gstelement.c:
3179         * gst/gstformat.c:
3180         * gst/gstformat.h:
3181         * gst/gstindex.h:
3182         * gst/gstquery.c:
3183         * gst/gstquery.h:
3184         * gst/gstvalue.c:
3185         Doc fixes.
3186
3187 2005-11-20  Wim Taymans  <wim@fluendo.com>
3188
3189         * docs/design/part-TODO.txt:
3190         * gst/gstcaps.h:
3191         Make a proper enum of the flag.
3192
3193 2005-11-19  Wim Taymans  <wim@fluendo.com>
3194
3195         * docs/design/part-TODO.txt:
3196         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3197         (gst_format_to_quark), (gst_format_register):
3198         * gst/gstformat.h:
3199         * gst/gstquery.c: (_gst_query_initialize),
3200         (gst_query_type_get_name), (gst_query_type_to_quark),
3201         (gst_query_type_register):
3202         * gst/gstquery.h:
3203         Add type to quark and type to string conversions.
3204
3205 2005-11-19  Andy Wingo  <wingo@pobox.com>
3206
3207         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3208         #320097.
3209
3210 2005-11-19  Wim Taymans  <wim@fluendo.com>
3211
3212         * docs/design/part-TODO.txt:
3213         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3214         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3215         (gst_bin_handle_message_func):
3216         * gst/gstbin.h:
3217         Make message handling overridable.
3218
3219 2005-11-19  Andy Wingo  <wingo@pobox.com>
3220
3221         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3222
3223         * gst/gstclock.h:
3224         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3225         be a GstClockTime.
3226         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3227         is a GstClockTime. Fixes #321710.
3228
3229         * gst/gstclock.h (GstClock): Remove offset property. Add
3230         internal_calibration and external_calibration. Fix padding. Pad
3231         also by GstClockTime so we don't run into problems.
3232
3233         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3234         (gst_clock_get_rate_offset): Remove.
3235         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3236
3237         * gst/gstutils.h:
3238         * gst/gstutils.c (g_static_rec_cond_wait)
3239         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3240
3241         * gst/gstbin.c: Remove terrible continue_state prototype.
3242
3243         * gst/gstelement.h (gst_element_continue_state): Make public.
3244
3245         * gst/gstelement.h:
3246         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3247         by continue_state. Fixes #319389.
3248
3249         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3250         Really fixes #168438. However I don't see anywhere where the
3251         filter function is called... stupid GStreamer...
3252         
3253         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3254         don't have a dispose function, so it won't get called when the
3255         object is unreffed, but oh well!
3256
3257         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3258         allows a destroy function to be set so user_data can be freed.
3259         Fixes #168438.
3260         (gst_index_set_filter): Call gst_index_set_filter_full.
3261
3262         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3263
3264         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3265         string should produce an error, given the lack of a way to
3266         represent NULL strings. Fixes #165650.
3267         
3268         * gst/gstvalue.h: 
3269         * gst/gstvalue.c (gst_value_array_append_value) 
3270         (gst_value_array_prepend_value, gst_value_array_get_size) 
3271         (gst_value_array_get_value): New API, copied from
3272         gst_value_list_*, only operates on arrays.
3273         (gst_value_list_append_value, gst_value_list_prepend_value) 
3274         (gst_value_list_concat, gst_value_list_get_size) 
3275         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3276
3277         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3278         init_list, because it works on both.
3279         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3280         (gst_value_copy_list_or_array): Renamed from copy_list.
3281         (gst_value_free_list_or_array): Renamed from free_list.
3282         (gst_value_collect_list_or_array): Renamed from collect_list.
3283         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3284         (gst_value_list_or_array_peek_pointer): Renamed from
3285         list_peek_pointer.
3286         (_gst_value_array_value_table, _gst_value_list_value_table):
3287         Update value table functions.
3288         (gst_value_compare_list_or_array): Renamed from compare_list.
3289
3290         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3291         some constness.
3292
3293         * gst/gsttaglist.c:
3294         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3295         GstTagList*. Fixes #143472.
3296
3297         * gst/gststructure.h: Clarify what the foreach/map functions can
3298         or can't do to their arguments.
3299
3300 2005-11-18  Wim Taymans  <wim@fluendo.com>
3301
3302         * gst/gstclock.c: (gst_clock_set_calibration),
3303         (gst_clock_get_calibration):
3304         Doc and API fixes.
3305         Calibration can be set with internal time equal to current
3306         internal time too.
3307
3308 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3309
3310         * gst/gsterror.c:
3311         * gst/gsterror.h:
3312           document
3313
3314 2005-11-18  Andy Wingo  <wingo@pobox.com>
3315
3316         * configure.ac: 
3317         * pkgconfig/gstreamer-net.pc.in:
3318         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3319         * pkgconfig/Makefile.am: Add net pkgconfig files.
3320
3321 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3322
3323         * gst/gstcaps.c:
3324         * gst/gstghostpad.c:
3325         * gst/gsttrace.c:
3326         * gst/gstvalue.c:
3327         * gst/gstvalue.h:
3328           docs fixes
3329
3330 2005-11-18  Andy Wingo  <wingo@pobox.com>
3331
3332         * gst/net/gstnetclientclock.c: Turn off debugging.
3333
3334         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3335         times connverge somewhat. Can't make a real test.
3336
3337         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3338         integer arithmetic. Return the minimum of the domain, which can be
3339         set as "internal" for gst_clock_set_calibration.
3340         (gst_net_client_clock_observe_times): Call _set_calibration.
3341         (gst_net_client_clock_new): Call _set_calibration instead of
3342         rate_offset.
3343
3344         * check/net/gstnetclientclock.c (test_functioning): Use the right
3345         adjustment api.
3346
3347         * gst/gstclock.h:
3348         * gst/gstclock.c (gst_clock_get_calibration) 
3349         (gst_clock_set_calibration): New functions, obsolete the ones I
3350         added yesterday. Doh. Precision issues mean we have to extrapolate
3351         from a point in the more recent past than 1970.
3352         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3353         obsolete.
3354         (gst_clock_adjust_unlocked): Use the right calibration data.
3355
3356 2005-11-18  Edward Hervey  <edward@fluendo.com>
3357
3358         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3359         Also reset the ->current_* values in READY->PAUSED
3360
3361 2005-11-18  Andy Wingo  <wingo@pobox.com>
3362
3363         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3364         Whoops, check the right fd. Also add some debugging.
3365         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3366         (do_linear_regression): Add a crapload of debugging. Subtract off
3367         the minimum values from the input series to discard unneeded bits.
3368         Use only int arithmetic. There is still double arithmetic when
3369         calculating the intercept that needs fixing. Return boolean to
3370         indicate success; FALSE would mean the domain or range is too
3371         great. Still needs fixes.
3372
3373 2005-11-18  Wim Taymans  <wim@fluendo.com>
3374
3375         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3376         For the current position in stream time, we need to subtract
3377         accumulated time.
3378         
3379         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3380         Release lock before calling the callback function of async
3381         entries.
3382
3383 2005-11-18  Andy Wingo  <wingo@pobox.com>
3384
3385         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3386         Port goes all the way to MAXUINT16.
3387
3388         * gst/net/gstnettimeprovider.c: Make the port range the same as
3389         for the kernel: 0 assigns, otherwise ports are less than
3390         MAXUINT16.
3391
3392         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3393         port change.
3394
3395         * check/net/gstnetclientclock.c (test_functioning): Add the start
3396         of another test. 
3397
3398 2005-11-18  Wim Taymans  <wim@fluendo.com>
3399
3400         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3401         (gst_bin_remove_func), (bin_bus_handler):
3402         * gst/gstbin.h:
3403         Removing a clock provider from a bin, triggers a clock lost message
3404         so that a new clock will be selected.
3405         Adding a clock to a bin triggers a clock provider message.
3406         Make sure we reselect a clock when we received a clock lost message.
3407         Keep a reference to the element that provided the clock.
3408
3409 2005-11-18  Andy Wingo  <wingo@pobox.com>
3410
3411         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3412         the clock initially so it produces values around the base time.
3413         (gst_net_client_clock_class_init): Typo fix.
3414         (gst_net_client_clock_thread): Add note on when the socket gets
3415         closed.
3416
3417 2005-11-17  Wim Taymans  <wim@fluendo.com>
3418
3419         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3420         Free remote and local time arrays.
3421
3422 2005-11-17  Wim Taymans  <wim@fluendo.com>
3423
3424         * gst/net/gstnetclientclock.c: (do_linear_regression),
3425         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3426         Fix compilation, uninitialized vars and a forgotten continue.
3427
3428 2005-11-17  Andy Wingo  <wingo@pobox.com>
3429
3430         * check/Makefile.am (check_PROGRAMS): 
3431         * check/net/gstnetclientclock.c: Add a most minimal test for the
3432         net client clock. More to come later.
3433
3434         * gst/net/gstnet.h: 
3435         * gst/net/Makefile.am: Add netclientclock.
3436
3437         * gst/net/gstnetclientclock.h:
3438         * gst/net/gstnetclientclock.c: New files, implement an untested
3439         GstClock that takes its time from a network time provider.
3440         Implements the algorithm in network-clock.scm.
3441
3442         * tests/network-clock.scm (*window-size*): Rename from
3443         *queue-length*.
3444         * tests/network-clock.scm (network-time): 
3445         * tests/network-clock-utils.scm (q-push): Update callers.
3446
3447 2005-11-17  Wim Taymans  <wim@fluendo.com>
3448
3449         * gst/gstbin.c: (gst_bin_provide_clock_func),
3450         (gst_bin_sort_iterator_new):
3451         And unref the child too..
3452
3453 2005-11-17  Wim Taymans  <wim@fluendo.com>
3454
3455         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3456         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3457         Refactor the sort iterator so it can be used while holding the
3458         LOCK too.
3459         Make clock selection select a clock closest to the source.
3460
3461 2005-11-17  Michael Smith <msmith@fluendo.com>
3462
3463         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3464         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3465         * gst/gstclock.h:
3466           Anonymous structs are a gcc (and some other compilers) extension, so
3467           don't use them. Since this is only for ABI-compatibility, and our
3468           API/ABI freeze is over in a few days, this whole thing will only
3469           last a few days, so don't bother trying to think up a meaningful
3470           name for the struct.
3471
3472 2005-11-17  Andy Wingo  <wingo@pobox.com>
3473
3474         * gst/gstclock.h (GstClock): Add rate and offset properties,
3475         preserving ABI stability. Add rate/offset accessors. Will file bug
3476         for the freeze break.
3477
3478         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3479         and offset, trying to keep precision and avoiding
3480         underflow/overflow.
3481         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3482         functions. Make gst_clock_set_time_adjust obsolete.
3483         (gst_clock_set_time_adjust): Note that this function is obsolete.
3484         Will file bug soon.
3485
3486         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3487         greppable by using GST_PADDING-1+1.
3488
3489 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3490
3491         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3492
3493         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3494           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3495
3496         * gst/gstpadtemplate.h:
3497         * gst/gstpluginfeature.h:
3498           Don't use c++ style comments in headers (#321638).
3499
3500 2005-11-16  Andy Wingo  <wingo@pobox.com>
3501
3502         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3503         buffer.
3504
3505         * check/net/gstnettimeprovider.c: Check to see that the time
3506         provider actually provides times. Works, yo!
3507
3508 2005-11-16  Wim Taymans  <wim@fluendo.com>
3509
3510         * check/Makefile.am:
3511         Enable more tests.
3512
3513         * check/elements/fakesrc.c: (GST_START_TEST):
3514         Set element to NULL before disposing it.
3515
3516 2005-11-16  Andy Wingo  <wingo@pobox.com>
3517
3518         * gst/net/Makefile.am:
3519         * gst/net/gstnet.h:
3520         * gst/net/gstnettimeprovider.c: 
3521         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3522         provider, include it from gstnet.h, and add it to the build.
3523
3524         * gst/net/gstnettimepacket.h: 
3525         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3526         sending and receiving.
3527
3528 2005-11-16  Wim Taymans  <wim@fluendo.com>
3529
3530         * check/Makefile.am:
3531         Enable valgrind check.
3532
3533         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3534         (gst_fake_src_alloc_buffer):
3535         Fix memleak.
3536
3537 2005-11-16  Wim Taymans  <wim@fluendo.com>
3538
3539         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3540         Call parent finalize too.
3541
3542 2005-11-16  Wim Taymans  <wim@fluendo.com>
3543
3544         * check/Makefile.am:
3545         Enable valgrind check that should work fine now.
3546
3547         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3548         * gst/gstqueue.c: (gst_queue_init):
3549         Fix memleaks in pad allocation.
3550
3551 2005-11-16  Andy Wingo  <wingo@pobox.com>
3552
3553         * gst/net/Makefile.am:
3554         * gst/net/gstnet.h: New part of core to hold network elements and
3555         objects. Put in core because it exposes API that applications want
3556         to use. The library is named libgstnet-tempname right now because
3557         of the existing libgstnet in gst-plugins-base. Solution is
3558         probably to rename the one in plugins-base; will file a bug for
3559         the freeze break.
3560
3561         * gst/net/gstnettimeprovider.c: 
3562         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3563         get_time call over the network.
3564
3565         * configure.ac: 
3566         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3567
3568         * check/Makefile.am:
3569         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3570         get additions shortly.
3571
3572 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * gst/gstpad.c: (gst_pad_new_from_static_template):
3575         * gst/gstpad.h:
3576           add gst_pad_new_from_static_template functions
3577         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3578         (gst_check_setup_sink_pad):
3579         * gst/elements/gsttee.c: (gst_tee_init):
3580           and use them
3581
3582 2005-11-16  Wim Taymans  <wim@fluendo.com>
3583
3584         * gst/gstpad.c: (gst_pad_pause_task):
3585         Removed warning, it's not really an error either.
3586
3587 2005-11-16  Wim Taymans  <wim@fluendo.com>
3588
3589         * gst/base/gstbasetransform.c:
3590         (gst_base_transform_prepare_output_buf),
3591         (gst_base_transform_event):
3592         Check if the caps are NULL, this can happen if the element
3593         is shutting down and the pad caps are set to NULL.
3594
3595 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3596
3597         * gst/elements/gsttee.c: (gst_tee_init):
3598           fix pad template leak in tee
3599
3600 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3601
3602         * gst/glib-compat.c: (g_value_dup_gst_object):
3603         * gst/glib-compat.h:
3604         * gst/gstpad.c: (gst_pad_set_property):
3605           use gst_object_ref when setting the pad template; this will
3606           trigger the pad template leaks on GLib 2.6 and the slaves
3607
3608 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3609
3610         * gst/glib-compat.c: (gst_flags_get_first_value):
3611         * gst/glib-compat.h:
3612         * gst/gstregistryxml.c:
3613           remove functions copied from GLib 2.6
3614
3615 2005-11-16  Michael Smith <msmith@fluendo.com>
3616
3617         * gst/Makefile.am:
3618           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3619           do, but only breaks with newer valgrind versions. We're not a
3620           valgrind tool, we have no link-time dependencies on libcoregrind.
3621
3622 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3623
3624         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3625           some debug changes
3626         * gst/gstmessage.h:
3627           typo fixes
3628
3629 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3630
3631         * gst/base/gstbasesrc.c: (gst_base_src_init):
3632         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3633         * gst/gstqueue.c: (gst_queue_init):
3634         * gst/gstregistryxml.c: (load_feature):
3635           Revert all these unrefs, they don't even pass make check !
3636
3637 2005-11-15  Johan Dahlin  <johan@gnome.org>
3638
3639         * gst/base/gstbasesrc.c: (gst_base_src_init):
3640         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3641         * gst/gstqueue.c: (gst_queue_init): 
3642         Free pad templates, fixes a couple of leaks.
3643
3644 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3645
3646         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3647
3648         * gst/gstpad.c: (gst_pad_get_property):
3649           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3650           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3651           (#321452)
3652
3653 2005-11-15  Wim Taymans  <wim@fluendo.com>
3654
3655         * gst/gstevent.c:
3656         Small doc update.
3657
3658 2005-11-15  Andy Wingo  <wingo@pobox.com>
3659
3660         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3661
3662         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3663         using GST_CLOCK_TIME_NONE to disable base time management.
3664         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3665         time if it was NONE before.
3666         (gst_pipeline_change_state): Only munge the base time if
3667         stream_time != GST_CLOCK_TIME_NONE.
3668
3669         * check/gst/gstpipeline.c (test_base_time): Punt around the
3670         problem of the probe not being called, because that's not the
3671         issue I'm looking at. Add a check that setting stream_time to NONE
3672         disables base time management.
3673         
3674 2005-11-15  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3677         segment_stop == -1 at startup.
3678
3679         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3680         (gst_base_transform_change_state):
3681         Init segment values at start.
3682
3683 2005-11-15  Wim Taymans  <wim@fluendo.com>
3684
3685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3686         0 segment values are 0 in any format.
3687
3688         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3689         * gst/base/gstbasetransform.h:
3690         Parse newsegment correctly in basetransform
3691
3692         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3693         Sync to clock using updated segment values.
3694
3695 2005-11-15  Andy Wingo  <wingo@pobox.com>
3696
3697         * check/gst/gstpipeline.c (test_base_time): Add check that the
3698         base time and stream time are reset correctly.
3699
3700 2005-11-15  Wim Taymans  <wim@fluendo.com>
3701
3702         * docs/design/part-TODO.txt:
3703         Some more TODO items.
3704
3705 2005-11-15  Andy Wingo  <wingo@pobox.com>
3706
3707         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3708         error if the user selected "no clock" as the clocking method.
3709
3710         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3711         timestamps with live capture.
3712
3713         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3714         is 0 but we are a live source, timestamp the buffers using the
3715         element's clock.
3716
3717 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3718
3719         * docs/gst/gstreamer-sections.txt:
3720         * gst/gsterror.c:
3721         * gst/gstghostpad.c:
3722         * gst/gstobject.h:
3723         * gst/gstxml.c:
3724           more section docs
3725
3726 2005-11-14  Wim Taymans  <wim@fluendo.com>
3727
3728         * common/gst.supp:
3729           add suppressions from Wim's Debian machine
3730
3731 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3732
3733         * common/gst.supp:
3734           add suppressions from Andy's AMD64 Ubuntu machine
3735
3736 2005-11-14  Andy Wingo  <wingo@pobox.com>
3737
3738         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3739         STATE_LOCK not necessary. Fixes #311489.
3740
3741         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3742         #305291.
3743
3744         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3745         this function is not implemented.
3746
3747 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3748
3749         * gst/base/gstbasetransform.c:
3750         (gst_base_transform_prepare_output_buf):
3751         Ref the source pad caps while we need them.
3752         Fixes (#321386)
3753
3754 2005-11-11  Wim Taymans  <wim@fluendo.com>
3755
3756         * docs/gst/gstreamer-sections.txt:
3757         Added some docs for GstCollectData.
3758
3759         * gst/base/gstadapter.c:
3760         Some small code example fix.
3761
3762         * gst/base/gstcollectpads.c:
3763         * gst/base/gstcollectpads.h:
3764         Document some more.
3765
3766 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3767
3768         * configure.ac: back to HEAD
3769
3770 === release 0.9.5 ===
3771
3772 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3773
3774         * configure.ac:
3775           releasing 0.9.5, "Bike Lunch Day"
3776
3777 2005-11-11  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/gstbuffer.c: (_gst_buffer_copy):
3780         Copy more flags.
3781
3782         * gst/gstcaps.c: (gst_caps_is_equal):
3783         Fix some docs.
3784         Make _is_equal fast in the trivial cases.
3785
3786         * gst/gstminiobject.c:
3787         * gst/gstminiobject.h:
3788         More docs. Spifify .h file.
3789
3790         * gst/gstutils.c:
3791         Small doc update.
3792
3793 2005-11-11  Wim Taymans  <wim@fluendo.com>
3794
3795         * gst/base/gstbasetransform.c:
3796         (gst_base_transform_prepare_output_buf),
3797         (gst_base_transform_handle_buffer):
3798         Small cleanups.
3799         If we're processing a buffer and need to allocate an output
3800         buffer, we cannot accept a format change. If we did get a 
3801         format change, we have to alloc a buffer ourselves of the 
3802         right size.
3803
3804 2005-11-11  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3807         While checking the flag for reentrancy in the gstcaps function
3808         is nice to detect recursive invocations, it also makes it 
3809         impossible to call getcaps from multiple threads, which must be
3810         possible. So, checking for recursive calls has to go.
3811
3812 2005-11-11  Michael Smith <msmith@fluendo.com>
3813
3814         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3815           Don't sync on buffers that fall partially outside our current
3816           segment. Prevents an assertion failure/abort playing some files.
3817
3818 2005-11-10  Andy Wingo  <wingo@pobox.com>
3819
3820         * check/gst/gstbin.c (test_message_state_changed_children): Style
3821         fix..
3822
3823         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3824         gst_bus_poll with the signal watch. Ensures that poll and a signal
3825         watch see the same messages.
3826
3827         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3828         a poll and a watch at the same time get the same messages.
3829
3830 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3831
3832         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3833         * gst/gstcaps.c: (gst_caps_intersect):
3834           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3835           and it's not needed.
3836
3837 2005-11-10  Wim Taymans  <wim@fluendo.com>
3838
3839         * docs/design/part-TODO.txt:
3840         Updated todo.
3841
3842 2005-11-10  Wim Taymans  <wim@fluendo.com>
3843
3844         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3845         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3846         (gst_base_src_do_sync), (gst_base_src_get_range):
3847         Implement clock sync in base class.
3848
3849 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3850
3851         patch by: Tim-Philipp Müller <tim at centricular dot net>
3852
3853         * gst/gststructure.c: (gst_structure_parse_field),
3854         (gst_structure_from_string):
3855           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3856           so that gst_parse_launch() can deal with spaces in filtered link
3857           caps (fixes #164479)
3858         * check/gst/capslist.h:
3859         * check/gst/gststructure.c: (GST_START_TEST):
3860           add unit tests for this change
3861
3862 2005-11-10  Wim Taymans  <wim@fluendo.com>
3863
3864         * docs/gst/gstreamer-sections.txt:
3865         * gst/gstelement.c:
3866         * gst/gstelement.h:
3867         Fix docs, move some STATE macros to private.
3868
3869 2005-11-10  Wim Taymans  <wim@fluendo.com>
3870
3871         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3872         Added check for bug #317341
3873
3874         * gst/gstbuffer.c:
3875         * gst/gstbuffer.h:
3876         Some more spiffifying.
3877
3878         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3879         Call peer linkfunction if we are a source pad. Totally fixes
3880         #317341
3881
3882         * gst/gstpad.c:
3883         Update docs, source pads should call the peer linkfunction
3884         so they can atomically perform the pad link.
3885
3886 2005-11-09  Wim Taymans  <wim@fluendo.com>
3887
3888         * gst/gstbuffer.c:
3889         * gst/gstbuffer.h:
3890         Uber-spiffy-spiffify some more.
3891
3892 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3893
3894         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3895         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3896         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3897         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3898         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3899         * gst/gstpad.c: (gst_pad_init):
3900           Use GST_DEBUG_FUNCPTR() more extensively.
3901
3902 2005-11-09  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/gstobject.c: (gst_object_class_init):
3905         * gst/gstobject.h:
3906         Documentation fixes.
3907
3908 2005-11-09  Edward Hervey  <edward@fluendo.com>
3909
3910         * gst/gsttypefindfactory.c:
3911         Fix docs.
3912         
3913 2005-11-09  Edward Hervey  <edward@fluendo.com>
3914
3915         * gst/base/gsttypefindhelper.c:
3916         * gst/gsttypefind.c:
3917         * gst/gsttypefind.h:
3918         Fix docs.
3919
3920 2005-11-09  Wim Taymans  <wim@fluendo.com>
3921
3922         * gst/gstiterator.c:
3923         Fix revision data.
3924
3925         * gst/gsttask.c:
3926         * gst/gsttask.h:
3927         Fix docs.
3928
3929 2005-11-09  Wim Taymans  <wim@fluendo.com>
3930
3931         * gst/gstevent.h:
3932         * gst/gsturi.h:
3933         Fix docs.
3934
3935 2005-11-09  Wim Taymans  <wim@fluendo.com>
3936
3937         * docs/gst/gstreamer-sections.txt:
3938         Moved the message async delivery private lock and cond
3939         to the private section.
3940
3941         * gst/gstmessage.c:
3942         * gst/gstmessage.h:
3943         Fixed docs.
3944
3945 2005-11-09  Edward Hervey  <edward@fluendo.com>
3946
3947         * docs/gst/gstreamer-sections.txt:
3948         * gst/gsturi.c:
3949         * gst/gsturi.h:
3950         Document GstURIHandler
3951
3952 2005-11-09  Wim Taymans  <wim@fluendo.com>
3953
3954         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3955         (gst_iterator_find_custom):
3956         * gst/gstiterator.h:
3957         Fix iterator docs.
3958
3959 2005-11-09  Wim Taymans  <wim@fluendo.com>
3960
3961         * gst/gstbin.h:
3962         Document another field.
3963
3964         * gst/gststructure.c:
3965         * gst/gststructure.h:
3966         Document.
3967
3968 2005-11-09  Wim Taymans  <wim@fluendo.com>
3969
3970         * gst/gstbin.h:
3971         Documented structs.
3972
3973 2005-11-09  Wim Taymans  <wim@fluendo.com>
3974
3975         * docs/gst/gstreamer-sections.txt:
3976         Added some new macros.
3977
3978         * gst/gstclock.c:
3979         * gst/gstclock.h:
3980         * gst/gstobject.h:
3981         Docs updates.
3982
3983 2005-11-09  Wim Taymans  <wim@fluendo.com>
3984
3985         * docs/design/part-TODO.txt:
3986         Some more items for the TODO
3987
3988         * gst/gstcaps.c:
3989         * gst/gstcaps.h:
3990         Document GstCaps.
3991
3992 2005-11-09  Andy Wingo  <wingo@pobox.com>
3993
3994         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3995         to work on something else now tho...
3996
3997         * gst/base/gstadapter.c: More adapter docs.
3998
3999         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4000         (gst_file_sink_stop): New functions, replace the state change
4001         handler.
4002         (gst_file_sink_class_init): Hook up the start and stop functions.
4003         (gst_file_sink_base_init): Don't set the state change handler any
4004         more. It was a bit ugly too, being set from here...
4005         (gst_file_sink_get_property, gst_file_sink_set_property):
4006         Cleanups...
4007         (gst_file_sink_set_location): More robust check that doesn't call
4008         GST_STATE. Ugggggg.
4009
4010 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4011
4012         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4013           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4014
4015 2005-11-08  Wim Taymans  <wim@fluendo.com>
4016
4017         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4018         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4019         (gst_base_sink_chain), (gst_base_sink_change_state):
4020         * gst/base/gstbasesink.h:
4021         * gst/base/gstbasesrc.h:
4022         * gst/gstelement.h:
4023         * gst/gstevent.h:
4024         Avoid excessive typechecking in macros.
4025
4026         * gst/gstminiobject.c: (gst_mini_object_get_type),
4027         (gst_mini_object_init), (gst_mini_object_new),
4028         (gst_mini_object_free):
4029         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4030         (gst_object_finalize):
4031         Remove cruft code, optimize alloc_trace.
4032
4033 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * docs/faq/gst-uninstalled:
4036           fix up PS1 for systems that try to reset it
4037
4038 2005-11-07  Wim Taymans  <wim@fluendo.com>
4039
4040         * gst/base/gstbasesrc.c: (gst_base_src_init),
4041         (gst_base_src_get_range):
4042         Set the segment_end to -1 initially. Fixed typefind.
4043
4044 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4045
4046         * gst/base/gstadapter.c:
4047           Debug category should be 'adapter', not 'GstAdapter'.
4048           
4049         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4050         (gst_collectpads_class_init), (gst_collectpads_init),
4051         (gst_collectpads_peek), (gst_collectpads_pop),
4052         (gst_collectpads_event), (gst_collectpads_chain):
4053           Add debug category and some debugging output. Use boilerplate
4054           macros. Remove some extraneous words from docs.
4055
4056 2005-11-05  Andy Wingo  <wingo@pobox.com>
4057
4058         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4059         macro.
4060
4061 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4062
4063         * docs/gst/gstreamer-sections.txt:
4064         * gst/gstcaps.h:
4065         * gst/gstinfo.c:
4066         * gst/gstminiobject.h:
4067         * gst/gstobject.h:
4068         * gst/gstutils.h:
4069           more docs added
4070
4071 2005-11-04  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4074         Small update to stop at the configured segment_end
4075         position.
4076
4077 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4078
4079         * gst/gstregistry.c:
4080         * gst/gstregistry.h:
4081           added missing docs
4082
4083 2005-11-04  Edward Hervey  <edward@fluendo.com>
4084
4085         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4086         Check if we are doing a segment seek and have arrived at the
4087         end of that segment.
4088
4089 2005-11-04  Wim Taymans  <wim@fluendo.com>
4090
4091         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4092         Don't leak a mutex unlock in case of an error.
4093
4094         * gst/gstbus.h:
4095         Doc fixes.
4096
4097 2005-11-04  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4100         (gst_bus_post):
4101         Get the context to wake up only once.
4102
4103 2005-11-03  Wim Taymans  <wim@fluendo.com>
4104
4105         * check/states/sinks.c: (GST_START_TEST):
4106         Uncomment fixed check.
4107
4108         * docs/design/part-TODO.txt:
4109         Updated TODO.
4110
4111         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4112         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4113         (gst_base_sink_get_position):
4114         If we are going to PLAYING, post the right pending state
4115         when we post the intermediate paused message.
4116
4117         * gst/gstelement.c: (gst_element_continue_state),
4118         (gst_element_set_state_func), (gst_element_change_state):
4119         Don't post state changes that were between the same state
4120         and were not ASYNC.
4121
4122 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * docs/gst/gstreamer-sections.txt:
4125         * gst/gstcaps.h:
4126         * gst/gstinfo.c:
4127         * gst/gstminiobject.h:
4128         * gst/gstobject.h:
4129         * gst/gstutils.h:
4130           more docs and doc style fixes
4131
4132 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4133
4134         * docs/gst/gstreamer-sections.txt:
4135         * gst/gstelement.c:
4136         * gst/gstminiobject.c:
4137         doc fixes
4138
4139 2005-11-03  Andy Wingo  <wingo@pobox.com>
4140
4141         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4142         state-changed messages actually have the right order and the right
4143         values.
4144
4145 2005-11-03  Wim Taymans  <wim@fluendo.com>
4146
4147         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4148         Added some more checks. Specifically the case where NO_PREROLL
4149         elements are in the pipeline.
4150
4151         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4152         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4153         (gst_base_sink_get_position):
4154         Post READY->PAUSED state change messages too.
4155         Fix bug where VOID was posted as pending state...
4156
4157         * gst/gstbin.c: (gst_bin_recalc_state):
4158         use _element_continue_state() to continue the state change.
4159
4160         * gst/gstelement.c: (gst_element_continue_state),
4161         (gst_element_commit_state), (gst_element_set_state_func),
4162         (gst_element_change_state), (gst_element_change_state_func):
4163         Lots of state change cleanups, assign the STATE_RETURN in
4164         a new continue_state() function that also propagates the
4165         last return value from a state change to the app.
4166         Update some debug statements with proper category.
4167
4168 2005-11-03  Wim Taymans  <wim@fluendo.com>
4169
4170         * docs/design/part-events.txt:
4171         * docs/design/part-gstpipeline.txt:
4172         * docs/design/part-messages.txt:
4173         * docs/design/part-overview.txt:
4174         * docs/design/part-seeking.txt:
4175         * docs/design/part-states.txt:
4176         * docs/design/part-trickmodes.txt:
4177         * docs/manual/advanced-position.xml:
4178         Small docs updates.
4179
4180         * gst/gstobject.h:
4181         People think !! is ugly, this looks better.
4182
4183         * gst/gstpad.c: (gst_pad_set_blocked_async):
4184         Remove !! since it's fixed elsewhere now.
4185
4186 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4187
4188         * gst/gstminiobject.h:
4189         * gst/gstobject.h:
4190           Add !! to _FLAG_IS_SET macros to make the result boolean.
4191
4192 2005-11-03  Edward Hervey  <edward@fluendo.com>
4193
4194         * gst/gstpad.c: (gst_pad_set_blocked_async):
4195         comparing a flag and a gboolean rarely returns coherent results...
4196         Added two characters (!!) to make that work correctly.
4197         
4198 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4199
4200         * gst/gstbus.c: (gst_bus_class_init):
4201           Fix some typos.
4202           
4203         * gst/gstqueue.c: (gst_queue_loop):
4204           Don't assume a miniobject that isn't a buffer is an
4205           event (it could be that there is a refcounting
4206           problem somewhere and the pointer is stale and
4207           refers to an already destroyed miniobject).
4208
4209 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4210
4211         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4212
4213 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4214
4215         * docs/manual/advanced-position.xml:
4216           Update seek example and explanations to current 0.9 API.
4217
4218         * gst/elements/gsttypefindelement.c:
4219         (gst_type_find_element_activate):
4220           Remove FIXME comment now that the found caps
4221           are unreffed.
4222
4223 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4224
4225         * gst/gstregistryxml.c: (load_feature):
4226           Add another GST_STR_NULL instance
4227
4228 2005-11-02  Edward Hervey  <edward@fluendo.com>
4229
4230         * gst/gstpad.c: (handle_pad_block):
4231         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4232         
4233 2005-11-02  Wim Taymans  <wim@fluendo.com>
4234
4235         * gst/gstbin.c:
4236         Fix typo in docs.
4237
4238         * gst/gstelement.c: (gst_element_commit_state):
4239         Remove unused value.
4240
4241         * gst/gstiterator.c:
4242         Mention that the returned element is reffed in the docs.
4243
4244 2005-11-02  Wim Taymans  <wim@fluendo.com>
4245
4246         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4247         (gst_pad_push), (gst_pad_push_event):
4248         Unlock blocked pads when they are flushed.
4249
4250 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * docs/README:
4253         * docs/gst/gstreamer-sections.txt:
4254         * gst/gstbin.c:
4255           doc updates
4256         * gst/gstregistry.c: (gst_registry_scan_path_level):
4257           fix for a nasty little missed situation where an installed plug-in
4258           which was in the cache did not get overridden by an uninstalled one
4259           which was earlier in the plugin path because the newly created plugin
4260           for the uninstalled one (not in the registry) didn't get its
4261           ->registered set to TRUE
4262
4263 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4264
4265         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4266         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4267         (gst_collectpads_is_active), (gst_collectpads_collect),
4268         (gst_collectpads_collect_range), (gst_collectpads_start),
4269         (gst_collectpads_stop), (gst_collectpads_peek),
4270         (gst_collectpads_pop), (gst_collectpads_available),
4271         (gst_collectpads_read), (gst_collectpads_flush):
4272           Guard public API with assertions.
4273         
4274         * gst/gstpad.c:
4275           Fix docs for gst_pad_set_link_function().
4276
4277 2005-11-02  Johan Dahlin  <johan@gnome.org>
4278
4279         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4280         Unref found_caps after we used it.
4281
4282 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4283
4284         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4285           Don't try to ref NULL.
4286
4287 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4288
4289         * win32/common/config.h.in:
4290           provide a GST_FUNCTION that just gives a string for now
4291
4292 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4293
4294         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4295         (gst_object_flags_get_type), (register_gst_bin_flags),
4296         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4297         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4298         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4299         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4300         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4301         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4302         (gst_clock_flags_get_type), (register_gst_state),
4303         (gst_state_get_type), (register_gst_state_change_return),
4304         (gst_state_change_return_get_type), (register_gst_state_change),
4305         (gst_state_change_get_type), (register_gst_element_flags),
4306         (gst_element_flags_get_type), (register_gst_core_error),
4307         (gst_core_error_get_type), (register_gst_library_error),
4308         (gst_library_error_get_type), (register_gst_resource_error),
4309         (gst_resource_error_get_type), (register_gst_stream_error),
4310         (gst_stream_error_get_type), (register_gst_event_type),
4311         (gst_event_type_get_type), (register_gst_seek_type),
4312         (gst_seek_type_get_type), (register_gst_seek_flags),
4313         (gst_seek_flags_get_type), (register_gst_format),
4314         (gst_format_get_type), (register_gst_index_certainty),
4315         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4316         (gst_index_entry_type_get_type),
4317         (register_gst_index_lookup_method),
4318         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4319         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4320         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4321         (gst_index_flags_get_type), (register_gst_debug_level),
4322         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4323         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4324         (gst_iterator_result_get_type), (register_gst_iterator_item),
4325         (gst_iterator_item_get_type), (register_gst_message_type),
4326         (gst_message_type_get_type), (register_gst_mini_object_flags),
4327         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4328         (gst_pad_link_return_get_type), (register_gst_flow_return),
4329         (gst_flow_return_get_type), (register_gst_activate_mode),
4330         (gst_activate_mode_get_type), (register_gst_pad_direction),
4331         (gst_pad_direction_get_type), (register_gst_pad_flags),
4332         (gst_pad_flags_get_type), (register_gst_pad_presence),
4333         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4334         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4335         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4336         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4337         (gst_plugin_flags_get_type), (register_gst_rank),
4338         (gst_rank_get_type), (register_gst_query_type),
4339         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4340         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4341         (gst_tag_flag_get_type), (register_gst_task_state),
4342         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4343         (gst_alloc_trace_flags_get_type),
4344         (register_gst_type_find_probability),
4345         (gst_type_find_probability_get_type), (register_gst_uri_type),
4346         (gst_uri_type_get_type), (register_gst_parse_error),
4347         (gst_parse_error_get_type):
4348         * win32/common/gstversion.h:
4349           update win32 copies
4350
4351 2005-11-01  Luca Ognibene  <luogni@tin.it>
4352
4353         * gst/gst.c:
4354           fix docs. popt is dead, long live GOption.
4355
4356 2005-10-31  Wim Taymans  <wim@fluendo.com>
4357
4358         * gst/gstbuffer.h:
4359         Small doc fix.
4360
4361 2005-10-31  Andy Wingo  <wingo@pobox.com>
4362
4363         * Boo!
4364
4365         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4366
4367         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4368         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4369         the possibility of deadlocks here if code calling notify() or
4370         set() has a lock that can be taken in another notify handler (ABBA
4371         with class lock and e.g. python GIL state lock).
4372
4373 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4374
4375         * gst/gstbus.c: Doc updates.
4376
4377 2005-10-28  Wim Taymans  <wim@fluendo.com>
4378
4379         * docs/design/part-TODO.txt:
4380         * gst/gstiterator.c:
4381         * gst/gstsystemclock.c:
4382         * gst/gstsystemclock.h:
4383         Doc updates.
4384
4385 2005-10-28  Edward Hervey  <edward@fluendo.com>
4386
4387         * docs/gst/gstreamer-docs.sgml:
4388         * docs/gst/gstreamer-sections.txt:
4389         the GstURIType documentation page is private, it only defines GstURIType
4390         which should be defined in the GstURIHandler page
4391         
4392 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * gst/gstbin.c: (gst_bin_class_init):
4395         * gst/gstbin.h:
4396         * gst/gstutils.c:
4397         Documentation updates.
4398
4399 2005-10-28  Wim Taymans  <wim@fluendo.com>
4400
4401         * docs/gst/gstreamer-sections.txt:
4402         * gst/gstclock.c:
4403         * gst/gstclock.h:
4404         Documented the clocks.
4405
4406 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4407
4408         * docs/gst/gstreamer-sections.txt:
4409           move some macros to private sections
4410         * gst/gstminiobject.c:
4411         * gst/gstminiobject.h:
4412           add descriptions provided by ds and some more
4413         * gst/gstpad.h:
4414           mark macro as to be removed
4415
4416 2005-10-28  Wim Taymans  <wim@fluendo.com>
4417
4418         * docs/design/part-TODO.txt:
4419         Add an item to TODO.
4420
4421         * gst/gstiterator.c: (gst_iterator_fold),
4422         (gst_iterator_find_custom):
4423         * gst/gstiterator.h:
4424         Add iterator docs.
4425
4426 2005-10-28  Wim Taymans  <wim@fluendo.com>
4427
4428         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4429         (gst_base_transform_init):
4430         Don't leak class.
4431
4432         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4433         An EOS event marks the queue as completely filled.
4434
4435 2005-10-27  Wim Taymans  <wim@fluendo.com>
4436
4437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4438         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4439         Some more debugging.
4440
4441         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4442         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4443         (gst_base_transform_event), (gst_base_transform_getrange),
4444         (gst_base_transform_chain):
4445         * gst/base/gstbasetransform.h:
4446         Fix debugging,
4447         Protect transform and concurrent buffer alloc with a new lock.
4448         Try not to break ABI/API.
4449
4450 2005-10-27  Wim Taymans  <wim@fluendo.com>
4451
4452         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4453         (gst_base_src_init), (gst_base_src_query),
4454         (gst_base_src_default_newsegment),
4455         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4456         (gst_base_src_send_event), (gst_base_src_event_handler),
4457         (gst_base_src_pad_get_range), (gst_base_src_loop),
4458         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4459         (gst_base_src_start), (gst_base_src_deactivate),
4460         (gst_base_src_activate_push), (gst_base_src_change_state):
4461         Move some stuff around and cleanup things.
4462
4463 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4464
4465         * gst/base/gstbasesrc.c: (gst_base_src_query):
4466           Add missing break statements.
4467
4468 2005-10-27  Wim Taymans  <wim@fluendo.com>
4469
4470         * check/gst/gstbin.c: (GST_START_TEST):
4471         An extra refcount is taken in basesrc.
4472
4473         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4474         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4475         (gst_base_src_loop):
4476         Small cleanups, check for flushing after being unlocked from the 
4477         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4478         Don't send out EOS when going to READY.
4479
4480 2005-10-27  Wim Taymans  <wim@fluendo.com>
4481
4482         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4483         (gst_base_sink_get_position):
4484         Some more debug.
4485
4486         * gst/gstbin.c: (message_check), (bin_replace_message),
4487         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4488         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4489         (bin_query_duration_init), (bin_query_duration_fold),
4490         (bin_query_duration_done), (bin_query_generic_fold),
4491         (gst_bin_query):
4492         * tools/gst-launch.c: (main):
4493         Remove old option.
4494
4495 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4496
4497         * examples/controller/audio-example.c: (main):
4498         * examples/queue/queue.c: (event_loop):
4499         * gst/base/gstbasetransform.h:
4500         * gst/gstelement.c: (gst_element_send_event):
4501         * gst/gstevent.h:
4502         * gst/gstpad.c: (gst_pad_send_event):
4503           fixing examples
4504           fixing docs typos
4505           changing log priority in error situations
4506
4507 2005-10-25  Wim Taymans  <wim@fluendo.com>
4508
4509         * gst/gstbin.c: (message_check), (bin_replace_message),
4510         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4511         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4512         (bin_query_duration_init), (bin_query_duration_fold),
4513         (bin_query_duration_done), (bin_query_generic_fold),
4514         (gst_bin_query):
4515         Some doc and debug updates.
4516         Cache previously requested query DURATION for speed. invalidate
4517         cached duration if element posts a DURATION message.
4518
4519 2005-10-25  Wim Taymans  <wim@fluendo.com>
4520
4521         * docs/design/part-TODO.txt:
4522         Update TODO.
4523
4524         * gst/gstbin.c: (message_check), (bin_replace_message),
4525         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4526         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4527         (bin_query_duration_init), (bin_query_duration_fold),
4528         (bin_query_duration_done), (bin_query_generic_fold),
4529         (gst_bin_query):
4530         Handle SEGMENT_START/DONE messages correctly.
4531         More evolved query algorithm that handles duration queries
4532         correctly.
4533
4534         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4535         (gst_element_get_state_func), (gst_element_abort_state),
4536         (gst_element_commit_state), (gst_element_lost_state):
4537         Some more debugging.
4538
4539         * gst/gstmessage.h:
4540         Added doc.
4541
4542 2005-10-25  Wim Taymans  <wim@fluendo.com>
4543
4544         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4545         Don't use invalid stream_time.
4546
4547         * gst/gstevent.c: (gst_event_new_newsegment):
4548         stream_time in newsegment cannot be undefined.
4549
4550 2005-10-24  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/gstbus.c:
4553         Doc fix.
4554
4555         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4556         (gst_queue_loop):
4557         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4558
4559 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4560
4561         * docs/libs/tmpl/gstdparam.sgml:
4562         * docs/libs/tmpl/gstdplinint.sgml:
4563         * docs/libs/tmpl/gstdpman.sgml:
4564         * docs/libs/tmpl/gstdpsmooth.sgml:
4565         * docs/libs/tmpl/gstunitconvert.sgml:
4566           these are obsolete
4567
4568 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4569
4570         * configure.ac:
4571           back to HEAD
4572
4573 === release 0.9.4 ===
4574
4575 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4576
4577         * configure.ac:
4578           releasing 0.9.4, "Tyrannosaurus Rex"
4579
4580 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4581
4582         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4583         (gst_file_sink_get_current_offset):
4584           Use fseeko() and ftello() if available. When falling back on
4585           lseek() to get the current offset, fflush() first to make sure
4586           everything is up-to-date and we get the right offset.
4587
4588 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4591         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4592         * gst/gsterror.c: (_gst_stream_errors_init):
4593         * gst/gsterror.h:
4594         * gst/gstqueue.c: (gst_queue_loop):
4595         * po/POTFILES.in:
4596           remove prematurely added error category and clean up the instances
4597
4598 2005-10-21  Wim Taymans  <wim@fluendo.com>
4599
4600         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4601         (gst_base_sink_get_position), (gst_base_sink_query),
4602         (gst_base_sink_change_state):
4603         Simply set the right flag when going to playing, that's all
4604         we need to do instead of calling a function inside the object
4605         lock (that could take the lock as well and deadlock)
4606
4607 2005-10-21  Wim Taymans  <wim@fluendo.com>
4608
4609         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4610         (gst_base_src_loop):
4611         Don't warn, the peer element knows what to do best when
4612         the seek failed, it might try something else.
4613
4614 2005-10-21  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/base/gstbasesrc.c: (gst_base_src_init),
4617         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4618         Fix seeking.
4619
4620 2005-10-21  Wim Taymans  <wim@fluendo.com>
4621
4622         * docs/design/part-segments.txt:
4623         More docs.
4624
4625         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4626         Correctly set caps, even on the subbufer.
4627
4628 2005-10-21  Wim Taymans  <wim@fluendo.com>
4629
4630         * docs/gst/gstreamer-docs.sgml:
4631         * docs/gst/gstreamer-sections.txt:
4632         * gst/gstelement.h:
4633         * gst/gstevent.c:
4634         * gst/gstevent.h:
4635         * gst/gstmessage.h:
4636         * gst/gstpad.h:
4637         * gst/gstparse.h:
4638         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4639         * gst/gsttask.h:
4640         * gst/gstutils.c:
4641         * gst/gstutils.h:
4642         And 2% more doc coverage.
4643
4644 2005-10-21  Andy Wingo  <wingo@pobox.com>
4645
4646         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4647         position reporting.
4648
4649 2005-10-20  Wim Taymans  <wim@fluendo.com>
4650
4651         * gst/gsterror.c: (gst_error_get_message):
4652         * gst/gstparse.h:
4653         * gst/gstquery.h:
4654         * gst/gststructure.c:
4655         * gst/gsttrace.c:
4656         * gst/gstutils.c:
4657         More docs.
4658
4659 2005-10-20  Wim Taymans  <wim@fluendo.com>
4660
4661         * gst/gstbuffer.h:
4662         * gst/gstpad.c:
4663         * gst/gstparse.c:
4664         Another 1% more coverage.
4665
4666 2005-10-20  Wim Taymans  <wim@fluendo.com>
4667
4668         * docs/gst/gstreamer-sections.txt:
4669         * gst/gstelement.c: (gst_element_get_state_func),
4670         (gst_element_abort_state), (gst_element_commit_state),
4671         (gst_element_lost_state):
4672         * gst/gstevent.h:
4673         * gst/gstquery.c: (gst_query_set_position),
4674         (gst_query_parse_position), (gst_query_set_duration),
4675         (gst_query_parse_duration), (gst_query_new_convert):
4676         * gst/gstutils.c:
4677         Yay! 1% more docs coverage.
4678
4679 2005-10-20  Wim Taymans  <wim@fluendo.com>
4680
4681         * gst/gstpad.h:
4682         * gst/gstquery.c: (gst_query_set_position),
4683         (gst_query_parse_position), (gst_query_set_duration),
4684         (gst_query_parse_duration), (gst_query_new_convert):
4685         * gst/gstquery.h:
4686         * gst/gstutils.c: (gst_element_query_convert):
4687         * gst/gstutils.h:
4688         Docs and consistency fixes.
4689
4690 2005-10-20  Wim Taymans  <wim@fluendo.com>
4691
4692         * gst/gsttask.c:
4693         * gst/gsttask.h:
4694         More docs.
4695
4696 2005-10-20  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/gstbin.c: (message_check), (bin_replace_message),
4699         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4700         (update_degree), (gst_bin_sort_iterator_next),
4701         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4702         Reworked the message handling a bit, cache the messages instead of
4703         only the senders. alows us to do more in the future.
4704
4705 2005-10-20  Wim Taymans  <wim@fluendo.com>
4706
4707         * docs/design/part-TODO.txt:
4708         Update TODO
4709
4710         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4711         (gst_base_sink_query):
4712         Don't use clock time to report position when in EOS.
4713
4714 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * tools/gst-inspect.c: (print_interfaces),
4717         (print_element_properties_info), (print_element_info):
4718           Fix interface output with gst-inspect -a; don't print
4719           newlines after double/float properties.
4720
4721 2005-10-20  Wim Taymans  <wim@fluendo.com>
4722
4723         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4724         (gst_base_sink_query):
4725         Speed up current position calculation.
4726
4727         * gst/base/gstbasesrc.c: (gst_base_src_query),
4728         (gst_base_src_default_newsegment):
4729         Correctly set stream position in newsegment.
4730
4731         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4732         (update_degree), (gst_bin_sort_iterator_next),
4733         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4734         * gst/gstmessage.c: (gst_message_new_custom):
4735         Clean up debugging info
4736
4737         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4738         (gst_queue_loop), (gst_queue_handle_src_query):
4739         Pause task faster.
4740
4741 2005-10-19  Wim Taymans  <wim@fluendo.com>
4742
4743         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4744         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4745         Fix query handling again.
4746
4747 2005-10-19  Wim Taymans  <wim@fluendo.com>
4748
4749         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4750         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4751         * gst/base/gstbasesrc.c: (gst_base_src_query):
4752         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4753         * gst/elements/gsttypefindelement.c:
4754         (gst_type_find_handle_src_query), (find_element_get_length),
4755         (gst_type_find_element_activate):
4756         API change fix.
4757
4758         * gst/gstquery.c: (gst_query_new_position),
4759         (gst_query_set_position), (gst_query_parse_position),
4760         (gst_query_new_duration), (gst_query_set_duration),
4761         (gst_query_parse_duration), (gst_query_set_segment),
4762         (gst_query_parse_segment):
4763         * gst/gstquery.h:
4764         Bundling query position/duration is not a good idea since duration
4765         does not change much and we don't want to recalculate it for every
4766         position query, so they are separated again..
4767         Base value in segment query is not needed.
4768
4769         * gst/gstqueue.c: (gst_queue_handle_src_query):
4770         * gst/gstutils.c: (gst_element_query_position),
4771         (gst_element_query_duration), (gst_pad_query_position),
4772         (gst_pad_query_duration):
4773         * gst/gstutils.h:
4774         Updates for query API change.
4775         Added some docs here and there.
4776
4777 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         * check/gst/gstbin.c: (GST_START_TEST):
4780         * check/gst/gstghostpad.c: (GST_START_TEST):
4781         * check/pipelines/cleanup.c: (GST_START_TEST):
4782           wait on thread to die so we can check refcount correctly
4783
4784 2005-10-18  Wim Taymans  <wim@fluendo.com>
4785
4786         * check/pipelines/stress.c: (GST_START_TEST):
4787         Make check a little more time consuming.
4788
4789 2005-10-18  Wim Taymans  <wim@fluendo.com>
4790
4791         * check/Makefile.am:
4792         * check/pipelines/stress.c: (GST_START_TEST),
4793         (simple_launch_lines_suite), (main):
4794         Small state change torture test.
4795
4796         * docs/design/part-states.txt:
4797         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4798         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4799         (gst_base_sink_change_state):
4800         Never take state lock from streaming thread, clean up ugly
4801         hacks. Unfortunatly core does not yet support nice ways to
4802         async commit state.
4803         
4804         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4805         (bin_bus_handler):
4806         Start state recalc if a STATE_DIRTY message is posted, but only
4807         on the toplevel bin.
4808
4809         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4810         (gst_element_get_state_func), (gst_element_abort_state),
4811         (gst_element_commit_state), (gst_element_lost_state),
4812         (gst_element_set_state_func), (gst_element_change_state):
4813         * gst/gstelement.h:
4814         State variables are now protected with the LOCK, the state
4815         lock is only used to serialize _set_state().
4816
4817 2005-10-18  Wim Taymans  <wim@fluendo.com>
4818
4819         * check/gst/gstbin.c: (GST_START_TEST):
4820         * check/gst/gstmessage.c: (GST_START_TEST):
4821         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4822         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4823         (bin_bus_handler):
4824         * gst/gstelement.c: (gst_element_abort_state),
4825         (gst_element_commit_state), (gst_element_lost_state):
4826         * gst/gstmessage.c: (gst_message_new_state_changed),
4827         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4828         (gst_message_new_segment_done), (gst_message_new_duration),
4829         (gst_message_parse_state_changed),
4830         (gst_message_parse_segment_start),
4831         (gst_message_parse_segment_done), (gst_message_parse_duration):
4832         * gst/gstmessage.h:
4833         * tools/gst-launch.c: (event_loop):
4834         Seriously, this is better than a previous commit as we only need
4835         to notify the fact that an element changed state in a streaming
4836         thread, marking the state of the parents dirty, hence the 
4837         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4838         message.
4839
4840 2005-10-18  Wim Taymans  <wim@fluendo.com>
4841
4842         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4843         (gst_bin_recalc_func):
4844         * gst/gstelement.c: (gst_element_set_clock),
4845         (gst_element_abort_state), (gst_element_lost_state):
4846         Cleanups, prepare for state change fixes.
4847
4848 2005-10-18  Wim Taymans  <wim@fluendo.com>
4849
4850         * gst/gstbin.h:
4851         * gst/gstelement.c: (gst_element_class_init),
4852         (gst_element_set_state), (gst_element_set_state_func):
4853         * gst/gstelement.h:
4854         Pending ABI changes.
4855         GThreadPool in GstBinClass to monitor async state changes.
4856         state_cookie in GstElement to detect concurrent gst/set state.
4857         set_state is now virtual too in case a very complicated element
4858         has to be constructed.
4859
4860 2005-10-18  Wim Taymans  <wim@fluendo.com>
4861
4862         * check/gst/gstbin.c: (GST_START_TEST):
4863         * check/gst/gstmessage.c: (GST_START_TEST):
4864         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4865         * gst/gstbin.c: (bin_bus_handler):
4866         * gst/gstelement.c: (gst_element_commit_state),
4867         (gst_element_lost_state):
4868         * gst/gstmessage.c: (gst_message_new_state_changed),
4869         (gst_message_new_segment_start), (gst_message_new_segment_done),
4870         (gst_message_new_duration), (gst_message_parse_state_changed),
4871         (gst_message_parse_segment_start),
4872         (gst_message_parse_segment_done), (gst_message_parse_duration):
4873         * gst/gstmessage.h:
4874         * tools/gst-launch.c: (event_loop):
4875         Make messages future proof.
4876         state-change gets a flag if it was a message comming from the
4877         streaming thread.
4878         segment-start/stop can also be specified in other formats.
4879         A message to notify an app that a pipeline changed playback 
4880         duration.
4881         Also fix a GstMessage leak in -launch
4882
4883 2005-10-18  Andy Wingo  <wingo@pobox.com>
4884
4885         * gst/gstelement.c (gst_element_dispose): More helpful message.
4886
4887 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4888
4889         reviewed by: <delete if not using a buddy>
4890
4891         * common/gtk-doc.mak:
4892
4893 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * gst/gstregistry.c: (gst_registry_scan_path_level):
4896           unref a plug-in we get that was already initialized
4897
4898 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4899
4900         * docs/gst/gstreamer-sections.txt:
4901         * docs/libs/gstreamer-libs-sections.txt:
4902         * gst/gstelement.h:
4903           add new api entries
4904           hide internal macro
4905
4906 2005-10-17  Andy Wingo  <wingo@pobox.com>
4907
4908         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4909         cleanup.
4910
4911         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4912
4913         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4914
4915         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4916         (gst_element_get_state_func): Better debug message.
4917         (gst_element_commit_state): s/INFO/DEBUG/.
4918         (gst_element_lost_state, gst_element_change_state): 
4919
4920         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4921         (gst_message_new_custom): s/INFO/LOG/.
4922
4923 2005-10-17  Michael Smith <msmith@fluendo.com>
4924
4925         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4926           Check if end time is valid using end time, not start time.
4927
4928 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4929
4930         * check/gst-libs/controller.c: (GST_START_TEST),
4931         (gst_controller_suite):
4932         * libs/gst/controller/gstcontroller.c:
4933         (gst_controlled_property_set_interpolation_mode):
4934         * libs/gst/controller/gstcontroller.h:
4935         * libs/gst/controller/gstinterpolation.c:
4936         * testsuite/controller/.cvsignore:
4937         * testsuite/controller/Makefile.am:
4938         * testsuite/controller/interpolator.c:
4939           merge controller testsuites
4940           fix broken tests
4941           remove mem-chunk from docs
4942
4943 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4944
4945         * gst/gstmemchunk.c:
4946         * gst/gstmemchunk.h:
4947         * gst/gsttrashstack.c:
4948         * gst/gsttrashstack.h:
4949           out.  get out.  you're fired.  to the Attic !
4950
4951 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * gst/gstcaps.c: (gst_caps_intersect):
4954           fix signedness issues in a (hopefully) correct way
4955         * gst/gstelement.c: (gst_element_pads_activate):
4956           some debugging
4957         * gst/gstobject.c: (gst_object_set_parent):
4958           some debugging
4959
4960 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4961
4962         * gst/gstvalue.h: Fix prototypes.
4963
4964 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * docs/gst/gstreamer-sections.txt:
4967         * gst/gst.c: (gst_version_string):
4968         * gst/gst.h:
4969         * gst/gstversion.h.in:
4970         * win32/common/libgstreamer.def:
4971           add gst_version_string ()
4972
4973 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4974
4975         * configure.ac:
4976           clean up further
4977         * gst/gst.c: (init_post):
4978         * win32/common/config.h.in:
4979           it's PLUGINDIR now
4980         * gst/gstcaps.c: (gst_caps_intersect):
4981           use gint64, the range could be bigger than a guint
4982
4983 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4984
4985         * gst/gstclock.h:
4986           document potential problem in 2038
4987
4988 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4989
4990         * gst/gstcaps.c: (gst_caps_intersect):
4991           Fix guint j diving under 0
4992
4993 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4994
4995         * configure.ac:
4996         * win32/common/config.h:
4997         * win32/common/config.h.in:
4998           check for process.h, declares getpid() on Windows
4999         * gst/gstinfo.c:
5000           include process.h if we have it
5001         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5002         * gst/gstmemchunk.h:
5003           fix signedness issues
5004         * win32/common/libgstreamer.def:
5005           fix get_type's
5006
5007 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5008
5009         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5010         fix. Because of unsigned ints, caps intersection was going nuts and
5011         trying to access structures with G_MAXUINT index. That fixes
5012         videotestsrc ! ffmpegcolorspace ! fakesink
5013         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5014         consistency.
5015
5016 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5017
5018         * configure.ac:
5019           use the gettext macro
5020         * gst/elements/gstelements.c:
5021         * gst/gst.c:
5022         * gst/indexers/gstindexers.c:
5023           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5024         * win32/common/config.h:
5025           updated config.h
5026         * win32/common/config.h.in:
5027           add the template to generate config.h
5028         * win32/common/gstenumtypes.c:
5029         * win32/common/gstversion.h:
5030           updated copies
5031
5032 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5033
5034         * gst/gst.c: (gst_version):
5035         * gst/gstversion.h.in:
5036           add the nano
5037
5038 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5039
5040         * gst/gstevent.h:
5041           Oops, add missing closing bracket.
5042
5043 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5044
5045         * configure.ac:
5046           use common m4's for argument checking
5047
5048 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5049
5050         * docs/gst/gstreamer-sections.txt:
5051         * gst/gstevent.h:
5052           Add GST_EVENT_TYPE_NAME() macro.
5053
5054 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5055
5056         * gst/gstinfo.c:
5057         * gst/gstpluginfeature.c:
5058         * gst/gsttask.c:
5059           privatize more symbols
5060
5061 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * configure.ac:
5064           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5065           everything that uses GStreamer API should have the includes
5066
5067 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5068
5069         * docs/gst/gstreamer-sections.txt:
5070         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5071         * gst/gstvalue.h:
5072           give each value a _get_type, removes the DATA exports
5073
5074 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * gst/gst.c:
5077         * gst/gst.h:
5078           remove _gst_registry_auto_load, not used anymore
5079         * gst/gstbin.c: (gst_bin_get_type):
5080         * gst/gstbin.h:
5081         * gst/gstelement.c: (gst_element_get_type):
5082         * gst/gstelement.h:
5083         * gst/gstobject.c: (gst_object_get_type):
5084         * gst/gstobject.h:
5085         * gst/gstpad.c: (gst_pad_get_type):
5086         * gst/gstpad.h:
5087           make _get_type functions similar, fixes data export from library
5088
5089 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * configure.ac:
5092           correctly make conditionals
5093         * gst/elements/Makefile.am:
5094         * gst/elements/gstelements.c:
5095           fix typo causing fdsrc not to build
5096
5097 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5098
5099         * testsuite/Makefile.am:
5100         * testsuite/bytestream/.cvsignore:
5101         * testsuite/bytestream/Makefile.am:
5102         * testsuite/bytestream/filepadsink.c:
5103         * testsuite/bytestream/gstbstest.c:
5104         * testsuite/bytestream/test1.c:
5105         * testsuite/bytestream/testfile1:
5106         * testsuite/caps/normalisation.c:
5107         * testsuite/caps/random.c: (main):
5108         * testsuite/cleanup/.cvsignore:
5109         * testsuite/cleanup/Makefile.am:
5110         * testsuite/cleanup/cleanup1.c:
5111         * testsuite/cleanup/cleanup2.c:
5112         * testsuite/cleanup/cleanup3.c:
5113         * testsuite/cleanup/cleanup4.c:
5114         * testsuite/cleanup/cleanup5.c:
5115         * testsuite/controller/interpolator.c:
5116         * testsuite/debug/printf_extension.c: (main):
5117         * testsuite/elements/tee.c:
5118         * testsuite/negotiation/.cvsignore:
5119         * testsuite/negotiation/Makefile.am:
5120         * testsuite/negotiation/pad_link.c:
5121         * testsuite/pad/Makefile.am:
5122         * testsuite/pad/chainnopull.c:
5123         * testsuite/pad/getnopush.c:
5124         * testsuite/pad/link.c:
5125         * testsuite/refcounting/sched.c: (create_pipeline):
5126         * testsuite/registry/Makefile.am:
5127         * testsuite/registry/gst-print-formats.c:
5128         * testsuite/schedulers/.cvsignore:
5129         * testsuite/schedulers/142183-2.c:
5130         * testsuite/schedulers/142183.c:
5131         * testsuite/schedulers/143777-2.c:
5132         * testsuite/schedulers/143777.c:
5133         * testsuite/schedulers/147713.c:
5134         * testsuite/schedulers/147819.c:
5135         * testsuite/schedulers/147894-2.c:
5136         * testsuite/schedulers/147894.c:
5137         * testsuite/schedulers/Makefile.am:
5138         * testsuite/schedulers/group_link.c:
5139         * testsuite/schedulers/queue_link.c:
5140         * testsuite/schedulers/relink.c:
5141         * testsuite/schedulers/unlink.c:
5142         * testsuite/schedulers/unref.c:
5143         * testsuite/schedulers/useless_iteration.c:
5144         * testsuite/states/bin.c:
5145           clean out/remove some stuff from the testsuite directories
5146
5147 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * configure.ac:
5150           check for some headers
5151         * gst/elements/Makefile.am:
5152         * gst/elements/gstelements.c:
5153           don't compile fdsrc without sys/socket.h
5154         * gst/indexers/Makefile.am:
5155         * gst/indexers/gstindexers.c: (plugin_init):
5156           don't compile fileindex without mmap
5157
5158 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * configure.ac:
5161           reorganize
5162           clean up
5163           document more
5164           remove cruft
5165         * check/Makefile.am:
5166         * docs/gst/Makefile.am:
5167         * examples/helloworld/Makefile.am:
5168         * gst/Makefile.am:
5169         * gst/base/Makefile.am:
5170         * gst/check/Makefile.am:
5171         * gst/elements/Makefile.am:
5172         * gst/indexers/Makefile.am:
5173         * gst/parse/Makefile.am:
5174         * libs/gst/controller/Makefile.am:
5175         * libs/gst/dataprotocol/Makefile.am:
5176         * examples/helloworld/helloworld.c: (event_loop):
5177           compile fixes, though it's not being compiled currently
5178
5179 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5180
5181         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5182           Add some simple tests for the new taglist date API.
5183
5184 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5187         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5188           Beautify 'last-message' output: print 'none' for buffer timestamps
5189           and durations if none is set; improve alignment with next messages.
5190
5191 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5192
5193         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5194         * gst/gstpluginfeature.h:
5195         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5196         * gst/gstregistry.h:
5197         * docs/gst/gstreamer-sections.txt:
5198           Add new API to check plugin feature version requirements.
5199
5200         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5201           Some basic tests for the above.         
5202
5203 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5204
5205         * gst/gststructure.c: (gst_structure_to_string):
5206           guard against NULL printf - happens when for example
5207           a message structure with GstClock gets serialized
5208
5209 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5210
5211         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5212           Fix presumable copy'n'pasto.
5213
5214 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5215
5216         * gst/elements/gstfakesrc.h:
5217         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5218         * gst/elements/gsttypefindelement.c:
5219           fix some signedness
5220         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5221           I wonder if this could actually write +2GB files before
5222
5223 2005-10-13  Andy Wingo  <wingo@pobox.com>
5224
5225         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5226         Fix Timmeke Waymans bug.
5227         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5228         string of the proper length to gst_caps_from_string. There's a
5229         potential for, before this fix, that this could cause someone
5230         connecting over the network to cause a segfault if the payload is
5231         not NUL-terminated.
5232
5233 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5234
5235         * docs/design/draft-push-pull.txt:
5236         * docs/design/part-overview.txt:
5237         * docs/random/TODO-pre-0.9:
5238         * docs/random/old/ChangeLog.gstreamer:
5239         * gst/base/gstpushsrc.c:
5240         * gst/gstclock.c:
5241           fixed typos
5242
5243 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * gst/glib-compat.c: (gst_flags_get_first_value):
5246         * gst/glib-compat.h:
5247         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5248         (gst_value_compare_double), (gst_value_serialize_flags):
5249           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5250           infinite loop
5251
5252 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5253
5254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5255         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5256           fix up debugging
5257         * tools/gst-launch.c: (event_loop):
5258           print out clock nicely
5259
5260 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5261
5262         * docs/gst/gstreamer-sections.txt:
5263         * gst/gsttaglist.h:
5264         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5265         (gst_tag_list_get_date_index):
5266           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5267           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5268
5269 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5270
5271         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5272         (gst_collectpads_chain):
5273         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5274         in CollectData.
5275
5276 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5277
5278         * docs/gst/gstreamer-sections.txt:
5279         * gst/gst.c:
5280         * gst/gsterror.h:
5281         * tools/gst-inspect.c: (main):
5282         * tools/gst-launch.c: (main):
5283         * tools/gst-run.c: (main):
5284         * tools/gst-xmlinspect.c: (main):
5285           fix GOption context leaks
5286           doc fixes
5287
5288 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5289
5290         * gst/gstbus.c:
5291           use HAVE_UNISTD_H
5292         * win32/common/config.h:
5293           update config
5294         * win32/vs6/grammar.dsp:
5295         * win32/vs6/libgstelements.dsp:
5296         * win32/vs6/libgstreamer.dsp:
5297           update vs6 files
5298
5299 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5300
5301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5302         * gst/base/gstbasesrc.c: (gst_base_src_query):
5303           fix more guint64<->gdouble conversions
5304
5305 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5306
5307         * Makefile.am:
5308           add win32-update target
5309         * win32/common/gstconfig.h:
5310         * win32/common/gstenumtypes.c:
5311         * win32/common/gstenumtypes.h:
5312         * win32/common/gstversion.h:
5313           add files that visual studio can't generate
5314
5315 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * Makefile.am:
5318           add a win32-update target
5319         * configure.ac:
5320
5321 2005-10-12  Wim Taymans  <wim@fluendo.com>
5322
5323         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5324         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5325         * gst/gstelement.c: (gst_element_commit_state),
5326         (gst_element_set_state):
5327         Protect flags with proper lock.
5328         unref provided cached clock in dispose.
5329
5330 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5331
5332         * gst/gst.c:
5333         * gst/gstminiobject.h:
5334         * gst/gstpad.h:
5335         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5336           removed unused flags from miniobject
5337           doc fixes
5338
5339 2005-10-12  Wim Taymans  <wim@fluendo.com>
5340
5341         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5342         (gst_file_sink_event), (gst_file_sink_render):
5343         Flush before seeking.
5344
5345 2005-10-12  Andy Wingo  <wingo@pobox.com>
5346
5347         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5348         always been the case.
5349
5350 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5351
5352         * check/gst/gstbin.c: (GST_START_TEST):
5353         * docs/gst/gstreamer-sections.txt:
5354         * gst/base/gstbasesink.c: (gst_base_sink_init):
5355         * gst/base/gstbasesrc.c: (gst_base_src_init),
5356         (gst_base_src_get_range), (gst_base_src_check_get_range),
5357         (gst_base_src_start), (gst_base_src_stop):
5358         * gst/base/gstbasesrc.h:
5359         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5360         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5361         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5362         (bin_bus_handler):
5363         * gst/gstbin.h:
5364         * gst/gstbuffer.h:
5365         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5366         * gst/gstbus.h:
5367         * gst/gstelement.c: (gst_element_is_locked_state),
5368         (gst_element_set_locked_state), (gst_element_commit_state),
5369         (gst_element_set_state):
5370         * gst/gstelement.h:
5371         * gst/gstindex.c: (gst_index_init):
5372         * gst/gstindex.h:
5373         * gst/gstminiobject.h:
5374         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5375         (gst_object_set_parent):
5376         * gst/gstobject.h:
5377         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5378         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5379         * gst/gstpad.h:
5380         * gst/gstpadtemplate.h:
5381         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5382         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5383         * gst/gstpipeline.h:
5384         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5385         (gst_file_index_commit):
5386         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5387         * testsuite/pad/link.c: (gst_test_src_init),
5388         (gst_test_filter_init), (gst_test_sink_init):
5389         * testsuite/states/locked.c: (main):
5390           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5391           moved bitshift from macro to enum definition
5392
5393 2005-10-12  Wim Taymans  <wim@fluendo.com>
5394
5395         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5396         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5397         (gst_file_sink_render):
5398         Some more debugging info.
5399
5400 2005-10-12  Wim Taymans  <wim@fluendo.com>
5401
5402         * docs/design/part-states.txt:
5403         * tools/gst-launch.c: (main):
5404         Some doc updates.
5405         Revert non-intentional change.
5406
5407 2005-10-12  Wim Taymans  <wim@fluendo.com>
5408
5409         * check/gst/gstbin.c: (GST_START_TEST):
5410         * check/gst/gstelement.c: (GST_START_TEST):
5411         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5412         * check/gst/gstghostpad.c: (GST_START_TEST):
5413         * check/gst/gstpipeline.c: (GST_START_TEST):
5414         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5415         * check/states/sinks.c: (GST_START_TEST):
5416         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5417         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5418         (gst_bin_remove_func), (gst_bin_get_state_func),
5419         (gst_bin_recalc_state), (gst_bin_change_state_func),
5420         (bin_bus_handler):
5421         * gst/gstelement.c: (gst_element_get_state_func),
5422         (gst_element_get_state), (gst_element_abort_state),
5423         (gst_element_commit_state), (gst_element_set_state),
5424         (gst_element_change_state), (gst_element_change_state_func):
5425         * gst/gstelement.h:
5426         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5427         (gst_pipeline_provide_clock_func):
5428         * gst/gstutils.c: (gst_element_link_pads_filtered):
5429         * tools/gst-launch.c: (main):
5430         * tools/gst-typefind.c: (main):
5431         Use GstClockTime in _get_state() instead of GTimeVal.
5432         Remove old code in gstutils.c
5433
5434 2005-10-12  Andy Wingo  <wingo@pobox.com>
5435
5436         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5437         removed.
5438
5439         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5440         there is no task. Shouldn't affect any code, as nothing in our
5441         plugins checks this return value.
5442         (gst_pad_stop_task): Also take the stream lock if the pad has no
5443         task. Docs updated.
5444
5445 2005-10-12  Wim Taymans  <wim@fluendo.com>
5446
5447         * gst/gstpad.c: (pre_activate), (post_activate),
5448         (gst_pad_activate_pull), (gst_pad_activate_push):
5449         Cleanup activation code. Reset old state if
5450         activation failed.
5451
5452 2005-10-12  Wim Taymans  <wim@fluendo.com>
5453
5454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5455         (gst_base_sink_change_state):
5456         No need to prerol after receiving EOS.
5457
5458         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5459         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5460         * gst/elements/gstidentity.c: (gst_identity_event):
5461         Print events more verbosely.
5462
5463 2005-10-12  Wim Taymans  <wim@fluendo.com>
5464
5465         * check/Makefile.am:
5466         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5467         * check/states/sinks2.c:
5468         Moved sinks2 testcode in sinks check.
5469
5470         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5471         (gst_bin_remove_func), (gst_bin_recalc_state),
5472         (gst_bin_change_state_func), (bin_bus_handler):
5473         Fix potential race condition when _get_state() iterated over an
5474         ASYNC element right before it posted a state completion.
5475
5476         * gst/gstclock.h:
5477         Do proper cast here.
5478
5479         * gst/gstevent.c: (gst_event_new_newsegment),
5480         (gst_event_parse_newsegment):
5481         A playback rate of 0.0 is not allowed.
5482
5483 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5484
5485         * win32/common/config.h:
5486         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5487         (_trewinddir), (_ttelldir), (_tseekdir):
5488         * win32/common/dirent.h:
5489         * win32/common/gtchar.h:
5490         * win32/common/libgstbase.def:
5491         * win32/common/libgstreamer.def:
5492         * win32/vs6/grammar.dsp:
5493         * win32/vs6/gst_inspect.dsp:
5494         * win32/vs6/gst_launch.dsp:
5495         * win32/vs6/gstreamer.dsw:
5496         * win32/vs6/libgstbase.dsp:
5497         * win32/vs6/libgstelements.dsp:
5498         * win32/vs6/libgstreamer.dsp:
5499           Visual Studio 6 project files, and a new common directory.
5500           Phear.
5501
5502 2005-10-11  Wim Taymans  <wim@fluendo.com>
5503
5504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5505         (gst_base_sink_do_sync), (gst_base_sink_query),
5506         (gst_base_sink_change_state):
5507         * gst/base/gstbasesink.h:
5508         Correctly parse newsegment info.
5509
5510 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5511
5512         * gst/gst.c: (init_post):
5513           split plugin paths correctly
5514
5515 2005-10-11  Wim Taymans  <wim@fluendo.com>
5516
5517         * check/gst/gstevent.c: (GST_START_TEST):
5518         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5519         (gst_base_sink_change_state):
5520         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5521         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5522         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5523         * gst/gstevent.c: (gst_event_new_newsegment),
5524         (gst_event_parse_newsegment):
5525         * gst/gstevent.h:
5526         Added extra flag to newsegment for future API freeze.
5527         Updated check and base elements.
5528
5529 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5530
5531         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5532         (gst_collectpads_add_pad), (gst_collectpads_pop),
5533         (gst_collectpads_event), (gst_collectpads_chain):
5534         * gst/base/gstcollectpads.h: Handle EOS correctly.
5535
5536 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5537
5538         * tools/gst-launch.c: (main):
5539           more null protecting
5540
5541 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * gst/gst-i18n-lib.h:
5544           check for ENABLE_NLS, not GETTEXT_PACKAGE
5545         * gst/gstregistry.c: (gst_registry_add_plugin),
5546         (gst_registry_scan_path_level),
5547         (_gst_registry_remove_cache_plugins):
5548           protect possibly NULL strings
5549         * gst/parse/types.h:
5550           config.h already included before
5551         * tools/gst-inspect.c: (main):
5552           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5553           check for ENABLE_NLS, not GETTEXT_PACKAGE
5554         * tools/gst-launch.c: (main):
5555           check for ENABLE_NLS, not GETTEXT_PACKAGE
5556
5557 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5558
5559         * configure.ac:
5560           if we don't have glib, fail before testing 2.8
5561         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5562           fix a leak, should fix plugins-base testsuite
5563
5564 2005-10-11  Andy Wingo  <wingo@pobox.com>
5565
5566         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5567         take the mode we're going to as an arg. Go head and set the mode
5568         and flushing flags now, so that if the activate function starts a
5569         thread all the flags will be in the right state.
5570         (post_activate): Renamed also. Just handle making sure streaming
5571         finishes for the deactivation case, and setting the deactivated
5572         mode.
5573         (gst_pad_set_active): Complain loudly if deactivation fails.
5574         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5575         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5576         remove the terrible hack.
5577
5578 2005-10-11  Wim Taymans  <wim@fluendo.com>
5579
5580         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5581         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5582         (gst_bin_recalc_state), (gst_bin_change_state_func),
5583         (gst_bin_dispose), (bin_bus_handler):
5584         * gst/gstbin.h:
5585         Prepare to make current EOS message queue more generic.
5586         Fix some typos.
5587
5588         * gst/gstevent.c: (gst_event_new_newsegment),
5589         (gst_event_parse_newsegment):
5590         * gst/gstevent.h:
5591         Rename base to stream_time.
5592
5593         * gst/gstmessage.h:
5594         Fix typo in docs.
5595
5596 2005-10-11  Wim Taymans  <wim@fluendo.com>
5597
5598         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5599         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5600         (gst_bin_change_state_func), (bin_bus_handler):
5601         * gst/gstbin.h:
5602         Work on proper clock selection.
5603
5604 2005-10-11  Edward Hervey  <edward@fluendo.com>
5605
5606         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5607         * libs/gst/controller/gstcontroller.h:
5608         Added GList* version of _remove_properties() in order to be able to wrap
5609         it in bindings.
5610
5611 2005-10-11  Wim Taymans  <wim@fluendo.com>
5612
5613         * docs/design/part-states.txt:
5614         Some more docs.
5615
5616         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5617         (gst_bin_change_state_func), (bin_bus_handler):
5618         Doc updates. Don't distribute the same clock over and over again.
5619
5620         * gst/gstclock.c:
5621         * gst/gstclock.h:
5622         Doc updates.
5623
5624         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5625         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5626         (gst_pad_send_event):
5627         * gst/gstpad.h:
5628         Make probe emission threadsafe again.
5629         Register quarks and move _get_name() from utils.
5630         Doc updates.
5631
5632         * gst/gstpipeline.c: (gst_pipeline_class_init),
5633         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5634         Only redistribute the clock of it changed.
5635
5636         * gst/gstsystemclock.h:
5637         Doc updates. 
5638
5639         * gst/gstutils.c:
5640         * gst/gstutils.h:
5641         Moved the _flow_get_name() to GstPad.
5642
5643 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5644
5645         * check/gst-libs/gdp.c: (GST_START_TEST):
5646         * check/gst/gstcaps.c: (GST_START_TEST):
5647         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5648         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5649         (gst_dp_packet_from_caps):
5650           fix more valgrind warnings before turning up the heat
5651
5652 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5653
5654         * gst/parse/grammar.y:
5655           some cleanup before the hacking
5656
5657 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5658
5659         * gst/base/gstbasesrc.c: (gst_base_src_query):
5660           use conversions
5661         * gst/gstutils.c: (gst_guint64_to_gdouble),
5662         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5663         * gst/gstutils.h:
5664           externalize, basesrc uses it
5665           obviously the implementation needs testing
5666
5667 2005-10-10  Wim Taymans  <wim@fluendo.com>
5668
5669         * tests/sched/Makefile.am:
5670         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5671         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5672
5673 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5674
5675         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5676           apparently converting from guint64 to double is not implemented
5677           on MSVC
5678
5679 2005-10-10  Wim Taymans  <wim@fluendo.com>
5680
5681         * check/Makefile.am:
5682         * check/generic/states.c: (GST_START_TEST):
5683         * check/gst/gstbin.c: (GST_START_TEST):
5684         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5685         * check/states/sinks.c: (GST_START_TEST):
5686         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5687         (main):
5688         Check fixes, use API as stated in design docs, remove hacks.
5689
5690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5691         (gst_base_sink_change_state):
5692         Catch stopping our task while we're shutting down.
5693
5694         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5695         (gst_bin_remove_func), (gst_bin_get_state_func),
5696         (gst_bin_recalc_state), (gst_bin_change_state_func),
5697         (bin_bus_handler):
5698         * gst/gstbin.h:
5699         * gst/gstelement.c: (gst_element_init),
5700         (gst_element_get_state_func), (gst_element_abort_state),
5701         (gst_element_commit_state), (gst_element_lost_state),
5702         (gst_element_set_state), (gst_element_change_state),
5703         (gst_element_change_state_func):
5704         * gst/gstelement.h:
5705         New state change algorithm (see #318116)
5706
5707         * gst/gstpipeline.c: (gst_pipeline_class_init),
5708         (gst_pipeline_init), (gst_pipeline_set_property),
5709         (gst_pipeline_get_property), (do_pipeline_seek),
5710         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5711         * gst/gstpipeline.h:
5712         Remove crude state change hacks.
5713
5714         * gst/gstutils.h:
5715         Remove crude hacks.
5716
5717         * tools/gst-launch.c: (main):
5718         Fixes for state change. Needs some more work to fully use the
5719         new stuff.
5720
5721 2005-10-10  Andy Wingo  <wingo@pobox.com>
5722
5723         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5724
5725         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5726         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5727         issue.
5728
5729 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5730
5731         * gst/gstiterator.c: (gst_iterator_new):
5732           Fix my previous commit: GTypes passed to gst_iterator_new()
5733           can be fundamental types.
5734
5735 2005-10-10  Wim Taymans  <wim@fluendo.com>
5736
5737         * gst/gstelement.c: (gst_element_iterate_pad_list),
5738         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5739         (gst_element_iterate_sink_pads):
5740         Use src/sink pads lists for the respective iterators instead
5741         of filtering.
5742
5743 2005-10-10  Andy Wingo  <wingo@pobox.com>
5744
5745         Merged in popt removal + GOption addition patch from Ronald, bug
5746         #169772.
5747
5748         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5749         GstElement macros around, remove popt-related symbols, add goption
5750         stuff.
5751
5752         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5753         
5754         * docs/gst/Makefile.am:
5755         * docs/libs/Makefile.am: No POPT_CFLAGS.
5756         
5757         * examples/manual/Makefile.am:
5758         * docs/manual/basics-init.xml: Doc updates with an example.
5759         
5760         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5761         (gst_init), (parse_one_option), (parse_goption_arg):
5762         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5763         bit of hand merging and debugging to get the GOption stuff working
5764         tho.
5765         
5766         * tests/Makefile.am:
5767         * tools/Makefile.am:
5768         * tools/gst-inspect.c: (main):
5769         * tools/gst-launch.c: (main):
5770         * tools/gst-run.c: (main):
5771         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5772
5773 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5774
5775         * gst/gstiterator.c: (gst_iterator_new):
5776           Add assertions to make sure passed GType is likely to really
5777           be a GType (as the compiler won't catch it if the size and
5778           GType arguments get mixed up, see #318447).
5779
5780 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5781
5782         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5783
5784         * gst/gstbin.c: (gst_bin_iterate_sorted):
5785           Pass GType and size arguments to gst_iterator_new() in the right
5786           order (maybe we should make _new() take the GType as first argument
5787           just like _new_list()?) (#318447).
5788           
5789
5790 2005-10-10  Wim Taymans  <wim@fluendo.com>
5791
5792         * gst/gstelement.c: (gst_element_finalize):
5793         And free the GStaticRecMutex too
5794
5795 2005-10-10  Andy Wingo  <wingo@pobox.com>
5796
5797         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5798         Allocate and free the mutex properly.
5799
5800         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5801         New macros.
5802         (GstElement): The state_lock is now recursive. Rebuild your
5803         plugins, suckers. Old macros adapted.
5804
5805         * docs/gst/gstreamer-sections.txt: Doc updates.
5806
5807         * gst/gstutils.h:
5808         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5809         (g_static_rec_cond_wait): Ported from state changes patch, while
5810         we wait on bug #317802 to be solved in a well-distributed GLib.
5811
5812         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5813         gst_element_change_state, variable name changes.
5814         (gst_element_change_state): Split out of gst_element_set_state in
5815         preparation for the state change merge. Doesn't pay attention to
5816         the 'transition' argument.
5817         (gst_element_set_state): Updates, hopefully purely cosmetic.
5818         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5819         state change patch.
5820         (gst_element_get_state_func): Renamed from get_state, cosmetic
5821         changes.
5822
5823 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5824
5825         * gst/elements/gstelements.c:
5826         * win32/GStreamer.vcproj:
5827         * win32/config.h:
5828         * win32/dirent.c: (_tseekdir):
5829         * win32/gst-inspect.vcproj:
5830         * win32/gst-launch.vcproj:
5831         * win32/gstconfig.h:
5832         * win32/gstelements.vcproj:
5833         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5834         * win32/gstreamer.def:
5835         * win32/msvc71.sln:
5836           updates for the win32 build (patch from Sebastien Moutte)
5837
5838 2005-10-10  Andy Wingo  <wingo@pobox.com>
5839
5840         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5841         gst_bin_get_state, cleaned up (but no logic changes).
5842         (bin_element_is_sink): Comment updates.
5843         (sink_iterator_filter): Remove needless cast.
5844         (gst_bin_iterate_sinks): Doc update.
5845         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5846         cleaned up (but no logic changes).
5847
5848         * check/states/sinks.c (test_src_sink): Cleanups from the state
5849         change patch.
5850         (test_livesrc_sink): Sync on the state.
5851
5852         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5853         the state change patch.
5854
5855         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5856         change patch.
5857
5858         * check/gst/gstbin.c: Merge in some style fixes and additional
5859         checks from Wim's state change patch.
5860
5861 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5862
5863         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5864         (gst_type_find_helper):
5865           Check whether we have the requested data already in our list of
5866           cached buffers before pulling a new buffer; also make the buffer
5867           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5868
5869 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5870
5871         * gst/gstcaps.c:
5872         * gst/gstevent.c:
5873           doc updates
5874         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5875           don't use long long, it's not portable.  Replacing with
5876           gint64 seems to work; let's hope no skeletons fall out of the closet.
5877
5878 2005-10-10  Andy Wingo  <wingo@pobox.com>
5879
5880         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5881
5882 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5883
5884         * docs/gst/gstreamer-sections.txt:
5885         * gst/gstevent.c:
5886         * gst/gstevent.h:
5887         * gst/gstinfo.c:
5888         * gst/gstinfo.h:
5889         * gst/gstmessage.c: (gst_message_parse_state_changed):
5890         * gst/gstpad.c:
5891         * gst/gstpad.h:
5892           more docs, fix compilation
5893
5894 2005-10-09  Philippe Khalaf <burger@speedy.org>
5895         * gst/gstmessage.c:
5896           Fixed a few forgotten variables on previous commit
5897
5898 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5901           Fix evil typefind crasher: getrange() might return a short
5902           buffer at the end of a file, but gst_type_find_peek() must
5903           either return the full data as requested or NULL, but
5904           never a short buffer.
5905
5906 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5907
5908         * gst/gstmessage.c: (gst_message_new_state_changed),
5909         (gst_message_parse_state_changed):
5910         * gst/gstmessage.h:
5911           don't use "new", it's a C++ keyword
5912
5913 2005-10-08  Wim Taymans  <wim@fluendo.com>
5914
5915         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5916         * gst/gstelement.c: (gst_element_post_message):
5917         * gst/gstpipeline.c: (gst_pipeline_change_state):
5918         Small docs and debug updates.
5919
5920 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5921
5922         * docs/gst/gstreamer-sections.txt:
5923         * gst/gstelementfactory.c:
5924         * gst/gstevent.c:
5925         * gst/gsttaglist.c:
5926           more docs
5927
5928 2005-10-08  Wim Taymans  <wim@fluendo.com>
5929
5930         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5931         (gst_bin_dispose), (bin_bus_handler):
5932         Fix typos, add comments.
5933         Clear EOS list when going to PAUSED from any direction and do it
5934         in a threadsafe way.
5935         Get base time in a threadsafe way too.
5936         Fix confusing debug in the change_state function.
5937         Various other small cleanups.
5938         
5939         * gst/gstelement.c: (gst_element_post_message):
5940         Fix very verbose bus posting code.
5941
5942         * gst/gstpipeline.c: (gst_pipeline_class_init),
5943         (gst_pipeline_set_property), (gst_pipeline_get_property),
5944         (gst_pipeline_change_state):
5945         Small ARG_ -> PROP_ cleanup
5946
5947 2005-10-08  Wim Taymans  <wim@fluendo.com>
5948
5949         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5950         Do a less CPU demanding EOS check because we can.
5951
5952 2005-10-08  Wim Taymans  <wim@fluendo.com>
5953
5954         * libs/gst/dataprotocol/dataprotocol.c:
5955         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5956         (gst_dp_packet_from_event):
5957         * libs/gst/dataprotocol/dataprotocol.h:
5958         * libs/gst/dataprotocol/dp-private.h:
5959         It's about time we bump the version number.
5960         Since event types don't fit in the guint8 anymore describing
5961         the payload type, make payload type 16 bits wide.
5962
5963 2005-10-08  Wim Taymans  <wim@fluendo.com>
5964
5965         * docs/design/part-TODO.txt:
5966         * docs/design/part-clocks.txt:
5967         * docs/design/part-events.txt:
5968         * docs/design/part-gstbin.txt:
5969         * docs/design/part-gstelement.txt:
5970         * docs/design/part-gstpipeline.txt:
5971         * docs/design/part-live-source.txt:
5972         * docs/design/part-messages.txt:
5973         * docs/design/part-overview.txt:
5974         * docs/design/part-states.txt:
5975         Many doc updates.
5976
5977 2005-10-08  Wim Taymans  <wim@fluendo.com>
5978
5979         * gst/gstevent.c:
5980         * gst/gstevent.h:
5981         Fix event quark registration.
5982         Add some space between events so we can insert them in the
5983         right groups.
5984
5985 2005-10-08  Wim Taymans  <wim@fluendo.com>
5986
5987         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5988         (gst_base_sink_handle_buffer):
5989         Better log message.
5990
5991         * gst/gstbus.h:
5992         * gst/gstelement.h:
5993         More docs.
5994
5995         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5996         (gst_queue_set_property), (gst_queue_get_property):
5997         * gst/gstqueue.h:
5998         Remove old unused properties.
5999
6000 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6001         * docs/gst/gstreamer-sections.txt:
6002         * gst/gstmessage.c:
6003         * gst/gstmessage.h:
6004         * gst/gstminiobject.c:
6005         * gst/gstminiobject.h:
6006         * gst/gstobject.h:
6007         * gst/gstpad.h:
6008         * gst/gstutils.h:
6009           lots of new docs and doc fixes
6010
6011 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6012
6013         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6014         * gst/gstplugin.h:
6015         * gst/gstregistry.c: (gst_registry_lookup_locked),
6016         (gst_registry_scan_path_level):
6017         * gst/gstregistryxml.c: (load_plugin):
6018           Only ever load one plugin for a given plugin basename.
6019           This ensures correct overriding of GST_PLUGIN_PATH over
6020           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6021           system installed plugins.
6022
6023 2005-10-08  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6026         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6027         Prepare for doing QOS.
6028
6029 2005-10-08  Wim Taymans  <wim@fluendo.com>
6030
6031         * check/gst/gstbin.c: (GST_START_TEST):
6032         * check/pipelines/cleanup.c: (GST_START_TEST):
6033         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6034         Allow new clock message too.
6035
6036 2005-10-08  Wim Taymans  <wim@fluendo.com>
6037
6038         * gst/gstmessage.c: (gst_message_new_error),
6039         (gst_message_new_warning), (gst_message_new_tag),
6040         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6041         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6042         (gst_message_new_segment_start), (gst_message_new_segment_done),
6043         (gst_message_parse_state_changed),
6044         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6045         (gst_message_parse_new_clock):
6046         * gst/gstmessage.h:
6047         Also carry the clock in question.
6048
6049 2005-10-08  Wim Taymans  <wim@fluendo.com>
6050
6051         * gst/gstmessage.c: (gst_message_new_custom),
6052         (gst_message_new_eos), (gst_message_new_error),
6053         (gst_message_new_warning), (gst_message_new_tag),
6054         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6055         (gst_message_new_new_clock), (gst_message_new_segment_start),
6056         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6057         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6058         * gst/gstmessage.h:
6059         Clean up.
6060         Added clock related messages.
6061
6062         * gst/gstpipeline.c: (gst_pipeline_change_state):
6063         Post message when the clock changed.
6064
6065         * tools/gst-launch.c: (event_loop):
6066         Print new clock.
6067
6068 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         * tools/gst-inspect.c: (print_element_properties_info):
6071           Can't pass NULL strings to g_print() on windows.
6072
6073 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * docs/Makefile.am:
6076         * docs/gst/Makefile.am:
6077         * docs/gst/gstreamer-docs.sgml:
6078         * docs/gst/running.xml:
6079         * docs/version.entities.in:
6080           add a chapter on running GStreamer.
6081           document GST_DEBUG and GST_PLUGIN* env vars
6082
6083 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6084
6085         * Makefile.am:
6086           remove include dir
6087         * configure.ac:
6088           remove PLUGINS_BUILDDIR stuff
6089         * gst/gst.c: (init_post):
6090           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6091         * idiottest.mak:
6092           remove, it was condescending and not needed
6093
6094 2005-10-08  Wim Taymans  <wim@fluendo.com>
6095
6096         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6097         (gst_base_sink_handle_object), (gst_base_sink_event),
6098         (gst_base_sink_wait), (gst_base_sink_handle_event),
6099         (gst_base_sink_change_state):
6100         * gst/base/gstbasesink.h:
6101         Repost EOS message while going to PLAYING if still EOS.
6102         Make sure that when receiving a FLUSH_START we don't attempt
6103         to sync on the clock anymore.
6104
6105 2005-10-08  Wim Taymans  <wim@fluendo.com>
6106
6107         * tools/gst-launch.c: (event_loop):
6108         Better message printout.
6109
6110 2005-10-08  Wim Taymans  <wim@fluendo.com>
6111
6112         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6113         (gst_bin_child_proxy_get_children_count):
6114         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6115         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6116         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6117         (gst_child_proxy_set_valist):
6118         * gst/parse/grammar.y:
6119         Make ChildProxy threadsafe and fix mem leaks.
6120
6121 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6122
6123         * gst/gst.c: (init_post):
6124           debug the GST_PLUGIN_ env vars
6125
6126 2005-10-08  Wim Taymans  <wim@fluendo.com>
6127
6128         * check/gst/gstbin.c: (GST_START_TEST):
6129         * check/gst/gstmessage.c: (GST_START_TEST):
6130         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6131         * gst/gstelement.c: (gst_element_commit_state),
6132         (gst_element_lost_state):
6133         * gst/gstmessage.c: (gst_message_new_state_changed),
6134         (gst_message_parse_state_changed):
6135         * gst/gstmessage.h:
6136         * tools/gst-launch.c: (event_loop):
6137         Added extra field to STATE_CHANGE message with the pending
6138         state, which will be different from the new state soon.
6139
6140 2005-10-08  Wim Taymans  <wim@fluendo.com>
6141
6142         * gst/gstbus.c: (gst_bus_pop):
6143         * gst/gstclock.c:
6144         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6145         Small cleanups and doc updates.
6146
6147 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6148
6149         * gst/gst.c: (init_pre):
6150         * gst/gstbin.c: (gst_bin_add_func):
6151           log distributing clocks and base time
6152         * gst/gstregistry.c: (gst_registry_add_plugin),
6153         (gst_registry_scan_path_level), (gst_registry_scan_path):
6154           clean up the debugging output a little
6155         * gst/gstutils.c: (gst_element_state_get_name):
6156           warn about a memleak (I've actually seen this be used, though
6157           it was probably a bug)
6158
6159 2005-10-07  Wim Taymans  <wim@fluendo.com>
6160
6161         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6162         (gst_base_src_init), (gst_base_src_default_newsegment),
6163         (gst_base_src_newsegment), (gst_base_src_do_seek),
6164         (gst_base_src_loop), (gst_base_src_start):
6165         * gst/base/gstbasesrc.h:
6166         Make the newsegment event customizable by subclasses.
6167
6168 2005-10-07  Wim Taymans  <wim@fluendo.com>
6169
6170         * gst/gstevent.c: (gst_event_new_buffersize),
6171         (gst_event_parse_buffersize):
6172         * gst/gstevent.h:
6173         New event for future idea.
6174
6175 2005-10-07  Andy Wingo  <wingo@pobox.com>
6176
6177         * gst/gstelement.c (gst_element_post_message): Doc update.
6178
6179         * docs/gst/gstreamer-sections.txt: Update.
6180
6181         * gst/gstmessage.c (gst_message_new_application): Made into a
6182         function like honest API calls.
6183         (gst_message_new_element): New message type.
6184
6185         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6186
6187         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6188         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6189         times.
6190
6191         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6192         NO_PREROLL from gst_element_change_state to fall through.
6193
6194 2005-10-07  Wim Taymans  <wim@fluendo.com>
6195
6196         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6197         (gst_ghost_pad_do_activate_push):
6198         Activating a ghostpad with no internal pad in push mode
6199         is ok.
6200
6201 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6202
6203         * gst/gstobject.h:
6204           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6205           Fixes compilation on Windows.
6206
6207 2005-10-07  Michael Smith <msmith@fluendo.com>
6208
6209         * tools/gst-inspect.c:
6210           Print out feature and plugin count at the end when printing out
6211           all features.
6212
6213 2005-10-04  Michael Smith <msmith@fluendo.com>
6214
6215         * gst/gsterror.c: (_gst_stream_errors_init):
6216           Add another error string used in a few existing plugins.
6217
6218         * gst/gstplugin.c:
6219         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6220         * tools/gst-inspect.c: (print_element_info):
6221           When a feature disappears from a plugin (and the feature exists in
6222           the cached registry file), things went horribly wrong. This isn't a
6223           complete fix, we should actually be removing the 'missing' features
6224           from the features list when we load the actual plugin. That's not
6225           yet implemented. 
6226
6227 2005-10-04  Johan Dahlin  <johan@gnome.org>
6228
6229         * check/gst/gstiterator.c: (GST_START_TEST):
6230         * gst/gstbin.c: (gst_bin_iterate_elements),
6231         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6232         * gst/gstelement.c: (gst_element_iterate_pads):
6233         * gst/gstformat.c: (gst_format_iterate_definitions):
6234         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6235         (gst_iterator_new_list), (gst_iterator_filter):
6236         * gst/gstiterator.h:
6237         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6238         Add a GType to GstIterator, update callsites and tests.
6239
6240 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6241
6242         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6243           give events a chance to be handled by event probes when the pad
6244           is not linked
6245
6246 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6247
6248         * gst/gstevent.c: (gst_event_type_get_name),
6249         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6250         * gst/gstevent.h:
6251           add string representations for event types
6252
6253 2005-10-06  Wim Taymans  <wim@fluendo.com>
6254
6255         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6256         Don't use NULL pointers.
6257
6258 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6259
6260         * gst/gst_private.h:
6261         * gst/gstbus.c:
6262         * gst/gstelement.c:
6263         * gst/gstinfo.c:
6264         * gst/gstpluginfeature.c:
6265           widen the debug category in output to fit the biggest one we have
6266           add a bus category and use it
6267           play with the colors
6268           fix up some categories
6269
6270 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6271
6272         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6273           add push activation of sink ghost pads.
6274           Andye, please verify
6275
6276 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6277
6278         * gst/gstutils.c: (gst_element_link_pads):
6279           fix a bug in the case where neither element has a pad
6280         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6281           add a test for that case
6282
6283 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6286           emit have-data before checking for peers.  This allows
6287           for probe handlers to connect elements.  This helps autopluggers.
6288         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6289         (gst_pad_suite):
6290           add six checks, linked/unlinked with no/true/false probe
6291
6292 2005-10-04  Wim Taymans  <wim@fluendo.com>
6293
6294         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6295         (gst_fake_sink_event), (gst_fake_sink_preroll),
6296         (gst_fake_sink_render), (gst_fake_sink_change_state):
6297         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6298         (gst_fake_src_get_property), (gst_fake_src_create),
6299         (gst_fake_src_stop):
6300         * gst/elements/gstidentity.c: (gst_identity_stop):
6301         Protect last_message with lock.
6302
6303 2005-10-04  Edward Hervey  <edward@fluendo.com>
6304
6305         * gst/gstformat.h: 
6306         Added precision in the comments for GST_FORMAT_DEFAULT
6307
6308 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6309
6310         * tools/gst-launch.c: (main):
6311           Don't try to run erroneous pipelines.
6312
6313 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6314
6315         * gst/gstbus.c: We don't need this header.
6316
6317 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6318
6319         * configure.ac:
6320           back to development
6321
6322 === release 0.9.3 ===
6323
6324 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6325
6326         * README:
6327         * configure.ac:
6328           Releasing 0.9.3, "Unregistered"
6329
6330 2005-10-03  Andy Wingo  <wingo@pobox.com>
6331
6332         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6333         whereby calling a pad's activatepush() function can start a thread
6334         that starts to push or pull before the pad gets the FLUSHING flag
6335         unset. Hack around it by holding the stream lock until the flag is
6336         set. Need to replace this with a proper solution. Together with
6337         the ghost pad fixes, this fixes mp3 playing/tagreading.
6338
6339         * docs/design/part-gstghostpad.txt: Add a note about activation of
6340         proxy pads outside of ghost pads.
6341
6342         * gst/gstghostpad.c: Implement the ghost pad activation design.
6343
6344 2005-10-02  Andy Wingo  <wingo@pobox.com>
6345
6346         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6347         It is volatile, after all.
6348
6349         * docs/design/part-gstghostpad.txt: Flesh out activation with
6350         ghost pads.
6351
6352         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6353         GST_DEBUG_FUNCPTR.
6354
6355 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6356
6357         * configure.ac:
6358           Fix (unused) AM_CONDITIONAL tests.
6359
6360 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6361
6362         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6363
6364         * gst/gstutils.c: (gst_pad_query_convert):
6365           Add assertion that makes sure src_val is >=0, just like
6366           gst_query_new_convert() has. (#315895)
6367
6368 2005-09-30  Edward Hervey  <edward@fluendo.com>
6369
6370         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6371         Let's not iterate pads we're not interested in, it avoids getting 
6372         sky-high refcounts on sinkpad.
6373
6374 2005-09-30  Wim Taymans  <wim@fluendo.com>
6375
6376         * gst/gstelement.c: (gst_element_set_state),
6377         (gst_element_change_state):
6378         Small tweak, element in ASYNC remains ASYNC.
6379
6380 2005-09-30  Wim Taymans  <wim@fluendo.com>
6381
6382         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6383         Only error is an error.
6384
6385         * gst/gstbin.c: (gst_bin_change_state):
6386         Better debugging.
6387
6388         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6389         Also call pad_block in pad alloc.
6390
6391         * gst/gstutils.c: (gst_flow_get_name):
6392         Better debugging.
6393
6394 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6395
6396         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6397         (gst_base_src_get_range):
6398           Fix documentation typos. Add some more debug info.
6399
6400 2005-09-29  David Schleef  <ds@schleef.org>
6401
6402         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6403           more end-user friendly.
6404         * tools/gst-inspect.c: (main): Check if command-line argument is
6405           a file and attempt to load that file as a plugin.
6406
6407 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6408
6409         * check/gst/gstbin.c:
6410         * check/states/sinks.c:
6411           fix tests for the new warning
6412         * check/gst/gstpipeline.c:
6413           add a test for pipeline and bus interaction
6414         * gst/gstelement.c:
6415           elements should be NULL if they get disposed; add a warning if not
6416
6417 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6418
6419         * gst/gstobject.c:
6420           for 2.6 refcounting, make debug log more correct by printing
6421           the actual refcounts at the time of swap (Wim)
6422
6423 2005-09-29  Andy Wingo  <wingo@pobox.com>
6424
6425         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6426         removes signal watches previously added via
6427         gst_bus_add_signal_watch.
6428         (gst_bus_add_signal_watch): Don't return the source id, just store
6429         it on the bus if there wasn't an id already.
6430
6431         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6432         add_signal_watch and remove_signal_watch.
6433
6434 2005-09-29  Edward Hervey  <edward@fluendo.com>
6435
6436         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6437         Better if we actually iterate the list :)
6438
6439 2005-09-29  Wim Taymans  <wim@fluendo.com>
6440
6441         * check/gst/gstbin.c: (GST_START_TEST):
6442         Change for new bus API.
6443
6444         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6445         (send_messages), (GST_START_TEST), (gstbus_suite):
6446         Change for new bus signal API.
6447
6448         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6449         (gst_bus_source_prepare), (gst_bus_source_check),
6450         (gst_bus_create_watch), (gst_bus_add_watch_full),
6451         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6452         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6453         * gst/gstbus.h:
6454         Remove support for multiple GSources operating on different
6455         message types as it is too complex and unneeded when using
6456         signals.
6457         Added support for receiving signals from the bus.
6458
6459 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6460
6461         * docs/libs/tmpl/gstdataprotocol.sgml:
6462         * docs/manual/advanced-dataaccess.xml:
6463         * gst/elements/gstcapsfilter.c:
6464         * gst/gstutils.c:
6465           rename filter-caps to caps property
6466
6467 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6468
6469         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6470           More robust fraction string parsing.
6471
6472         * docs/pwg/appendix-porting.xml:
6473           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6474
6475 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6476
6477         * gst/gstcaps.c: (gst_caps_do_simplify):
6478           Thou shalt not free a structure and then continue using it
6479           in the next loop iteration.
6480
6481         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6482         (gst_caps_suite):
6483           Add test case for caps simplification.
6484
6485 2005-09-29  Wim Taymans  <wim@fluendo.com>
6486
6487         * check/gst/gstbin.c: (GST_START_TEST):
6488         Oops.
6489
6490 2005-09-29  Wim Taymans  <wim@fluendo.com>
6491
6492         * check/gst/gstbin.c: (GST_START_TEST):
6493         Add bus to bin.
6494
6495         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6496         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6497         (find_element), (gst_bin_sort_iterator_next),
6498         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6499         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6500         (gst_bin_change_state), (gst_bin_dispose):
6501         A bin does not have a bus, it gets the bus from the parent.
6502
6503         * gst/gstelement.c: (gst_element_requires_clock),
6504         (gst_element_provides_clock), (gst_element_is_indexable),
6505         (gst_element_is_locked_state), (gst_element_change_state),
6506         (gst_element_set_bus_func):
6507         Small cleanups.
6508
6509         * gst/gstpipeline.c: (gst_pipeline_class_init),
6510         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6511         The pipeline provides a bus.
6512
6513 2005-09-28  Johan Dahlin  <johan@gnome.org>
6514
6515         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6516         gst_structure_get_enum instead of gst_structure_get_int
6517
6518         * gst/gststructure.c (gst_structure_get_enum): Impl.
6519
6520         * gst/gststructure.h (gst_structure_get_enum): Add
6521
6522         * docs/gst/gstreamer-sections.txt: Ditto
6523
6524         * gst/gstmessage.c (gst_message_new_state_changed): Use
6525         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6526         which does introspection.
6527         Reviewed by Christian Schaller
6528
6529 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6530
6531         * gst/gstinfo.c: (gst_debug_log_default):
6532           don't do dummy g_strdup()s
6533         * libs/gst/controller/gstcontroller.c:
6534         (on_object_controlled_property_changed),
6535         (gst_controlled_property_new), (gst_controller_new_valist),
6536         (gst_controller_new_list),
6537         (gst_controller_remove_properties_valist), (gst_controller_set),
6538         (gst_controller_get), (gst_controller_sync_values),
6539         (gst_controller_get_value_array), (_gst_controller_class_init),
6540         (gst_controller_get_type):
6541         * libs/gst/controller/gstcontroller.h:
6542         * libs/gst/controller/gstinterpolation.c:
6543         (gst_controlled_property_find_timed_value_node):
6544           convert // to /**/ comments
6545
6546 2005-09-28  Wim Taymans  <wim@fluendo.com>
6547
6548         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6549         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6550         (gst_bus_sync_signal_handler):
6551         * gst/gstbus.h:
6552         Added async-message and sync-message signals to the bus.
6553         Added helper BusFunc to emit signals for all posted messages.
6554
6555         * gst/gstmessage.c: (gst_message_type_get_name),
6556         (gst_message_type_to_quark), (gst_message_get_type):
6557         * gst/gstmessage.h:
6558         Register quarks for message names.
6559
6560 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6561
6562         * docs/libs/gstreamer-libs-sections.txt:
6563         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6564         (gst_controller_new_list):
6565         * libs/gst/controller/gstcontroller.h:
6566           added another constructor for language bindings
6567
6568 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6571           add another check
6572         * gst/gstbus.c:
6573           add some doc
6574         * gst/gstinfo.c: (_gst_debug_init):
6575           slightly more readable color for refcount debugging
6576
6577 2005-09-28  Wim Taymans  <wim@fluendo.com>
6578
6579         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6580         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6581         (find_element), (gst_bin_sort_iterator_next),
6582         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6583         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6584         (gst_bin_change_state), (gst_bin_dispose):
6585         Small doc fixes. get_clock -> provide_clock.
6586
6587         * gst/gstelement.c: (gst_element_class_init),
6588         (gst_element_provides_clock), (gst_element_provide_clock),
6589         (gst_element_get_clock), (gst_element_commit_state),
6590         (gst_element_lost_state):
6591         * gst/gstelement.h:
6592         Make get/set_clock() symetric. Add provide_clock vmethod since
6593         that is actually what this function does.
6594
6595         * gst/gstpipeline.c: (gst_pipeline_class_init),
6596         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6597         (gst_pipeline_get_clock):
6598         get_clock -> provide_clock.
6599
6600 2005-09-28  Andy Wingo  <wingo@pobox.com>
6601
6602         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6603         lieu of real docs...
6604
6605         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6606
6607 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6608
6609         * gst/elements/gstcapsfilter.c:
6610         * gst/elements/gstfakesink.c:
6611         * gst/elements/gstfakesrc.c:
6612         * gst/elements/gstfdsink.c:
6613         * gst/elements/gstfdsrc.c:
6614         * gst/elements/gstfilesink.c:
6615         * gst/elements/gstfilesrc.c:
6616         * gst/elements/gstidentity.c:
6617         * gst/elements/gsttee.c:
6618         * gst/elements/gsttypefindelement.c:
6619           Make element details static.
6620
6621 2005-09-28  Wim Taymans  <wim@fluendo.com>
6622
6623         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6624         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6625         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6626         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6627         (gst_bin_change_state), (gst_bin_dispose):
6628         Some documentation updates.
6629         Clean up dispose handlers.
6630
6631         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6632         * gst/gstpad.c: (gst_pad_dispose):
6633         Clean up dispose handler.
6634
6635         * gst/gstpipeline.c: (gst_pipeline_change_state):
6636         Removed spurious UNLOCK.
6637
6638 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6639
6640         * docs/gst/gstreamer-sections.txt:
6641         * gst/base/gstbasesrc.h:
6642         * gst/gstelement.h:
6643         * gst/gstevent.h:
6644         * gst/gstobject.h:
6645         * gst/gstpad.h:
6646         * gst/gstpipeline.c:
6647         * gst/gstpipeline.h:
6648         * gst/gstutils.h:
6649         * gst/gstxml.h:
6650           added two new functions to the docs
6651                 documents all undocumented GstXXXFlags
6652                 completed some incomplete docs 
6653
6654 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * gst/gstbin.c: (gst_bin_dispose):
6657         * gst/gstelement.c: (gst_element_dispose):
6658           remove now useless and leaky resurrection code in dispose
6659         * gst/base/gstbasesrc.c: (gst_base_src_init):
6660         * gst/gstelementfactory.c: (gst_element_factory_create):
6661         * gst/gstobject.c: (gst_object_set_parent):
6662           add some debugging
6663
6664 2005-09-27  Wim Taymans  <wim@fluendo.com>
6665
6666         * docs/design/part-TODO.txt:
6667         Update TODO.
6668
6669         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6670         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6671         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6672         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6673         (gst_bin_change_state):
6674         * gst/gstelement.h:
6675         Remove element variable, we keep element info in the iterator now.
6676
6677 2005-09-27  Andy Wingo  <wingo@pobox.com>
6678
6679         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6680         values.
6681
6682 2005-09-27  Wim Taymans  <wim@fluendo.com>
6683
6684         * check/gst/gstbin.c: (GST_START_TEST):
6685         Enable check that works now.
6686
6687         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6688         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6689         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6690         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6691         (gst_bin_change_state):
6692         * gst/gstbin.h:
6693         Redid the state change algorithm using a topological sort algo.
6694         Handles all cases correctly.
6695         Exposed iterator for state change order.
6696
6697         * gst/gstelement.h:
6698         Temp storage for state changes. Need to get rid of this soon.
6699
6700 2005-09-27  Wim Taymans  <wim@fluendo.com>
6701
6702         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6703         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6704         (link_fold_func), (gst_pad_proxy_setcaps):
6705         Leak fixes, the fold functions need to unref the passed object and
6706         _get_parent_*() returns ref to parent.
6707
6708 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * check/gst/gstbuffer.c: (test_make_writable):
6711           Plug leak in test case and fix 'make check-valgrind'
6712
6713 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * gst/gstbuffer.c: (gst_subbuffer_init):
6716           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6717           works correctly in all circumstances (we could have just copied
6718           the parent buffer's readonly flag, but conceptually it seems
6719           cleaner to mark all subbuffers as read-only). (based on patch
6720           by Alessandro Decina, #314710).
6721         
6722         * check/gst/gstbuffer.c: (create_read_only_buffer),
6723         (test_make_writable), (test_subbuffer_make_writable),
6724         (gst_test_suite):
6725           Add some tests for gst_buffer_make_writable().
6726
6727 2005-09-27  Wim Taymans  <wim@fluendo.com>
6728
6729         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6730         use gst_object_has_ancestor().
6731
6732         * gst/gstobject.c: (gst_object_has_ancestor):
6733         * gst/gstobject.h:
6734         gst_object_has_ancestor() copied from gstbin.c as it is a
6735         usefull function.
6736
6737         * tests/instantiate/create.c: (create_all_elements):
6738         * tests/lat.c: (handoff_src), (handoff_sink):
6739         * tests/sched/runxml.c: (main):
6740         * tests/seeking/seeking1.c: (main):
6741         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6742         (main):
6743         Fix compilation of some tests.
6744
6745 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6746
6747         * gst/gsterror.h:
6748           Remove comment. GST_TYPE_G_ERROR is here to stay,
6749           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6750           (#316961, #300610).
6751
6752 2005-09-26  Wim Taymans  <wim@fluendo.com>
6753
6754         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6755         Added check that shows error in state change order.
6756
6757 2005-09-26  Wim Taymans  <wim@fluendo.com>
6758
6759         * gst/gstbin.c: (gst_bin_change_state):
6760         Make state change function use 3 queues again, we were
6761         adding elements in the wrong order.
6762
6763         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6764         Some debug info,
6765
6766         * gst/gstpad.c: (gst_pad_dispose):
6767         Added some debug info first.
6768
6769 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6770
6771         * docs/design/draft-push-pull.txt:
6772         * docs/design/part-events.txt:
6773         * docs/design/part-overview.txt:
6774         * docs/design/part-scheduling.txt:
6775           Replace all _pull_region() with _pull_range()
6776           
6777 2005-09-26  Andy Wingo  <wingo@pobox.com>
6778
6779         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6780
6781         * check/gst-libs/controller.c: Update for controller api change.
6782
6783         * configure.ac: 
6784         * tests/Makefile.am:
6785         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6786         over by GLib bug 118439.
6787         
6788         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6789         routines to a function.
6790
6791         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6792
6793         * libs/gst/controller/gsthelper.c:
6794         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6795         (gst_object_sync_values): Renamed from sink_values. Ugh.
6796
6797         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6798
6799         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6800         Renamed from controller_key, as it is exported.
6801
6802         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6803
6804 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6805
6806         * gst/Makefile.am:
6807         * gst/gst.h:
6808         * gst/gstpad.h:
6809         * gst/gstpadtemplate.h:
6810         * gst/gstquery.c:
6811         * gst/gstquery.h:
6812         * gst/gstqueryutils.c:
6813         * gst/gstqueryutils.h:
6814           remove queryutils headers after moving the two used functions
6815           to gstquery.  also fixes build problem for gstsiddec
6816
6817 2005-09-26  Michael Smith <msmith@fluendo.com>
6818
6819         * tools/gst-launch.1.in:
6820         Correct documentation in manpage of debug syntax
6821
6822 2005-09-26  Wim Taymans  <wim@fluendo.com>
6823
6824         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6825         (gst_base_src_is_seekable), (gst_base_src_change_state):
6826         Some more debugging info.
6827
6828 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6829
6830         * docs/gst/gstreamer-sections.txt:
6831         * gst/base/gstbasetransform.h:
6832         * gst/gstindex.h:
6833           added more docs
6834
6835 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6836
6837         * docs/gst/.cvsignore:
6838         * docs/gst/tmpl/.cvsignore:
6839         * docs/gst/tmpl/gstpipeline.sgml:
6840         * docs/gst/tmpl/gstplugin.sgml:
6841         * gst/gstpipeline.c:
6842         * gst/gstplugin.c:
6843         * gst/gstplugin.h:
6844           inlined the last two docs files
6845           removed the tmpl directory from cvs (no more conflicts here!)
6846
6847 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6848
6849         * docs/gst/gstreamer-sections.txt:
6850         * docs/gst/tmpl/.cvsignore:
6851         * docs/gst/tmpl/gstpad.sgml:
6852         * docs/gst/tmpl/gstpadtemplate.sgml:
6853         * gst/Makefile.am:
6854         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6855         (gst_pad_finalize), (gst_pad_set_pad_template):
6856         * gst/gstpad.h:
6857         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6858         (gst_pad_template_class_init), (gst_pad_template_init),
6859         (gst_pad_template_dispose), (name_is_valid),
6860         (gst_static_pad_template_get), (gst_pad_template_new),
6861         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6862         (gst_pad_template_pad_created):
6863         * gst/gstpadtemplate.h:
6864           inlined two more docs
6865           factored gstpadtemplate out of gstpad
6866
6867 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6868
6869         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6870         (test_children_state_change_order_semi_sink):
6871           Fix test case: we can't rely on a fixed state change order when
6872           going from READY => PAUSED because the sink might commit its 
6873           new state first when the first buffer created by the source 
6874           reaches the sink before the source has finished its change state.
6875           (Test case still fails at times, see #316856, comment 5 onwards)
6876
6877 2005-09-24  Wim Taymans  <wim@fluendo.com>
6878
6879         * docs/design/part-events.txt:
6880         * docs/design/part-gstbus.txt:
6881         * docs/design/part-gstpipeline.txt:
6882         * docs/design/part-messages.txt:
6883         * docs/design/part-overview.txt:
6884         * docs/design/part-segments.txt:
6885         * gst/gstbin.c:
6886         * gst/gstbuffer.c:
6887         * gst/gstclock.c:
6888         * gst/gstelement.c:
6889         * gst/gstevent.c:
6890         * gst/gstfilter.c:
6891         * gst/gstiterator.c:
6892         Various documentation updates.
6893
6894 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6895
6896         * gst/gstclock.h:
6897           Well, that's embarassing.  Luckily we weren't using
6898           GST_CLOCK_DIFF anywhere.
6899
6900 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6901
6902         * common/gtk-doc.mak:
6903           don't fail on building XML, FC4 slave shows a bunch of doc
6904           missing bits that I don't get
6905         * gst/gstpad.c:
6906         * gst/gstpipeline.c:
6907         * gst/gststructure.c:
6908           some doc updates
6909
6910 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6911
6912         * docs/design/part-gstbin.txt:
6913         * docs/design/part-gstbus.txt:
6914         * gst/gstbus.c:
6915           Add blurb about how the bus goes into flushing mode and
6916           drops all messages when its bin goes from READY into NULL 
6917           state.
6918
6919 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6920
6921         * docs/gst/gstreamer-sections.txt:
6922         * gst/gststructure.c: (gst_structure_get_clock_time):
6923         * gst/gststructure.h:
6924           add a method to get a GstClockTime out of a structure
6925
6926 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6927
6928         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6929         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6930           Added test to check state change order in bins (can still be made
6931           to fail here under heavy disk load; bails out with 'Push on pad
6932           fakesink:sink0, but it was not activated in push mode').
6933
6934         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6935           Fix state change order when there is only a semi sink (#316856)
6936
6937         * gst/gstbus.c: (gst_bus_class_init):
6938           Use _class_peek_parent(), not _class_ref(); fix docs to say
6939           'default main context' instead of 'mainloop' where that is
6940           what's meant.
6941
6942         * gst/gstelement.c: (gst_element_commit_state),
6943         (gst_element_set_state):
6944           Fix typos in debug messages
6945
6946 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * docs/README:
6949         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6950         * gst/gstpluginfeature.c:
6951         * gst/gstutils.c:
6952           various doc updates
6953         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6954           change an assert into an error until it gets fixed properly
6955
6956 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6957
6958         * docs/gst/gstreamer-sections.txt:
6959         * docs/gst/tmpl/.cvsignore:
6960         * docs/gst/tmpl/gstelement.sgml:
6961         * docs/gst/tmpl/gstinfo.sgml:
6962         * docs/gst/tmpl/gstobject.sgml:
6963         * gst/gstelement.c:
6964         * gst/gstelement.h:
6965         * gst/gstinfo.c:
6966         * gst/gstinfo.h:
6967         * gst/gstobject.c: (gst_object_class_init):
6968         * gst/gstobject.h:
6969           inlined 3 more biiiig doc files and added some missing docs on the fly
6970
6971 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6972
6973         * check/gst/.cvsignore:
6974         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6975         * gst/gstregistryxml.c: (load_plugin),
6976         (gst_registry_xml_save_plugin):
6977           put back source in registry.  add checks for find_plugin.
6978         * testsuite/states/bin.c: (assert_state), (empty_bin),
6979         (test_adding_one_element), (main):
6980         * testsuite/states/locked.c: (main):
6981           some compile/run fixes
6982
6983 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6984
6985         * check/gst/gstvalue.c: (GST_START_TEST):
6986           fix leaks in the test itself
6987
6988 2005-09-22  Wim Taymans  <wim@fluendo.com>
6989
6990         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6991         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6992         (gst_base_sink_query):
6993         Prepare for more accurate position reporting and query
6994         handling.
6995
6996         * gst/gstelement.c: (gst_element_send_event),
6997         (gst_element_set_state):
6998         Add some comment.
6999
7000 2005-09-22  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7003         (gst_query_parse_segment):
7004         * gst/gstquery.h:
7005         More documentation.
7006         Add segment query for future use.
7007
7008 2005-09-22  Wim Taymans  <wim@fluendo.com>
7009
7010         * gst/gstbin.c: (gst_bin_add_func):
7011         Some more debug info.
7012
7013         * gst/gstelement.c: (gst_element_send_event):
7014         Simplify send_event
7015
7016         * gst/gstelement.h:
7017         Don't know how flags got broken.
7018
7019         * gst/gstquery.h:
7020         Added new query.
7021
7022 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7023
7024         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7025           Add simplistic test suite for GST_TYPE_DATE serialisation and
7026           deserialisation.
7027
7028 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7029
7030         * docs/gst/gstreamer-sections.txt:
7031         * gst/gststructure.c: (gst_structure_set_valist),
7032         (gst_structure_get_date):
7033         * gst/gststructure.h:
7034         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7035         (gst_date_copy), (gst_value_compare_date),
7036         (gst_value_serialize_date), (gst_value_deserialize_date),
7037         (gst_value_transform_date_string),
7038         (gst_value_transform_string_date), (_gst_value_initialize):
7039         * gst/gstvalue.h:
7040           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7041           bunch of utility functions along with a hack that checks that
7042           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7043           is required. Part of the grand scheme in #170777.
7044
7045 2005-09-22  Andy Wingo  <wingo@pobox.com>
7046
7047         * gst/gstconfig.h.in: Psych out gtk-doc.
7048
7049         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7050
7051         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7052
7053         * tools/gst-inspect.c (print_element_list): Plug some
7054         inconsequential leaks.
7055
7056         * gst/gstregistry.c (gst_registry_get_default): Doc.
7057
7058         * check/gst/gstplugin.c: 
7059         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7060         * gst/gstelementfactory.c (gst_element_factory_create): 
7061         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7062         refcount changes.
7063
7064         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7065         (gst_plugin_feature_load): Doc, don't eat refs.
7066
7067         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7068         (gst_plugin_list_free): Doc.
7069         (gst_plugin_load_file): Doc updates.
7070
7071         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7072         accessors returning refcounted objects, return a ref.
7073
7074         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7075         accessor for caps. IDEMPOTENCE. Oh yes.
7076
7077 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7078
7079         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7080
7081         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7082         (_gst_debug_register_funcptr):
7083           Add mutex to serialise access to the hash table with
7084           the function pointer => function name string mapping;
7085           make that hash table static scope (#316809).
7086
7087         * gst/registries/.cvsignore:
7088           Remove left-over file.
7089
7090 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7091
7092         * docs/pwg/appendix-porting.xml:
7093           And something about newsegment events and caps-on-buffers to
7094           the porting guide (feel free to improve).
7095
7096 2005-09-21  Andy Wingo  <wingo@pobox.com>
7097
7098         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7099         data and event probes on the same pad.
7100         (test_buffer_probe_once): Test that removing probes from within
7101         the probe functions works.
7102
7103 2005-09-21  Andy Wingo  <wingo@pobox.com>
7104
7105         * check/gst/gstutils.c: New file.
7106         (test_buffer_probe_n_times): A simple buffer probe test. More to
7107         come, foolios.
7108
7109         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7110         have-data::buffer, not have-data.
7111         (gst_pad_add_event_probe): Likewise for have-data::event.
7112         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7113         peer' isn't quite right yet though.
7114         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7115         (gst_pad_remove_data_probe): Change to take the guint handler_id
7116         as their arg, not the function+data, which is more glib-like.
7117
7118         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7119         the signal emission to indicate if the data is a buffer or an
7120         event.
7121         (gst_pad_get_type): Initialize buffer and event quarks.
7122         (gst_pad_class_init): have-data is now a detailed signal, yes it
7123         is.
7124
7125 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7126
7127         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7128         * gst/gstutils.c: (gst_util_set_value_from_string),
7129         (gst_util_set_object_arg):
7130           Don't put functional code in g_return_if_fail() or
7131           g_return_val_if_fail() statements, otherwise things will 
7132           break when G_DISABLE_CHECKS is defined during compilation.
7133
7134 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7135
7136         * docs/gst/tmpl/.cvsignore:
7137         * docs/gst/tmpl/gstvalue.sgml:
7138         * gst/gstvalue.c:
7139         * gst/gstvalue.h:
7140           inlied another one and added  some obvious docs
7141
7142 2005-09-21  Wim Taymans  <wim@fluendo.com>
7143
7144         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7145         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7146         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7147         (gst_fdsrc_get_property), (gst_fdsrc_create):
7148         * gst/elements/gstfdsrc.h:
7149         Properly implement fdsrc. Removed signal and timeout,
7150         better implemented somewhere else.
7151
7152 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7153
7154         * docs/gst/tmpl/.cvsignore:
7155         * docs/gst/tmpl/gstimplementsinterface.sgml:
7156         * gst/gstinterface.c:
7157           inlined more docs
7158
7159 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7160
7161         * docs/gst/gstreamer-sections.txt:
7162         * docs/gst/tmpl/.cvsignore:
7163         * docs/gst/tmpl/gstenumtypes.sgml:
7164           remove obsolete doc file
7165
7166 2005-09-21  David Schleef  <ds@schleef.org>
7167
7168         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7169         little beer, fix a little leak.
7170
7171 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7172
7173         * docs/gst/gstreamer-docs.sgml:
7174         * docs/gst/gstreamer-sections.txt:
7175         * docs/gst/tmpl/.cvsignore:
7176         * gst/Makefile.am:
7177         * gst/gst.h:
7178         * gst/gstbin.c:
7179         * gst/gstelement.h:
7180         * gst/gstindex.c: (gst_index_class_init):
7181         * gst/gstindex.h:
7182         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7183         (gst_index_factory_class_init), (gst_index_factory_init),
7184         (gst_index_factory_finalize), (gst_index_factory_new),
7185         (gst_index_factory_destroy), (gst_index_factory_find),
7186         (gst_index_factory_create), (gst_index_factory_make):
7187         * gst/gstindexfactory.h:
7188         * gst/gstpluginfeature.c:
7189         * gst/gstpluginfeature.h:
7190         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7191           more docs inlined, splitted gstindex.{c,h}
7192
7193 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7194
7195         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7196           fix a leak
7197
7198 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7199
7200         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7201           Set sync to FALSE by default.
7202
7203 2005-09-20  Wim Taymans  <wim@fluendo.com>
7204
7205         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7206         (gst_base_sink_init):
7207         Make sync property settable from subclass.
7208
7209         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7210         (gst_fake_sink_change_state):
7211         Set sync to FALSE by default.
7212
7213 2005-09-20  Wim Taymans  <wim@fluendo.com>
7214
7215         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7216         * tools/gst-launch.c: (main):
7217         The timeout handler should have lower priority than the source
7218         so we don't timeout before popping a message with 0 timeout.
7219         Dump error messages after failed state change.
7220
7221 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7222
7223         * tools/gst-inspect.c: (print_element_properties_info):
7224           Fix two typos.
7225
7226 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7227
7228         * check/gst/gstevent.c:
7229         * gst/elements/gstfakesink.c:
7230         * gst/elements/gstfakesink.h:
7231           remove the sync property from fakesink.
7232           has the side effect of setting sync TRUE
7233           for fakesink, which is a change.  Anyone who knows how
7234           to fix this nicely in a GObject-y way, feel free.
7235
7236 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7237
7238         * docs/gst/gstreamer-docs.sgml:
7239           remove probe refsection
7240
7241 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7242
7243         * check/Makefile.am:
7244           disable valgrinding the controller test again
7245         * docs/gst/gstreamer-sections.txt:
7246           update for api-changes
7247
7248 2005-09-20  Wim Taymans  <wim@fluendo.com>
7249
7250         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7251         (gst_base_sink_set_property), (gst_base_sink_get_property),
7252         (gst_base_sink_do_sync):
7253         * gst/base/gstbasesink.h:
7254         Added sync property to basesink to disable clock sync.
7255
7256 2005-09-20  Andy Wingo  <wingo@pobox.com>
7257
7258         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7259         eating the caller's refcount.
7260
7261         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7262         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7263         refcount.
7264
7265         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7266         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7267         of GLib 2.8 public, so we can know which refcount to check in
7268         tests.
7269
7270         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7271         (gst_object_init): Only set the gst refcount if we're going ahead
7272         with the refcount hack.
7273
7274 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7275
7276         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7277         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7278           more leaks plumbed, added more debug-logging
7279         * gst/gstmacros.h:
7280           whitespace fix
7281
7282 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7283
7284         * gst/gstmessage.c:
7285           remove include of gstmemchunk.h
7286
7287 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7288
7289         * gst/gstclock.c: (_gst_clock_id_free):
7290           Commit from the Political Party For More Atomic CVS Commits,
7291           so that people don't waste too much of their day fishing
7292           out obvious leaks out of massive commits.
7293           Oh, and fix a pretty damn obvious leak in the memchunk
7294           removal code.
7295
7296 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7297
7298         * check/Makefile.am:
7299         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7300           plug mem-leak, re-add to valgrindable tests
7301
7302 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * gst/gstplugin.h:
7305           unbreak the build for those who have chronic arthritis
7306           and typing "make check" is just too taxing on the hands
7307
7308 2005-09-20  Andy Wingo  <wingo@pobox.com>
7309
7310         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7311         really want it out, you should fix plugins at the same time.
7312
7313 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7314
7315         * configure.ac:
7316         * docs/gst/gstreamer-sections.txt:
7317         * gst/gstobject.c:
7318           added missing symbols to api docs
7319           disable ref-count hack if we have glib >= 2.8
7320
7321 2005-09-19  David Schleef  <ds@schleef.org>
7322
7323         * docs/gst/Makefile.am: Ignore a few more internal headers
7324         * docs/gst/gstreamer-docs.sgml: Remove old sections
7325         * docs/gst/gstreamer-sections.txt: Remove old sections
7326         * docs/gst/tmpl/gstobject.sgml: update
7327         * docs/gst/tmpl/gstplugin.sgml: update
7328         * docs/gst/tmpl/gstpluginfeature.sgml: update
7329         * docs/random/ds/0.9-suggested-changes: update.
7330         * gst/Makefile.am: remove memchunk and trashstack, since they're
7331           not used.
7332         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7333         * gst/gst.h: don't include some headers
7334         * gst/gstchildproxy.c: add gstmarshal.h
7335         * gst/gstclock.c: Don't use memchunks
7336         * gst/gstminiobject.c: Add some docs
7337         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7338         * gst/gstobject.h: same
7339         * gst/gstplugin.c: include gstmacros.h
7340         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7341         * gst/gstquery.c: don't use memchunks
7342         * gst/gstregistry.c: rename gst_registry_deinit()
7343         * gst/gstregistry.h: same
7344
7345 2005-09-19  David Schleef  <ds@schleef.org>
7346
7347         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7348         * docs/libs/gstreamer-libs-sections.txt:
7349         * docs/libs/tmpl/gstgetbits.sgml:
7350         * docs/libs/tmpl/gstputbits.sgml:
7351
7352 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7353
7354         * win32/gstenumtypes.c:
7355         * win32/gstenumtypes.h:
7356           Update.
7357
7358 2005-09-19  Wim Taymans  <wim@fluendo.com>
7359
7360         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7361         Automatically PAUSE and RESUME a pipeline when a flushing seek
7362         is performed.
7363
7364 2005-09-19  Andy Wingo  <wingo@pobox.com>
7365
7366         * gst/gstregistry.h: Spacing fixen.
7367
7368 2005-09-19  Wim Taymans  <wim@fluendo.com>
7369
7370         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7371         Handle state change failure more correctly.
7372
7373 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7374
7375         * check/Makefile.am:
7376         * check/pipelines/cleanup.c: (run_pipeline):
7377         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7378         (GST_START_TEST):
7379           enable cleanup again after fixing the leak
7380         * docs/README:
7381           some more info on docs
7382
7383 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7384
7385         * check/Makefile.am:
7386           re-enable tests now that leaks are plugged
7387         * check/gst/gst.c:
7388         * check/gst/gstbin.c:
7389         * check/gst/gstpipeline.c:
7390           add some more tests while fixing leaks
7391         * common/check.mak:
7392           make sure binaries are uptodate when valgrinding/gdbing
7393         * gst/gst.c:
7394         * gst/gstelementfactory.c:
7395           remove a ref too many, and add a FIXME for when we get
7396           round to disposing of classes
7397         * gst/gstplugin.c:
7398           fix the refcounting when loading a plugin from a file and
7399           the code pretends that the pointer is the same even though
7400           of course it can change
7401         * gst/gstpluginfeature.c:
7402           unref plugins marked cached (a bit confusing as a name)
7403           as the docs state should be done
7404           various doc additions to explain refcounting
7405         * gst/gstregistry.c:
7406         * gst/gstregistryxml.c:
7407           debugging
7408
7409 2005-09-19  Wim Taymans  <wim@fluendo.com>
7410
7411         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7412         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7413         (send_messages), (GST_START_TEST), (gstbus_suite):
7414         * check/gst/gstpipeline.c: (GST_START_TEST):
7415         * check/pipelines/cleanup.c: (run_pipeline):
7416         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7417         (GST_START_TEST):
7418         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7419         (gst_bus_source_check), (gst_bus_source_dispatch),
7420         (gst_bus_create_watch), (gst_bus_add_watch_full),
7421         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7422         * gst/gstbus.h:
7423         * tools/gst-launch.c: (event_loop):
7424         * tools/gst-md5sum.c: (event_loop):
7425         GstBusHandler -> GstBusFunc, return value has the same meaning as
7426         any other GSource (FALSE == remove source).
7427         _add_watch() and _add_watch_full() now take a MessageType mask to
7428         only handle specific types of messages.
7429         _poll() returns the GstMessage instead of the message type to avoid
7430         race conditions.
7431         _have_pending() takes a MessageType mask now too.
7432         Added testsuite for multiple bus watches.
7433         Fix testsuites and applications for new bus API.
7434
7435 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7436
7437         * check/Makefile.am:
7438           mark a bunch of the tests as to fix until we fix them
7439
7440 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * common/check.mak:
7443           use GST_PLUGIN settings for valgrind tests as well, so we're
7444           valgrinding the correct thing
7445         * gst/gst.c: (init_post):
7446           plug another leak
7447
7448 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7449
7450         * gst/gst.c: (init_post), (gst_deinit):
7451         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7452         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7453         * gst/gstindex.c: (gst_index_factory_class_init),
7454         (gst_index_factory_finalize):
7455         * gst/gstobject.c: (gst_object_dispose):
7456         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7457         (gst_plugin_load_file), (gst_plugin_desc_free):
7458         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7459         (gst_plugin_feature_finalize):
7460         * gst/gstregistry.c: (gst_registry_class_init),
7461         (gst_registry_init), (gst_registry_finalize),
7462         (gst_registry_get_default), (gst_registry_deinit):
7463         * gst/gstregistry.h:
7464         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7465           various cleanups and memleak plugging.  make valgrind is happy now.
7466
7467 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7468
7469         * common/check.mak:
7470           add a check-valgrind target
7471
7472 2005-09-18  David Schleef  <ds@schleef.org>
7473
7474         * tools/gst-inspect.c: Revert the GOption code.
7475
7476 2005-09-17  David Schleef  <ds@schleef.org>
7477
7478         * check/Makefile.am: Fix environment variables.
7479         * check/gst/gstplugin.c: Fix for API changes.
7480         * tools/gst-inspect.c: Fix for API changes.
7481         * tools/gst-xmlinspect.c: Fix for API changes.
7482         * gst/gstelementfactory.c:
7483         * gst/gstplugin.c:
7484         * gst/gstplugin.h:
7485         * gst/gstpluginfeature.c:
7486         * gst/gstpluginfeature.h:
7487         * gst/gstregistry.c:
7488         * gst/gstregistry.h:
7489         * gst/gstregistryxml.c:
7490         * gst/gsttypefind.c:
7491         * gst/gsttypefindfactory.c:
7492         * gst/indexers/gstfileindex.c:
7493         * gst/indexers/gstmemindex.c:
7494         * gst/schedulers/Makefile.am:
7495           Change registry to keep track of both plugins and features,
7496           removing the feature tracking from plugins themselves.
7497
7498 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         * check/Makefile.am:
7501         * tools/gst-register.1.in:
7502           remove gst-register
7503
7504 2005-09-15  David Schleef  <ds@schleef.org>
7505
7506         * check/gst/gstplugin.c:
7507         * gst/gstelementfactory.c:
7508         * gst/gstplugin.c:
7509         * gst/gstpluginfeature.c:
7510         * gst/gstregistry.c:
7511           Getting tired of debugging.  Disabled all the unreffing of
7512           plugins and features, which fixes the segfaults, but of
7513           course leaks like crazy.  At least playbin works.
7514
7515 2005-09-15  David Schleef  <ds@schleef.org>
7516
7517         * check/gst/gstplugin.c: (register_check_elements),
7518         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7519         More testing
7520         * gst/elements/gsttypefindelement.c: Fix refcounting.
7521         * gst/gsttypefind.c:
7522         * gst/gsttypefindfactory.c:
7523         * gst/gsttypefindfactory.h:
7524
7525 2005-09-15  David Schleef  <ds@schleef.org>
7526
7527         * gst/gstindex.c: get refcounting correct.
7528         * gst/gstregistry.c: Handle the case where a feature/plugin is
7529           not found.
7530
7531 2005-09-15  David Schleef  <ds@schleef.org>
7532
7533         * check/Makefile.am:
7534         * check/gst/gstplugin.c: Add test
7535         * gst/gstplugin.c: Fix problems noticed by testsuite
7536         * gst/gstplugin.h:
7537         * gst/gstregistry.c: 
7538         * gst/gstregistry.h:
7539
7540 2005-09-15  David Schleef  <ds@schleef.org>
7541
7542         * gst/gstplugin.c: Implement semi-decent recounting and locking
7543           in plugins and plugin features.
7544         * gst/gstplugin.h:
7545         * gst/gstpluginfeature.c:
7546         * gst/gstpluginfeature.h:
7547         * gst/gstregistry.c:
7548
7549 2005-09-15  Michael Smith <msmith@fluendo.com>
7550
7551         * gst/gstregistry.c: (gst_registry_get_feature_list):
7552           Implement this. Makes oggdemux work; decodebin still broken.
7553
7554 2005-09-14  David Schleef  <ds@schleef.org>
7555
7556         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7557           #316076)
7558         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7559         * gst/check/Makefile.am:
7560         * libs/gst/controller/Makefile.am:
7561         * libs/gst/dataprotocol/Makefile.am:
7562
7563 2005-09-14  David Schleef  <ds@schleef.org>
7564
7565         * configure.ac: Remove getbits library.  Nothing uses it, and
7566           it should be in something like liboil if someone did want
7567           to use it.
7568         * libs/gst/Makefile.am:
7569         * libs/gst/getbits/Makefile.am:
7570         * libs/gst/getbits/gbtest.c:
7571         * libs/gst/getbits/getbits.c:
7572         * libs/gst/getbits/getbits.h:
7573         * libs/gst/getbits/gstgetbits_generic.c:
7574         * libs/gst/getbits/gstgetbits_i386.s:
7575         * libs/gst/getbits/gstgetbits_inl.h:
7576
7577 2005-09-14  David Schleef  <ds@schleef.org>
7578
7579         * gst/Makefile.am: Dist glib-compat.h
7580
7581 2005-09-14  David Schleef  <ds@schleef.org>
7582
7583         * configure.ac: Remove gst/registries, since it's no longer used.
7584         * gst/registries/Makefile.am:
7585         * gst/registries/gstlibxmlregistry.c:
7586         * gst/registries/gstlibxmlregistry.h:
7587         * gst/registries/gstxmlregistry.c:
7588         * gst/registries/gstxmlregistry.h:
7589         * gst/registries/registrytest.c:
7590
7591 2005-09-14  David Schleef  <ds@schleef.org>
7592
7593         * gst/glib-compat.h:
7594         * gst/gstregistryxml.c:
7595           Convergence is near.  Seriously.
7596
7597 2005-09-14  David Schleef  <ds@schleef.org>
7598
7599         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7600         * gst/glib-compat.h:
7601           Attempt #4 to appease the buildbots.
7602
7603 2005-09-14  David Schleef  <ds@schleef.org>
7604
7605         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7606           Attempt #3.
7607
7608 2005-09-14  David Schleef  <ds@schleef.org>
7609
7610         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7611         Attempt #2.
7612
7613 2005-09-14  David Schleef  <ds@schleef.org>
7614
7615         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7616           the new functions.
7617
7618 2005-09-14  David Schleef  <ds@schleef.org>
7619
7620         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7621         * gst/glib-compat.h: Add some functions that are in newer versions
7622           of glib than we care to require.
7623         * gst/gstregistryxml.c: Use them.
7624
7625 2005-09-14  David Schleef  <ds@schleef.org>
7626
7627         * po/POTFILES.in: remove gst-register.c
7628
7629 2005-09-14  David Schleef  <ds@schleef.org>
7630
7631         * docs/gst/gstreamer-docs.sgml:
7632         * docs/gst/gstreamer-sections.txt:
7633         * docs/gst/gstreamer.types:
7634         * docs/gst/tmpl/gstelement.sgml:
7635         * docs/gst/tmpl/gstplugin.sgml:
7636         * docs/gst/tmpl/gstpluginfeature.sgml:
7637           Documentation updates for registry changes.
7638
7639 2005-09-14  David Schleef  <ds@schleef.org>
7640
7641         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7642           because we don't require glib-2.8.
7643
7644 2005-09-14  David Schleef  <ds@schleef.org>
7645
7646         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7647           registries directory.
7648
7649 2005-09-14  David Schleef  <ds@schleef.org>
7650
7651         * check/Makefile.am:
7652         * check/generic/states.c:
7653         * gst/Makefile.am:
7654         * gst/gst.c:
7655         * gst/gst.h:
7656         * gst/gst_private.h:
7657         * gst/gstelementfactory.c:
7658         * gst/gstindex.c:
7659         * gst/gstinfo.c:
7660         * gst/gstplugin.c:
7661         * gst/gstplugin.h:
7662         * gst/gstpluginfeature.c:
7663         * gst/gstpluginfeature.h:
7664         * gst/gstregistry.c:
7665         * gst/gstregistry.h:
7666         * gst/gstregistrypool.c: remove
7667         * gst/gstregistrypool.h: remove
7668         * gst/gsttypefind.c:
7669         * gst/gsttypefindfactory.c:
7670         * gst/gsturi.c:
7671         * tools/Makefile.am:
7672         * tools/gst-compprep.c:
7673         * tools/gst-inspect.c:
7674         * tools/gst-register.c: remove
7675         * tools/gst-xmlinspect.c:
7676           Registry rewrite.  Changes registry from being a file created
7677           by a tool into a simple cache file created automatically by 
7678           libgstreamer.  Removed gst-register (because it's no longer
7679           needed).  Remove registry pools, because we only have one
7680           registry implementation (XML).  Fix up other subsystems as
7681           necessary.
7682
7683 2005-09-13  Michael Smith <msmith@fluendo.com>
7684
7685         * gst/gstconfig.h.in:
7686           Don't Use windows linking attributes for MinGW. Fixes #316157
7687
7688 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7689
7690         * gst/gstutils.c: (set_state_async_thread_func),
7691         (gst_element_set_state_async):
7692           Apparently people think it's better if this function doesn't
7693           try to set the state to whatever state was asked for on the first
7694           call to this function for any object.  Seriously.
7695
7696 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7697
7698         * check/gst/gstpipeline.c: (GST_START_TEST):
7699         * docs/gst/gstreamer-sections.txt:
7700         * gst/gstutils.c: (set_state_async_thread_func),
7701         (gst_element_set_state_async):
7702         * gst/gstutils.h:
7703           add a "gst_element_set_state_async" method that
7704           sets the state and starts a thread to make sure the state
7705           change completes as best as it can
7706
7707 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7708
7709         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7710           codify design+behaviour in testsuite after discussion
7711
7712 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7713
7714         * docs/gst/tmpl/gstelement.sgml:
7715         * docs/manual/appendix-quotes.xml:
7716           add a quote
7717         * gst/gstelement.c: (gst_element_set_state):
7718           add some debug
7719
7720 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7721
7722         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7723         (gst_base_transform_prepare_output_buf),
7724         (gst_base_transform_handle_buffer):
7725         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7726         (gst_capsfilter_prepare_buf):
7727           Remove the requirement for sub-classes to call the parent
7728           implementation of prepare_output_buffer with a wrapper function.
7729           
7730         * gst/gsttaglist.h:
7731         * gst/gsttagsetter.h:
7732           Fix #define wrapper
7733
7734 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7735
7736         * docs/gst/gstreamer-sections.txt:
7737           more doc cleanups
7738
7739 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7740
7741         * docs/gst/gstreamer-sections.txt:
7742         * docs/gst/tmpl/gstelement.sgml:
7743         * docs/gst/tmpl/gstplugin.sgml:
7744         * gst/gstminiobject.c:
7745         * gst/gstvalue.h:
7746           docs now stop throwing warnings
7747
7748 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7749
7750         * docs/gst/gstreamer-sections.txt:
7751         * docs/gst/gstreamer.types:
7752         * docs/gst/tmpl/gstpad.sgml:
7753         * docs/gst/tmpl/gsttypes.sgml:
7754         * gst/base/gstadapter.h:
7755         * gst/base/gstbasesink.h:
7756         * gst/base/gstbasesrc.h:
7757         * gst/gstbin.h:
7758         * gst/gstbuffer.h:
7759         * gst/gstbus.h:
7760         * gst/gstcaps.h:
7761         * gst/gstclock.h:
7762         * gst/gstelement.h:
7763         * gst/gstevent.h:
7764         * gst/gstmessage.h:
7765         * gst/gstpad.h:
7766         * gst/gststructure.c:
7767         * gst/registries/gstlibxmlregistry.h:
7768           various documentation fixes
7769
7770 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7771
7772         * docs/gst/gstreamer-sections.txt:
7773         * docs/gst/tmpl/gstvalue.sgml:
7774           rearrange gstvalue section
7775         * gst/gstutils.c: (gst_element_state_get_name):
7776           NONE -> VOID
7777         * gst/gstvalue.c: (_gst_value_initialize):
7778         * gst/gstvalue.h:
7779           doc updates
7780
7781 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7782
7783         * check/gst-libs/controller.c:
7784           Header include fix.
7785         * gst/base/gstbasetransform.c:
7786         (gst_base_transform_default_prepare_buf),
7787         (gst_base_transform_handle_buffer):
7788         * gst/base/gstbasetransform.h:
7789           Some more basetransform changes and fixes to enable sub-classes
7790           that modify buffer metadata only.
7791         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7792         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7793         (gst_capsfilter_prepare_buf):
7794           If the output pad has fixed allowed caps and input buffers 
7795           don't have any, set the fixed caps on outgoing buffers.
7796
7797 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7798         * check/elements/identity.c: (GST_START_TEST):
7799           Make the error a little clearer when the test fails because
7800           identity made a copy of the buffer.
7801         * docs/gst/gstreamer-sections.txt:
7802           New symbols in gstbasetransform.h
7803         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7804         (gst_base_transform_init), (gst_base_transform_transform_size),
7805         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7806         (gst_base_transform_default_prepare_buf),
7807         (gst_base_transform_get_unit_size),
7808         (gst_base_transform_buffer_alloc),
7809         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7810         (gst_base_transform_change_state),
7811         (gst_base_transform_set_passthrough),
7812         (gst_base_transform_set_in_place),
7813         (gst_base_transform_is_in_place):
7814         * gst/base/gstbasetransform.h:
7815           Change BaseTransform to separate in_place operate from same_caps
7816           output. in_place implies that the element can perform the transform
7817           on incoming buffers in-place, even if the caps on the output are
7818           different.
7819           Sub-class elements can now implement special buffer allocation
7820           methods for outgoing buffers if they wish to.
7821           Big documentation addition.
7822         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7823         * gst/elements/gstelements.c:
7824           Changes for basetransform modifications.
7825         * gst/elements/Makefile.am:
7826         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7827           Compile fix. Extra debug output.
7828
7829 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7830
7831         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7832         (gst_pad_suite):
7833           add tests for valid pad naming
7834         * gst/check/gstcheck.c: (gst_check_log_message_func),
7835         (gst_check_log_critical_func):
7836           add ASSERT_WARNING
7837           remove printing of code, it is fragile when the code contains
7838           % and the line number is enough info
7839         * gst/check/gstcheck.h:
7840         * gst/gstpad.c: (gst_pad_template_new):
7841           fix memleaks
7842
7843 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7844
7845         * configure.ac:
7846           say what CHECK flags we use
7847         * docs/libs/gstreamer-libs.types:
7848         * libs/gst/controller/Makefile.am:
7849         * libs/gst/controller/gst-controller.c:
7850         * libs/gst/controller/gst-controller.h:
7851         * libs/gst/controller/gst-helper.c:
7852         * libs/gst/controller/gst-interpolation.c:
7853         * libs/gst/controller/gstcontroller.c:
7854         * libs/gst/controller/gsthelper.c:
7855         * libs/gst/controller/gstinterpolation.c:
7856         * tools/gst-inspect.c: (print_plugin_info):
7857           we don't use dashes in header names
7858
7859 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7860
7861         * check/Makefile.am:
7862         * check/gst/.cvsignore:
7863         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7864         (gst_pipeline_suite), (main):
7865           adding a test for pipelines and state changes
7866         * gst/gstutils.c: (get_state_func):
7867           add some debugging
7868         * gstreamer.spec.in:
7869           fix up spec file
7870
7871 2005-09-08  Michael Smith <msmith@fluendo.com>
7872
7873         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7874         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7875         (gst_file_src_is_seekable), (gst_file_src_get_size),
7876         (gst_file_src_start):
7877         * gst/elements/gstfilesrc.h:
7878           Various fixes for unseekable, unmmapable, and non-normal files, so
7879           that fallback to read() rather than mmap() works.
7880         * gst/gstevent.c: (gst_event_new_newsegment):
7881           Allow newsegment events with segment_start == segment_end, as will
7882           correctly happen if you use filesrc on a zero-size file, for
7883           example.
7884
7885 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7886
7887         * gst/gstplugin.c: (gst_plugin_load_file):
7888           Call g_module_close when we don't load the module
7889
7890         * gst/registries/gstlibxmlregistry.c:
7891         (gst_xml_registry_get_property):
7892           Port leak fix from 0.8
7893
7894 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7895
7896         * docs/gst/gstreamer-docs.sgml:
7897         * docs/gst/tmpl/.cvsignore:
7898         * docs/gst/tmpl/gsttrace.sgml:
7899         * docs/gst/tmpl/gsttrashstack.sgml:
7900         * gst/Makefile.am:
7901         * gst/gst.h:
7902         * gst/gstelement.h:
7903         * gst/gstevent.h:
7904         * gst/gstmessage.c:
7905         * gst/gstmessage.h:
7906         * gst/gsttag.c:
7907         * gst/gsttag.h:
7908         * gst/gsttaginterface.c:
7909         * gst/gsttaginterface.h:
7910         * gst/gsttaglist.c:
7911         * gst/gsttaglist.h:
7912         * gst/gsttagsetter.c:
7913         * gst/gsttagsetter.h:
7914         * gst/gsttrace.c:
7915         * gst/gsttrace.h:
7916         * gst/gsttrashstack.c:
7917           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7918           inlined docs for gsttrace, gsttrashstack
7919
7920 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7921
7922         * gst/Makefile.am:
7923         * gst/elements/gstbufferstore.h:
7924         * gst/elements/gsttypefindelement.c:
7925         * gst/elements/gsttypefindelement.h:
7926         * gst/gst.h:
7927         * gst/gsttypefind.c:
7928         * gst/gsttypefind.h:
7929         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7930         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7931         (gst_type_find_factory_dispose),
7932         (gst_type_find_factory_unload_thyself),
7933         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7934         (gst_type_find_factory_get_caps),
7935         (gst_type_find_factory_get_extensions),
7936         (gst_type_find_factory_call_function):
7937         * gst/gsttypefindfactory.h:
7938         * gst/registries/gstlibxmlregistry.c:
7939         * gst/registries/gstxmlregistry.c:
7940           splitted gsttypefind into gsttypefind, gsttypefindfactory
7941
7942 2005-09-07  Andy Wingo  <wingo@pobox.com>
7943
7944         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7945         condition whereby the pad's task function is entered before the
7946         pad_mode variable was set.
7947
7948 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7949
7950         * gst/gstpad.c: (gst_pad_alloc_buffer):
7951           Catch misbehaving pad_alloc functions that don't
7952           set up caps and do it for them.
7953
7954 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7955
7956         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7957           test for pipe!=NULL
7958         * docs/gst/tmpl/.cvsignore:
7959         * docs/gst/tmpl/gstmemchunk.sgml:
7960         * docs/gst/tmpl/gstparse.sgml:
7961         * docs/gst/tmpl/gsttaglist.sgml:
7962         * docs/gst/tmpl/gsttagsetter.sgml:
7963         * docs/gst/tmpl/gsttypefind.sgml:
7964         * docs/gst/tmpl/gsttypefindfactory.sgml:
7965         * gst/gstmemchunk.c:
7966         * gst/gstparse.c:
7967         * gst/gsttag.c:
7968         * gst/gsttaginterface.c:
7969         * gst/gsttypefind.c:
7970         * gst/gsttypefind.h:
7971           inlined more docs
7972
7973 === release 0.9.2 ===
7974
7975 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * NEWS:
7978         * RELEASE:
7979         * configure.ac:
7980           releasing 0.9.2, "South"
7981
7982 2005-09-05  Andy Wingo  <wingo@pobox.com>
7983
7984         * gst/registries/gstxmlregistry.h:
7985         * gst/registries/gstxmlregistry.c: Um... resurrect...
7986         
7987         * gst/registries/gstxmlregistry.h:
7988         * gst/registries/gstxmlregistry.c: and update to newer API.
7989         Incidentally they should be a bit faster now that they don't have
7990         to parse the caps.
7991         
7992 2005-09-05  Andy Wingo  <wingo@pobox.com>
7993
7994         * gst/registries/gstxmlregistry.h:
7995         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7996         replaced by the libxml registry a while back
7997
7998 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7999
8000         * docs/gst/tmpl/gstplugin.sgml:
8001         * gst/elements/gstelements.c:
8002         * gst/gst.c:
8003         * gst/gstplugin.c: (gst_plugin_register_func),
8004         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8005         (gst_plugin_get_source):
8006         * gst/gstplugin.h:
8007         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8008         (gst_xml_registry_save_plugin):
8009         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8010         (gst_xml_registry_save_plugin):
8011         * tools/gst-inspect.c: (print_plugin_info):
8012           add a "source" plugin description field, to represent the source
8013           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8014           will set it to PACKAGE, which is automake's idea of the name of
8015           the source project.
8016
8017 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8018
8019         * Makefile.am:
8020         * autogen.sh:
8021         * configure.ac:
8022         * docs/Makefile.am:
8023         * docs/faq/Makefile.am:
8024         * docs/gst/tmpl/gstelement.sgml:
8025         * docs/gst/tmpl/gsttypes.sgml:
8026         * docs/htmlinstall.mak:
8027         * docs/manual/Makefile.am:
8028         * docs/pwg/Makefile.am:
8029           reorganize doc build a little
8030           split out docbook and gtk-doc stuff
8031           have two separate --enable's and enable them through autogen
8032           but disable by default in configure (to be similar to other
8033           projects)
8034         * gstreamer.spec.in:
8035           clean up docs install
8036         * po/af.po:
8037         * po/az.po:
8038         * po/ca.po:
8039         * po/cs.po:
8040         * po/de.po:
8041         * po/en_GB.po:
8042         * po/fr.po:
8043         * po/it.po:
8044         * po/nb.po:
8045         * po/nl.po:
8046         * po/ru.po:
8047         * po/sq.po:
8048         * po/sr.po:
8049         * po/sv.po:
8050         * po/tr.po:
8051         * po/uk.po:
8052         * po/vi.po:
8053           translation updates
8054
8055 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8056
8057         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8058           Add comment.
8059           
8060         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8061         (gst_fake_sink_change_state):
8062           Make state change function thread-safe.
8063           
8064         * gst/gstpad.c: (gst_pad_alloc_buffer):
8065           Set offset on generic buffer allocated by fallback.
8066
8067 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8068
8069         * docs/gst/gstreamer-sections.txt:
8070         * docs/gst/tmpl/gstelement.sgml:
8071         * gst/gstpad.c:
8072         * libs/gst/controller/gst-controller.c:
8073         (gst_controlled_property_set_interpolation_mode),
8074         (gst_controlled_property_new),
8075         (gst_controller_find_controlled_property):
8076          run the wingo-magic script against the docs
8077
8078 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8079
8080         * docs/gst/gstreamer-docs.sgml:
8081         * docs/gst/gstreamer-sections.txt:
8082         * docs/gst/tmpl/.cvsignore:
8083         * docs/gst/tmpl/gstelementdetails.sgml:
8084         * docs/gst/tmpl/gstelementfactory.sgml:
8085         * gst/gst.c:
8086         * gst/gstbus.c:
8087         * gst/gstelementfactory.c:
8088         * gst/gstelementfactory.h:
8089           merged elementdetails docs into elementfactory docs
8090           inlined both
8091
8092 2005-09-02  Andy Wingo  <wingo@pobox.com>
8093
8094         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8095         consider this enum an enum and not a flags.
8096
8097 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8098
8099         * docs/gst/gstreamer-docs.sgml:
8100         * docs/gst/tmpl/.cvsignore:
8101         * docs/gst/tmpl/gstghostpad.sgml:
8102         * docs/gst/tmpl/gstiterator.sgml:
8103         * docs/gst/tmpl/gstmacros.sgml:
8104         * docs/gst/tmpl/gstrealpad.sgml:
8105         * docs/gst/tmpl/gstregistry.sgml:
8106         * docs/gst/tmpl/gstregistrypool.sgml:
8107         * docs/gst/tmpl/gststructure.sgml:
8108         * docs/gst/tmpl/gstsystemclock.sgml:
8109         * docs/gst/tmpl/gsttrace.sgml:
8110         * gst/gstghostpad.c:
8111         * gst/gstmacros.h:
8112         * gst/gstmemchunk.c:
8113         * gst/gstmemchunk.h:
8114         * gst/gstqueue.c:
8115         * gst/gstregistry.c:
8116         * gst/gstregistrypool.c:
8117         * gst/gststructure.c:
8118         * gst/gstsystemclock.c:
8119           more docs inlined
8120
8121 2005-09-02  Andy Wingo  <wingo@pobox.com>
8122
8123         * gst/gstelement.h (GstState): Renamed from GstElementState,
8124         changed to be a normal enum instead of flags.
8125         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8126         munged to be GST_STATE_CHANGE_*.
8127         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8128         work with the new state representation.
8129         (GstStateChange): New enumeration of possible state transitions.
8130         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8131         (GstElementClass::change_state): Pass the GstStateChange along as
8132         an argument. Helps language bindings, so they don't have to use
8133         tricky lock-needing macros like GST_STATE_CHANGE ().
8134
8135         * scripts/update-states (file): New script. Run it on a file to
8136         update it for state naming and API changes. Updates files in
8137         place.
8138
8139         * All files updated for the new API.
8140
8141 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8142
8143         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8144         * gst/gstutils.c: (gst_util_set_value_from_string),
8145         (gst_util_set_object_arg):
8146           fix a bunch of unchecked return values
8147         * tools/gst-complete.c: (main):
8148         * gstreamer.spec.in:
8149           clean up a little
8150
8151 2005-09-01  Wim Taymans  <wim@fluendo.com>
8152
8153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8154         (gst_base_sink_event), (gst_base_sink_do_sync),
8155         (gst_base_sink_handle_event):
8156         * gst/base/gstbasesink.h:
8157         Handle newsegments more correctly.
8158
8159         * gst/gstbus.c:
8160         Fix docs.
8161
8162         * gst/gstevent.c: (gst_event_new_newsegment):
8163         A newsegment cannot have a start_time of -1
8164
8165 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8166
8167         * win32/gstenumtypes.c:
8168         * win32/gstenumtypes.h:
8169           Update
8170
8171 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8172
8173         * libs/gst/controller/gst-controller.c:
8174         (gst_controlled_property_set_interpolation_mode),
8175         (gst_controlled_property_new):
8176          fixed boolean again
8177
8178 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8179
8180         * docs/faq/gst-uninstalled:
8181           add -good
8182         * gst/gstevent.c:
8183         * gst/gstevent.h:
8184           remove wrong docs
8185         * gst/gstutils.c: (gst_element_link_filtered):
8186         * gst/gstutils.h:
8187           add gst_element_link_filtered
8188
8189 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8190
8191         * docs/gst/gstreamer-docs.sgml:
8192         * docs/gst/gstreamer-sections.txt:
8193         * docs/gst/tmpl/.cvsignore:
8194         * docs/gst/tmpl/gsterror.sgml:
8195         * docs/gst/tmpl/gstfilter.sgml:
8196         * docs/gst/tmpl/gsturihandler.sgml:
8197         * docs/gst/tmpl/gsturitype.sgml:
8198         * docs/gst/tmpl/gstutils.sgml:
8199         * docs/gst/tmpl/gstxml.sgml:
8200         * gst/gsterror.c:
8201         * gst/gsterror.h:
8202         * gst/gstfilter.c:
8203         * gst/gsturi.c:
8204         * gst/gsturitype.c:
8205         * gst/gstutils.c:
8206         * gst/gstxml.c:
8207           inlined more docs, fixed double id-ref
8208
8209 2005-08-31  Wim Taymans  <wim@fluendo.com>
8210
8211         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8212         (gst_base_transform_handle_buffer):
8213         Passthrough elements don't need the caps as they don't care.
8214
8215 2005-08-31  Wim Taymans  <wim@fluendo.com>
8216
8217         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8218         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8219         Don't leak refcounts on buffers.
8220
8221 2005-08-31  Wim Taymans  <wim@fluendo.com>
8222
8223         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8224         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8225         (gst_base_transform_chain), (gst_base_transform_change_state):
8226         * gst/base/gstbasetransform.h:
8227         Handle the case where we are not negotiated more gracefully.
8228
8229 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8230
8231         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8232         (gst_file_src_map_region):
8233           Set READONLY flag on mmap'ed buffers, otherwise
8234           gst_buffer_make_writable() won't work properly (#314708).
8235
8236 2005-08-31  Wim Taymans  <wim@fluendo.com>
8237
8238         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8239         passthrough elements can even do inplace on non writable
8240         buffers (as they don't touch them).
8241
8242 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8243
8244         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8245         (gst_test_mono_source_set_property),
8246         (gst_test_mono_source_class_init), (GST_START_TEST),
8247         (gst_controller_suite):
8248           more tests (hehe I have the most)
8249         * gst/gstbus.c:
8250           describe popping messages whenusing mulltiple sources
8251         * libs/gst/controller/gst-controller.c:
8252         (gst_controlled_property_set_interpolation_mode),
8253         (gst_controlled_property_new):
8254         * libs/gst/controller/gst-controller.h:
8255         * libs/gst/controller/gst-interpolation.c:
8256           implement boolean properties
8257
8258 2005-08-31  Wim Taymans  <wim@fluendo.com>
8259
8260         * gst/gstminiobject.c: (gst_mini_object_ref):
8261         Cannot assert that the refcount has to be positive
8262         since a disposed object can be resurrected.
8263
8264 2005-08-31  Wim Taymans  <wim@fluendo.com>
8265
8266         * gst/gstpad.c: (gst_pad_init):
8267         Revert change, need to first fix badly behaving 
8268         apps.
8269
8270 2005-08-30  Wim Taymans  <wim@fluendo.com>
8271
8272         * check/elements/fakesrc.c: (setup_fakesrc):
8273         * check/elements/identity.c: (setup_identity):
8274         Activate pads before using them.
8275
8276 2005-08-30  Wim Taymans  <wim@fluendo.com>
8277
8278         * gst/base/gstadapter.c: (gst_adapter_flush):
8279         Flushing out 0 bytes is ok for this function.
8280
8281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8282         no newsegment gives a warning and sets the start/stop to 
8283         invalid.
8284
8285         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8286         (gst_base_transform_set_passthrough):
8287         Some debug info.
8288
8289         * gst/gstminiobject.c: (gst_mini_object_ref):
8290         Check refcount here too.
8291
8292         * gst/gstpad.c: (gst_pad_init):
8293         Pads are initially flushing and refusing data.
8294
8295         * gst/gstutils.c: (gst_element_link_pads_filtered):
8296         When adding a capsfilter element make sure it has the
8297         same state as the parent bin.
8298
8299 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8300
8301         * docs/gst/tmpl/.cvsignore:
8302         * docs/gst/tmpl/gstformat.sgml:
8303         * docs/gst/tmpl/gstversion.sgml:
8304         * gst/gstbus.h:
8305         * gst/gstformat.c:
8306         * gst/gstformat.h:
8307         * gst/gstversion.h.in:
8308           more docs and two more inlined
8309
8310 2005-08-30  Wim Taymans  <wim@fluendo.com>
8311
8312         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8313         Don't sync to clock.
8314
8315 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8316
8317         * docs/gst/gstreamer-sections.txt:
8318           ultral33t func10ns deserve to appear in the docs actually
8319         * docs/gst/tmpl/.cvsignore:
8320         * docs/gst/tmpl/gstcompat.sgml:
8321         * docs/gst/tmpl/gstconfig.sgml:
8322         * gst/check/gstcheck.c:
8323         * gst/gstcompat.h:
8324         * gst/gstconfig.h.in:
8325           inlined more docs
8326
8327 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8328
8329         * docs/gst/tmpl/.cvsignore:
8330         * docs/gst/tmpl/gstquery.sgml:
8331         * docs/gst/tmpl/gstutils.sgml:
8332         * gst/gstquery.c:
8333         * gst/gstquery.h:
8334           inlined and extended docs
8335
8336 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8337
8338         * check/gst-libs/controller.c: (GST_START_TEST),
8339         (gst_controller_suite):
8340           more tests
8341         * docs/gst/tmpl/gstutils.sgml:
8342         * docs/libs/gstreamer-libs-sections.txt:
8343         * docs/libs/tmpl/gstdataprotocol.sgml:
8344           include path fixes
8345         * examples/controller/audio-example.c: (main):
8346           controller example works now
8347         * gst/gstclock.h:
8348           doc fixes
8349         * tools/gst-inspect.c: (print_element_properties_info):
8350           show param spec flags
8351
8352 2005-08-29  Andy Wingo  <wingo@pobox.com>
8353
8354         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8355
8356 2005-08-28  Andy Wingo  <wingo@pobox.com>
8357
8358         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8359         as having two arguments instead of just one. Allows superclasses
8360         to access information on subclasses -- see the terrible for() loop
8361         in gtype.c:g_type_create_instance for the reason why. All callers
8362         changed.
8363
8364 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8365
8366         * docs/design/part-messages.txt:
8367           update info
8368         * docs/gst/tmpl/.cvsignore:
8369         * docs/gst/tmpl/gstcaps.sgml:
8370         * docs/gst/tmpl/gstclock.sgml:
8371         * gst/gstbus.c:
8372         * gst/gstcaps.c:
8373         * gst/gstcaps.h:
8374         * gst/gstclock.c:
8375         * gst/gstclock.h:
8376         * gst/gstmessage.c:
8377           added descriptions for bus and message
8378           inline caps and clock docs
8379
8380 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8381
8382         * gst/gstmessage.c:
8383         * gst/gstmessage.h:
8384           doc fixes
8385
8386 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8387
8388         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8389           fix div-by-zero
8390
8391 2005-08-26  Andy Wingo  <wingo@pobox.com>
8392
8393         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8394         element_set_state's return val.
8395         (test_2_elements): Add test that's been disabled for months.
8396
8397         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8398         can-activate-pull properties.
8399
8400         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8401         can-activate-pull properties. Implement is_seekable so fakesrc can
8402         operate in pull mode.
8403
8404         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8405         properties.
8406         (gst_base_sink_activate, gst_base_sink_activate_pull)
8407         (gst_base_sink_activate_push): Make activation mode choosing work.
8408         Cleanups.
8409         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8410         is right. Make pull mode work. Post an eos before pausing in pull
8411         mode.
8412         (gst_base_sink_change_state): Pay attention to the core's
8413         change_state() return val.
8414         
8415         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8416         has-getrange properties. Cleanups.
8417         
8418         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8419         has_getrange and replace with can_activate_pull and
8420         can_activate_push.
8421
8422         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8423         locking comments. Remove has_loop, has_chain and replace with
8424         can_activate_pull and can_activate_push.
8425
8426 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8427
8428         * configure.ac:
8429         * examples/Makefile.am:
8430         * examples/metadata/Makefile.am:
8431         * examples/metadata/read-metadata.c: (message_loop),
8432         (have_pad_handler), (make_pipeline), (print_tag), (main):
8433           Add metadata reading example that loops over a list of filenames,
8434           dumping any tags found.
8435
8436         * gst/gstbus.c: (gst_bus_dispose):
8437         * gst/gstelement.c: (gst_element_dispose):
8438           Release a few potentially-held references in dispose.
8439
8440 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8441
8442         * docs/gst/tmpl/gstminiobject.sgml:
8443           do *not* add tmpl/*.sgml files to CVS!
8444
8445 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8446
8447         * libs/gst/bytestream/.cvsignore:
8448         * libs/gst/bytestream/Makefile.am:
8449         * libs/gst/bytestream/adapter.c:
8450         * libs/gst/bytestream/adapter.h:
8451         * libs/gst/bytestream/bytestream.c:
8452         * libs/gst/bytestream/bytestream.h:
8453         * libs/gst/bytestream/filepad.c:
8454         * libs/gst/bytestream/filepad.h:
8455           removing obsolete files
8456
8457 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8458
8459         * docs/gst/gstreamer-docs.sgml:
8460         * docs/libs/gstreamer-libs-docs.sgml:
8461           disabed additional index entries again, as this makes docs-gen just
8462           slow and they aren't useful yet
8463         * docs/libs/gstreamer-libs-sections.txt:
8464           little -section.txt cleanup for libs
8465
8466 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8467
8468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8469         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8470           fix up some debugging
8471         (gst_base_transform_get_unit_size),
8472         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8473         (gst_base_transform_handle_buffer):
8474         * gst/base/gstbasetransform.h:
8475           handle and store timed NEWSEGMENT events so that subclasses that
8476           calculate time by counting samples have a segment_start time they
8477           need to add to their timestamps - see audioresample
8478
8479 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8480
8481         * gst/gstbin.h:
8482           removed ';' from the end of macro defs
8483         * docs/gst/gstreamer-docs.sgml:
8484         * docs/gst/gstreamer-sections.txt:
8485         * docs/gst/tmpl/.cvsignore:
8486         * gst/gstbus.h:
8487         * gst/gstelement.c: (gst_element_class_init),
8488         (gst_element_set_state), (activate_pads),
8489         (gst_element_save_thyself):
8490         * gst/gstevent.c: (gst_event_new_newsegment):
8491         * gst/gstevent.h:
8492         * gst/gstiterator.c:
8493         * gst/gstiterator.h:
8494         * gst/gstpad.c:
8495         * gst/gstprobe.h:
8496         * gst/gstutils.c: (gst_pad_query_convert):
8497         * gst/gstutils.h:
8498           fixed parameter name mismatches between source, header and docs
8499           added some more docs, resolved the last batch of unused elements in
8500           docs (now someone needs to doc them)
8501
8502 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8503
8504         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8505         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8506           don't walk through the plugins backwards.  Where is all this
8507           reversed logic coming from ?
8508
8509 2005-08-25  Wim Taymans  <wim@fluendo.com>
8510
8511         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8512         (gst_base_transform_transform_size),
8513         (gst_base_transform_configure_caps),
8514         (gst_base_transform_get_unit_size),
8515         (gst_base_transform_buffer_alloc),
8516         (gst_base_transform_change_state):
8517         * gst/base/gstbasetransform.h:
8518         Cache caps unit_size.
8519         Make sure we cannot negotiate up and downstream at the
8520         same time.
8521
8522 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8523
8524         * gst/gst.c: (init_pre), (init_post):
8525           register the installed plugin path after the env var
8526         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8527         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8528           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8529           directories, so the tests can prefer uninstalled over installed
8530
8531 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * gst/base/gstbasetransform.h:
8534           comment
8535         * gst/gstpad.c:
8536           add to docs
8537
8538 2005-08-25  Wim Taymans  <wim@fluendo.com>
8539
8540         * gst/gstbin.c: (bin_bus_handler):
8541         Be a bit more conservative about the posted message.
8542         
8543         * gst/gstbus.c: (gst_bus_post):
8544         Some cleanups, warn wrong return values.
8545
8546 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8547
8548         * check/gst/gstbin.c: (GST_START_TEST):
8549         * gst/gstbin.c: (bin_bus_handler):
8550         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8551         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8552         (gst_message_new_warning), (gst_message_new_tag),
8553         (gst_message_new_state_changed), (gst_message_new_segment_start),
8554         (gst_message_new_segment_done), (gst_message_new_custom):
8555         * gst/gstmessage.h:
8556         * tools/gst-launch.c: (event_loop):
8557         * tools/gst-md5sum.c: (event_loop):
8558           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8559
8560 2005-08-25  Wim Taymans  <wim@fluendo.com>
8561
8562         * check/generic/states.c: (GST_START_TEST):
8563         Cleanup can be done at the end.
8564
8565         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8566         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8567         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8568         Oh boy.. Thanks for finding this, Thomas. 
8569
8570 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8571
8572         * docs/gst/gstreamer.types:
8573           added missing types
8574
8575 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8576
8577         * docs/gst/gstreamer-docs.sgml:
8578         * docs/gst/gstreamer-sections.txt:
8579         * docs/gst/tmpl/.cvsignore:
8580         * gst/gstbin.c:
8581         * gst/gstiterator.c:
8582         * gst/gstutils.c:
8583         * gst/registries/gstxmlregistry.h:
8584           added missing classes and symbols (123 more to go)
8585           removed removed symbols from section file
8586           fixed many doc-comments
8587
8588 2005-08-24  Wim Taymans  <wim@fluendo.com>
8589
8590         * check/generic/states.c: (GST_START_TEST):
8591         Make sure all tasks are stopped.
8592
8593         * check/gst/gstbin.c: (GST_START_TEST):
8594         Unref after usage for proper valgrinding.
8595
8596         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8597         Really wait for the task to stop before destroying the
8598         mutex.
8599
8600         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8601         (gst_queue_src_activate_push):
8602         Small cleanups. Don't stop the task when we did not start
8603         it.
8604
8605         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8606         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8607         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8608         (gst_task_join):
8609         * gst/gsttask.h:
8610         Protect the stream lock with the object lock.
8611         Disallow setting the stream lock when running.
8612         Add cleanup_all to wait for the threadpool to finish.
8613         Remove code to autoallocate a mutex if none was provided.
8614         Add _join() to wait for a task to stop.
8615         Protect the thread pool with a global lock.
8616
8617 2005-08-24  Wim Taymans  <wim@fluendo.com>
8618
8619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8620         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8621         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8622         * gst/base/gstbasesink.h:
8623         Handle newsegment events correctly.
8624         Drop buffers out of the segment range.
8625
8626 2005-08-22  Andy Wingo  <wingo@pobox.com>
8627
8628         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8629         macro, implements an interface and gstimplementsinterface for a
8630         new type.
8631
8632 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * check/Makefile.am:
8635         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8636           add a test that does a bunch of state changes on elements
8637           needs some fixing for valgrind
8638         * check/states/sinks.c: (gst_object_suite):
8639           whitespace
8640         * gst/gstcaps.h:
8641           add prototype for gst_caps_is_equal_fixed
8642         * gst/gstplugin.c:
8643         * gst/gstregistrypool.c:
8644           doc fixes
8645
8646 2005-08-24  Andy Wingo  <wingo@pobox.com>
8647
8648         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8649         convert a negative value. Doesn't make much sense. Mostly this is
8650         here to force callers to ensure -1 maps to -1.
8651
8652 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8653
8654         * docs/pwg/advanced-types.xml:
8655           Well done to Michael for catching my deliberate introduction
8656           of this spelling mistake. 
8657         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8658         * gst/gstelement.h:
8659           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8660           unlink pads before removing the element from the bin.
8661
8662 2005-08-24  Andy Wingo  <wingo@pobox.com>
8663
8664         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8665         the same thing as GST_DEBUG=*:4.
8666         (parse_debug_level, parse_debug_category): New helper parsers.
8667
8668 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8669
8670         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8671         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8672         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8673         (gst_base_transform_buffer_alloc),
8674         (gst_base_transform_handle_buffer):
8675           use gboolean return values and pointers to size so we can use the
8676           full GST_BUFFER_SIZE range (guint) for buffer sizes
8677           use GstPadDirection for transform_caps
8678         * gst/base/gstbasetransform.h:
8679           rename get_size to get_unit_size since that's what it is
8680         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8681           use GstPadDirection for transform_caps
8682         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8683         * gst/gstutils.h:
8684           cleanup and debugging
8685
8686 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8687
8688         * gst/gstelement.c: (gst_element_class_init),
8689         (gst_element_set_state), (activate_pads),
8690         (gst_element_save_thyself):
8691         * tools/gst-compprep.c: (main):
8692         * tools/gst-inspect.c: (print_element_properties_info):
8693         * tools/gst-xmlinspect.c: (print_element_properties):
8694           Fixed long standing mem-leak
8695
8696 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8697
8698         * check/gst/gstbin.c: (GST_START_TEST):
8699         * gst/gstbin.c: (bin_bus_handler):
8700         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8701         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8702         (gst_message_new_warning), (gst_message_new_tag),
8703         (gst_message_new_state_changed), (gst_message_new_segment_start),
8704         (gst_message_new_segment_done), (gst_message_new_custom):
8705         * gst/gstmessage.h:
8706         * tools/gst-launch.c: (event_loop):
8707         * tools/gst-md5sum.c: (event_loop):
8708           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8709           that applications can sensibly post custom messages with references
8710           to their own objects.
8711
8712 2005-08-24  Andy Wingo  <wingo@pobox.com>
8713
8714         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8715         already.
8716
8717 2005-08-24  Wim Taymans  <wim@fluendo.com>
8718
8719         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8720         (gst_base_transform_transform_caps),
8721         (gst_base_transform_transform_size),
8722         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8723         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8724         (gst_base_transform_handle_buffer):
8725         * gst/base/gstbasetransform.h:
8726         Many fixes and new features added by Thomas. Can now also do
8727         transforms with variable sizes and a custom fixate_caps function.
8728
8729 2005-08-24  Wim Taymans  <wim@fluendo.com>
8730
8731         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8732         Some debugging.
8733
8734         * gst/gstclock.h:
8735         Cast to ClockTime before formatting to time.
8736
8737         * gst/gstutils.h:
8738         Cleanups.
8739
8740 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8741
8742         * check/gst-libs/controller.c: (GST_START_TEST),
8743         (gst_controller_suite):
8744         * docs/gst/tmpl/gstcaps.sgml:
8745         * docs/gst/tmpl/gstghostpad.sgml:
8746         * docs/gst/tmpl/gstquery.sgml:
8747         * docs/gst/tmpl/gstutils.sgml:
8748         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8749         (gst_object_sink_values), (gst_object_get_value_arrays),
8750         (gst_object_get_value_array):
8751           gracefully handle helper method calls to objects that are not beeing
8752           controlled, added test case for that          
8753
8754 2005-08-23  Wim Taymans  <wim@fluendo.com>
8755
8756         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8757         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8758         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8759         (gst_event_parse_qos), (gst_event_new_seek),
8760         (gst_event_parse_seek):
8761         * gst/gstevent.h:
8762         Some more debugging output and doc cleanups.
8763
8764         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8765         Fix possible deadlock.
8766
8767 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8768
8769         * docs/gst/gstreamer-docs.sgml:
8770         * docs/gst/gstreamer-sections.txt:
8771         * docs/gst/gstreamer.types:
8772         * docs/gst/tmpl/.cvsignore:
8773         * gst/gstbin.h:
8774         * gst/gstbus.c:
8775         * gst/gstelement.c:
8776         * gst/gstevent.h:
8777           added 100 symbols from gstreamer-unused.txt to the right sections
8778           fixed more broken comments
8779           added GstBus to docs
8780
8781 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8782
8783         * docs/gst/gstreamer-sections.txt:
8784         * docs/gst/tmpl/.cvsignore:
8785         * docs/gst/tmpl/gstbin.sgml:
8786         * docs/gst/tmpl/gstbuffer.sgml:
8787         * gst/base/gstbasesrc.c:
8788         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8789         * gst/gstbuffer.c:
8790         * gst/gstbuffer.h:
8791         * tools/gst-launch.1.in:
8792           inlined more doc comments, added missing comments and fixed comments
8793           fixed typos
8794
8795 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8796
8797         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8798           some debugging
8799         * gst/gstcaps.h:
8800           whitespace fixes
8801         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8802           more debugging
8803         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8804         * gst/gststructure.h:
8805           add a fixate function for booleans; add a FIXME that these func
8806           names should probably be gst_structure_fixate_*
8807
8808 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8809
8810         * docs/gst/gstreamer-docs.sgml:
8811         * docs/gst/gstreamer-sections.txt:
8812         * gst/Makefile.am:
8813         * gst/gstbin.c: (gst_bin_get_type),
8814         (gst_bin_child_proxy_get_child_by_index),
8815         (gst_bin_child_proxy_get_children_count),
8816         (gst_bin_child_proxy_init):
8817         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8818         (gst_child_proxy_get_child_by_index),
8819         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8820         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8821         (gst_child_proxy_get), (gst_child_proxy_set_property),
8822         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8823         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8824         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8825         * gst/gstchildproxy.h:
8826         * gst/parse/grammar.y:
8827         * tools/gst-inspect.c: (print_interfaces),
8828         (print_element_properties_info), (print_element_info):
8829           ported gstchildproxy over from 0.8
8830           ported gst-inspect fixes and enhancements over from 0.8
8831
8832 2005-08-22  Wim Taymans  <wim@fluendo.com>
8833
8834         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8835         (gst_base_transform_handle_buffer):
8836         Also call the transform function if we have ANY caps.
8837
8838         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8839         Fix debug info.
8840
8841 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8842
8843         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8844           Don't pretend to handle seek events if the source is not seekable
8845
8846 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8847
8848         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8849           Remove extra parameter to debug output
8850
8851         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8852         (gst_base_src_do_seek), (gst_base_src_activate_push):
8853           Fix seek event handling.
8854
8855         * gst/gstpipeline.c: (gst_pipeline_change_state):
8856         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8857         (gst_queue_src_activate_push):
8858           Don't start the src pad task on FLUSH_STOP if the pad
8859           isn't linked.
8860           Debug changes.
8861
8862 2005-08-22  Wim Taymans  <wim@fluendo.com>
8863
8864         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8865         Added check for gst_static_caps_get() refcounting.
8866
8867 2005-08-22  Wim Taymans  <wim@fluendo.com>
8868
8869         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8870         Make _static_caps_get() refcounting sane.
8871         
8872         * gst/gstelement.c: (gst_element_set_state):
8873         Add g_return_val_if_fail() to protect against segfaults.
8874
8875 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8876
8877         * docs/gst/tmpl/gstevent.sgml:
8878         * gst/gstevent.c:
8879         * gst/gstevent.h:
8880           inlined remaining docs, added missing doc comments
8881
8882 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * check/gst/gstbin.c: (GST_START_TEST):
8885           since we don't know when preroll is done, use refcount range
8886           check for the sink
8887         * gst/check/gstcheck.h:
8888           add macro for checking refcount range
8889
8890 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * check/Makefile.am:
8893           clean up environment for when registry gets built versus
8894           when actual tests are run; valgrind seems to not report
8895           leaks if GST_PLUGIN_PATH is set to some specific values
8896         * check/gst/gstbin.c: (GST_START_TEST):
8897           add more refcounting checks; maybe this exposes a
8898           preroll lock bug ?
8899         * common/check.mak:
8900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8901         * gst/check/gstcheck.h:
8902         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8903         (gst_bin_change_state):
8904         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8905           add/fix debugging/whitespace
8906
8907 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8908
8909         * check/gst/gstevent.c: (event_probe), (test_event),
8910         (GST_START_TEST):
8911          Er, don't call gst_bin_watch_for_state_change you idiot.
8912
8913 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8914
8915         * check/Makefile.am:
8916           Use CHECK_CFLAGS and CHECK_LIBS
8917         * check/gst/gstevent.c: (event_probe), (test_event),
8918         (GST_START_TEST):
8919           Don't leak events.
8920         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8921         (gst_base_src_start), (gst_base_src_stop),
8922         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8923         (gst_base_src_change_state):
8924           Sprinkle gst_base_src_stop liberally around error paths to fix
8925           problems reusing a source after failed state changes.
8926         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8927         (helper_find_suggest), (gst_type_find_helper):
8928           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8929         * gst/gstevent.h:
8930         * docs/gst/tmpl/gstevent.sgml:
8931           Migrate part of the docs from the SGML file. Wait for ensonic to
8932           tell me how I did it wrong ;)
8933         * tools/gst-typefind.c: (main):
8934           Extra robustness to state changes between files.
8935
8936 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8937
8938         * check/Makefile.am:
8939           don't valgrind the controller test - it's leaking - Stefan, HELP
8940         * gst/check/gstcheck.c: (gst_check_message_error),
8941         (gst_check_chain_func), (gst_check_setup_element),
8942         (gst_check_teardown_element), (gst_check_setup_src_pad),
8943         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8944         (gst_check_teardown_sink_pad):
8945         * gst/check/gstcheck.h:
8946           add a bunch of methods to set up elements, and src and sink pads
8947         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8948         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8949         (GST_START_TEST):
8950           use them
8951         * gst/gstmessage.c:
8952         * gst/gsttag.h:
8953           whitespace/doc fixes
8954
8955 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8956
8957         * gst/gstelement.h:
8958           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8959           be handled by the application and not always printed as well
8960
8961 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8962
8963         * check/Makefile.am:
8964           set GST_TOOLS_DIR
8965         * gst/check/gstcheck.c: (gst_check_message_error):
8966         * gst/check/gstcheck.h:
8967           add a fail_unless_equals_int
8968           add fail_unless for error messages
8969
8970 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8971
8972         * check/Makefile.am:
8973         * check/gst.supp:
8974         * common/Makefile.am:
8975         * common/check.mak:
8976         * common/gst.supp:
8977           factor out some of the common stuff so we can use it
8978
8979 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8980
8981         * check/Makefile.am:
8982         * check/gst/gstiterator.c: (GST_START_TEST):
8983         * check/gst/gstsystemclock.c: (GST_START_TEST),
8984         (gst_systemclock_suite):
8985         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8986         * gst/gstclock.c:
8987           valgrind more tests
8988
8989 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8990
8991         * check/elements/.cvsignore:
8992         * check/elements/gstfakesrc.c:
8993           rename to name of element
8994         * check/elements/identity.c: (chain_func), (event_func),
8995         (setup_identity), (cleanup_identity), (GST_START_TEST),
8996         (identity_suite), (main):
8997           add a test for identity
8998         * check/Makefile.am:
8999         * pkgconfig/Makefile.am:
9000         * pkgconfig/gstreamer-check.pc.in:
9001         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9002         * gst/check:
9003         * gst/Makefile.am:
9004         * configure.ac:
9005           move the check stuff to a library that gets installed
9006         * check/gst-libs/controller.c: (GST_START_TEST):
9007         * check/gst-libs/gdp.c:
9008         * check/gst/gst.c: (GST_START_TEST):
9009         * check/gst/gstbin.c:
9010         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9011         * check/gst/gstbus.c:
9012         * check/gst/gstcaps.c: (GST_START_TEST):
9013         * check/gst/gstelement.c:
9014         * check/gst/gstghostpad.c:
9015         * check/gst/gstiterator.c:
9016         * check/gst/gstmessage.c:
9017         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9018         * check/gst/gstobject.c:
9019         * check/gst/gstpad.c: (GST_START_TEST):
9020         * check/gst/gststructure.c: (GST_START_TEST):
9021         * check/gst/gstsystemclock.c: (GST_START_TEST),
9022         (gst_systemclock_suite):
9023         * check/gst/gsttag.c: (gst_tag_suite):
9024         * check/gst/gstvalue.c:
9025         * check/pipelines/cleanup.c:
9026         * check/pipelines/simple_launch_lines.c:
9027         * check/states/sinks.c:
9028           change include statement
9029
9030         * docs/gst/gstreamer-sections.txt:
9031         * docs/gst/tmpl/gstpad.sgml:
9032           document more pad stuff
9033         * gst/gstminiobject.c: (gst_mini_object_ref),
9034         (gst_mini_object_unref):
9035           debug refcounting
9036
9037 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9038
9039         * docs/gst/tmpl/gst.sgml:
9040         * gst/gst.c:
9041           eliminate another tmpl file, fix spelling in the long-description
9042
9043 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9044
9045         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9046         (test_event), (timediff), (gstevents_suite):
9047           Should fix build on 64-bit arch's
9048
9049 2005-08-18  Andy Wingo  <wingo@pobox.com>
9050
9051         Make sure that when a pipeline goes to PLAYING, that data has
9052         actually hit the sink.
9053
9054         * check/states/sinks.c (test_sink): A sink that doesn't get any
9055         data shouldn't return SUCCESS for going to either PLAYING or
9056         PAUSED. Test also the return values on the way back down.
9057
9058         * gst/gstelement.c (gst_element_set_state): When changing the
9059         state of an element currently changing state asynchronously, go to
9060         lost-state after commiting the pending state. Makes future calls
9061         to get_state continue to return ASYNC.
9062
9063         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9064         ASYNC when going to PLAYING if we still don't have preroll, as can
9065         happen with live sources.
9066
9067 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9068
9069         * docs/pwg/advanced-types.xml:
9070           Hack long paragraph into 2 chunks as a workaround for buggy
9071           jadetex version in sid and breezy that loops infinitely and
9072           eats all RAM.
9073
9074 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9075
9076         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9077         (test_event), (timediff), (gstevents_suite):
9078           Provide more error margin in clock measurements to allow for 
9079           g_get_current_time inaccuracies.
9080
9081 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9082
9083         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9084         (test_event), (timediff), (gstevents_suite):
9085            Fix error message output so I might be able to tell why the
9086            test works here but fails on the build farm.
9087
9088 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9089
9090         * check/Makefile.am:
9091         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9092         (test_event), (timediff), (gstevents_suite), (main):
9093           I wrote a test!
9094
9095         * docs/design/part-seeking.txt:
9096           Spelling correction
9097
9098         * docs/gst/tmpl/gstevent.sgml:
9099         * docs/gst/tmpl/gstfakesrc.sgml:
9100           Docs updates.
9101
9102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9103           Treat a buffer-without-newsegment the same as a receiving 
9104           a newsegment not in time format, and disable syncing to the clock
9105           with a warning.
9106
9107         * gst/gstbus.c: (gst_bus_set_sync_handler):
9108           Assert if anyone tries to replace the existing sync_handler for bus, 
9109           as only the owner should be setting it.
9110
9111         * gst/gstevent.h:
9112           Have a fixed set of custom event enums with events identified by
9113           their structure name (as in 0.8), rather than a free-for-all
9114           allowing collisions between enum values from different plugins.
9115
9116         * gst/gstpad.c: (gst_pad_class_init):
9117           Docs change.
9118           
9119         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9120           Handle out-of-band downstream events from the sending thread.
9121
9122 2005-08-17  Andy Wingo  <wingo@pobox.com>
9123
9124         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9125         play-timeout==0 to mean no timeout at all. In that case, don't
9126         bother with a get_state or a warning, just return directly, even
9127         if it's ASYNC.
9128
9129         * gst/base/gstbasetransform.c: Debug changes.
9130
9131         * gst/gstutils.h:
9132         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9133         ensure bins post state change messages. A bit of a hack but I can't
9134         think of a way to avoid it.
9135
9136         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9137
9138 2005-08-16  Andy Wingo  <wingo@pobox.com>
9139
9140         * gst/base/gstadapter.h:
9141         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9142         peek() but you own the data. Not terribly efficient atm.
9143
9144 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9145
9146         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9147         (gst_element_found_tags):
9148         * gst/gstutils.h:
9149           Add two utility functions for tag handling.
9150
9151 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9152
9153         * docs/manual/advanced-dataaccess.xml:
9154         * docs/manual/basics-helloworld.xml:
9155           Fix docs to use _bin_add() before _link(), which fixes the examples
9156           with recent core versions (reported by Madhan Raj M
9157           <raj_madan@rediffmail.com>, #313199).
9158
9159 2005-08-16  Wim Taymans  <wim@fluendo.com>
9160
9161         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9162         Added subtract checks.
9163
9164         * docs/design/part-events.txt:
9165         Some more docs about newsegment
9166
9167         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9168         Fix FIXME
9169
9170         * gst/gstcaps.c: (gst_caps_to_string):
9171         Add comments, cleanups.
9172         
9173         * gst/gstelement.c: (gst_element_save_thyself):
9174         cleanups
9175         
9176         * gst/gstvalue.c: (gst_value_collect_int_range),
9177         (gst_string_unwrap), (gst_value_union_int_int_range),
9178         (gst_value_union_int_range_int_range),
9179         (gst_value_intersect_int_int_range),
9180         (gst_value_intersect_int_range_int_range),
9181         (gst_value_intersect_double_double_range),
9182         (gst_value_intersect_double_range_double_range),
9183         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9184         (gst_value_subtract_int_range_int),
9185         (gst_value_subtract_double_range_double),
9186         (gst_value_subtract_double_range_double_range),
9187         (gst_value_subtract_from_list), (gst_value_subtract_list),
9188         (gst_value_can_compare), (gst_value_compare_fraction):
9189         Cleanups, add comments, remove unneeded asserts.
9190
9191 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9192
9193         * tools/gst-launch.c: (event_loop):
9194           don't convert NULL structures to strings
9195
9196 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9197
9198         * docs/gst/gstreamer-sections.txt:
9199           made some defines private
9200         * docs/gst/tmpl/gstconfig.sgml:
9201         * docs/gst/tmpl/gstqueue.sgml:
9202         * docs/gst/tmpl/gsttaglist.sgml:
9203         * docs/gst/tmpl/gsttypes.sgml:
9204         * docs/gst/tmpl/gstutils.sgml:
9205         * docs/pwg/appendix-porting.xml:
9206         * gst/base/gstbasesink.h:
9207         * gst/base/gstbasesrc.c:
9208         * gst/base/gstbasesrc.h:
9209         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9210         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9211         * gst/gstelement.c: (gst_element_class_init):
9212         * gst/gstpad.c: (gst_pad_class_init):
9213         * gst/gstqueue.c: (gst_queue_class_init):
9214         * gst/gstxml.c: (gst_xml_class_init):
9215           documented all undocumented signal inline
9216         * libs/gst/controller/gst-controller.h:
9217           added padding
9218
9219 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9220
9221         * docs/pwg/appendix-porting.xml:
9222           Document _set_link_function -> _set_setcaps_function.
9223
9224 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9225
9226         * check/Makefile.am:
9227           add a .check target for running the check
9228         * check/gst-libs/controller.c: (GST_START_TEST):
9229           cosmetic fixups
9230         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9231           complete checks for gstbuffer; would be nice if I could get the
9232           gcov stuff to work so I can see if I actually completed gstbuffer.c
9233         * check/gstcheck.h:
9234           add ASSERT_BUFFER_REFCOUNT
9235
9236 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9237
9238         * docs/gst/gstreamer-sections.txt:
9239         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9240         * gst/gsttag.h:
9241           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9242           spew out a warning if a tag that is already registered
9243           is re-registered, unless it is re-registered with a 
9244           different type (#308438).
9245
9246 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9247
9248         * docs/pwg/appendix-porting.xml:
9249         * docs/pwg/building-state.xml:
9250           Add some paragraphs about state changes in 0.9 to the PWG
9251           and the porting guide, in particular about the new meaning
9252           of GST_STATE_PAUSED and how to write state change functions
9253           with concurrent access by multiple threads in mind.
9254
9255 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9256
9257         * docs/gst/gstreamer-docs.sgml:
9258         * docs/libs/gstreamer-libs-docs.sgml:
9259           added deprecation and since indexes
9260         * libs/gst/controller/gst-controller.c:
9261         * libs/gst/controller/gst-helper.c:
9262           added since tags
9263
9264
9265 2005-08-11  Wim Taymans  <wim@fluendo.com>
9266
9267         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9268         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9269         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9270         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9271         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9272         (gst_ghost_pad_set_target):
9273         Actually implement (re)setting the target on a ghostpad
9274         as described in the docs.
9275
9276 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9277
9278         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9279           Check whether GST_DEBUG_NO_COLOR environment variable is
9280           set and disable coloured debug output if that is the case.
9281
9282 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9283
9284         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9285         (gst_type_find_helper):
9286           The memory returned by gst_type_find_peek() needs to
9287           stay valid until the end of a typefind function, and
9288           typefind functions may keep results from different 
9289           offsets around, so we can't just unref the buffer from
9290           the previous _peek(), but have to save all buffers 
9291           returned by _peek() until typefinding is done and only
9292           free them then.
9293
9294 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9295
9296         * docs/gst/gstreamer-sections.txt:
9297         * gst/gstutils.h:
9298           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9299
9300 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9301
9302         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9303           Fix a pretty good memleak.
9304
9305 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9306
9307         * gst/gstiterator.h:
9308           Fix wrong include and 'make distcheck'.
9309
9310 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9311
9312         * gst/gstbin.c: (bin_bus_handler):
9313           Use gst_element_post_message() instead.
9314
9315 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9316
9317         * gst/base/gstadapter.h:
9318         * gst/base/gstbasesink.h:
9319         * gst/base/gstbasesrc.h:
9320         * gst/base/gstbasetransform.h:
9321         * gst/base/gstcollectpads.h:
9322         * gst/base/gstpushsrc.h:
9323         * gst/gstiterator.h:
9324           Add padding to our base elements' class and instance structs and
9325           to GstIterator (you will need to rebuild all plugins and apps!)
9326
9327 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9328
9329         * gst/gstbin.c: (bin_bus_handler):
9330           Make default message forwarding from child->bus to bin->bus
9331           threadsafe and make it not emit warnings if the parent has no bus.
9332
9333 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9334
9335         * gst/gstelement.c: (activate_pads):
9336           On paused->ready, set pad->caps to NULL, as is the documented
9337           behaviour in this state change. Fixes playback of series of
9338           media files when visualization is enabled in Totem.
9339
9340 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9341
9342         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9343           Allow NULL as filter-caps (which means "any").
9344
9345 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9346
9347         * docs/libs/gstreamer-libs-sections.txt:
9348         * libs/gst/controller/gst-controller.c:
9349         * libs/gst/controller/gst-controller.h:
9350         * libs/gst/controller/gst-helper.c:
9351           adding more entries to the docs and fix small doc-bugs
9352
9353 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9354
9355         * docs/gst/gstreamer-docs.sgml:
9356         * docs/gst/gstreamer-sections.txt:
9357         * docs/gst/gstreamer.types:
9358         * docs/gst/tmpl/gstbasesink.sgml:
9359         * docs/gst/tmpl/gstbasesrc.sgml:
9360         * docs/gst/tmpl/gstbasetransform.sgml:
9361         * docs/gst/tmpl/gstfakesrc.sgml:
9362         * gst/base/gstcollectpads.c:
9363         * gst/base/gstcollectpads.h:
9364         * libs/gst/controller/gst-controller.c:
9365         * libs/gst/controller/gst-controller.h:
9366         * libs/gst/controller/gst-helper.c:
9367         * libs/gst/controller/gst-interpolation.c:
9368         * libs/gst/controller/lib.c:
9369           added long/short desc for controller docs
9370           added collectpads base class docs
9371           added correct includes to base-class docs
9372
9373 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9374
9375         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9376         (gst_test_mono_source_set_property),
9377         (gst_test_mono_source_class_init), (GST_START_TEST),
9378         (gst_controller_suite):
9379         * docs/gst/gstreamer-docs.sgml:
9380         * docs/gst/gstreamer-sections.txt:
9381         * docs/gst/gstreamer.types:
9382         * docs/libs/gstreamer-libs-docs.sgml:
9383         * docs/libs/gstreamer-libs-sections.txt:
9384         * gst/base/gstadapter.c:
9385         * libs/gst/controller/gst-controller.c:
9386         (gst_controlled_property_new), (gst_controlled_property_free),
9387         (gst_controller_new_valist),
9388         (gst_controller_remove_properties_valist),
9389         (gst_controller_sink_values), (_gst_controller_finalize):
9390         * libs/gst/controller/gst-controller.h:
9391         * libs/gst/controller/gst-helper.c:
9392         (gst_object_control_properties), (gst_object_uncontrol_properties),
9393         (gst_object_get_controller), (gst_object_set_controller),
9394         (gst_object_sink_values), (gst_object_get_value_arrays),
9395         (gst_object_get_value_array):
9396           more tests (and fixes) for the controller
9397           more docs for the controller
9398           integrated companies docs for the adapter 
9399
9400 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9401
9402         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9403         (GST_START_TEST), (fakesrc_suite):
9404           add tests for sizetype
9405
9406 2005-08-04  Andy Wingo  <wingo@pobox.com>
9407
9408         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9409         fixes buffer_alloc proxying among other things.
9410
9411         * gst/base/gstbasetransform.c:
9412         * gst/base/gstbasetransform.h:
9413         Revert patch to gstbasetransform from 7-28 removing
9414         delay_configure.
9415
9416         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9417         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9418         Semantics changed, should return not the size of the output buffer
9419         but the byte size of a buffer with a given caps.
9420
9421         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9422         debug object.
9423         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9424         out) are not the pad caps until setcaps finishes.
9425         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9426         not-in-place case as well. Deal with changing from in-place to
9427         not-in-place within calling pad_alloc_buffer. Still a bit
9428         concerned about the overhead here...
9429
9430 2005-08-03  Andy Wingo  <wingo@pobox.com>
9431
9432         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9433         fixating is an error.
9434
9435 2005-08-04  Edward Hervey  <edward@fluendo.com>
9436
9437         * gst/base/gstadapter.h: 
9438         Added gst_adapter_get_type() to the header
9439
9440 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9441
9442         * check/Makefile.am:
9443         * check/gst-libs/controller.c:
9444         * libs/gst/controller/gst-controller.c:
9445         (gst_controller_new_valist):
9446           added check test suite for the controller
9447         * gst/base/gstpushsrc.c:
9448           fixed a doc typo
9449
9450 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9451
9452         * docs/gst/Makefile.am:
9453         * docs/gst/gstreamer-docs.sgml:
9454         * docs/gst/gstreamer-sections.txt:
9455         * docs/gst/gstreamer.types:
9456         * docs/gst/tmpl/gstfakesrc.sgml:
9457         * gst/base/README:
9458         * gst/base/gstbasesink.c:
9459         * gst/base/gstbasesink.h:
9460         * gst/base/gstbasesrc.c:
9461         * gst/base/gstbasesrc.h:
9462         * gst/base/gstbasetransform.c:
9463         * gst/base/gstpushsrc.c:
9464         * gst/base/gstpushsrc.h:
9465           add short/long description docs to base classes
9466           add pushsrc to the docs
9467           remove consolidated doc fragments
9468
9469 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9470
9471         * configure.ac:
9472         * docs/libs/Makefile.am:
9473         * docs/libs/gstreamer-libs-docs.sgml:
9474         * docs/libs/gstreamer-libs-sections.txt:
9475         * docs/libs/gstreamer-libs.types:
9476         * examples/Makefile.am:
9477         * examples/controller/.cvsignore:
9478         * examples/controller/Makefile.am:
9479         * examples/controller/audio-example.c: (main):
9480         * libs/gst/Makefile.am:
9481         * libs/gst/controller/.cvsignore:
9482         * libs/gst/controller/Makefile.am:
9483         * libs/gst/controller/gst-controller.c:
9484         (on_object_controlled_property_changed), (gst_timed_value_compare),
9485         (gst_timed_value_find),
9486         (gst_controlled_property_set_interpolation_mode),
9487         (gst_controlled_property_new), (gst_controlled_property_free),
9488         (gst_controller_find_controlled_property),
9489         (gst_controller_new_valist), (gst_controller_new),
9490         (gst_controller_remove_properties_valist),
9491         (gst_controller_remove_properties), (gst_controller_set),
9492         (gst_controller_set_from_list), (gst_controller_unset),
9493         (gst_controller_get), (gst_controller_get_all),
9494         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9495         (gst_controller_get_value_array),
9496         (gst_controller_set_interpolation_mode),
9497         (_gst_controller_finalize), (_gst_controller_init),
9498         (_gst_controller_class_init), (gst_controller_get_type):
9499         * libs/gst/controller/gst-controller.h:
9500         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9501         (g_object_uncontrol_properties), (g_object_get_controller),
9502         (g_object_set_controller), (g_object_sink_values),
9503         (g_object_get_value_arrays), (g_object_get_value_array):
9504         * libs/gst/controller/gst-interpolation.c:
9505         (gst_controlled_property_find_timed_value_node),
9506         (interpolate_none_get), (interpolate_trigger_get),
9507         (interpolate_trigger_get_value_array):
9508         * libs/gst/controller/lib.c: (gst_controller_init):
9509         * pkgconfig/Makefile.am:
9510         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9511         * pkgconfig/gstreamer-control.pc.in:
9512         * testsuite/Makefile.am:
9513         * testsuite/controller/.cvsignore:
9514         * testsuite/controller/Makefile.am:
9515         * testsuite/controller/interpolator.c: (main):
9516           added controller code
9517           removed dparam pc files
9518
9519 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9520         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9521         (gst_collectpads_stop):
9522           Broadcast the condition when shutting down, to make sure we wake all
9523           threads up. Shut down pads on finalize, for safety.
9524
9525 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9526         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9527         (gst_base_transform_handle_buffer),
9528         (gst_base_transform_change_state):
9529           Handle PAUSED->READY->PAUSED transition after negotiation
9530           occurred already.
9531         * gst/gstmessage.c: (gst_message_init):
9532           Extra piece of debug for new messages.
9533
9534 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9535
9536         * configure.ac:
9537         * docs/gst/tmpl/gstbasesrc.sgml:
9538         * docs/gst/tmpl/gstelement.sgml:
9539         * docs/gst/tmpl/gstevent.sgml:
9540         * docs/gst/tmpl/gstfakesrc.sgml:
9541         * docs/gst/tmpl/gstformat.sgml:
9542         * docs/gst/tmpl/gstghostpad.sgml:
9543         * docs/gst/tmpl/gstpad.sgml:
9544         * docs/gst/tmpl/gstquery.sgml:
9545         * docs/gst/tmpl/gststructure.sgml:
9546         * docs/gst/tmpl/gsttaglist.sgml:
9547         * docs/gst/tmpl/gstvalue.sgml:
9548         * docs/libs/gstreamer-libs-docs.sgml:
9549         * docs/libs/gstreamer-libs-sections.txt:
9550         * docs/libs/gstreamer-libs.types:
9551         * libs/gst/Makefile.am:
9552         * libs/gst/control/.cvsignore:
9553         * libs/gst/control/Makefile.am:
9554         * libs/gst/control/control.c:
9555         * libs/gst/control/control.h:
9556         * libs/gst/control/dparam.c:
9557         * libs/gst/control/dparam.h:
9558         * libs/gst/control/dparam_smooth.c:
9559         * libs/gst/control/dparam_smooth.h:
9560         * libs/gst/control/dparamcommon.h:
9561         * libs/gst/control/dparammanager.c:
9562         * libs/gst/control/dparammanager.h:
9563         * libs/gst/control/dplinearinterp.c:
9564         * libs/gst/control/dplinearinterp.h:
9565         * libs/gst/control/unitconvert.c:
9566         * libs/gst/control/unitconvert.h:
9567         * testsuite/Makefile.am:
9568         * testsuite/dynparams/.cvsignore:
9569         * testsuite/dynparams/Makefile.am:
9570         * testsuite/dynparams/dparamstest.c:
9571         * tools/Makefile.am:
9572         * tools/gst-inspect.c: (print_element_info), (main):
9573         * tools/gst-xmlinspect.c: (print_element_info), (main):
9574           deactivate and remove dparams (libgstcontrol)
9575
9576 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9577
9578         * gst/elements/gsttypefindelement.c:
9579         (gst_type_find_element_have_type), (gst_type_find_element_init),
9580         (stop_typefinding), (gst_type_find_element_handle_event),
9581         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9582         * gst/elements/gsttypefindelement.h:
9583           Set caps on all outgoing buffers, not just the first one.
9584
9585 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9586
9587         * gst/elements/gsttypefindelement.c:
9588         (gst_type_find_element_have_type),
9589         (gst_type_find_element_check_set_buffer_caps),
9590         (gst_type_find_element_init), (stop_typefinding),
9591         (gst_type_find_element_handle_event),
9592         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9593         * gst/elements/gsttypefindelement.h:
9594           Set caps on first outgoing buffer when we've found the type.
9595
9596 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9597
9598         * docs/gst/gstreamer-docs.sgml:
9599         * docs/gst/gstreamer-sections.txt:
9600         * docs/gst/tmpl/gstscheduler.sgml:
9601         * docs/gst/tmpl/gstschedulerfactory.sgml:
9602           Remove some old cruft from docs.
9603
9604 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9605
9606         * gst/gstpad.h:
9607           Fix inline docs for GstPadLinkReturn.
9608           
9609         * gst/gststructure.c: (gst_structure_has_name):
9610         * gst/gststructure.h:
9611         * docs/gst/gstreamer-sections.txt:
9612           New API: gst_structure_has_name().
9613
9614 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9615
9616         * configure.ac:
9617           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9618           and _LARGEFILE_SOURCE in config.h as required. Do not 
9619           export those flags in our .pc files any longer (#142209).
9620
9621           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9622
9623         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9624         (gst_file_sink_do_seek), (gst_file_sink_event),
9625         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9626           Redo seek/tell calls with large file support in mind; add some
9627           debugging messages; add log message that tells us when large
9628           file support is unavailable or not enabled for some reason.
9629
9630         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9631           Add log message that tells us when large file support 
9632           is unavailable or not enabled for some reason.
9633
9634 2005-07-29  Wim Taymans  <wim@fluendo.com>
9635
9636         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9637         Added test for removing an element with ghostpad from a bin.
9638         Fixed test as current implementation does the right thing.
9639
9640         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9641         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9642         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9643         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9644         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9645         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9646         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9647         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9648         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9649         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9650         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9651         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9652         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9653         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9654         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9655         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9656         * gst/gstghostpad.h:
9657         Clean up ghostpads, remove properties for internal stuff.
9658         Make threadsafe.
9659         Fix refcounting.
9660         Prepare for switching targets, not all use cases work yet.
9661
9662 2005-07-29  Wim Taymans  <wim@fluendo.com>
9663
9664         * docs/design/part-gstghostpad.txt:
9665         Small update.
9666
9667         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9668         (gst_bin_remove_func):
9669         Unlinking pads while holding the bin LOCK is not a good
9670         idea.
9671
9672         * gst/gstpad.c: (gst_pad_class_init),
9673         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9674         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9675         No prob setting template after creating the pad.
9676
9677 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9678
9679         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9680         (gst_bus_peek), (gst_bus_source_dispatch),
9681         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9682         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9683           gst_bus_poll may be called from other threads. Handle
9684           this nicely by not making poll_data disappear off the
9685           stack once gst_bus_poll returns.
9686           gst_bus_peek now increments the refcount on the returned
9687           message.
9688
9689 2005-07-29  Wim Taymans  <wim@fluendo.com>
9690
9691         * docs/design/part-gstghostpad.txt:
9692         Overview of current GhostPad datastructures and use
9693         cases for changing the target.
9694
9695 2005-07-28  Wim Taymans  <wim@fluendo.com>
9696
9697         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9698         Added checks for hierarchy consistency whan adding linked
9699         elements to bins.
9700
9701         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9702         Added check to test element scheduling without bin/pipeline.
9703
9704         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9705         First add elements to bin, then link.
9706         
9707         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9708         (gst_bin_remove_func):
9709         Unlink pads from elements added/removed from bin to maintain
9710         hierarchy consistency.
9711
9712 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9713
9714         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9715         (gst_base_transform_handle_buffer):
9716         * gst/base/gstbasetransform.h:
9717           Remove broken delay_configure (fixes renegotiation of software
9718           scaling pipelines); remove some leftover printf()s.
9719
9720 2005-07-28  Wim Taymans  <wim@fluendo.com>
9721
9722         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9723         Added some more tests for wrong hierarchy
9724
9725         * docs/design/part-overview.txt:
9726         Some updates.
9727
9728         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9729         Cleanups.
9730
9731         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9732         (gst_element_dispose):
9733         Some more cleanups.
9734
9735         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9736         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9737         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9738         (gst_pad_set_caps), (gst_pad_send_event):
9739         Check for correct hierarchy when linking pads. Moving to
9740         strict requirement for ghostpads when linking elements in
9741         different bins.
9742
9743         * gst/gstpad.h:
9744         Clean ups. Added WRONG_HIERARCHY return value.
9745
9746 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9747
9748         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9749           Better debug if no transform is possible.
9750
9751 2005-07-27  Wim Taymans  <wim@fluendo.com>
9752
9753         * docs/random/wtay/network-transp:
9754         Some old doc I had.
9755
9756 2005-07-27  Wim Taymans  <wim@fluendo.com>
9757
9758         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9759         (gst_dp_event_from_packet):
9760         Fix serialization of seek events.
9761
9762 2005-07-27  Wim Taymans  <wim@fluendo.com>
9763
9764         * check/gst-libs/gdp.c: (GST_START_TEST):
9765         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9766         Fix compilation and fix event serialization.
9767
9768 2005-07-27  Wim Taymans  <wim@fluendo.com>
9769
9770         * CHANGES-0.9:
9771         * docs/design/part-TODO.txt:
9772         * docs/design/part-events.txt:
9773         Some docs updates
9774
9775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9776         (gst_base_sink_event), (gst_base_sink_do_sync),
9777         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9778         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9779         (gst_base_src_do_seek), (gst_base_src_event_handler),
9780         (gst_base_src_loop):
9781         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9782         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9783         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9784         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9785         (gst_base_transform_set_passthrough),
9786         (gst_base_transform_is_passthrough):
9787         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9788         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9789         Event updates.
9790
9791         * gst/gstbuffer.h:
9792         Use faster casts.
9793
9794         * gst/gstelement.c: (gst_element_seek):
9795         * gst/gstelement.h:
9796         Update gst_element_seek.
9797
9798         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9799         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9800         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9801         (gst_event_new_eos), (gst_event_new_newsegment),
9802         (gst_event_parse_newsegment), (gst_event_new_tag),
9803         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9804         (gst_event_parse_qos), (gst_event_new_seek),
9805         (gst_event_parse_seek), (gst_event_new_navigation):
9806         * gst/gstevent.h:
9807         Make GstEvent use GstStructure. Add parsing code, make sure the
9808         API is sufficiently generic.
9809         Mark possible directions of events and serialization.
9810
9811         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9812         (_gst_message_copy), (gst_message_new_segment_start),
9813         (gst_message_new_segment_done), (gst_message_new_custom),
9814         (gst_message_parse_segment_start),
9815         (gst_message_parse_segment_done):
9816         Small cleanups.
9817
9818         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9819         (gst_pad_set_caps), (gst_pad_send_event):
9820         Update for new events. 
9821         Catch events sent in wrong directions.
9822
9823         * gst/gstqueue.c: (gst_queue_link_src),
9824         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9825         (gst_queue_handle_src_query):
9826         Event updates.
9827
9828         * gst/gsttag.c:
9829         * gst/gsttag.h:
9830         Remove event code from this file.
9831
9832         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9833         (gst_dp_event_from_packet):
9834         Event updates.
9835
9836 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9837
9838         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9839         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9840         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9841           Make debugging actually useful.
9842
9843 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9844
9845         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9846         (gst_pad_fixate_caps):
9847           Implement default fixation once again, so that gst_pad_fixate()
9848           actually does anything at all. This probably needs to be some
9849           sort of a last resort, and use profile-based fixation first, but
9850           since that doesn't exist yet, this is the best we have. Fixes
9851           visualization in Totem.
9852
9853 2005-07-22  Wim Taymans  <wim@fluendo.com>
9854
9855         * docs/design/part-events.txt:
9856         Small update.
9857
9858         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9859         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9860         (gst_base_sink_activate_pull):
9861         Some more comments.
9862
9863         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9864         (gst_fake_src_create):
9865         Fix handoff marshall.
9866
9867         * gst/elements/gstidentity.c: (gst_identity_class_init),
9868         (gst_identity_transform_ip):
9869         We're a real inplace element.
9870
9871         * gst/gstbus.c: (gst_bus_post):
9872         Added some comments.
9873
9874         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9875         * tests/muxing/case1.c: (main):
9876         * tests/sched/dynamic-pipeline.c: (main):
9877         * tests/sched/interrupt1.c: (main):
9878         * tests/sched/interrupt2.c: (main):
9879         * tests/sched/interrupt3.c: (main):
9880         * tests/sched/runxml.c: (main):
9881         * tests/sched/sched-stress.c: (main):
9882         * tests/seeking/seeking1.c: (event_received), (main):
9883         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9884         (main):
9885         * tests/threadstate/threadstate3.c: (main):
9886         * tests/threadstate/threadstate4.c: (main):
9887         * tests/threadstate/threadstate5.c: (main):
9888         Fix the tests.
9889
9890 2005-07-21  Wim Taymans  <wim@fluendo.com>
9891
9892         * docs/design/part-seeking.txt:
9893         Some small additions.
9894
9895         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9896         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9897         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9898         * gst/base/gstbasesink.h:
9899         discont values are gint64, handle the math correctly.
9900
9901         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9902         Make the basesrc report error if the source pad is not linked.
9903
9904         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9905         (gst_queue_loop), (gst_queue_handle_src_query),
9906         (gst_queue_src_activate_push):
9907         Make queue collect data even if the srcpad is not linked.
9908         Start pushing out data as soon as it is linked.
9909
9910         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9911         * gst/gstutils.h:
9912         Added gst_flow_get_name() to ease error reporting.
9913
9914 2005-07-20  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstmessage.c: (gst_message_new_segment_start),
9917         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9918         (gst_message_parse_segment_done):
9919         * gst/gstmessage.h:
9920         Added a bunch of messages for advanced seeking.
9921
9922         * gst/parse/grammar.y:
9923         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9924         (gst_dpman_state_changed):
9925         Fix some new-pad -> pad-added signals
9926
9927 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9928
9929         * docs/manual/appendix-porting.xml:
9930         * docs/pwg/appendix-porting.xml:
9931           Document new-pad/state-change signal renames and the FixedList
9932           type rename.
9933
9934 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9935
9936         * docs/manual/advanced-autoplugging.xml:
9937         * docs/manual/basics-helloworld.xml:
9938         * docs/manual/basics-pads.xml:
9939         * docs/random/ds/0.9-suggested-changes:
9940         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9941         * gst/gstelement.h:
9942         * gst/gstevent.h:
9943         * gst/gstformat.h:
9944         * gst/gstquery.h:
9945         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9946         (gst_structure_parse_array), (gst_structure_parse_value):
9947         * gst/gstvalue.c: (gst_type_is_fixed),
9948         (gst_value_list_prepend_value), (gst_value_list_append_value),
9949         (gst_value_list_get_size), (gst_value_list_get_value),
9950         (gst_value_transform_array_string), (gst_value_serialize_array),
9951         (gst_value_deserialize_array), (gst_value_intersect_array),
9952         (gst_value_is_fixed), (_gst_value_initialize):
9953         * gst/gstvalue.h:
9954           GstElement::new-pad -> pad-added, GstElement::state-change ->
9955           state-changed, GstValueFixedList -> GstValueArray, add format and
9956           flags as their own arguments in gst_element_seek() (should improve
9957           "bindeability"), remove function generators since they don't work
9958           under a whole bunch of compilers (they were deprecated already
9959           anyway).
9960
9961 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9962
9963         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9964         (_gst_debug_register_funcptr):
9965         * gst/gstinfo.h:
9966           Fix illegal cast on some platforms (#309253).
9967
9968 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9969
9970         * gst/gstmessage.c: (gst_message_new_custom):
9971         * gst/gstmessage.h:
9972           Add _new_custom, make _new_application a macro to _new_custom.
9973
9974 2005-07-20  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/base/gstbasesrc.c: (gst_base_src_init),
9977         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9978         * gst/base/gstbasesrc.h:
9979         Add a gboolean to decide when to push out a discont.
9980
9981         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9982         (gst_queue_loop), (gst_queue_handle_src_query),
9983         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9984         (gst_queue_set_property), (gst_queue_get_property):
9985         Some cleanups.
9986
9987         * tests/threadstate/threadstate1.c: (main):
9988         Make a thread test compile and run... very silly..
9989
9990
9991 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9992
9993         * docs/manual/appendix-porting.xml:
9994           Mention removal of libgstgconf-0.9.la and existence of gconf
9995           elements.
9996
9997 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9998
9999         * docs/pwg/advanced-clock.xml:
10000         * docs/pwg/appendix-porting.xml:
10001         * docs/pwg/intro-preface.xml:
10002         * docs/pwg/other-base.xml:
10003         * docs/pwg/other-manager.xml:
10004         * docs/pwg/other-nton.xml:
10005         * docs/pwg/other-ntoone.xml:
10006         * docs/pwg/other-oneton.xml:
10007         * docs/pwg/pwg.xml:
10008           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10009           demuxer), remove n-to-n (was never written), fix some code examples
10010           and links and update the porting section to include all this.
10011
10012 2005-07-19  Wim Taymans  <wim@fluendo.com>
10013
10014         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10015         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10016         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10017         (gst_queue_src_activate_push), (gst_queue_change_state),
10018         (gst_queue_get_property):
10019         * gst/gstqueue.h:
10020         Propagate GstFlowReturn more intelligently upstream and output
10021         an ERROR/EOS when streaming stopped due to fatal error.
10022
10023 2005-07-19  Wim Taymans  <wim@fluendo.com>
10024
10025         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10026         Don't block forever for the state change to complete, the
10027         pipeline already did with a sensible timeout.
10028
10029 2005-07-19  Wim Taymans  <wim@fluendo.com>
10030
10031         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10032         Make sure we never call the create function is we
10033         got deactivated.
10034
10035 2005-07-19  Andy Wingo  <wingo@pobox.com>
10036
10037         * gst/parse/parse.l: Attempt to solve bug #172815.
10038
10039 2005-07-19  Wim Taymans  <wim@fluendo.com>
10040
10041         * docs/design/part-clocks.txt:
10042         * docs/design/part-events.txt:
10043         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10044         Small docs updates.
10045         Only update the seeking values when we are not
10046         busy streaming.
10047
10048 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10049
10050         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10051           Oops, ignore the result of gst_pad_push_event here.
10052
10053 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10054
10055         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10056         (gst_base_src_activate_push):
10057           Send discont event from the loop function, as pads
10058           aren't activated yet in the activate_push handler.
10059
10060         * gst/gstbin.c: (bin_bus_handler):
10061           Don't leak element name.
10062
10063 2005-07-18  Andy Wingo  <wingo@pobox.com>
10064
10065         * configure.ac: Use AS_LIBTOOL_TAGS.
10066
10067 2005-07-18  Wim Taymans  <wim@fluendo.com>
10068
10069         * docs/gst/gstreamer.types:
10070         Remove deleted types.
10071
10072 2005-07-18  Wim Taymans  <wim@fluendo.com>
10073
10074         * check/elements/gstfakesrc.c: (GST_START_TEST):
10075         * configure.ac:
10076         * gst/Makefile.am:
10077         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10078         (init_popt_callback):
10079         * gst/gst.h:
10080         * gst/gst_private.h:
10081         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10082         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10083         * gst/gstbin.h:
10084         * gst/gstbus.h:
10085         * gst/gstconfig.h.in:
10086         * gst/gstelement.c: (gst_element_class_init),
10087         (gst_element_set_base_time), (gst_element_get_base_time),
10088         (iterator_fold_with_resync), (gst_element_change_state),
10089         (gst_element_dispose), (gst_element_get_bus):
10090         * gst/gstelement.h:
10091         * gst/gstelementfactory.h:
10092         * gst/gsterror.c: (_gst_core_errors_init):
10093         * gst/gsterror.h:
10094         * gst/gstevent.h:
10095         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10096         * gst/gstindex.c:
10097         * gst/gstinfo.c: (_gst_debug_init):
10098         * gst/gstmessage.c: (_gst_message_copy):
10099         * gst/gstmessage.h:
10100         * gst/gstminiobject.h:
10101         * gst/gstobject.c:
10102         * gst/gstobject.h:
10103         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10104         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10105         * gst/gstpad.h:
10106         * gst/gstparse.h:
10107         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10108         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10109         (gst_pipeline_get_last_stream_time):
10110         * gst/gstpipeline.h:
10111         * gst/gstpluginfeature.h:
10112         * gst/gstquery.h:
10113         * gst/gstscheduler.c:
10114         * gst/gstscheduler.h:
10115         * gst/gststructure.h:
10116         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10117         (gst_task_finalize), (gst_task_func), (gst_task_create),
10118         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10119         (gst_task_stop), (gst_task_pause):
10120         * gst/gsttask.h:
10121         * gst/gsttypefind.h:
10122         * gst/gsttypes.h:
10123         * gst/registries/gstlibxmlregistry.c: (load_feature),
10124         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10125         * gst/registries/gstxmlregistry.c:
10126         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10127         * gst/schedulers/threadscheduler.c:
10128         * libs/gst/control/dparammanager.h:
10129         * tools/gst-inspect.c: (print_element_list),
10130         (print_plugin_features), (print_element_features):
10131         * tools/gst-xmlinspect.c: (print_element_list),
10132         (print_plugin_info), (main):
10133         Removed plugable schedulers.
10134         Removed Scheduler/Manager from elements.
10135         Removed gsttypes.h, rearranged includes.
10136         Removed dependency pad<->element, element<>pipeline, and
10137         various others,  fix includes.
10138         implement gst_pad_get_parent() with gst_object_get_parent()
10139         Make GstTask sefcontained.
10140         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10141         timeout.
10142         Fix endless loop in iterator_fold_with_resync.
10143
10144
10145 2005-07-18  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/Makefile.am:
10148         * gst/gstarch.h:
10149         Remove old file.
10150
10151 2005-07-18  Wim Taymans  <wim@fluendo.com>
10152
10153         * gst/Makefile.am:
10154         No more cothreads.h
10155
10156 2005-07-18  Wim Taymans  <wim@fluendo.com>
10157
10158         * gst/cothreads.c:
10159         * gst/cothreads.h:
10160         Let's remove these.
10161
10162 2005-07-18  Wim Taymans  <wim@fluendo.com>
10163
10164         * docs/design/part-dynamic.txt:
10165         * docs/design/part-events.txt:
10166         * docs/design/part-seeking.txt:
10167         Some more docs in the works.
10168
10169         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10170         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10171         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10172         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10173         (gst_base_transform_handle_buffer),
10174         (gst_base_transform_sink_activate_push),
10175         (gst_base_transform_src_activate_pull),
10176         (gst_base_transform_set_passthrough),
10177         (gst_base_transform_is_passthrough):
10178         Refcounting fixes.
10179
10180         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10181         Cleanups.
10182
10183         * gst/gstevent.c: (gst_event_finalize):
10184         Set SRC to NULL.
10185
10186         * gst/gstutils.c: (gst_element_unlink),
10187         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10188         (gst_pad_proxy_setcaps):
10189         * gst/gstutils.h:
10190         Add _get_parent_element() to get a pads parent as an element.
10191
10192 2005-07-18  Wim Taymans  <wim@fluendo.com>
10193
10194         * check/gst/gstbin.c: (GST_START_TEST):
10195         Remove bogus test.
10196
10197 2005-07-18  Wim Taymans  <wim@fluendo.com>
10198
10199         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10200         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10201         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10202         (gst_base_sink_event), (gst_base_sink_do_sync),
10203         (gst_base_sink_chain), (gst_base_sink_loop),
10204         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10205         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10206         Refcounting fixes.
10207         Fix logic for returning ASYNC when not prerolled.
10208
10209 2005-07-18  Wim Taymans  <wim@fluendo.com>
10210
10211         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10212         Fix nasty refcount bug.
10213
10214 2005-07-16 Philippe Khalaf <burger@speedy.org>
10215
10216         * gst/elements/gstfdsrc.c:
10217         * gst/elements/gstfdsrc.h:
10218         * gst/elements/gstelements.c:
10219         * gst/elements/Makefile.am:
10220         Ported fdsrc to 0.9.
10221
10222 2005-07-16  Wim Taymans  <wim@fluendo.com>
10223
10224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10225         (gst_base_sink_do_sync):
10226         Fix compile error.
10227
10228 2005-07-16  Wim Taymans  <wim@fluendo.com>
10229
10230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10231         (gst_base_sink_event), (gst_base_sink_get_times),
10232         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10233         * gst/base/gstbasesink.h:
10234         Store and use discont values when syncing buffers as described
10235         in design docs.
10236         
10237         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10238         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10239         (gst_base_src_activate_push):
10240         Push discont event when starting.
10241
10242         * gst/elements/gstidentity.c: (gst_identity_transform):
10243         Small cleanups.
10244
10245         * gst/gstbin.c: (gst_bin_change_state):
10246         Small cleanups in base_time  distribution.
10247
10248         * gst/gstelement.c: (gst_element_set_base_time),
10249         (gst_element_get_base_time), (gst_element_change_state):
10250         * gst/gstelement.h:
10251         Added methods for the base_time of the element.
10252         Some MT fixes.
10253
10254         * gst/gstpipeline.c: (gst_pipeline_send_event),
10255         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10256         (gst_pipeline_get_last_stream_time):
10257         * gst/gstpipeline.h:
10258         MT fixes.
10259         Handle seeking as described in design doc, remove stream_time
10260         hack.
10261         Cleanups clock and stream_time selection code. Added accessors
10262         for the stream_time.
10263         
10264
10265 2005-07-16  Andy Wingo  <wingo@pobox.com>
10266
10267         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10268         (#305291).
10269
10270 2005-07-16  Wim Taymans  <wim@fluendo.com>
10271
10272         * check/gst/gstbin.c: (GST_START_TEST):
10273         Make elements silent as the deep_notify refs the
10274         parent, which might make the test fail.
10275
10276         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10277         Don't hold the lock for too long.
10278
10279 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10280
10281         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10282           Don't unref the caps we passed to gst_caps_make_writable() after
10283           passing them. gst_caps_make_writable() will do that for us.
10284
10285 2005-07-15  Andy Wingo  <wingo@pobox.com>
10286
10287         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10288         (#157311).
10289
10290         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10291         own marshalling function for the handoff signal. Properly type the
10292         buffer as a buffer. Fixes some warnings. Should do a more general
10293         solution.
10294         (gst_identity_class_init): Plug into the right marshaller.
10295
10296 2005-07-15  Wim Taymans  <wim@fluendo.com>
10297
10298         * docs/design/part-TODO.txt:
10299         * docs/design/part-clocks.txt:
10300         * docs/design/part-element-sink.txt:
10301         * docs/design/part-events.txt:
10302         * docs/design/part-gstpipeline.txt:
10303         Updated docs, mostly DISCONT related.
10304
10305 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10306
10307         * docs/pwg/building-pads.xml:
10308           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10309
10310 2005-07-15  Andy Wingo  <wingo@pobox.com>
10311
10312         * tools/gst-typefind.c: Update, add copyright block.
10313
10314         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10315         Normalize and truncate caps before fixation.
10316
10317         * gst/gstcaps.h:
10318         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10319         discards all but the first structure from its argument.
10320
10321 2005-07-15  Wim Taymans  <wim@fluendo.com>
10322
10323         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10324         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10325         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10326         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10327         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10328         (gst_base_transform_chain), (gst_base_transform_change_state),
10329         (gst_base_transform_set_passthrough),
10330         (gst_base_transform_is_passthrough):
10331         * gst/base/gstbasetransform.h:
10332         Make passthrough work using the bufferpools.
10333         Changed API a bit, subclasses have to write into a buffer
10334         provided by the base class.
10335         More debug info in nego functions.
10336         
10337         * gst/elements/gstidentity.c: (gst_identity_init),
10338         (gst_identity_transform):
10339         Port to new base class.
10340
10341 2005-07-15  Wim Taymans  <wim@fluendo.com>
10342
10343         * gst/gstmessage.c: (gst_message_new_state_changed):
10344         * tools/gst-launch.c: (event_loop), (main):
10345         Totally dump messages in -launch with the -m option.
10346         Fix message name for State messages,
10347
10348 2005-07-14  Wim Taymans  <wim@fluendo.com>
10349
10350         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10351         Post error messages on errors.
10352
10353 2005-07-14  Wim Taymans  <wim@fluendo.com>
10354
10355         * gst/gstcaps.c: (gst_caps_do_simplify):
10356         Remove debug info.
10357
10358         * gst/gsterror.h:
10359         Define error for stream stopped.
10360
10361         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10362         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10363         Do proper return values.
10364
10365         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10366         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10367         (gst_pad_get_range):
10368         Better return values.
10369
10370         * gst/gstpad.h:
10371         Reorganise return values, add macro to check for fatal errors.
10372
10373         * gst/gstqueue.c: (gst_queue_chain):
10374         Return proper GstFlowReturn values,
10375
10376 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10377
10378         * docs/gst/gstreamer-sections.txt:
10379         * docs/gst/gstreamer.types:
10380         * docs/gst/tmpl/gst.sgml:
10381         * docs/gst/tmpl/gstbasesink.sgml:
10382         * docs/gst/tmpl/gstbasesrc.sgml:
10383         * docs/gst/tmpl/gstbasetransform.sgml:
10384         * docs/gst/tmpl/gstbin.sgml:
10385         * docs/gst/tmpl/gstbuffer.sgml:
10386         * docs/gst/tmpl/gstcaps.sgml:
10387         * docs/gst/tmpl/gstclock.sgml:
10388         * docs/gst/tmpl/gstcompat.sgml:
10389         * docs/gst/tmpl/gstconfig.sgml:
10390         * docs/gst/tmpl/gstelement.sgml:
10391         * docs/gst/tmpl/gstelementdetails.sgml:
10392         * docs/gst/tmpl/gstelementfactory.sgml:
10393         * docs/gst/tmpl/gstenumtypes.sgml:
10394         * docs/gst/tmpl/gsterror.sgml:
10395         * docs/gst/tmpl/gstevent.sgml:
10396         * docs/gst/tmpl/gstfakesink.sgml:
10397         * docs/gst/tmpl/gstfakesrc.sgml:
10398         * docs/gst/tmpl/gstfilesink.sgml:
10399         * docs/gst/tmpl/gstfilesrc.sgml:
10400         * docs/gst/tmpl/gstfilter.sgml:
10401         * docs/gst/tmpl/gstformat.sgml:
10402         * docs/gst/tmpl/gstghostpad.sgml:
10403         * docs/gst/tmpl/gstimplementsinterface.sgml:
10404         * docs/gst/tmpl/gstindex.sgml:
10405         * docs/gst/tmpl/gstindexfactory.sgml:
10406         * docs/gst/tmpl/gstinfo.sgml:
10407         * docs/gst/tmpl/gstiterator.sgml:
10408         * docs/gst/tmpl/gstmacros.sgml:
10409         * docs/gst/tmpl/gstmemchunk.sgml:
10410         * docs/gst/tmpl/gstminiobject.sgml:
10411         * docs/gst/tmpl/gstobject.sgml:
10412         * docs/gst/tmpl/gstpad.sgml:
10413         * docs/gst/tmpl/gstpadtemplate.sgml:
10414         * docs/gst/tmpl/gstparse.sgml:
10415         * docs/gst/tmpl/gstpipeline.sgml:
10416         * docs/gst/tmpl/gstplugin.sgml:
10417         * docs/gst/tmpl/gstpluginfeature.sgml:
10418         * docs/gst/tmpl/gstquery.sgml:
10419         * docs/gst/tmpl/gstqueue.sgml:
10420         * docs/gst/tmpl/gstregistry.sgml:
10421         * docs/gst/tmpl/gstregistrypool.sgml:
10422         * docs/gst/tmpl/gstscheduler.sgml:
10423         * docs/gst/tmpl/gstschedulerfactory.sgml:
10424         * docs/gst/tmpl/gststructure.sgml:
10425         * docs/gst/tmpl/gstsystemclock.sgml:
10426         * docs/gst/tmpl/gsttaglist.sgml:
10427         * docs/gst/tmpl/gsttagsetter.sgml:
10428         * docs/gst/tmpl/gsttrace.sgml:
10429         * docs/gst/tmpl/gsttrashstack.sgml:
10430         * docs/gst/tmpl/gsttypefind.sgml:
10431         * docs/gst/tmpl/gsttypefindfactory.sgml:
10432         * docs/gst/tmpl/gsttypes.sgml:
10433         * docs/gst/tmpl/gsturihandler.sgml:
10434         * docs/gst/tmpl/gsturitype.sgml:
10435         * docs/gst/tmpl/gstutils.sgml:
10436         * docs/gst/tmpl/gstvalue.sgml:
10437         * docs/gst/tmpl/gstversion.sgml:
10438         * docs/gst/tmpl/gstxml.sgml:
10439         * docs/libs/tmpl/gstcontrol.sgml:
10440         * docs/libs/tmpl/gstdataprotocol.sgml:
10441         * docs/libs/tmpl/gstdparam.sgml:
10442         * docs/libs/tmpl/gstdplinint.sgml:
10443         * docs/libs/tmpl/gstdpman.sgml:
10444         * docs/libs/tmpl/gstdpsmooth.sgml:
10445         * docs/libs/tmpl/gstgetbits.sgml:
10446         * docs/libs/tmpl/gstunitconvert.sgml:
10447         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10448         (gst_push_src_base_init), (gst_push_src_class_init),
10449         (gst_push_src_init), (gst_push_src_create):
10450         * gst/base/gstpushsrc.h:
10451         * gst/elements/gstelements.c:
10452         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10453         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10454         (gst_fake_sink_init), (gst_fake_sink_set_property),
10455         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10456         (gst_fake_sink_event), (gst_fake_sink_preroll),
10457         (gst_fake_sink_render), (gst_fake_sink_change_state):
10458         * gst/elements/gstfakesink.h:
10459         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10460         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10461         (gst_fake_src_base_init), (gst_fake_src_class_init),
10462         (gst_fake_src_init), (gst_fake_src_event_handler),
10463         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10464         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10465         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10466         (gst_fake_src_create_buffer), (gst_fake_src_create),
10467         (gst_fake_src_start), (gst_fake_src_stop):
10468         * gst/elements/gstfakesrc.h:
10469         * gst/elements/gstfilesink.c: (_do_init),
10470         (gst_file_sink_base_init), (gst_file_sink_class_init),
10471         (gst_file_sink_init), (gst_file_sink_dispose),
10472         (gst_file_sink_set_location), (gst_file_sink_set_property),
10473         (gst_file_sink_get_property), (gst_file_sink_open_file),
10474         (gst_file_sink_close_file), (gst_file_sink_query),
10475         (gst_file_sink_event), (gst_file_sink_render),
10476         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10477         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10478         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10479         * gst/elements/gstfilesink.h:
10480         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10481         (gst_file_src_class_init), (gst_file_src_init),
10482         (gst_file_src_finalize), (gst_file_src_set_location),
10483         (gst_file_src_set_property), (gst_file_src_get_property),
10484         (gst_file_src_map_region), (gst_file_src_map_small_region),
10485         (gst_file_src_create_mmap), (gst_file_src_create_read),
10486         (gst_file_src_create), (gst_file_src_is_seekable),
10487         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10488         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10489         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10490         (gst_file_src_uri_handler_init):
10491         * gst/elements/gstfilesrc.h:
10492           more autistic cleanliness in functions/names/defines
10493
10494 2005-07-13  Andy Wingo  <wingo@pobox.com>
10495
10496         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10497         source couldn't negotiate.
10498
10499         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10500         connections again.
10501
10502         * gst/gstutils.h:
10503         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10504         function. I am channeling Hades. Put your boots on suckers!!!
10505
10506 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10507
10508         * testsuite/caps/Makefile.am:
10509         * testsuite/caps/value_compare.c:
10510         * testsuite/caps/value_intersect.c:
10511         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10512           move two testsuite apps over to the check dir
10513
10514 2005-07-12  Wim Taymans  <wim@fluendo.com>
10515
10516         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10517         Added more debug info in the negotiate process.
10518
10519         * gst/gstmessage.h:
10520         Prepare for segment playback.
10521
10522         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10523         Better debugging.
10524
10525         * gst/gstutils.c:
10526         Some more docs.
10527
10528         * tools/gst-launch.c: (main):
10529         NULL pipeline on errors.
10530
10531 2005-07-12  Andy Wingo  <wingo@pobox.com>
10532
10533         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10534         not it comes from a malloc region. Make sure our copy gets freed.
10535
10536 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10537
10538         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10539         * check/gst/gstmessage.c: (GST_START_TEST):
10540         * check/gst/gststructure.c: (GST_START_TEST),
10541         (gst_structure_suite), (main):
10542           more testing
10543         * gst/gstelement.c: (gst_element_message_full):
10544           clean up GError and debug string now that they get copied
10545         * gst/gstmessage.c: (gst_message_new_error),
10546         (gst_message_new_warning), (gst_message_parse_error),
10547         (gst_message_parse_warning):
10548           use GST_TYPE_G_ERROR for structure_new, and take copies of
10549           arguments, so that we don't mess up refcounting
10550
10551 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10552
10553         * check/Makefile.am:
10554           add per-test valgrind targets
10555         * check/gst-libs/gdp.c: (GST_START_TEST),
10556         (gst_data_protocol_suite), (main):
10557           clean up
10558
10559 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10560
10561         * check/Makefile.am:
10562           instate more valgrindable tests
10563         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10564         (GST_START_TEST), (fakesrc_suite):
10565         * check/gst/gstpad.c: (GST_START_TEST):
10566         * check/gst/gststructure.c: (GST_START_TEST):
10567           fix test leaks
10568         * docs/gst/tmpl/gstminiobject.sgml:
10569         * gst/gstpad.c: (gst_pad_finalize):
10570           fix the static mutex leak
10571
10572 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10573
10574         * check/Makefile.am:
10575           add two more tests for valgrinding
10576         * check/gst/gstvalue.c: (GST_START_TEST):
10577           test refcount of deserialized buffer, found a leak
10578         * docs/gst/gstreamer-docs.sgml:
10579         * docs/gst/gstreamer-sections.txt:
10580         * docs/gst/gstreamer.types:
10581         * docs/gst/tmpl/gstminiobject.sgml:
10582           add miniobject to docs
10583         * gst/gstminiobject.c:
10584           add some docs
10585         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10586         (gst_string_unwrap):
10587           fix a hard-to-find invalid write for one of the tests
10588           fix a leak for deserialized buffers
10589
10590 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10591
10592         * docs/pwg/advanced-events.xml:
10593         * docs/pwg/advanced-request.xml:
10594         * docs/pwg/advanced-scheduling.xml:
10595         * docs/pwg/appendix-porting.xml:
10596         * docs/pwg/building-boiler.xml:
10597         * docs/pwg/intro-preface.xml:
10598         * docs/pwg/other-ntoone.xml:
10599           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10600           of example code and explanation for pad activation, loop() and
10601           getrange() functions and a bit more. Remove old comments pointing
10602           to loop-functions.
10603         * examples/pwg/Makefile.am:
10604           Add loop/getrange examples.
10605
10606 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10607
10608         * configure.ac:
10609           check for valgrind binary + some fixes
10610         * check/gst.supp:
10611           valgrind suppressions for the tests
10612         * check/Makefile.am:
10613           add a valgrind: target that valgrinds the unit tests
10614         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10615         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10616         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10617         * check/gst/gstghostpad.c:
10618           added some cleanup
10619         * check/gst/gstdata.c:
10620           removed
10621         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10622         (thread_unref), (gst_mini_object_suite), (main):
10623           added
10624         * gst/gst.c: (gst_deinit):
10625         * gst/gst.h:
10626           add a method to clean up.
10627         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10628         (gst_system_clock_obtain):
10629           allow for disposing the system clock.
10630         * tools/gst-launch.c: (main):
10631           deinit
10632
10633 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * docs/gst/tmpl/gstbasesrc.sgml:
10636         * docs/gst/tmpl/gstfakesrc.sgml:
10637         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10638         (gst_base_src_init), (gst_base_src_set_property),
10639         (gst_base_src_get_property), (gst_base_src_get_range),
10640         (gst_base_src_start):
10641         * gst/base/gstbasesrc.h:
10642           add num-buffers property
10643         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10644         (gst_fakesrc_init), (gst_fakesrc_set_property),
10645         (gst_fakesrc_get_property), (gst_fakesrc_create),
10646         (gst_fakesrc_start):
10647           remove num-buffers property
10648
10649 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10650
10651         * docs/gst/gstreamer-sections.txt:
10652         * docs/gst/tmpl/gstbasesink.sgml:
10653         * docs/gst/tmpl/gstbasesrc.sgml:
10654         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10655         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10656         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10657         (gst_base_sink_set_property), (gst_base_sink_get_property),
10658         (gst_base_sink_handle_object), (gst_base_sink_event),
10659         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10660         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10661         (gst_base_sink_loop), (gst_base_sink_deactivate),
10662         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10663         (gst_base_sink_change_state):
10664         * gst/base/gstbasesink.h:
10665         * gst/base/gstbasesrc.h:
10666         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10667         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10668         (gst_filesink_init):
10669           more macro splitting
10670
10671 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10672
10673         * gst/gstelement.c: (gst_element_get_bus):
10674           add debug
10675         * tools/gst-launch.c: (check_intr), (event_loop):
10676           fix bus leaks
10677
10678 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10679
10680         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10681           fix a caps leak
10682
10683 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10684
10685         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10686         (gst_base_src_finalize):
10687           add finalize method and clean up properly
10688         * gst/gstpipeline.c: (gst_pipeline_dispose):
10689           add debug
10690
10691 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10694         (gst_bin_suite):
10695           add more things to check
10696         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10697         * gst/gstelement.c:
10698           more debug
10699
10700 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10701
10702         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10703         (GST_START_TEST), (fakesrc_suite):
10704         * check/gst-libs/gdp.c: (GST_START_TEST):
10705         * check/gst/gst.c: (GST_START_TEST):
10706         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10707         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10708         * check/gst/gstbus.c: (GST_START_TEST):
10709         * check/gst/gstcaps.c: (GST_START_TEST):
10710         * check/gst/gstdata.c: (GST_START_TEST):
10711         * check/gst/gstelement.c: (GST_START_TEST):
10712         * check/gst/gstghostpad.c: (GST_START_TEST):
10713         * check/gst/gstiterator.c: (GST_START_TEST):
10714         * check/gst/gstmessage.c: (GST_START_TEST):
10715         * check/gst/gstobject.c: (GST_START_TEST):
10716         * check/gst/gstpad.c: (GST_START_TEST):
10717         * check/gst/gststructure.c: (GST_START_TEST):
10718         * check/gst/gstsystemclock.c: (GST_START_TEST),
10719         (gst_systemclock_suite):
10720         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10721         * check/gst/gstvalue.c: (GST_START_TEST):
10722         * check/pipelines/cleanup.c: (GST_START_TEST):
10723         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10724         * check/states/sinks.c: (GST_START_TEST):
10725         * check/gstcheck.c: (gst_check_init):
10726         * check/gstcheck.h:
10727           add debugging category
10728           use GST_START_TEST now, so we add a debug line
10729
10730 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10731
10732         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10733           add test for state change message on a bin
10734         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10735           add another test
10736         * gst/gstbin.c: (gst_bin_init):
10737         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10738         * gst/gstelement.c: (gst_element_post_message),
10739         (gst_element_set_state):
10740         * gst/gstelementfactory.c: (gst_element_factory_create):
10741         * gst/gstmessage.c: (gst_message_new):
10742         * gst/gstscheduler.c:
10743           various debugging additions and cleanups
10744
10745 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * check/Makefile.am:
10748         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10749         (main):
10750           adding tests for elements
10751         * gst/gstelement.c: (gst_element_dispose):
10752
10753 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10754
10755         * gst/registries/gstlibxmlregistry.c: (load_feature):
10756           plug more leaks.  A simple gst_init() now is leakfree, yay.
10757
10758 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10759
10760         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10761         (gst_xml_registry_load):
10762           plug another memleak
10763
10764 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * configure.ac:
10767           use GST_SET_ERROR_CFLAGS
10768         * docs/faq/cvs.xml:
10769           change to ERROR_CFLAGS
10770
10771 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * configure.ac:
10774           make GST_ERROR_CFLAGS overridable and re-enable Werror
10775         * docs/faq/cvs.xml:
10776           add a note about error CFLAGS
10777         * docs/gst/tmpl/gstfakesrc.sgml:
10778         * gst/elements/gstfakesrc.c:
10779           comment out some unused code
10780         * gst/gst.c: (split_and_iterate):
10781         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10782         (load_feature):
10783           plug some memleaks
10784
10785 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10786
10787         * common/Makefile.am:
10788         * common/gtk-doc.mak:
10789         * docs/gst/Makefile.am:
10790           factor out gtk-doc.mak
10791
10792 2005-07-07  Wim Taymans  <wim@fluendo.com>
10793
10794         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10795         (gst_thread_scheduler_dispose):
10796         Unlock the STREAM_LOCK completely.
10797
10798 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10799
10800         * check/Makefile.am:
10801         * check/elements/.cvsignore:
10802         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10803         (START_TEST), (fakesrc_suite), (main):
10804         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10805         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10806         (gst_fakesrc_create), (gst_fakesrc_start):
10807         * gst/elements/gstfakesrc.h:
10808           adding a first element test
10809
10810 2005-07-07  Andy Wingo  <wingo@pobox.com>
10811
10812         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10813         debug message.
10814
10815 2005-07-07  Wim Taymans  <wim@fluendo.com>
10816
10817         * gst/gstquery.c:
10818         * gst/gstquery.h:
10819         Remove old types
10820
10821 2005-07-07  Wim Taymans  <wim@fluendo.com>
10822
10823         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10824         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10825         Allow subclasses to implement their own negotiation.
10826
10827 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10828
10829         * docs/design/part-gstbin.txt:
10830         * docs/design/part-gstpipeline.txt:
10831           Update design notes to reflect the movement of
10832           responsibility for bus handling from GstPipeline to
10833           GstBin
10834
10835 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10836
10837         * configure.ac:
10838           Remove unnecessary queue2/3/4 examples.
10839
10840 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10841
10842         * examples/Makefile.am:
10843         * examples/helloworld/helloworld.c: (event_loop), (main):
10844         * examples/queue/queue.c: (event_loop), (main):
10845         * examples/queue2/queue2.c: (main):
10846           Update a couple of the examples to work again.
10847
10848         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10849         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10850          Spelling corrections and extra debug.
10851         
10852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10853         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10854         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10855         * gst/gstbin.h:
10856         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10857         (gst_pipeline_change_state):
10858         * gst/gstpipeline.h:
10859           Move the bus handler for children to the GstBin, and create a
10860           separate bus for receiving messages from children to the one the
10861           bus sends 'upwards' on.
10862
10863 2005-07-06  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/base/README:
10866         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10867         (gst_base_sink_handle_object), (gst_base_sink_loop),
10868         (gst_base_sink_change_state):
10869         * gst/base/gstbasesink.h:
10870         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10871         (gst_base_src_init), (gst_base_src_setcaps),
10872         (gst_base_src_getcaps), (gst_base_src_loop),
10873         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10874         (gst_base_src_start), (gst_base_src_change_state):
10875         * gst/base/gstbasesrc.h:
10876         Make basesrc negotiate.
10877         Handle the case where preroll fails in basesink.
10878         Update README.
10879
10880 2005-07-06  Wim Taymans  <wim@fluendo.com>
10881
10882         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10883         Implement the fixate function.
10884         Clean up acceptcaps.
10885
10886 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10887
10888         * docs/pwg/building-filterfactory.xml:
10889         * docs/pwg/pwg.xml:
10890           Remove never-written filter-factory chapter; I'll add the various
10891           base classes to part 4 ("other element types") later on.
10892
10893 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10894
10895         * docs/pwg/advanced-negotiation.xml:
10896         * docs/pwg/building-boiler.xml:
10897         * docs/pwg/building-pads.xml:
10898         * docs/pwg/pwg.xml:
10899         * examples/pwg/Makefile.am:
10900           Add a chapter on caps negotiation, simplify the original code
10901           samples a bit w.r.t. caps negotiation, add link to the advanced
10902           section. Add a bunch of examples showing different use cases of
10903           different types of caps negotiation. Upstream renegotiation isn't
10904           fully documented yet since nobody knows how that works.
10905
10906 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * check/gst/gstpad.c:
10909         * check/gstcheck.c:
10910         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10911           if pad has no parent, return NULL as list of internal links
10912
10913 2005-07-05  Andy Wingo  <wingo@pobox.com>
10914
10915         * gst/elements/gstfilesrc.c:
10916         * gst/elements/gstfakesrc.c: 
10917         * gst/base/gstpushsrc.c:
10918         * gst/base/gstbasesrc.h: 
10919         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10920         
10921 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10922
10923         * Makefile.am:
10924           better report generation target (lcov needs a patch)
10925
10926 2005-07-05  Andy Wingo  <wingo@pobox.com>
10927
10928         * gst/elements, testsuite: Null if we got it...
10929
10930 2005-07-05  Wim Taymans  <wim@fluendo.com>
10931
10932         * configure.ac:
10933         * libs/gst/dataprotocol/Makefile.am:
10934         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10935         * libs/gst/dataprotocol/dataprotocol.h:
10936         * pkgconfig/Makefile.am:
10937         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10938         * pkgconfig/gstreamer-dataprotocol.pc.in:
10939         Ported dataprotol to 0.9. 
10940         Added pkgconfig files.
10941
10942 2005-07-05  Andy Wingo  <wingo@pobox.com>
10943
10944         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10945         Default to returning TRUE for the case when tranform_caps returns
10946         a fixed caps, like for identity or volume.
10947
10948         * check/gst/gstbus.c (pound_bus_with_messages): 
10949         * check/gst/gstmessage.c (START_TEST): 
10950         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10951         message API change.
10952
10953         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10954         logic weaks here: always run transform_caps, trying passthrough
10955         operation only if the original caps intersects with the transform.
10956
10957         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10958         source and sink caps.
10959
10960         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10961         Intersect the peer caps with the pad template before going into
10962         transform_caps.
10963         (gst_base_transform_transform_caps): More debugging.
10964
10965         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10966         src argument.
10967
10968 2005-07-04  Edward Hervey  <edward@fluendo.com>
10969
10970         * gst/gstutils.c:
10971         * gst/gstutils.h:
10972         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10973         in bindings.
10974
10975 2005-07-04  Andy Wingo  <wingo@pobox.com>
10976
10977         * check/gst/gstpad.c: Only set explicit caps on pads.
10978
10979 2005-07-01  Andy Wingo  <wingo@pobox.com>
10980
10981         * tests/network-clock.scm: Commentary update.
10982
10983         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10984         Didn't really make sense, not implementable with basetransform,
10985         etc.
10986         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10987         attempt at implementing the sync property, needs an unlock method.
10988
10989         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10990         New func, by default returns the same caps (the identity
10991         transformation).
10992         (gst_base_transform_getcaps): Uses transform_caps to return
10993         something sensible.
10994         (gst_base_transform_setcaps): Complicated logic to get caps on
10995         both pads, even if they are different, and to call set_caps once
10996         for every time both pads get their caps set.
10997         (gst_base_transform_handle_buffer): Give the ref to the transform
10998         function. Allows in-place modification of the buffer.
10999
11000         * gst/base/gstbasetransform.h (transform_caps): New class method.
11001         Given caps on one side, what can I do on the other.
11002         (set_caps): Take two caps, one for each side of the element.
11003
11004         * gst/gstpad.h:
11005         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11006         caps in place. This is safe because we can check the mutability of
11007         the caps, and a good idea because fixate functions are just called
11008         as a matter of last resort. (Not actually implemented.)
11009         (gst_pad_set_caps): If the caps we're setting is actually the same
11010         as the existing pad caps, just update the pointer without calling
11011         setcaps. Assert that caps is either NULL or fixed, as per the
11012         docs.
11013
11014         * gst/gstghostpad.c: Update for fixate changes.
11015
11016 2005-07-02  Andy Wingo  <wingo@pobox.com>
11017
11018         * gst/gstcaps.c:
11019         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11020         two refcounts makes it immutable, which is enough. Doc more.
11021
11022 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11023
11024         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11025           Put the mini_object into GValue as a mini_object,
11026           not a gpointer, since that's how we declared
11027           the signal.
11028
11029 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11030
11031         * examples/pwg/Makefile.am:
11032           Fix buildbot again.
11033
11034 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11035
11036         * docs/pwg/building-testapp.xml:
11037           Add extra check.
11038         * examples/pwg/Makefile.am:
11039           Fix buildbot.
11040
11041 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11042
11043         * configure.ac:
11044         * examples/Makefile.am:
11045         * examples/pwg/Makefile.am:
11046         * examples/pwg/extract.pl:
11047           Enable building the PWG examples.
11048         * docs/pwg/advanced-interfaces.xml:
11049           Add URI interface stub.
11050         * docs/pwg/advanced-types.xml:
11051         * docs/pwg/other-autoplugger.xml:
11052         * docs/pwg/appendix-porting.xml:
11053         * docs/pwg/pwg.xml:
11054           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11055         * docs/pwg/building-boiler.xml:
11056         * docs/pwg/building-chainfn.xml:
11057         * docs/pwg/building-pads.xml:
11058         * docs/pwg/building-props.xml:
11059         * docs/pwg/building-state.xml:
11060         * docs/pwg/building-testapp.xml:
11061           Update the building-*.xml parts for 0.9 changes. All examples
11062           code blocks compile in examples/pwg/*.
11063
11064 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11065
11066         * docs/manual/advanced-autoplugging.xml:
11067         * docs/manual/appendix-checklist.xml:
11068         * docs/manual/appendix-integration.xml:
11069         * docs/manual/highlevel-components.xml:
11070           Fix playbin/decodebin examples, update docs a bit, mention bus
11071           instead of signals in various places, mention kmplayer and
11072           kaffeine since they have a working GStreamer backend in the KDE
11073           section.
11074
11075 2005-06-30  Wim Taymans  <wim@fluendo.com>
11076
11077         * CHANGES-0.9:
11078         * docs/design/draft-ghostpads.txt:
11079         * docs/design/draft-push-pull.txt:
11080         * docs/design/draft-query.txt:
11081         * docs/design/part-TODO.txt:
11082         * docs/design/part-query.txt:
11083         Added CHANGES-0.9 doc, updated status of other docs.
11084         
11085         * gst/gstquery.h:
11086         Remove "hmm" macro
11087
11088 2005-06-30  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11091         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11092         (gst_base_sink_change_state):
11093         * gst/base/gstbasesink.h:
11094         Some tweaks, only EOS and a buffer complete a preroll.
11095
11096 2005-06-30  Andy Wingo  <wingo@pobox.com>
11097
11098         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11099         activate_push down to the internal pad as well.
11100
11101 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11102
11103         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11104
11105         * gst/gsttaginterface.c:
11106           Some documentation fixes (#307394 and #307397).
11107
11108 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11109
11110         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11111
11112         * gst/gstvalue.c: (gst_value_intersect_list):
11113           Fix memleak (#309125).
11114
11115 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11116
11117         * docs/manual/advanced-dataaccess.xml:
11118           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11119         * docs/manual/basics-pads.xml:
11120           Add reference for filtered caps to above chapter.
11121
11122 2005-06-30  Wim Taymans  <wim@fluendo.com>
11123
11124         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11125         (gst_bin_change_state):
11126         Probes are gone.
11127         Lame attempt at making the state change function a bit
11128         more readable.
11129
11130 2005-06-30  Wim Taymans  <wim@fluendo.com>
11131
11132         * docs/design/part-clocks.txt:
11133         * docs/design/part-element-sink.txt:
11134         * docs/design/part-events.txt:
11135         * docs/design/part-preroll.txt:
11136         * docs/design/part-states.txt:
11137         Some more tweeks and additions to the docs.
11138
11139 2005-06-30  Wim Taymans  <wim@fluendo.com>
11140
11141         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11142         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11143         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11144         (gst_pad_check_pull_range), (gst_pad_get_range),
11145         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11146         * gst/gstpad.h:
11147         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11148         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11149         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11150         (gst_pad_remove_buffer_probe):
11151         Removed atomic operations, use existing LOCK.
11152         Move exception handling out of main code path.
11153
11154 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11155
11156         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11157         (silly_return_true_function), (gst_pad_class_init),
11158         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11159         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11160         (gst_pad_send_event):
11161           Fix accumulator, add default value by using _emitv() instead
11162           of _emit() for signal emission.
11163
11164 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11165
11166         * docs/manual/advanced-dataaccess.xml:
11167         * examples/manual/Makefile.am:
11168           Add probe example.
11169         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11170           Make work (??).
11171
11172 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11173
11174         * gst/elements/gstfilesink.c: (gst_filesink_render):
11175           Simplify code so that we don't have to handle short
11176           writes and return GST_FLOW_ERROR if an error occured.
11177
11178 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11179
11180         * docs/gst/gstreamer-docs.sgml:
11181           Remove probes more.
11182
11183 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11184
11185         * docs/gst/gstreamer-sections.txt:
11186         * docs/gst/tmpl/gstpad.sgml:
11187         * docs/gst/tmpl/gstprobe.sgml:
11188         * gst/Makefile.am:
11189         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11190         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11191         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11192         (gst_pad_push_event), (gst_pad_send_event):
11193         * gst/gstpad.h:
11194         * gst/gstutils.c: (gst_pad_add_data_probe),
11195         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11196         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11197         (gst_pad_remove_buffer_probe):
11198         * gst/gstutils.h:
11199           Remove old probes, add new g-signal-based probes and some utility
11200           functions.
11201
11202 2005-06-29  Edward Hervey  <edward@fluendo.com>
11203
11204         * gst/gstelementfactory.c:
11205         * gst/gstutils.h:
11206         * gst/gstutils.c:
11207         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11208         the definition to the header file.
11209
11210 2005-06-29  Andy Wingo  <wingo@pobox.com>
11211
11212         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11213         plugins from the source directory.
11214
11215 2005-06-29  Wim Taymans  <wim@fluendo.com>
11216
11217         * docs/gst/tmpl/gstbuffer.sgml:
11218         * docs/gst/tmpl/gstclock.sgml:
11219         Some fixings for blantently wrong text.
11220
11221 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11222
11223         * check/Makefile.am:
11224         * gst/gst.c: (add_path_func), (init_pre):
11225         * gst/gstregistry.c: (gst_registry_add_path):
11226           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11227           only scan the GST_PLUGIN_PATH locations, and not add
11228           system locations
11229
11230 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11231
11232         * docs/gst/gstreamer-sections.txt:
11233         * docs/gst/tmpl/gstbasesrc.sgml:
11234         * gst/gstelement.c:
11235         * gst/gstelement.h:
11236         * gst/gstevent.c:
11237         * gst/gstutils.c:
11238           doc fixes
11239
11240 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11241
11242         * docs/manual/advanced-autoplugging.xml:
11243           Fix autoplugging example.
11244
11245 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11246
11247         * docs/manual/advanced-autoplugging.xml:
11248         * docs/manual/mime-world.fig:
11249           Try to get autoplugging working, fix type detection. Fix text
11250           in hello-world image.
11251
11252 2005-06-29  Wim Taymans  <wim@fluendo.com>
11253
11254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11255         (gst_base_sink_change_state):
11256         Small debug line.
11257
11258         * gst/gstclock.h:
11259         map SIGNAL and BROADCAST to the right function.
11260
11261         * gst/gstobject.h:
11262         Remove redundant braces.
11263
11264         * gst/gstpad.c: (gst_pad_set_caps):
11265         Don't call setcaps function when reseting caps to NULL.
11266
11267         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11268         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11269         (gst_system_clock_id_unschedule):
11270         Use BROADCAST as this is what we do.
11271
11272 2005-06-29  Wim Taymans  <wim@fluendo.com>
11273
11274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11275         We are actually prerolling before commiting the state
11276         change. 
11277
11278 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11279
11280         * docs/manual/advanced-clocks.xml:
11281         * docs/manual/advanced-interfaces.xml:
11282         * docs/manual/advanced-metadata.xml:
11283         * docs/manual/advanced-position.xml:
11284         * docs/manual/advanced-schedulers.xml:
11285         * docs/manual/advanced-threads.xml:
11286         * docs/manual/appendix-porting.xml:
11287         * docs/manual/basics-bins.xml:
11288         * docs/manual/basics-bus.xml:
11289         * docs/manual/basics-elements.xml:
11290         * docs/manual/basics-helloworld.xml:
11291         * docs/manual/basics-pads.xml:
11292         * docs/manual/highlevel-components.xml:
11293         * docs/manual/manual.xml:
11294         * docs/manual/thread.fig:
11295           Update (until threads/scheduling) Application Development Manual;
11296           remove GstThread, add GstBus, add simple porting checklist, add
11297           documentation for tag writing, clocks, make all examples until this
11298           part compile and run.
11299         * examples/manual/Makefile.am:
11300           Update from changes to Application Development Manual; add bus
11301           example, remove thread example.
11302
11303 2005-06-28  Wim Taymans  <wim@fluendo.com>
11304
11305         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11306         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11307         (gst_bus_source_dispatch):
11308         Add debugging messages.
11309         Make internal methods static.
11310         Handle the case where the bus is flushed in the handler.
11311         
11312         * gst/gstelement.c: (gst_element_get_bus):
11313         Fix refcount in _get_bus();
11314
11315         * gst/gstpipeline.c: (gst_pipeline_change_state),
11316         (gst_pipeline_get_clock_func):
11317         Clock refcounting fixes.
11318         Handle the case where preroll timed out more gracefully.
11319         
11320         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11321         Clean up the internal thread in dispose. This is needed
11322         for subclasses that actually get disposed.
11323         
11324         * gst/schedulers/threadscheduler.c:
11325         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11326         (gst_thread_scheduler_dispose):
11327         Free thread pool in dispose.
11328
11329 2005-06-28  Andy Wingo  <wingo@pobox.com>
11330
11331         * tests/network-clock-utils.scm (debug, print-event): New utils.
11332
11333         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11334         (*packet-loss*): Unified loss probability.
11335         (network-time): Report out-of-band events.
11336
11337         * tests/plot-data: Add support for out-of-band events. Hack it
11338         into this script instead of passing it down the pipe; should fix
11339         this later.
11340
11341 2005-06-28  Wim Taymans  <wim@fluendo.com>
11342
11343         * docs/gst/gstreamer.types:
11344         * docs/gst/tmpl/gstbasesrc.sgml:
11345         * docs/gst/tmpl/gstpad.sgml:
11346         Docs fixes.
11347
11348 2005-06-28  Wim Taymans  <wim@fluendo.com>
11349
11350         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11351         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11352         (gst_proxy_pad_do_fixatecaps):
11353         Correctly proxy the check_pull_range function.
11354
11355 2005-06-28  Andy Wingo  <wingo@pobox.com>
11356
11357         * tests/network-clock.scm: Removed need for slib.
11358         
11359 2005-06-28  Wim Taymans  <wim@fluendo.com>
11360
11361         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11362         (gst_basesink_preroll_queue_flush):
11363         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11364         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11365         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11366         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11367         (gst_proxy_pad_set_property):
11368         * gst/gstpad.c:
11369         * gst/gstpad.h:
11370         * gst/gstqueue.c: (gst_queue_init):
11371         The deprecated pad loop function is removed now.
11372
11373 2005-06-28  Andy Wingo  <wingo@pobox.com>
11374
11375         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11376         New parameters, simulate network packet loss.
11377
11378         * tests/network-clock-utils.scm: Initialize the RNG.
11379
11380 2005-06-28  Wim Taymans  <wim@fluendo.com>
11381
11382         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11383         (gst_basesink_event), (gst_basesink_deactivate):
11384         Flushing the preroll queue always needs to unlock the waiters.
11385
11386 2005-06-28  Edward Hervey  <edward@fluendo.com>
11387
11388         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11389         Wheen a seek was successful on a pipeline, set the stream_time to the
11390         seek offset in order to have a synchronized stream_time.
11391
11392 2005-06-28  Wim Taymans  <wim@fluendo.com>
11393
11394         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11395         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11396         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11397         (gst_proxy_pad_do_fixatecaps):
11398         Call wrapper function instead of just calling the function
11399         pointers. This takes care of any locking and whatmore.
11400
11401 2005-06-28  Wim Taymans  <wim@fluendo.com>
11402
11403         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11404         (gst_pad_pull_range):
11405         * gst/gstpad.h:
11406         CONNECTED -> LINKED.
11407
11408 2005-06-28  Andy Wingo  <wingo@pobox.com>
11409
11410         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11411         source-munging commit!!!
11412
11413         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11414         (gst_object_sink): Take gpointer arguments, not GstObject --
11415         avoids casts. Like GLib.
11416
11417         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11418         activate.
11419
11420 2005-06-27  Andy Wingo  <wingo@pobox.com>
11421
11422         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11423         remaining buffer.
11424
11425         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11426         returns a sorted copy of the trace list.
11427         (gst_alloc_trace_print_live): New API, only prints traces with
11428         live objects. Sort the list.
11429         (gst_alloc_trace_print_all): Sort the list.
11430         (gst_alloc_trace_print): Align columns.
11431
11432         * gst/elements/gstttypefindelement.c:
11433         * gst/elements/gsttee.c:
11434         * gst/base/gstbasesrc.c:
11435         * gst/base/gstbasesink.c:
11436         * gst/base/gstbasetransform.c:
11437         * gst/gstqueue.c: Adapt for pad activation changes.
11438
11439         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11440         sched.
11441         (gst_pipeline_dispose): Drop ref on sched.
11442
11443         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11444         (gst_pad_activate_default): Push mode by default.
11445         (pre_activate_switch, post_activate_switch): New stubs, things to
11446         do before and after switching activation modes on pads.
11447         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11448         the pad's activate function to choose which mode to activate.
11449         Shortcut on deactivation and call the right function directly.
11450         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11451         mode.
11452         (gst_pad_activate_push): New API, same for push mode.
11453         (gst_pad_set_activate_function) 
11454         (gst_pad_set_activatepull_function) 
11455         (gst_pad_set_activatepush_function): Setters for new API.
11456
11457         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11458         Trace all miniobjects.
11459         (gst_mini_object_make_writable): Unref the arg if we copy, like
11460         gst_caps_make_writable.
11461
11462         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11463
11464         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11465         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11466         Adapt for new pad API.
11467
11468         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11469
11470         * gst/gstelement.h:
11471         * gst/gstelement.c (gst_element_iterate_src_pads) 
11472         (gst_element_iterate_sink_pads): New API functions.
11473         
11474         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11475         should fold into gstiterator.c in some form.
11476         (gst_element_pads_activate): Simplified via use of fold and
11477         delegation of decisions to gstpad->activate.
11478
11479         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11480         help in debugging.
11481
11482         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11483         class once in init, like gstmessage. Didn't run into this issue
11484         but it seems correct. Don't initialize a trace, gstminiobject does
11485         that.
11486
11487         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11488         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11489         to the bus.
11490         (assert_live_count): New util function, uses alloc traces to check
11491         cleanup.
11492
11493         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11494         To be modified when unlink drops the internal pad.
11495
11496 2005-06-27  Wim Taymans  <wim@fluendo.com>
11497
11498         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11499         (gst_bin_change_state):
11500         Cleanup the get_state() function a little, make sure it
11501         iterates the same set of elements.
11502         Added stub iterate_state_order().
11503
11504 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11505
11506         * docs/gst/gstreamer-docs.sgml:
11507         * docs/gst/gstreamer-sections.txt:
11508         * docs/gst/gstreamer.types:
11509         * docs/gst/tmpl/gstbasesink.sgml:
11510         * docs/gst/tmpl/gstbasesrc.sgml:
11511         * docs/gst/tmpl/gstbasetransform.sgml:
11512         * docs/gst/tmpl/gstelement.sgml:
11513         * docs/gst/tmpl/gstiterator.sgml:
11514         * gst/base/gstbasesrc.c:
11515         * gst/base/gstbasesrc.h:
11516         * gst/base/gstbasetransform.h:
11517         * gst/gstelement.c:
11518         * gst/gstiterator.h:
11519           adding basetransform and iterator docs
11520
11521 2005-06-27  Andy Wingo  <wingo@pobox.com>
11522
11523         * docs/design/part-activation.txt: Notes on how activation should
11524         work -- not quite implemented yet.
11525
11526 2005-06-25  Wim Taymans  <wim@fluendo.com>
11527
11528         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11529         At least get the chain function correct, needs more
11530         fixing.
11531
11532 2005-06-25  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11535         (gst_basesink_handle_object), (gst_basesink_event),
11536         (gst_basesink_do_sync), (gst_basesink_handle_event),
11537         (gst_basesink_change_state):
11538         * gst/gsttask.h:
11539         Right, two problems here: ghostpads don't take locks and
11540         glib _rec_mutex_lock_full() with depth==0 still locks.
11541         Catch illegal locking and g_warn them.
11542
11543 2005-06-25  Wim Taymans  <wim@fluendo.com>
11544
11545         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11546         Have to check for completion now...
11547
11548 2005-06-25  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11551         (gst_basesink_handle_object), (gst_basesink_event),
11552         (gst_basesink_do_sync), (gst_basesink_handle_event),
11553         (gst_basesink_change_state):
11554         * gst/gstpad.h:
11555         Unlock STREAM_LOCK whatever the recursion was.
11556
11557 2005-06-25  Wim Taymans  <wim@fluendo.com>
11558
11559         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11560         (gst_basesink_preroll_queue_empty),
11561         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11562         (gst_basesink_event), (gst_basesink_do_sync),
11563         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11564         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11565         (gst_basesink_change_state):
11566         Reworked the base sink, handle event and buffer serialisation
11567         correctly and removed possible deadlock.
11568         Handle EOS correctly.
11569
11570 2005-06-25  Wim Taymans  <wim@fluendo.com>
11571
11572         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11573         (gst_pipeline_change_state):
11574         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11575         Allow elements to post EOS in the state change function.
11576         Fix up -launch, make it exit the poll loop when the
11577         pipeline actually changed state.
11578         Fix up warning parsing in -launch.
11579
11580 2005-06-25  Wim Taymans  <wim@fluendo.com>
11581
11582         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11583         (gst_tee_sink_activate):
11584         Core takes STREAM_LOCK for us now.
11585
11586 2005-06-25  Wim Taymans  <wim@fluendo.com>
11587
11588         * gst/gstelement.c: (gst_element_get_state_func),
11589         (gst_element_set_state):
11590         * gst/gstelement.h:
11591         * gst/gstmessage.c: (gst_message_parse_error),
11592         (gst_message_parse_warning):
11593         Keep track of current target state while performing a state
11594         change so that subclasses can do something interesting.
11595         Fix parsing of warning/error messages when GError is NULL.
11596
11597 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11598
11599         * docs/gst/Makefile.am:
11600         * docs/gst/gstreamer-docs.sgml:
11601         * docs/gst/gstreamer-sections.txt:
11602         * docs/gst/gstreamer.types:
11603         * docs/gst/tmpl/gstbasesink.sgml:
11604         * docs/gst/tmpl/gstbasesrc.sgml:
11605         * docs/gst/tmpl/gstbin.sgml:
11606         * docs/gst/tmpl/gstcompat.sgml:
11607         * docs/gst/tmpl/gstfakesink.sgml:
11608         * docs/gst/tmpl/gstfakesrc.sgml:
11609         * docs/gst/tmpl/gstfilesink.sgml:
11610         * docs/gst/tmpl/gstfilesrc.sgml:
11611         * docs/gst/tmpl/gstindex.sgml:
11612         * docs/manual/appendix-quotes.xml:
11613         * gst/base/gstbasesrc.h:
11614         * gst/elements/gstfakesrc.h:
11615         * gst/gstmessage.h:
11616           start pulling in base classes and elements in our docs
11617
11618 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11619
11620         * docs/gst/Makefile.am:
11621         * docs/libs/Makefile.am:
11622           fixed make distcheck with gtk-doc 1.3
11623
11624 2005-06-23  Wim Taymans  <wim@fluendo.com>
11625
11626         * gst/gstelement.c: (gst_element_get_state_func),
11627         (gst_element_set_state), (gst_element_change_state):
11628         When the state did not change, also report NO_PREROLL
11629         when it matters.
11630
11631 2005-06-23  Wim Taymans  <wim@fluendo.com>
11632
11633         * gst/gstpad.c: (gst_pad_event_default):
11634         * gst/gstqueue.c: (gst_queue_loop):
11635         No unsafe task pausing please.
11636
11637 2005-06-23  Wim Taymans  <wim@fluendo.com>
11638
11639         * gst/schedulers/threadscheduler.c:
11640         (gst_thread_scheduler_task_start),
11641         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11642         Ref the task before pushing it on the threadpool. This
11643         makes sure that we have a ref when the threadfunction is
11644         actually called.
11645
11646 2005-06-23  Andy Wingo  <wingo@pobox.com>
11647
11648         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11649         offset is greater than the file's size.
11650
11651         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11652         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11653         * gst/gstobject.c (gst_object_class_init): Make the class lock
11654         recursive. Wim won't let me drop deep_notify. Decodebin works
11655         again, whoopdy doo.
11656
11657         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11658         internal pad, and hacks accordingly. Doesn't do it on the target
11659         pad because we change its caps. Probably catches all cases of
11660         interest tho.
11661         (gst_ghost_pad_set_property): Connect to notify::caps as
11662         appropritate.
11663
11664         * tests/network-clock.scm (plot-simulation): Pipe data to the
11665         elite python skript.
11666
11667         * tests/network-clock-utils.scm (define-parameter): New macro,
11668         defines a parameter that can be set via the command line.
11669         (set-parameter!, parse-parameter-arguments): Command line args
11670         parser.
11671
11672         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11673         stdin.
11674
11675 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11676
11677         * gst/elements/gsttypefindelement.c:
11678         (gst_type_find_element_handle_event):
11679           Don't restart typefinding on a discont.
11680         * gst/gstelement.c: (gst_element_set_state):
11681           Debug spelling fix.
11682         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11683           Allow changing mode of an active pad.
11684           Debug output fixes.
11685         * gst/registries/gstlibxmlregistry.c: (load_feature):
11686           Don't cast a static pad template to a normal pad template.
11687
11688 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11689
11690         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11691         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11692           remove gst_strtoll completely, since it didn't actually do
11693           anything more than what g_ascii_strtoull already does.
11694           check for range errors when deserializing
11695           do a cast for the unsigned cases; but further fixing needs
11696           a decision on what the interpretation of "(int)" and
11697           deserialization should be for values that fall outside the
11698           type's boundaries (ie, refuse, or interpret as casting)
11699
11700 2005-06-23  Wim Taymans  <wim@fluendo.com>
11701
11702         * check/Makefile.am:
11703         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11704         * docs/design/part-live-source.txt:
11705         * docs/design/part-states.txt:
11706         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11707         (gst_basesrc_set_live), (gst_basesrc_is_live),
11708         (gst_basesrc_get_range), (gst_basesrc_activate),
11709         (gst_basesrc_change_state):
11710         * gst/base/gstbasesrc.h:
11711         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11712         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11713         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11714         * gst/gstelement.c: (gst_element_get_state_func),
11715         (gst_element_set_state):
11716         * gst/gstelement.h:
11717         * gst/gsttypes.h:
11718         * tools/gst-launch.c: (event_loop), (main):
11719         Added support for live sources and other elements that
11720         cannot do preroll.
11721         Updated design docs, added live-source design doc.
11722         Implemented live source functionality in basesrc
11723         Fix error condition in _bin_get_state()
11724         Implement live source handling in -launch.
11725         Added check for live sources.
11726         Fixed case in GstBin where elements were changed state
11727         multiple times.
11728
11729
11730 2005-06-23  Andy Wingo  <wingo@pobox.com>
11731
11732         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11733         borken refcounting.
11734
11735         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11736         gst_caps_replace takes care of this for us.
11737
11738         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11739         gst_pad_set_caps on the target, not just its setcaps() function.
11740
11741         * tests/network-clock.scm: 
11742         * tests/network-clock-utils.scm: A network clock simulator.
11743         Something of an algorithmic testbed before doing something in C.
11744
11745 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11746
11747         * check/Makefile.am:
11748         * check/gst/capslist.h:
11749           copy over from 0.8, and add two with bitmasks specified with
11750           (int) 0xFF...
11751         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11752           add test to parse everything from capslist.h
11753         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11754         (main):
11755           add test for structure deserialization
11756         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11757           add tests for deserialization of strings to int types
11758         * gst/gststructure.c: (gst_structure_nth_field_name):
11759         * gst/gststructure.h:
11760           add a way to get the name of a field referenced by index
11761         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11762           instead of checking if the resulting long long lies between
11763           min and max, we check if the long long would fit into
11764           a number of bytes for the final type.
11765           This fixes cases where a string represents 2^32 - 1, which
11766           when cast to int would be the (valid) -1, but is bigger than
11767           G_MAXINT
11768
11769 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11770
11771         * gst/parse/grammar.y:
11772           add a log line for type deserialization
11773
11774 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * check/gst/gstvalue.c: (START_TEST):
11777         * gst/gstvalue.c: (gst_value_deserialize):
11778           return long long, not int, so gint64 deserialization actually
11779           works.  Is there any flag that makes the compiler check this ?
11780           Fixes #308559
11781
11782 2005-06-22  Wim Taymans  <wim@fluendo.com>
11783
11784         * gst/gstbuffer.h:
11785         Added convenience macros for setting buffers in GValue.
11786
11787 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11788
11789         * check/gst/.cvsignore:
11790         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11791           add a test deserializing int64, and comment part out because
11792           it fails, yay !
11793
11794 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11795
11796         * check/Makefile.am:
11797         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11798         * testsuite/Makefile.am:
11799         * testsuite/caps/Makefile.am:
11800         * testsuite/caps/value_serialize.c:
11801         * testsuite/test_gst_init.c:
11802           move a value_serialize test over
11803
11804 2005-06-20  Wim Taymans  <wim@fluendo.com>
11805
11806         * gst/gstpad.c:
11807         Small doc updates.
11808         
11809         * gst/gstvalue.c: (gst_value_compare_buffer),
11810         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11811         (gst_value_compare_flags), (gst_value_serialize_flags),
11812         (gst_value_deserialize_flags), (_gst_value_initialize):
11813         Fix serialisation of buffers, they are not boxed types anymore
11814
11815 2005-06-20  Wim Taymans  <wim@fluendo.com>
11816
11817         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11818         Testcase to show error in buffer-on-caps serialisation.
11819
11820 2005-06-20  Andy Wingo  <wingo@pobox.com>
11821
11822         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11823         will be adding to later.
11824
11825         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11826         if its socks fill with rocks.
11827         (gst_system_clock_obtain): Set the name on object construction.
11828         Avoid double-checked locking.
11829
11830 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11831
11832         * gst/gsturi.c: (gst_element_make_from_uri):
11833           Fix potential endless loop.
11834
11835 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11836
11837         * check/Makefile.am:
11838           add gsttag
11839         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11840         (main):
11841           move over from testsuite dir and clean up
11842         * configure.ac:
11843         * gst/gsttag.c:
11844         * testsuite/Makefile.am:
11845         * testsuite/tags/.cvsignore:
11846         * testsuite/tags/Makefile.am:
11847         * testsuite/tags/merge.c:
11848           remove testsuite/tags
11849
11850 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11851
11852         * docs/gst/gstreamer-sections.txt:
11853         * docs/gst/tmpl/gstenumtypes.sgml:
11854         * win32/gstenumtypes.c:
11855           clean up documentation build a little
11856
11857 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * check/gstcheck.h:
11860           add macros for checking refcounts on objects and caps
11861         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11862           add some more unit tests
11863         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11864         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11865           fix leaked refcounts (I hope :)) so unittest works
11866         * gst/gstpad.h:
11867           whitespace removal
11868
11869 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * configure.ac: back to HEAD
11872
11873 === release 0.9.1 ===
11874
11875 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * NEWS:
11878         * RELEASE:
11879           updated
11880
11881 2005-06-17  Andy Wingo  <wingo@pobox.com>
11882
11883         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11884         assert; it's always possible that the pad gets deactivated in
11885         between the checks in gstpad.c and the implementation. Rely on
11886         finish_preroll() to return a FLUSHING or similar instead of on the
11887         assert.
11888         
11889         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11890         clock and post an EOS message if we come out of finish_preroll in
11891         the playing state.
11892
11893 2005-06-16  David Schleef  <ds@schleef.org>
11894
11895         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11896         (gst_capsfilter_set_property): Allow NULL as possible value
11897         for filter_caps property, indicating GST_CAPS_ANY.
11898
11899 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11900
11901         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11902           fix debug output
11903         * gst/schedulers/Makefile.am:
11904           use libgst prefix
11905         * gstreamer.spec.in:
11906           fix spec for it
11907
11908 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11909
11910         * gstreamer.spec.in:
11911           clean up
11912
11913 2005-06-08  Andy Wingo  <wingo@pobox.com>
11914
11915         * gst/gstutils.c: RPAD fixes all around.
11916         (gst_element_link_pads): Refcounting fixes.
11917
11918         * tools/gst-inspect.c:
11919         * tools/gst-xmlinspect.c:
11920         * parse/grammar.y:
11921         * gst/base/gsttypefindhelper.c:
11922         * gst/base/gstbasesink.c:
11923         * gst/gstqueue.c: RPAD fixes.
11924
11925         * gst/gstghostpad.h:
11926         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11927         pads. The tricky thing is they provide both source and sink
11928         interfaces, since they proxy the internal pad for the external
11929         pad, and vice versa. Implement with lower-level ProxyPad objects,
11930         with the interior proxy pad as a child of the exterior ghost pad.
11931         Should write a doc on this.
11932         
11933         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11934         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11935         gst_object API.
11936         
11937         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11938         pads are real pads. No ghost pads in this file. Not documenting
11939         the myriad s/RPAD/PAD/ and REALIZE fixes.
11940         (gst_pad_class_init): Add properties for "direction" and
11941         "template". Both are construct-only, so they can't change during
11942         the life of the pad. Fixes properly deriving from GstPad.
11943         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11944         derived objects, just set properties when creating the objects via
11945         g_object_new.
11946         (gst_pad_get_parent): Implement as a function, return NULL if the
11947         parent is not an element.
11948         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11949         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11950         
11951         * gst/gstobject.c (gst_object_class_init): Make name a construct
11952         property. Don't set it in the object init.
11953
11954         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11955         with UNKNOWN direction.
11956         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11957         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11958         (gst_element_remove_pad): Remove ghost-pad special cases.
11959         (gst_element_pads_activate): Remove rpad cruft.
11960
11961         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11962         catch the pad's-parent-not-an-element case.
11963
11964         * gst/gst.h: Include gstghostpad.h.
11965
11966         * gst/gst.c (init_post): No more real, ghost pads.
11967
11968         * gst/Makefile.am: Add gstghostpad.[ch].
11969
11970         * check/Makefile.am:
11971         * check/gst/gstbin.c:
11972         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11973         into a bin creates ghost pads, and that the refcounts are right.
11974         Partly moved from gstbin.c.
11975
11976 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11977
11978         * check/gst-libs/.cvsignore:
11979         * check/gst/.cvsignore:
11980         * check/pipelines/.cvsignore:
11981           ignore more
11982         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11983         (START_TEST), (cleanup_suite), (main):
11984           add some tests related to cleanup after running pipelines
11985
11986 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11987
11988         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11989           add a testsuite for GstBuffer
11990
11991 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11992
11993         * gst/gstminiobject.h:
11994           add defines for accessing the refcount
11995
11996 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11997
11998         * Makefile.am: added support for html unit test coverage reports
11999
12000 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12001
12002         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12003           Free existing caps if the capsfilter changes. Add a FIXME about
12004           setting those caps on the pads.
12005
12006         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12007           Before adding a ghost pad to a parent bin, check that there isn't
12008           already one for the element on the bin. Prevents infinite recursion
12009           when using decodebin in parse pipelines. Andy says he'll rewrite the
12010           way this works anyway, so ignore the hack.
12011
12012 2005-06-02  Andy Wingo  <wingo@pobox.com>
12013
12014         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12015         file size, pass it on to the type find helper.
12016
12017         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12018         segment_start and segment_end properly according to the seek
12019         method. Segment_end is still a bit flaky because offset can be
12020         negative for CUR and END cases, but it takes -1 as an "unset"
12021         value.
12022
12023 2005-06-02  Wim Taymans  <wim@fluendo.com>
12024
12025         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12026         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12027         (gst_basesink_activate):
12028         * gst/base/gstbasesink.h:
12029         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12030         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12031         (gst_pad_query), (gst_pad_start_task):
12032         * gst/gstpad.h:
12033         * gst/gstqueue.c: (gst_queue_bufferalloc),
12034         (gst_queue_handle_sink_event), (gst_queue_chain):
12035         Bufferalloc: return GstFlowReturn to more accuratly report
12036         why allocation failed.
12037
12038 2005-06-02  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/gstpipeline.c: (gst_pipeline_send_event):
12041         Take snapshot of state without blocking.
12042
12043 2005-06-02  Wim Taymans  <wim@fluendo.com>
12044
12045         * docs/design/part-TODO.txt:
12046         * docs/design/part-caps.txt:
12047         * docs/design/part-clocks.txt:
12048         * docs/design/part-negotiation.txt:
12049         * docs/design/part-preroll.txt:
12050         Small doc updates 
12051
12052 2005-05-30  Wim Taymans  <wim@fluendo.com>
12053
12054         * gst/elements/gstidentity.c: (gst_identity_event),
12055         (gst_identity_transform), (gst_identity_get_property):
12056         Protect last_message property as it is accessed from
12057         multiple threads.
12058
12059 2005-05-30  Wim Taymans  <wim@fluendo.com>
12060
12061         * gst/gstelement.c: (gst_element_init),
12062         (gst_element_pads_activate), (gst_element_change_state):
12063         Slicker pad activation code.
12064
12065 2005-05-30  Wim Taymans  <wim@fluendo.com>
12066
12067         * gst/Makefile.am:
12068         * gst/gstelement.h:
12069         * gst/gstelementfactory.h:
12070         * gst/gsttypes.h:
12071         Move elementfactory methods to separate .h file.
12072
12073 2005-05-30  Wim Taymans  <wim@fluendo.com>
12074
12075         * docs/design/part-overview.txt:
12076         * gst/gstsystemclock.h:
12077         Small typo fixes, doc updates.
12078
12079 2005-05-30  Wim Taymans  <wim@fluendo.com>
12080
12081         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12082         (init_popt_callback):
12083         Remove cpu-opt flag.
12084
12085 2005-05-30  Wim Taymans  <wim@fluendo.com>
12086
12087         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12088         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12089         * gst/gstbuffer.h:
12090         Avoid typechecking in places where not needed.
12091         Added accessor for malloc_data.
12092
12093 2005-05-30  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12096         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12097         (gst_pad_configure_sink), (gst_pad_configure_src),
12098         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12099         (gst_pad_start_task):
12100         Propagate errors from _set_caps() in configure_src/sink
12101         functions instead of returning TRUE.
12102         FLUSH events can travel up and downstream
12103
12104
12105 2005-05-30  Wim Taymans  <wim@fluendo.com>
12106
12107         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12108         (gst_basesink_activate):
12109         Handle EOS in preroll.
12110
12111 2005-05-30  Wim Taymans  <wim@fluendo.com>
12112
12113         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12114         (gst_queue_loop), (gst_queue_handle_src_event):
12115         Remove old pieces of code
12116         Flushing the queue in an upstream event is a very bad idea.
12117
12118 2005-05-26  Andy Wingo  <wingo@pobox.com>
12119
12120         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12121         gst_value_set_mini_object so as to add a ref on the object (which
12122         will be removed when the value is unset).
12123
12124         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12125         arg type in ::handoff.
12126
12127         * gst/gstelement.c (gst_element_change_state): Also deactivate
12128         pads in READY->NULL, just in case the element didn't make it to
12129         PAUSED. Wingo tested, Wim approved.
12130
12131 2005-05-26  Wim Taymans  <wim@fluendo.com>
12132
12133         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12134         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12135         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12136         A flushing pad cannot be used to alloc_buffer from.
12137
12138 2005-05-26  Wim Taymans  <wim@fluendo.com>
12139
12140         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12141         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12142         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12143         (gst_bus_create_watch), (gst_bus_add_watch_full):
12144         * gst/gstbus.h:
12145         Implement a real GSource and use g_main_context_wakeup() to
12146         signal new messages instead of the socketpair.
12147
12148 2005-05-25  Wim Taymans  <wim@fluendo.com>
12149
12150         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12151         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12152         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12153         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12154         (gst_pad_send_event), (gst_pad_start_task):
12155         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12156         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12157         (gst_queue_sink_activate), (gst_queue_src_activate),
12158         (gst_queue_change_state):
12159         * gst/gstqueue.h:
12160         Fix state changes for non sinks. We now change sinks, then elements
12161         with unconnected srcpads, then the rest.
12162         More efficient queue unlocking in flush and state changes.
12163         Set the pad activate mode even if it does not have an activate
12164         function.
12165
12166 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12167
12168         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12169           Don't go in pull mode for non-seekable sources.
12170         * gst/elements/gsttypefindelement.h:
12171         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12172         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12173         (free_entry), (stop_typefinding),
12174         (gst_type_find_element_handle_event), (find_peek),
12175         (gst_type_find_element_chain), (do_pull_typefind),
12176         (gst_type_find_element_change_state):
12177           Allow typefinding (w/o seeking) in push-mode, simplified version
12178           of what was in 0.8.
12179         * gst/gstutils.c: (gst_buffer_join):
12180         * gst/gstutils.h:
12181           gst_buffer_join() from 0.8.
12182
12183 2005-05-25  Wim Taymans  <wim@fluendo.com>
12184
12185         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12186         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12187         (gst_pad_send_event), (gst_pad_start_task):
12188         Disable attempt at mode switching until it is figured out.
12189
12190 2005-05-25  Wim Taymans  <wim@fluendo.com>
12191
12192         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12193         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12194         (gst_basesink_finish_preroll), (gst_basesink_chain),
12195         (gst_basesink_loop), (gst_basesink_activate),
12196         (gst_basesink_change_state):
12197         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12198         (gst_basesrc_get_range), (gst_basesrc_loop),
12199         (gst_basesrc_activate):
12200         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12201         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12202         (gst_real_pad_init), (gst_real_pad_set_property),
12203         (gst_real_pad_get_property), (gst_pad_set_active),
12204         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12205         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12206         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12207         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12208         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12209         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12210         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12211         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12212         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12213         (gst_pad_stop_task):
12214         * gst/gstpad.h:
12215         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12216         (gst_queue_loop), (gst_queue_src_activate):
12217         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12218         (gst_task_get_state):
12219         * gst/gsttask.h:
12220         * gst/schedulers/threadscheduler.c:
12221         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12222         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12223         in task function.
12224         Remove ACTIVE pad flag, use FLUSHING everywhere
12225         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12226         functions.
12227         Add locks around IS_FLUSHING when reading.
12228         Take STREAM lock in chain(), get_range() functions so plugins
12229         don't need to take it anymore.
12230         
12231
12232
12233 2005-05-25  Wim Taymans  <wim@fluendo.com>
12234
12235         * tools/gst-launch.c: (event_loop):
12236         Unref message after using its contents instead of
12237         before.
12238
12239 2005-05-24  Wim Taymans  <wim@fluendo.com>
12240
12241         * docs/design/draft-ghostpads.txt:
12242         * docs/design/draft-push-pull.txt:
12243         * docs/design/draft-query.txt:
12244         * docs/design/part-overview.txt:
12245         Docs updates, added general overview doc.
12246
12247 2005-05-21  David Schleef  <ds@schleef.org>
12248
12249         * docs/gst/tmpl/old/GstBin.sgml:
12250         * docs/gst/tmpl/old/GstBuffer.sgml:
12251         * docs/gst/tmpl/old/GstCaps.sgml:
12252         * docs/gst/tmpl/old/GstClock.sgml:
12253         * docs/gst/tmpl/old/GstCompat.sgml:
12254         * docs/gst/tmpl/old/GstData.sgml:
12255         * docs/gst/tmpl/old/GstElement.sgml:
12256         * docs/gst/tmpl/old/GstEvent.sgml:
12257         * docs/gst/tmpl/old/GstIndex.sgml:
12258         * docs/gst/tmpl/old/GstStructure.sgml:
12259         * docs/gst/tmpl/old/GstTag.sgml:
12260         * docs/gst/tmpl/old/cothreads.sgml:
12261         * docs/gst/tmpl/old/cothreads_compat.sgml:
12262         * docs/gst/tmpl/old/gettext.sgml:
12263         * docs/gst/tmpl/old/gobject2gtk.sgml:
12264         * docs/gst/tmpl/old/grammar.tab.sgml:
12265         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12266         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12267         * docs/gst/tmpl/old/gst_private.sgml:
12268         * docs/gst/tmpl/old/gstaggregator.sgml:
12269         * docs/gst/tmpl/old/gstarch.sgml:
12270         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12271         * docs/gst/tmpl/old/gstbufferstore.sgml:
12272         * docs/gst/tmpl/old/gstdata_private.sgml:
12273         * docs/gst/tmpl/old/gstdisksink.sgml:
12274         * docs/gst/tmpl/old/gstdisksrc.sgml:
12275         * docs/gst/tmpl/old/gstelementfactory.sgml:
12276         * docs/gst/tmpl/old/gstextratypes.sgml:
12277         * docs/gst/tmpl/old/gstfakesink.sgml:
12278         * docs/gst/tmpl/old/gstfakesrc.sgml:
12279         * docs/gst/tmpl/old/gstfdsink.sgml:
12280         * docs/gst/tmpl/old/gstfdsrc.sgml:
12281         * docs/gst/tmpl/old/gstfilesink.sgml:
12282         * docs/gst/tmpl/old/gstfilesrc.sgml:
12283         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12284         * docs/gst/tmpl/old/gstidentity.sgml:
12285         * docs/gst/tmpl/old/gstindexfactory.sgml:
12286         * docs/gst/tmpl/old/gstmarshal.sgml:
12287         * docs/gst/tmpl/old/gstmd5sink.sgml:
12288         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12289         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12290         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12291         * docs/gst/tmpl/old/gstpipefilter.sgml:
12292         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12293         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12294         * docs/gst/tmpl/old/gstshaper.sgml:
12295         * docs/gst/tmpl/old/gstspider.sgml:
12296         * docs/gst/tmpl/old/gstspideridentity.sgml:
12297         * docs/gst/tmpl/old/gststatistics.sgml:
12298         * docs/gst/tmpl/old/gsttee.sgml:
12299         * docs/gst/tmpl/old/gsttimecache.sgml:
12300         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12301         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12302         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12303         * docs/gst/tmpl/old/types.sgml:
12304           I didn't intend to add these or check them in.
12305
12306 2005-05-19  David Schleef  <ds@schleef.org>
12307
12308         * configure.ac: Use -no-common everywhere.  In a sane world, it
12309           would be the default in libtool, because without it, you can't
12310           build DLLs on Windows.
12311         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12312         * docs/gst/gstreamer-sections.txt:
12313         * docs/gst/tmpl/gstcpu.sgml:
12314         * docs/gst/tmpl/gstdata.sgml:
12315         * docs/gst/tmpl/gstthread.sgml:
12316
12317 2005-05-19  David Schleef  <ds@schleef.org>
12318
12319         * gst/gstminiobject.c: (gst_value_set_mini_object),
12320         (gst_value_take_mini_object), (gst_value_get_mini_object):
12321         * gst/gstminiobject.h: Add GValue set/get functions.
12322
12323 2005-05-19  Wim Taymans  <wim@fluendo.com>
12324
12325         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12326         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12327         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12328         * gst/gstbuffer.h:
12329         * gst/gstbus.c: (gst_bus_post):
12330         * gst/gstelement.c: (gst_element_get_random_pad):
12331         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12332         Make subbufer unref the parent in finalize.
12333         some more debugging info.
12334
12335
12336 2005-05-19  Wim Taymans  <wim@fluendo.com>
12337
12338         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12339         (gst_basesink_init), (gst_basesink_finalize),
12340         (gst_basesink_activate), (gst_basesink_change_state):
12341         Don't free preroll queue too early.
12342
12343 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12344
12345         * gst/Makefile.am:
12346         * gst/ROADMAP:
12347           Hi, I'm outdated. Please shoot me.
12348
12349 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12350
12351         * gst/gstpipeline.c: (gst_pipeline_send_event):
12352           Do not access variables after they have been deleted.
12353
12354 2005-05-19  Wim Taymans  <wim@fluendo.com>
12355
12356         * tools/gst-inspect.c: (print_plugin_features):
12357         A plugin feature does unfortunatly not use the
12358         object name yet...
12359
12360 2005-05-18  Wim Taymans  <wim@fluendo.com>
12361
12362         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12363         Port _span() functions to new subbuffers.
12364
12365 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12366
12367         * gst/gstbin.c: (gst_bin_add_func):
12368           Fix clock settery in bins when adding kids after the clock has
12369           been selected.
12370
12371 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12372
12373         * gst/elements/gstidentity.c: (gst_identity_class_init):
12374           Workaround until signals support GstMiniObject.
12375
12376 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12377
12378         * gst/gstbuffer.c:
12379         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12380
12381 2005-05-18  Wim Taymans  <wim@fluendo.com>
12382
12383         * gst/base/Makefile.am:
12384         * gst/base/gstadapter.c: (gst_adapter_base_init),
12385         (gst_adapter_class_init), (gst_adapter_init),
12386         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12387         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12388         (gst_adapter_flush), (gst_adapter_available),
12389         (gst_adapter_available_fast):
12390         * gst/base/gstadapter.h:
12391         Ported and added adapter to the base classes.
12392
12393 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12394
12395         * gst/gst.c:
12396         * gst/gstmessage.c:
12397           Make sure the class is reffed/unreffed once before threads can be
12398           used.  Fixes #304551.
12399
12400 2005-05-17  Wim Taymans  <wim@fluendo.com>
12401
12402         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12403         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12404         * gst/gstminiobject.c: (gst_mini_object_get_type),
12405         (gst_mini_object_free):
12406         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12407         (gst_pad_push), (gst_pad_push_event):
12408         * gst/gstqueue.c: (gst_queue_change_state):
12409         Don't queue buffers in basesink when we are flushing.
12410         Unref buffer when flushing in basesink.
12411         Flush queue when going to READY
12412         Unref buffer when _push() returns an error.
12413         Don't free MiniObject instance when refcount is incremented
12414         in _finalize() so that we can recover objects.
12415
12416 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * docs/manual/advanced-schedulers.xml:
12419         * docs/manual/appendix-checklist.xml:
12420         * docs/pwg/advanced-clock.xml:
12421         * docs/pwg/advanced-interfaces.xml:
12422         * docs/pwg/advanced-request.xml:
12423         * docs/pwg/advanced-types.xml:
12424         * docs/pwg/intro-preface.xml:
12425         * examples/plugins/example.c: (gst_example_get_type),
12426         (gst_example_class_init), (gst_example_chain),
12427         (gst_example_set_property), (gst_example_get_property),
12428         (gst_example_change_state), (plugin_init):
12429         * examples/plugins/example.h:
12430           small doc fixes
12431
12432 2005-05-17  Wim Taymans  <wim@fluendo.com>
12433
12434         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12435         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12436         * gst/gstqueue.c: (gst_queue_change_state):
12437         Clear queue when going to READY.
12438         Remove IN_SETCAPS flag too.
12439
12440 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12441
12442         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12443           Remove implicit cast from gboolean to GstElementStateReturn;
12444           make sure we still return failure in paused => ready case if
12445           the parent class fails to change state and our own stop 
12446           vfunc succeeds.
12447
12448 2005-05-17  Wim Taymans  <wim@fluendo.com>
12449
12450         * tools/gst-launch.c: (event_loop):
12451         Message was unreffed too soon.
12452
12453 2005-05-16  Andy Wingo  <wingo@pobox.com>
12454
12455         * gst/gstbin.c (sink_iterator_filter): Err... um...
12456
12457         * check/gst/gstbin.c (test_ghost_pads): New test for the
12458         ghosting-if-elements-not-in-same-bin behavior.
12459
12460 2005-05-16  David Schleef  <ds@schleef.org>
12461
12462         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12463         accessing refcount directly.
12464
12465 2005-05-15  David Schleef  <ds@schleef.org>
12466
12467         * check/Makefile.am: remove GstData checks
12468         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12469         * gst/Makefile.am: add miniobject, remove data
12470         * gst/gst.h: add miniobject, remove data
12471         * gst/gstdata.c: remove
12472         * gst/gstdata.h: remove
12473         * gst/gstdata_private.h: remove
12474         * gst/gsttypes.h: remove GstEvent and GstMessage
12475         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12476         * gst/gstmarshal.list: change BOXED -> OBJECT
12477
12478         Implement GstMiniObject.
12479         * gst/gstminiobject.c:
12480         * gst/gstminiobject.h:
12481
12482         Modify to be subclasses of GstMiniObject.
12483         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12484         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12485         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12486         (gst_subbuffer_get_type), (gst_subbuffer_init),
12487         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12488         (gst_buffer_span):
12489         * gst/gstbuffer.h:
12490         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12491         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12492         (_gst_event_copy), (gst_event_new):
12493         * gst/gstevent.h:
12494         * gst/gstmessage.c: (_gst_message_initialize),
12495         (gst_message_get_type), (gst_message_class_init),
12496         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12497         (gst_message_new), (gst_message_new_error),
12498         (gst_message_new_warning), (gst_message_new_tag),
12499         (gst_message_new_state_changed), (gst_message_new_application):
12500         * gst/gstmessage.h:
12501         * gst/gstprobe.c: (gst_probe_perform),
12502         (gst_probe_dispatcher_dispatch):
12503         * gst/gstprobe.h:
12504         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12505         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12506         (_gst_query_copy), (gst_query_new):
12507
12508         Update elements for GstData -> GstMiniObject changes
12509         * gst/gstquery.h:
12510         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12511         (gst_queue_chain), (gst_queue_loop):
12512         * gst/elements/gstbufferstore.c:
12513         (gst_buffer_store_add_buffer_func),
12514         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12515         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12516         (gst_fakesink_render):
12517         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12518         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12519         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12520         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12521         (gst_filesrc_create_read):
12522         * gst/elements/gstidentity.c: (gst_identity_class_init):
12523         * gst/elements/gsttypefindelement.c:
12524         (gst_type_find_element_src_event), (free_entry_buffers),
12525         (gst_type_find_element_handle_event):
12526         * libs/gst/dataprotocol/dataprotocol.c:
12527         (gst_dp_header_from_buffer):
12528         * libs/gst/dataprotocol/dataprotocol.h:
12529         * libs/gst/dataprotocol/dp-private.h:
12530
12531 2005-05-15  David Schleef  <ds@schleef.org>
12532
12533         * gst/elements/gstelements.c: Don't include headers that were
12534         just removed.
12535
12536 2005-05-15  David Schleef  <ds@schleef.org>
12537
12538         * gst/elements/Makefile.am: Remove some elements that don't
12539         need to be in the core (or even exist at all).
12540         * gst/elements/gstaggregator.c:
12541         * gst/elements/gstaggregator.h:
12542         * gst/elements/gstmd5sink.c:
12543         * gst/elements/gstmd5sink.h:
12544         * gst/elements/gstmultifilesrc.c:
12545         * gst/elements/gstmultifilesrc.h:
12546         * gst/elements/gstpipefilter.c:
12547         * gst/elements/gstpipefilter.h:
12548         * gst/elements/gstshaper.c:
12549         * gst/elements/gstshaper.h:
12550         * gst/elements/gststatistics.c:
12551         * gst/elements/gststatistics.h:
12552         * po/POTFILES.in: Remove above files.
12553
12554 2005-05-14  Andy Wingo  <wingo@pobox.com>
12555
12556         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12557         so as to get the refs right.
12558         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12559         unreffing objects that don't pass the filter.
12560
12561         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12562         gst_element_set_bus.
12563         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12564         normal cases, this will destroy the bus.
12565
12566         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12567         object.
12568
12569         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12570         has no sinks.
12571
12572 2005-05-13  Andy Wingo  <wingo@pobox.com>
12573
12574         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12575         gst_pad_link, call pad_link_maybe_ghosting,
12576         (pad_link_maybe_ghosting): Links pads, making sure that the
12577         elements being linked are in the same bin.
12578         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12579         Helpers for pad_link_maybe_ghosting.
12580
12581 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12582
12583         * configure.ac:
12584           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12585
12586 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12587
12588         * docs/design/part-element-source.txt:
12589           Mention GstPushSrc
12590
12591 2005-05-12  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/base/gstbasesink.c: (gst_basesink_init),
12594         (gst_basesink_activate):
12595         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12596         (gst_basesrc_is_seekable):
12597         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12598         (bin_element_is_sink), (gst_bin_change_state):
12599         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12600         * gst/gstelement.h:
12601         Identify sinks by their flag to avoid overly complicated
12602         checks (fow now).
12603         Do state changes even for elements not reachable from the
12604         sinks.
12605         BaseSink is a sink now :)
12606         Some more debugging info in the basesrc.
12607
12608
12609 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12610
12611         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12612           Implement _query on a bin, similar to _send_event.
12613
12614 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12615
12616         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12617           Discont event offset format should be GST_FORMAT_BYTES,
12618           not GST_FORMAT_TIME.
12619
12620 2005-05-12  Wim Taymans  <wim@fluendo.com>
12621
12622         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12623         Same fix as Ronald's but without the signal. 
12624
12625 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12626
12627         * gst/gstutils.c: (gst_element_query_position):
12628           No, an element is not a pad.
12629
12630 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12631
12632         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12633         (gst_bin_get_state):
12634           If a child is removed from a bin while we remove the child from
12635           the bin and while we're retrieving its state, signal this to the
12636           get_state function so we abort the wait (instead of waiting for
12637           a timeout) and can immediately re-iterate over all other elements.
12638
12639 2005-05-12  Wim Taymans  <wim@fluendo.com>
12640
12641         * gst/base/Makefile.am:
12642         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12643         (gst_basesrc_start):
12644         * gst/base/gstbasesrc.h:
12645         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12646         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12647         (gst_pushsrc_init), (gst_pushsrc_create):
12648         * gst/base/gstpushsrc.h:
12649         Added is_seekable to BaseSrc
12650         Added simple PushSrc.
12651
12652 2005-05-11  Wim Taymans  <wim@fluendo.com>
12653
12654         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12655         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12656         (gst_element_link_pads), (gst_element_query_position),
12657         (gst_element_query_convert), (intersect_caps_func),
12658         (gst_pad_query_position), (gst_pad_query_convert):
12659         Fix refcounting in utils function.
12660         No point in trying to activate a pad when it's added, it could
12661         be added from the state change function and then we deadlock, the
12662         element has to decide what to do.
12663
12664 2005-05-10  Andy Wingo  <wingo@pobox.com>
12665
12666         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12667         *all* the arguments.
12668
12669         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12670         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12671         lock (according to the docs -- if this is wrong change the docs).
12672
12673         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12674         flush messages in the NULL state.
12675
12676         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12677         message immediately and return.
12678         (gst_bus_set_flushing): New function. If a bus is flushing, it
12679         flushes out any queued messages and immediately unrefs new
12680         messages. This is so when an element goes to NULL, all of the
12681         unhandled messages coming from it can be freed, and their
12682         references to the element dropped. In other words: message source
12683         ref considered harmful :P
12684
12685         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12686         we're finished with it.
12687
12688         * gst/gstmessage.c (gst_message_new_state_changed): 
12689
12690 2005-05-10  Wim Taymans  <wim@fluendo.com>
12691
12692         * gst/gstvalue.c: (gst_value_compare_flags),
12693         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12694         (_gst_value_initialize):
12695         Added flags serialize/deserialize/compare code.
12696
12697 2005-05-09  Andy Wingo  <wingo@pobox.com>
12698
12699         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12700         Intersect the peer's caps with our caps.
12701
12702 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12703
12704         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12705         * gst/elements/gsttypefindelement.c: (find_peek):
12706           Handle negative offsets better. Fixes decodebin.
12707
12708 2005-05-09  Wim Taymans  <wim@fluendo.com>
12709
12710         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12711         (gst_base_transform_event):
12712         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12713         Implement accept_caps.
12714         Fix silly lock/unlock mismatch in base class.
12715
12716 2005-05-09  Wim Taymans  <wim@fluendo.com>
12717
12718         * docs/design/draft-push-pull.txt:
12719         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12720         * gst/elements/gstfilesink.c: (gst_filesink_init),
12721         (gst_filesink_query):
12722         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12723         (gst_type_find_handle_src_query), (find_element_get_length):
12724         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12725         * gst/gstelement.h:
12726         * gst/gstmessage.c:
12727         * gst/gstmessage.h:
12728         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12729         (gst_real_pad_get_caps_unlocked),
12730         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12731         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12732         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12733         (gst_real_pad_dispose), (gst_real_pad_finalize),
12734         (gst_pad_load_and_link), (gst_pad_save_thyself),
12735         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12736         (gst_pad_check_pull_range), (gst_pad_pull_range),
12737         (gst_pad_template_get_type), (gst_pad_template_class_init),
12738         (gst_pad_template_init), (gst_pad_template_dispose),
12739         (name_is_valid), (gst_static_pad_template_get),
12740         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12741         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12742         (gst_pad_get_element_private), (gst_pad_start_task),
12743         (gst_pad_pause_task), (gst_pad_stop_task),
12744         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12745         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12746         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12747         (gst_ghost_pad_new):
12748         * gst/gstpad.h:
12749         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12750         (gst_query_new_position), (gst_query_set_position),
12751         (gst_query_parse_position), (gst_query_new_convert),
12752         (gst_query_set_convert), (gst_query_parse_convert):
12753         * gst/gstquery.h:
12754         * gst/gstqueryutils.c:
12755         * gst/gstqueryutils.h:
12756         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12757         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12758         (gst_queue_handle_src_query):
12759         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12760         (gst_element_query_position), (gst_element_query_convert),
12761         (intersect_caps_func), (gst_pad_query_position),
12762         (gst_pad_query_convert):
12763         * gst/gstutils.h:
12764         * tools/gst-inspect.c: (print_pad_info):
12765         * tools/gst-xmlinspect.c: (print_element_info):
12766         Remove old query functions. Ported old code.
12767         Added position/convert helper functions to gstutils.
12768         Reordered gstpad.c code, grouping relevant things.
12769         Remove gst_message_new(), always need to speficy a specific
12770         message.
12771
12772
12773 2005-05-09  Andy Wingo  <wingo@pobox.com>
12774
12775         * gst/gstiterator.h: Add some includes.
12776
12777         * gst/gstqueryutils.h: Include more headers.
12778
12779         * gst/gstpad.h:
12780         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12781         some uses of gst_pad_query.
12782
12783         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12784         NULL out parameters.
12785         (gst_query_new_position): New proc, allocates a new position
12786         query.
12787
12788         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12789         gstqueryutils.c to the build.
12790
12791         * gst/gststructure.c (gst_structure_set_valist): Implement with
12792         the generic G_VALUE_COLLECT.
12793         
12794 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12795
12796         * gst/Makefile.am: (gst_headers):
12797         Added gstqueryutils.h to the list of headers to install, that was
12798         a 'nachty' move wingo :)
12799
12800 2005-05-06  Andy Wingo  <wingo@pobox.com>
12801
12802         * gst/gstquery.h
12803         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12804         GstData, init a memchunk.
12805         (standard_definitions): Add a few query types, deprecate a few.
12806         (gst_query_get_type): New proc.
12807         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12808         implementation.
12809         (gst_query_new_application, gst_query_get_structure): New public
12810         procs.
12811
12812         * docs/design/draft-query.txt: Removed LINKS from the query types,
12813         because all the rest can be dispatched to other pads -- seemed
12814         ugly to have a query that couldn't be dispatched. internal_links
12815         is fine as a pad method.
12816
12817         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12818         in gstpad.c, but maintain binary compatibility for the moment.
12819         Will fix before 0.9 is out.
12820
12821         * gst/gstqueryutils.c: 
12822         * gst/gstqueryutils.h: New files, implement 3 methods for each
12823         query type: parse_query, parse_response, and set. Probably need an
12824         allocator as well.
12825
12826         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12827
12828         * gst/elements/gstfilesink.c (gst_filesink_query2):
12829         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12830         query_types, and formats methods.
12831
12832         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12833         (gst_pad_set_query2_function): New functions.
12834         (gst_real_pad_init): Set query2_default as the default query2
12835         function. Basically just dispatches to internally linked pads.
12836
12837         Needs review!
12838         
12839         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12840         without using the atomic operations. Only one thread can possibly
12841         be accessing the data at this point. Changed so as to avoid
12842         gst_atomic operations.
12843
12844 2005-05-06  Wim Taymans  <wim@fluendo.com>
12845
12846         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12847         Also set caps if we use the fallback buffer alloc.
12848
12849 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12850
12851         * docs/gst/Makefile.am:
12852         * docs/gst/gstreamer-docs.sgml:
12853         * docs/gst/gstreamer-sections.txt:
12854         * docs/gst/tmpl/gstatomic.sgml:
12855         * docs/gst/tmpl/gstmemchunk.sgml:
12856         * testsuite/elements/struct_i386.h:
12857         * win32/GStreamer.vcproj:
12858         * win32/Makefile:
12859           Purge GstAtomic stuff from docs and win32 makefiles as well
12860
12861 2005-05-06  Wim Taymans  <wim@fluendo.com>
12862
12863         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12864         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12865         * gst/gstpad.c: (gst_pad_peer_get_caps):
12866         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12867         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12868         (gst_queue_src_activate), (gst_queue_change_state):
12869         * gst/gstqueue.h:
12870         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12871         (intersect_caps_func):
12872         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12873         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12874         Some fixes for the peer_get_caps() change.
12875
12876 2005-05-06  Wim Taymans  <wim@fluendo.com>
12877
12878         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12879         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12880         (gst_basesink_activate):
12881         Actually do something with error codes returned from the push
12882         functions.
12883
12884 2005-05-06  Wim Taymans  <wim@fluendo.com>
12885
12886         * docs/design/part-element-sink.txt:
12887         * docs/design/part-element-source.txt:
12888         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12889         (gst_basesink_event), (gst_basesink_activate):
12890         * gst/base/gstbasesink.h:
12891         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12892         (gst_basesrc_activate):
12893         * gst/base/gstbasesrc.h:
12894         * gst/gstelement.c: (gst_element_pads_activate):
12895         Some more documentation.
12896         Fixed scheduling decision in _pads_activate().
12897
12898 2005-05-05  Andy Wingo  <wingo@pobox.com>
12899
12900         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12901         the test suite.
12902
12903 2005-05-05  Wim Taymans  <wim@fluendo.com>
12904
12905         * gst/base/Makefile.am:
12906         * gst/base/gstbasesink.h:
12907         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12908         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12909         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12910         (gst_collectpads_class_init), (gst_collectpads_init),
12911         (gst_collectpads_finalize), (gst_collectpads_new),
12912         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12913         (find_pad), (gst_collectpads_remove_pad),
12914         (gst_collectpads_is_active), (gst_collectpads_collect),
12915         (gst_collectpads_collect_range), (gst_collectpads_start),
12916         (gst_collectpads_stop), (gst_collectpads_peek),
12917         (gst_collectpads_pop), (gst_collectpads_available),
12918         (gst_collectpads_read), (gst_collectpads_flush),
12919         (gst_collectpads_chain):
12920         * gst/base/gstcollectpads.h:
12921         * gst/elements/Makefile.am:
12922         * gst/elements/gstelements.c:
12923         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12924         (gst_fakesink_get_times), (gst_fakesink_event),
12925         (gst_fakesink_preroll), (gst_fakesink_render):
12926         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12927         (gst_filesink_init), (gst_filesink_set_location),
12928         (gst_filesink_open_file), (gst_filesink_close_file),
12929         (gst_filesink_pad_query), (gst_filesink_event),
12930         (gst_filesink_render), (gst_filesink_change_state):
12931         * gst/elements/gstfilesink.h:
12932         Added object to help in making collect pad based elements.
12933         Ported filesink.
12934         Make event function in sink baseclass return gboolean.
12935
12936 2005-05-05  Wim Taymans  <wim@fluendo.com>
12937
12938         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12939         (gst_bin_get_by_name):
12940         * gst/gstbuffer.h:
12941         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12942         (gst_clock_finalize):
12943         * gst/gstdata.c: (gst_data_replace):
12944         * gst/gstdata.h:
12945         * gst/gstelement.c: (gst_element_request_pad),
12946         (gst_element_pads_activate):
12947         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12948         (gst_object_unref):
12949         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12950         (gst_pad_set_checkgetrange_function),
12951         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12952         (gst_pad_check_pull_range), (gst_pad_pull_range),
12953         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12954         (gst_pad_pause_task), (gst_pad_stop_task):
12955         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12956         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12957         Fix name lookup in GstBin.
12958         Added _data_replace() function and _buffer_replace()
12959         Use finalize method to clean up clock.
12960         Fix refcounting on request pads.
12961         Fix pad schedule mode error.
12962         Some more object refcounting debug info,
12963
12964
12965 2005-05-04  Andy Wingo <wingo@pobox.com>
12966
12967         * check/Makefile.am:
12968         * docs/gst/tmpl/gstatomic.sgml:
12969         * docs/gst/tmpl/gstplugin.sgml:
12970         * gst/base/gstbasesink.c: (gst_basesink_activate):
12971         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12972         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12973         (gst_basesrc_query), (gst_basesrc_set_property),
12974         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12975         (gst_basesrc_activate):
12976         * gst/base/gstbasesrc.h:
12977         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12978         (gst_base_transform_src_activate):
12979         * gst/elements/gstelements.c:
12980         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12981         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12982         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12983         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12984         (gst_type_find_element_checkgetrange),
12985         (gst_type_find_element_activate):
12986         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12987         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12988         (gst_caps_load_thyself):
12989         * gst/gstelement.c: (gst_element_pads_activate),
12990         (gst_element_save_thyself), (gst_element_restore_thyself):
12991         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12992         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12993         * gst/gstpad.h:
12994         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12995         (gst_xml_parse_file), (gst_xml_parse_memory),
12996         (gst_xml_get_element), (gst_xml_make_element):
12997         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12998         (_file_index_id_save_xml), (gst_file_index_commit):
12999         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13000         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13001         (load_paths):
13002         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13003         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13004         * tools/gst-complete.c: (main):
13005         * tools/gst-compprep.c: (main):
13006         * tools/gst-inspect.c: (print_element_properties_info):
13007         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13008         * tools/gst-xmlinspect.c: (print_element_properties):
13009         GCC 4 fixen.
13010         
13011 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13012
13013         * gst/gstplugin.c: (gst_plugin_check_module),
13014         (gst_plugin_check_file), (gst_plugin_load_file):
13015             apply patch from #172526 to make register work on MacOSX
13016
13017 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13018
13019         * docs/gst/tmpl/gstconfig.sgml:
13020         * gst/gstconfig.h.in:
13021           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13022         * testsuite/debug/printf_extension.c: (main):
13023           Do not use GST_PTR_FORMAT on pointers to types with
13024           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13025         * testsuite/elements/property.h:
13026           use correct printf format
13027
13028 2005-05-02  Wim Taymans  <wim@fluendo.com>
13029
13030         * docs/design/draft-push-pull.txt:
13031         * docs/design/draft-query.txt:
13032         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13033         (gst_basesrc_start):
13034         Added draft for new query API.
13035         Added draft for better selecting scheduling methods.
13036         Make basesrc ignore length if the subclass does not support
13037         it.
13038
13039 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13040
13041         * gst/Makefile.am:
13042           possible fixes for automake-1.5 - _LIBADD is reserved
13043
13044 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13045
13046         * docs/faq/Makefile.am:
13047         * docs/manual/Makefile.am:
13048         * docs/manuals.mak:
13049         * docs/pwg/Makefile.am:
13050         * gst/Makefile.am:
13051           possible fixes for automake-1.5
13052
13053 2005-04-28  Wim Taymans  <wim@fluendo.com>
13054
13055         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13056         (gst_basesink_pad_getcaps), (gst_basesink_init),
13057         (gst_basesink_do_sync):
13058         * gst/gstclock.c: (gst_clock_entry_new):
13059         * gst/gstevent.c: (gst_event_discont_get_value):
13060         * gst/gstpipeline.c: (pipeline_bus_handler),
13061         (gst_pipeline_change_state):
13062         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13063         Better debugging of clocking info.
13064         Allow NULL values when getting discont values.
13065
13066 2005-04-27  Wim Taymans  <wim@fluendo.com>
13067
13068         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13069         * check/gst/gstpad.c: (gst_pad_suite):
13070         Increase timeout for checks.
13071
13072 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13073
13074         * check/Makefile.am:
13075           fix the broken rule for cleanup.  Apparently this rule is
13076           only needed on FC2, so maybe this warrants further autotool
13077           inspection.
13078
13079 2005-04-26  Wim Taymans  <wim@fluendo.com>
13080
13081         * gst/gsttrashstack.h:
13082         Ooohh. a nasty one! After having a failed pop() from the stack,
13083         it's possible that the stack is empty. In that case, don't
13084         follow the NULL pointer.
13085
13086 2005-04-25  Wim Taymans  <wim@fluendo.com>
13087
13088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13089         (gst_pad_set_checkgetrange_function),
13090         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13091         (gst_pad_check_pull_range), (gst_pad_pull_range),
13092         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13093         (gst_pad_pause_task), (gst_pad_stop_task):
13094         * gst/gstplugin.c: (gst_plugin_load):
13095         * gst/gstplugin.h:
13096         Remove gst_library_load as it does more harm than good with
13097         the new g_module flags.
13098         Revert bogus caps template check in pad linking, pad caps
13099         are important when linking not the template, which is more
13100         general than the current caps.
13101
13102 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13103
13104         * gst/autoplug/.cvsignore:
13105         * gst/autoplug/Makefile.am:
13106         * gst/autoplug/gstsearchfuncs.c:
13107         * gst/autoplug/gstsearchfuncs.h:
13108         * gst/autoplug/gstspider.c:
13109         * gst/autoplug/gstspider.h:
13110         * gst/autoplug/gstspideridentity.c:
13111         * gst/autoplug/gstspideridentity.h:
13112         * gst/autoplug/spidertest.c:
13113           Die, spider, die.
13114
13115 2005-04-25  Wim Taymans  <wim@fluendo.com>
13116
13117         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13118         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13119         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13120         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13121         * gst/gstpad.h:
13122         Added stubs for unimplemented functions. 
13123
13124 2005-04-24  David Schleef  <ds@schleef.org>
13125
13126         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13127         please fix.
13128
13129 2005-04-24  David Schleef  <ds@schleef.org>
13130
13131         Convert everything from GstAtomicInt to g_atomic_int_*, and
13132         remove gstatomic.
13133         * gst/Makefile.am:
13134         * gst/gstatomic.c:
13135         * gst/gstatomic.h:
13136         * gst/gstatomic_impl.h:
13137         * gst/gstbuffer.c:
13138         * gst/gstcaps.c:
13139         * gst/gstcaps.h:
13140         * gst/gstclock.c:
13141         * gst/gstclock.h:
13142         * gst/gstdata.c:
13143         * gst/gstdata.h:
13144         * gst/gstdata_private.h:
13145         * gst/gstevent.c:
13146         * gst/gstinfo.c:
13147         * gst/gstinfo.h:
13148         * gst/gstmessage.c:
13149         * gst/gstobject.c:
13150         * gst/gstobject.h:
13151         * gst/gststructure.c:
13152         * gst/gststructure.h:
13153         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13154         * gst/gstutils.h:
13155
13156 2005-04-24  David Schleef  <ds@schleef.org>
13157
13158         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13159         make the regressions tests work.  Remove some code that is no
13160         longer true.
13161         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13162         Disable warning for pads without templates.
13163
13164 2005-04-24  David Schleef  <ds@schleef.org>
13165
13166         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13167         functions that handle filtered links.
13168         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13169         removed functions.
13170         * gst/gstutils.c: Fix/remove utility functions that handle
13171         filtered caps.
13172         * gst/gstutils.h:
13173         * gst/gstvalue.c: Add serialization/deserialization of caps
13174         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13175         requires fixing so that the filter caps notation creates
13176         a capsfilter element and sets the filter_caps property.  I
13177         think everyone probably wants to keep the shorthand notation.
13178         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13179         * docs/gst/tmpl/gstpad.sgml:
13180
13181         * gst/elements/gstelements.c: Register capsfilter element.
13182         * gst/Makefile.am: fix spacing
13183         * docs/random/ds/0.9-suggested-changes: random
13184
13185 2005-04-23  David Schleef  <ds@schleef.org>
13186
13187         * gst/elements/Makefile.am:
13188         * gst/elements/gstcapsfilter.c: New element that acts like an
13189         identity, but filters caps.  Will eventually replace filtered
13190         caps in pad linking.
13191         * gst/gstutils.c: (gst_element_create_all_pads): New function
13192         to create all the ALWAYS pads that are registered with an
13193         element class.  This functionality should eventually be
13194         merged in with GstElement initialization.
13195         * gst/gstutils.h:
13196         * testsuite/trigger/README: part of trigger test code that should
13197         have been checked in a long time ago.
13198
13199 2005-04-23  David Schleef  <ds@schleef.org>
13200
13201         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13202         needed with new versions of libtool (nobody will confirm this),
13203         and hard to carry around.
13204         * gst/autoplug/Makefile.am:
13205         * gst/base/Makefile.am:
13206         * gst/elements/Makefile.am:
13207         * gst/indexers/Makefile.am:
13208         * gst/schedulers/Makefile.am:
13209         * libs/gst/bytestream/Makefile.am:
13210         * libs/gst/control/Makefile.am:
13211         * libs/gst/dataprotocol/Makefile.am:
13212         * libs/gst/getbits/Makefile.am:
13213
13214 2005-04-21  Wim Taymans  <wim@fluendo.com>
13215
13216         * docs/design/draft-push-pull.txt:
13217         * docs/design/part-MT-refcounting.txt:
13218         * docs/design/part-TODO.txt:
13219         * docs/design/part-caps.txt:
13220         * docs/design/part-events.txt:
13221         * docs/design/part-gstbus.txt:
13222         * docs/design/part-gstpipeline.txt:
13223         * docs/design/part-messages.txt:
13224         * docs/design/part-push-pull.txt:
13225         * docs/design/part-query.txt:
13226         Some more docs.
13227
13228 2005-04-21  Wim Taymans  <wim@fluendo.com>
13229
13230         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13231         (gst_message_new), (gst_message_new_error),
13232         (gst_message_new_warning), (gst_message_new_tag),
13233         (gst_message_new_state_changed), (gst_message_new_application),
13234         (gst_message_get_structure):
13235         * gst/gstmessage.h:
13236         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13237         (gst_structure_copy_conditional):
13238         Use parent refcount in GstMessage to ensure GstStructure
13239         consistency.
13240         Cleaned up headers a bit.
13241         
13242
13243 2005-04-20  Wim Taymans  <wim@fluendo.com>
13244
13245         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13246         (gst_basesink_pad_getcaps), (gst_basesink_init),
13247         (gst_basesink_chain_unlocked):
13248         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13249         (gst_type_find_helper):
13250         * gst/elements/gsttypefindelement.c:
13251         (gst_type_find_element_have_type), (gst_type_find_element_init),
13252         (stop_typefinding), (gst_type_find_element_handle_event),
13253         (find_suggest), (gst_type_find_element_chain),
13254         (gst_type_find_element_checkgetrange),
13255         (gst_type_find_element_getrange), (do_typefind),
13256         (gst_type_find_element_activate):
13257         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13258         (gst_buffer_default_free), (gst_buffer_default_copy),
13259         (gst_buffer_set_caps):
13260         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13261         (gst_caps_replace):
13262         * gst/gstmessage.c: (gst_message_new),
13263         (gst_message_new_state_changed):
13264         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13265         (gst_pad_set_checkgetrange_function),
13266         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13267         (gst_pad_set_caps), (gst_pad_check_pull_range),
13268         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13269         * gst/gstpad.h:
13270         * gst/gsttypefind.c: (gst_type_find_register):
13271         Make gst_caps_replace() work like other _replace() functions.
13272         Use _caps_replace() where possible.
13273         Make sure _message_new() initialises its field.
13274         Add gst_static_pad_template_get_caps()
13275
13276
13277 2005-04-18  Andy Wingo  <wingo@pobox.com>
13278
13279         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13280         on the peer, not the pad. I think that was a typo. Pass an extra
13281         arg to see if random access is possible. Activate the pads as
13282         PULL_RANGE if possible.
13283
13284         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13285
13286         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13287         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13288         to PROP_....
13289
13290 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13291
13292         * docs/faq/using.xml:
13293           Add note on gstreamer-properties (#154996).
13294
13295 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13296
13297         * docs/random/bbb/optional-properties:
13298           Some analysis on optional properties.
13299
13300 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13301
13302         * docs/gst/tmpl/gstelementfactory.sgml:
13303         * gst/gstelement.h:
13304         * gst/gstelementfactory.c: (gst_element_factory_init),
13305         (gst_element_factory_cleanup), (gst_element_register),
13306         (__gst_element_factory_add_static_pad_template),
13307         (gst_element_factory_get_static_pad_templates),
13308         (gst_element_factory_can_src_caps),
13309         (gst_element_factory_can_sink_caps):
13310         * gst/registries/Makefile.am:
13311         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13312         (gst_xml_registry_class_init), (gst_xml_registry_init),
13313         (gst_xml_registry_new), (gst_xml_registry_set_property),
13314         (gst_xml_registry_get_property), (get_time), (make_dir),
13315         (gst_xml_registry_get_perms_func),
13316         (plugin_times_older_than_recurse), (plugin_times_older_than),
13317         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13318         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13319         (add_to_char_array), (read_string), (read_uint), (read_enum),
13320         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13321         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13322         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13323         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13324         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13325         (gst_xml_registry_rebuild):
13326         * gst/registries/gstlibxmlregistry.h:
13327         * tools/gst-compprep.c: (main):
13328         * tools/gst-inspect.c: (print_pad_templates_info):
13329         * tools/gst-xmlinspect.c: (print_element_info):
13330           Use libxml2 for registry parsing, use staticpadtemplates in
13331           elementfactories. Makes gst_init() +/- 10x faster.
13332
13333 2005-04-12  Wim Taymans  <wim@fluendo.com>
13334
13335         * gst/base/Makefile.am:
13336         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13337         (gst_basesink_pad_getcaps), (gst_basesink_init),
13338         (gst_basesink_event), (gst_basesink_change_state):
13339         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13340         (gst_basesrc_init), (gst_basesrc_query),
13341         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13342         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13343         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13344         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13345         (gst_basesrc_stop), (gst_basesrc_activate),
13346         (gst_basesrc_change_state):
13347         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13348         (helper_find_suggest), (gst_type_find_helper):
13349         * gst/base/gsttypefindhelper.h:
13350         * gst/elements/Makefile.am:
13351         * gst/elements/gstelements.c:
13352         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13353         (gst_fakesink_get_times), (gst_fakesink_event),
13354         (gst_fakesink_preroll), (gst_fakesink_render):
13355         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13356         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13357         (gst_fakesrc_get_property), (gst_fakesrc_create),
13358         (gst_fakesrc_start), (gst_fakesrc_stop):
13359         * gst/elements/gstfakesrc.h:
13360         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13361         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13362         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13363         (gst_filesrc_create_read), (gst_filesrc_create),
13364         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13365         (gst_filesrc_start):
13366         * gst/elements/gsttypefindelement.c:
13367         (gst_type_find_element_have_type), (gst_type_find_element_init),
13368         (start_typefinding), (stop_typefinding), (push_buffer_store),
13369         (gst_type_find_element_handle_event),
13370         (gst_type_find_element_chain),
13371         (gst_type_find_element_checkgetrange),
13372         (gst_type_find_element_getrange), (do_typefind),
13373         (gst_type_find_element_activate),
13374         (gst_type_find_element_change_state):
13375         * gst/elements/gsttypefindelement.h:
13376         * gst/gstpipeline.c: (pipeline_bus_handler):
13377         Added typefind helper.
13378         Small preroll fix in the base sink.
13379         Disable typefind code in basesrc.
13380         Crude port of typefindelement.
13381         Fakesrc cleanups.
13382
13383
13384 2005-04-11  Wim Taymans  <wim@fluendo.com>
13385
13386         * check/gst/gstbus.c: (gstbus_suite):
13387         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13388         * check/gstcheck.h:
13389           Fix up the timeout so that the test does not fail.
13390
13391 2005-04-06  Wim Taymans  <wim@fluendo.com>
13392
13393         * gst/base/README:
13394         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13395         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13396         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13397         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13398         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13399         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13400         (gst_basesrc_stop), (gst_basesrc_activate),
13401         (gst_basesrc_change_state), (basesrc_find_peek),
13402         (basesrc_find_suggest), (gst_basesrc_type_find):
13403         * gst/base/gstbasesrc.h:
13404         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13405         (gst_filesrc_class_init), (gst_filesrc_init),
13406         (gst_filesrc_finalize), (gst_filesrc_set_location),
13407         (gst_filesrc_set_property), (gst_filesrc_get_property),
13408         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13409         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13410         (gst_filesrc_create_read), (gst_filesrc_create),
13411         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13412         * gst/elements/gstfilesrc.h:
13413         * gst/gstelement.c: (gst_element_get_state_func),
13414         (gst_element_lost_state), (gst_element_pads_activate):
13415         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13416         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13417         (gst_pad_pull_range):
13418         * gst/gstpad.h:
13419         More work on the generic source base class, implement seeking,
13420         query.
13421         Make filesrc extend the base source class.
13422         Added gst_pad_set_checkgetrange_function to GstPad.
13423
13424 2005-04-06  Andy Wingo  <wingo@pobox.com>
13425
13426         * pkgconfig/gstreamer-base.pc.in:
13427         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13428
13429         * pkgconfig/Makefile.am:
13430         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13431
13432 2005-04-04  Wim Taymans  <wim@fluendo.com>
13433
13434         * gst/base/Makefile.am:
13435         * gst/base/README:
13436         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13437         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13438         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13439         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13440         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13441         (gst_basesrc_base_init), (gst_basesrc_class_init),
13442         (gst_basesrc_init), (gst_basesrc_get_formats),
13443         (gst_basesrc_get_query_types), (gst_basesrc_query),
13444         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13445         (gst_basesrc_set_property), (gst_basesrc_get_property),
13446         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13447         (gst_basesrc_loop), (gst_basesrc_activate),
13448         (gst_basesrc_change_state):
13449         * gst/base/gstbasesrc.h:
13450         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13451         (gst_fakesrc_class_init), (gst_fakesrc_init),
13452         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13453         (gst_fakesrc_get_property), (gst_fakesrc_create):
13454         * gst/elements/gstfakesrc.h:
13455         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13456         (gst_filesrc_open_file), (gst_filesrc_loop),
13457         (gst_filesrc_activate), (filesrc_find_peek),
13458         (gst_filesrc_type_find):
13459         Made base source class, make fakesrc extend it.
13460         Add comments to basesink class.
13461         Some filesrc cleanup.
13462
13463 2005-03-31  David Schleef  <ds@schleef.org>
13464
13465         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13466         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13467         expected to link against libgstreamer.
13468         * gst/base/Makefile.am: link against libgstreamer
13469         * gst/elements/Makefile.am: same
13470
13471 2005-03-31  Andy Wingo  <wingo@pobox.com>
13472
13473         * tests/instantiate/Makefile.am:
13474         * tests/instantiate/caps.c: Add test to test speed of caps copy
13475         and free.
13476
13477         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13478         GMemChunk to be fair.
13479
13480         * gst/gsttrashstack.h: Remove warning about using the fallback
13481         trash stack implementation, it's still faster than malloc.
13482
13483 2005-03-30  Andy Wingo  <wingo@pobox.com>
13484
13485         * tests/complexity.c: Add a copyright.
13486
13487 2005-03-31  Wim Taymans  <wim@fluendo.com>
13488
13489         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13490         (gst_base_transform_class_init), (gst_base_transform_init),
13491         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13492         (gst_base_transform_get_property),
13493         (gst_base_transform_sink_activate),
13494         (gst_base_transform_src_activate),
13495         (gst_base_transform_change_state):
13496         * gst/base/gstbasetransform.h:
13497         * gst/elements/gstidentity.c: (gst_identity_class_init),
13498         (gst_identity_event), (gst_identity_check_perfect),
13499         (gst_identity_transform), (gst_identity_start),
13500         (gst_identity_stop):
13501         Added start/stop methods to transform base class so subclasses 
13502         don't need to deal with state changes even.
13503
13504 2005-03-31  Wim Taymans  <wim@fluendo.com>
13505
13506         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13507         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13508         * gst/gstevent.h:
13509         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13510         (gst_pad_pull_range):
13511         Added rate to the discont event to prepare for variable speed
13512         and reverse playback.
13513
13514 2005-03-29  David Schleef  <ds@schleef.org>
13515
13516         * configure.ac:
13517         * testsuite/trigger/Makefile.am:
13518         * testsuite/trigger/trigger.c: A little example program to show
13519         how trigger-based elements can work.
13520
13521 2005-03-29  Wim Taymans  <wim@fluendo.com>
13522
13523         * gst/base/Makefile.am:
13524         * gst/base/README:
13525         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13526         (gst_basesink_base_init), (gst_basesink_class_init),
13527         (gst_basesink_pad_getcaps), (gst_basesink_init),
13528         (gst_basesink_activate), (gst_basesink_change_state):
13529         * gst/base/gstbasesink.h:
13530         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13531         (gst_base_transform_base_init), (gst_base_transform_finalize),
13532         (gst_base_transform_class_init), (gst_base_transform_init),
13533         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13534         (gst_base_transform_event), (gst_base_transform_getrange),
13535         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13536         (gst_base_transform_set_property),
13537         (gst_base_transform_get_property),
13538         (gst_base_transform_sink_activate),
13539         (gst_base_transform_src_activate),
13540         (gst_base_transform_change_state):
13541         * gst/base/gstbasetransform.h:
13542         * gst/elements/gstidentity.c: (gst_identity_finalize),
13543         (gst_identity_class_init), (gst_identity_init),
13544         (gst_identity_event), (gst_identity_check_perfect),
13545         (gst_identity_transform), (gst_identity_set_property),
13546         (gst_identity_get_property), (gst_identity_change_state):
13547         * gst/elements/gstidentity.h:
13548         * gst/gstelement.c: (gst_element_get_state_func),
13549         (gst_element_lost_state), (gst_element_pads_activate):
13550         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13551         (gst_pad_check_pull_range), (gst_pad_pull_range):
13552         * gst/gstpad.h:
13553         Simplify pad activation.
13554         Added function to check if pull_range can be performed.
13555         Error out when pulling inactive or flushing pads.
13556         Removed const from refcounted types as it does not make sense.
13557         Simplify pad templates in basesink
13558         Added base class for simple 1-to-1 transforms.
13559         Make identity subclass the base transform.
13560
13561 2005-03-29  Andy Wingo  <wingo@pobox.com>
13562
13563         * docs/libs/gstreamer-libs-overrides.txt: 
13564         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13565         really don't understand what's going on, but like whatever. I want
13566         green buildbot!
13567
13568         * docs/gst/Makefile.am:
13569         * docs/libs/Makefile.am: Dist the overrides files.
13570
13571         * check/Makefile.am (clean-local): Remove .libs directories.
13572
13573         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13574         elements to EXTRA_DIST, so po/ files are happy.
13575
13576         * po/POTFILES.in: Er, remove it here.
13577
13578         * po/POTFILES: Remove gstspider.c.
13579
13580         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13581
13582         * docs/libs/gstreamer-libs-docs.sgml: 
13583         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13584         bytestream.
13585
13586         * tests/complexity.c (main): Set the length of the preroll queue
13587         on the sinks to prevent a lockup.
13588
13589         * libs/gst/dataprotocol/Makefile.am: 
13590         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13591         the same as the one in check/gst-libs/gdp.c.
13592
13593         * po/, docs/gst/: Commit automatic changes to docs and po files.
13594
13595         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13596         the versioned libgstbase.
13597
13598         * check/Makefile.am: Depend on an unversioned gst-register, seems
13599         to make autoconf happier.
13600
13601         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13602
13603 2005-03-28  Wim Taymans  <wim@fluendo.com>
13604
13605         * configure.ac:
13606         * docs/design/part-gstelement.txt:
13607         * docs/design/part-negotiation.txt:
13608         * docs/design/part-preroll.txt:
13609         * docs/design/part-scheduling.txt:
13610         * docs/design/part-states.txt:
13611         * gst/Makefile.am:
13612         * gst/base/Makefile.am:
13613         * gst/base/README:
13614         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13615         (gst_basesink_base_init), (gst_basesink_class_init),
13616         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13617         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13618         (gst_basesink_set_pad_functions),
13619         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13620         (gst_basesink_set_property), (gst_basesink_get_property),
13621         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13622         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13623         (gst_basesink_preroll_queue_push),
13624         (gst_basesink_preroll_queue_empty),
13625         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13626         (gst_basesink_event), (gst_basesink_get_times),
13627         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13628         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13629         (gst_basesink_loop), (gst_basesink_activate),
13630         (gst_basesink_change_state):
13631         * gst/base/gstbasesink.h:
13632         * gst/elements/Makefile.am:
13633         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13634         (gst_fakesink_class_init), (gst_fakesink_init),
13635         (gst_fakesink_set_property), (gst_fakesink_get_property),
13636         (gst_fakesink_get_times), (gst_fakesink_event),
13637         (gst_fakesink_preroll), (gst_fakesink_render),
13638         (gst_fakesink_change_state):
13639         * gst/elements/gstfakesink.h:
13640         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13641         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13642         * gst/gstelement.c: (gst_element_add_pad),
13643         (gst_element_get_state_func), (gst_element_abort_state),
13644         (gst_element_commit_state), (gst_element_lost_state),
13645         (gst_element_set_state), (gst_element_pads_activate):
13646         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13647         * gst/gstpipeline.c: (gst_pipeline_send_event),
13648         (gst_pipeline_change_state):
13649         Added state change code.
13650         Added/updated docs.
13651         Added sink base class, make fakesink extend the base class.
13652         Small cleanups in GstPipeline.
13653
13654 2005-03-26  David Schleef  <ds@schleef.org>
13655
13656         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13657         is broken and should be implemented in a different library.
13658         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13659         * gst/gst.h: remove gstcpu.h
13660         * gst/gstcpu.c: remove
13661         * gst/gstcpu.h: remove
13662         * gst/Makefile.am.future: Remove this file.  It's ancient.
13663
13664 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13665
13666         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13667         (gst_bin_send_event):
13668           Add default event/set_manager handlers. The set_manager handler
13669           takes care that the manager is distributed over kids that were
13670           already in the bin before the manager was set. The event handler
13671           is a utility virtual function that sends the event over all sinks,
13672           so that gst_element_send_event (bin, event); has the expected
13673           behaviour.
13674         * gst/gstpad.c: (gst_pad_event_default):
13675           Re-install default event handling for discontinuities, so that
13676           seeking works without requiring hacks in applications or extra
13677           code in sinks.
13678         * gst/gstpipeline.c: (gst_pipeline_class_init),
13679         (gst_pipeline_send_event):
13680           Half hack, half utility: set a pipeline to PAUSED for seek events,
13681           since that is the only way we can guarantee a/v sync. Means that
13682           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13683           and it "just works".
13684
13685 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13686
13687         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13688           Lock/unlock mismatch.
13689
13690 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13691
13692         * docs/faq/gst-uninstalled:
13693           add gst-plugins-base
13694         * docs/gst/Makefile.am:
13695           don't error out until docs are fixed
13696         * docs/gst/gstreamer.types:
13697           remove thread
13698
13699 2005-03-22  Wim Taymans  <wim@fluendo.com>
13700
13701         * check/Makefile.am:
13702         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13703         * gst/gststructure.c: (gst_structure_set_valist),
13704         (gst_structure_copy_conditional):
13705         Activated more tests.
13706         Added message test.
13707         Added G_TYPE_POINTER to GstStructure.
13708         
13709
13710 2005-03-22  Wim Taymans  <wim@fluendo.com>
13711
13712         * docs/design/part-TODO.txt:
13713         * docs/design/part-events.txt:
13714         * docs/design/part-gstbin.txt:
13715         * docs/design/part-gstbus.txt:
13716         * docs/design/part-gstpipeline.txt:
13717         * docs/design/part-messages.txt:
13718         * gst/gstbus.c:
13719         * gst/gstmessage.c:
13720         Docs updates
13721
13722 2005-03-21  Wim Taymans  <wim@fluendo.com>
13723
13724         * gst/gstbus.c: (gst_bus_post):
13725         Fix copy-and-paste error.
13726
13727 2005-03-21  Wim Taymans  <wim@fluendo.com>
13728
13729         * check/Makefile.am:
13730         * gst/Makefile.am:
13731         * gst/elements/Makefile.am:
13732         * gst/elements/gstelements.c:
13733         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13734         (gst_fakesink_event), (gst_fakesink_chain):
13735         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13736         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13737         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13738         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13739         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13740         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13741         (gst_fakesrc_loop), (gst_fakesrc_activate),
13742         (gst_fakesrc_change_state):
13743         * gst/elements/gstfakesrc.h:
13744         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13745         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13746         (gst_filesrc_open_file), (gst_filesrc_loop),
13747         (gst_filesrc_activate), (gst_filesrc_change_state),
13748         (filesrc_find_peek), (filesrc_find_suggest),
13749         (gst_filesrc_type_find):
13750         * gst/elements/gstidentity.c: (gst_identity_finalize),
13751         (gst_identity_class_init), (gst_identity_init),
13752         (gst_identity_proxy_getcaps), (identity_queue_push),
13753         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13754         (gst_identity_getrange), (gst_identity_chain),
13755         (gst_identity_sink_loop), (gst_identity_src_loop),
13756         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13757         (gst_identity_set_property), (gst_identity_get_property),
13758         (gst_identity_change_state):
13759         * gst/elements/gstidentity.h:
13760         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13761         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13762         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13763         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13764         (gst_tee_sink_activate):
13765         * gst/elements/gsttee.h:
13766         * gst/gst.c: (gst_register_core_elements), (init_post):
13767         * gst/gst.h:
13768         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13769         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13770         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13771         (gst_bin_change_state):
13772         * gst/gstbin.h:
13773         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13774         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13775         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13776         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13777         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13778         (bus_watch_callback), (bus_watch_destroy),
13779         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13780         (poll_timeout), (gst_bus_poll):
13781         * gst/gstbus.h:
13782         * gst/gstcaps.h:
13783         * gst/gstdata.h:
13784         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13785         (gst_element_post_message), (gst_element_message_full),
13786         (gst_element_get_state_func), (gst_element_get_state),
13787         (gst_element_abort_state), (gst_element_commit_state),
13788         (gst_element_lost_state), (gst_element_set_state),
13789         (gst_element_pads_activate), (gst_element_change_state),
13790         (gst_element_dispose), (gst_element_set_manager_func),
13791         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13792         (gst_element_set_manager), (gst_element_get_manager),
13793         (gst_element_set_bus), (gst_element_get_bus),
13794         (gst_element_set_scheduler), (gst_element_get_scheduler):
13795         * gst/gstelement.h:
13796         * gst/gstevent.c: (gst_event_new_segment_seek),
13797         (gst_event_new_flush):
13798         * gst/gstevent.h:
13799         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13800         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13801         (gst_message_new_eos), (gst_message_new_error),
13802         (gst_message_new_warning), (gst_message_new_tag),
13803         (gst_message_new_state_changed), (gst_message_new_application),
13804         (gst_message_get_structure), (gst_message_parse_tag),
13805         (gst_message_parse_state_changed), (gst_message_parse_error),
13806         (gst_message_parse_warning):
13807         * gst/gstmessage.h:
13808         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13809         (gst_real_pad_set_property), (gst_pad_set_active),
13810         (gst_pad_is_active), (gst_pad_set_blocked_async),
13811         (gst_pad_set_blocked), (gst_pad_is_blocked),
13812         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13813         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13814         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13815         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13816         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13817         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13818         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13819         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13820         (gst_pad_set_caps), (gst_pad_configure_sink),
13821         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13822         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13823         (gst_real_pad_dispose), (gst_real_pad_finalize),
13824         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13825         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13826         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13827         * gst/gstpad.h:
13828         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13829         (pipeline_bus_handler), (gst_pipeline_change_state),
13830         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13831         * gst/gstpipeline.h:
13832         * gst/gstprobe.h:
13833         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13834         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13835         (gst_queue_link_src), (gst_queue_bufferalloc),
13836         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13837         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13838         (gst_queue_loop), (gst_queue_handle_src_event),
13839         (gst_queue_handle_src_query), (gst_queue_src_activate),
13840         (gst_queue_change_state):
13841         * gst/gstqueue.h:
13842         * gst/gstscheduler.c: (gst_scheduler_init),
13843         (gst_scheduler_dispose), (gst_scheduler_create_task),
13844         (gst_scheduler_factory_create):
13845         * gst/gstscheduler.h:
13846         * gst/gststructure.c: (gst_structure_get_type),
13847         (gst_structure_copy_conditional):
13848         * gst/gststructure.h:
13849         * gst/gsttaginterface.h:
13850         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13851         (gst_task_init), (gst_task_dispose), (gst_task_create),
13852         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13853         (gst_task_pause):
13854         * gst/gsttask.h:
13855         * gst/gstthread.c:
13856         * gst/gstthread.h:
13857         * gst/gsttypes.h:
13858         * gst/schedulers/Makefile.am:
13859         * gst/schedulers/cothreads_compat.h:
13860         * gst/schedulers/entryscheduler.c:
13861         * gst/schedulers/faircothreads.c:
13862         * gst/schedulers/faircothreads.h:
13863         * gst/schedulers/fairscheduler.c:
13864         * gst/schedulers/gstbasicscheduler.c:
13865         * gst/schedulers/gstoptimalscheduler.c:
13866         * gst/schedulers/gthread-cothreads.h:
13867         * gst/schedulers/threadscheduler.c:
13868         (gst_thread_scheduler_task_get_type),
13869         (gst_thread_scheduler_task_class_init),
13870         (gst_thread_scheduler_task_init),
13871         (gst_thread_scheduler_task_start),
13872         (gst_thread_scheduler_task_stop),
13873         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13874         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13875         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13876         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13877         (plugin_init):
13878         * libs/gst/Makefile.am:
13879         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13880         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13881         (gst_file_pad_parent_set):
13882         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13883         (gst_dp_event_from_packet):
13884         * tests/complexity.c: (main):
13885         * tests/mass_elements.c: (main):
13886         * testsuite/states/locked.c: (message_received), (main):
13887         * testsuite/states/parent.c: (main):
13888         * tools/gst-inspect.c: (print_element_flag_info),
13889         (print_implementation_info), (print_pad_info):
13890         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13891         (main):
13892         * tools/gst-md5sum.c: (event_loop), (main):
13893         * tools/gst-typefind.c: (main):
13894         * tools/gst-xmlinspect.c: (print_element_info):
13895         Next big merge.
13896         Added GstBus for mainloop integration.
13897         Added GstMessage for sending notifications on the bus.
13898         Added GstTask as an abstraction for pipeline entry points.
13899         Removed GstThread.
13900         Removed Schedulers.
13901         Simplified GstQueue for multithreaded core.
13902         Made _link threadsafe, removed old capsnego.
13903         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13904         Added pad blocking functions.
13905         Reworked scheduling functions in GstPad to prepare for
13906         scheduling updates soon.
13907         Moved events out of data stream.
13908         Simplified GstEvent types.
13909         Added return values to push/pull.
13910         Removed clocking from GstElement.
13911         Added prototypes for state change function for next merge.
13912         Removed iterate from bins and state change management.
13913         Fixed some elements, disabled others for now.
13914         Fixed -inspect and -launch.
13915         Added check for GstBus.
13916
13917 2005-03-10  Wim Taymans  <wim@fluendo.com>
13918
13919         * docs/design/part-MT-refcounting.txt:
13920         * docs/design/part-clocks.txt:
13921         * docs/design/part-gstelement.txt:
13922         * docs/design/part-gstobject.txt:
13923         * docs/design/part-standards.txt:
13924         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13925         (gst_bin_remove_func), (gst_bin_remove):
13926         * gst/gstbin.h:
13927         * gst/gstbuffer.c:
13928         * gst/gstcaps.h:
13929         * testsuite/clock/clock1.c: (main):
13930         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13931         (main):
13932         * testsuite/dlopen/loadgst.c: (do_test):
13933         * testsuite/refcounting/bin.c: (add_remove_test1),
13934         (add_remove_test2), (main):
13935         * testsuite/refcounting/element.c: (main):
13936         * testsuite/refcounting/element_pad.c: (main):
13937         * testsuite/refcounting/pad.c: (main):
13938         * tools/gst-launch.c: (sigint_handler_sighandler):
13939         * tools/gst-typefind.c: (main):
13940         Doc updates.
13941         Added doc about clock.
13942         removed gst_bin_iterate_recurse_up(), marked methods
13943         for removal.
13944         Fix more testsuites.
13945
13946 2005-03-09  Wim Taymans  <wim@fluendo.com>
13947
13948         * gst/gstpad.c: (gst_pad_get_direction),
13949         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13950         (gst_pad_collect_valist):
13951         * testsuite/bins/interface.c: (main):
13952         * testsuite/caps/audioscale.c: (test_caps):
13953         * testsuite/caps/caps.c: (test1), (test2), (test3):
13954         * testsuite/caps/deserialize.c: (main):
13955         * testsuite/caps/enumcaps.c: (main):
13956         * testsuite/caps/filtercaps.c: (main):
13957         * testsuite/caps/intersect2.c: (main):
13958         * testsuite/caps/random.c: (main):
13959         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13960         * testsuite/caps/sets.c: (check_caps):
13961         * testsuite/caps/simplify.c: (check_caps), (main):
13962         * testsuite/caps/subtract.c: (check_caps):
13963         Fix _pad_get_direction wrt ghostpads.
13964         Fix caps testsuite.
13965
13966 2005-03-09  Wim Taymans  <wim@fluendo.com>
13967
13968         * check/Makefile.am:
13969         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13970         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13971         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13972         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13973         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13974         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13975         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13976         (bin_element_is_sink), (gst_bin_iterate_sinks),
13977         (gst_bin_iterate_all_by_interface):
13978         * gst/gstbin.h:
13979         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13980         (gst_element_change_state), (gst_element_dispose),
13981         (gst_element_finalize), (gst_element_set_loop_function):
13982         * gst/gstelement.h:
13983         * gst/gstiterator.c: (find_custom_fold_func):
13984         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13985         (gst_pad_collectv), (gst_pad_collect_valist),
13986         (gst_pad_template_new):
13987         * gst/gstpipeline.c: (gst_pipeline_class_init),
13988         (gst_pipeline_dispose), (gst_pipeline_set_property),
13989         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13990         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13991         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13992         * gst/gstutils.h:
13993         * gst/schedulers/entryscheduler.c:
13994         * gst/schedulers/gstbasicscheduler.c:
13995         (gst_basic_scheduler_cothreaded_chain),
13996         (gst_basic_scheduler_chain_add_element):
13997         * testsuite/bins/interface.c: (main):
13998         Added GstBin test.
13999         Added GstSystemClock test.
14000         Implemented clock distribution code in GstBin.
14001         Implemented iterate sinks method for future use.
14002         Rearranged gstelement.h
14003         Fix GstIterator comparison bug.
14004         Moved some code to GstPipeline, mostly clocking related.
14005
14006 2005-03-09  Wim Taymans  <wim@fluendo.com>
14007
14008         * configure.ac:
14009         * gst/gst_private.h:
14010         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14011         (gst_bin_remove_func), (gst_bin_remove),
14012         (gst_bin_get_by_name_recurse_up):
14013         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14014         (gst_clock_id_compare_func), (gst_clock_id_wait),
14015         (gst_clock_id_wait_async), (gst_clock_init),
14016         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14017         * gst/gstelement.h:
14018         * gst/gstinfo.c: (_gst_debug_init):
14019         * gst/gstobject.h:
14020         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14021         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14022         * gst/gstpad.h:
14023         Bump version number, we're now 0.9.0
14024         Add future debugging category.
14025         Fix NULL _unref() in _get_by_name_recurse_up
14026         Rearrange gstpad.h.
14027         Update some docs.
14028
14029 2005-03-08  Wim Taymans  <wim@fluendo.com>
14030
14031         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14032         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14033         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14034         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14035         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14036         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14037         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14038         * gst/elements/gstidentity.c: (gst_identity_class_init):
14039         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14040         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14041         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14042         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14043         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14044         (gst_tee_link):
14045         * gst/gstelement.c: (gst_element_class_init),
14046         (gst_element_base_class_init), (gst_element_init),
14047         (gst_element_get_random_pad), (gst_element_wait_state_change),
14048         (gst_element_change_state), (gst_element_dispose),
14049         (gst_element_finalize), (gst_element_set_loop_function):
14050         * gst/gstelement.h:
14051         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14052         * gst/gstthread.c: (gst_thread_class_init),
14053         (gst_thread_release_children_locks), (gst_thread_change_state):
14054         * gst/schedulers/gstbasicscheduler.c:
14055         (gst_basic_scheduler_loopfunc_wrapper),
14056         (gst_basic_scheduler_chain_wrapper),
14057         (gst_basic_scheduler_src_wrapper),
14058         (gst_basic_scheduler_remove_element):
14059         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14060         Remove threadsafe properties. Fix elements because GObject
14061         complains when installing a property before declaring a
14062         set/get_property handler.
14063         Rearrange gstelement.h file, use STATE macros for state locks.
14064         Free mutexes in the finalize method instead of dispose.
14065
14066 2005-03-08  Wim Taymans  <wim@fluendo.com>
14067
14068         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14069         * gst/gstthread.c: (gst_thread_release_children_locks):
14070         Added parentage check.
14071         Fix build og GstThread again.
14072
14073 2005-03-08  Wim Taymans  <wim@fluendo.com>
14074
14075         * docs/design/part-MT-refcounting.txt:
14076         * docs/design/part-conventions.txt:
14077         * docs/design/part-gstobject.txt:
14078         * docs/design/part-relations.txt:
14079         * docs/design/part-standards.txt:
14080         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14081         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14082         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14083         (gst_bin_iterate_all_by_interface):
14084         * gst/gstbuffer.h:
14085         * gst/gstclock.h:
14086         * gst/gstelement.c: (gst_element_class_init),
14087         (gst_element_change_state), (gst_element_set_loop_function):
14088         * gst/gstelement.h:
14089         * gst/gstiterator.c:
14090         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14091         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14092         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14093         (gst_object_set_parent), (gst_object_unparent),
14094         (gst_object_check_uniqueness):
14095         * gst/gstobject.h:
14096         Docs updates, clean up some headers.
14097
14098 2005-03-07  Wim Taymans  <wim@fluendo.com>
14099
14100         * check/.cvsignore:
14101         * check/Makefile.am:
14102         * check/gst-libs/.cvsignore:
14103         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14104         * check/gst/.cvsignore:
14105         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14106         (START_TEST), (gstbus_suite), (main):
14107         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14108         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14109         (gst_data_suite), (main):
14110         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14111         (add_fold_func), (gstiterator_suite), (main):
14112         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14113         (thread_name_object), (thread_name_object_default),
14114         (gst_object_name_compare), (gst_object_suite), (main):
14115         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14116         (gst_pad_suite), (main):
14117         * check/gstcheck.c: (gst_check_log_message_func),
14118         (gst_check_log_critical_func), (gst_check_init):
14119         * check/gstcheck.h:
14120         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14121         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14122         Added checks.
14123
14124 2005-03-07  Wim Taymans  <wim@fluendo.com>
14125
14126         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14127         (gst_list_iterator_next), (gst_list_iterator_resync),
14128         (gst_list_iterator_free), (gst_iterator_new_list),
14129         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14130         (gst_iterator_free), (gst_iterator_push), (filter_next),
14131         (filter_resync), (filter_uninit), (filter_free),
14132         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14133         (gst_iterator_foreach), (find_custom_fold_func),
14134         (gst_iterator_find_custom):
14135         * gst/gstiterator.h:
14136         Added missing files.
14137
14138 2005-03-07  Wim Taymans  <wim@fluendo.com>
14139
14140         * Makefile.am:
14141         * configure.ac:
14142         * docs/design/part-MT-refcounting.txt:
14143         * docs/design/part-conventions.txt:
14144         * docs/design/part-gstobject.txt:
14145         * docs/design/part-relations.txt:
14146         * examples/mixer/mixer.c: (main):
14147         * examples/thread/thread.c: (eos), (main):
14148         * gst/Makefile.am:
14149         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14150         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14151         (gst_spider_plug_from_srcpad):
14152         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14153         (gst_spider_identity_change_state),
14154         (gst_spider_identity_sink_loop_type_finding):
14155         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14156         * gst/elements/gstidentity.c: (gst_identity_init):
14157         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14158         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14159         * gst/elements/gsttypefindelement.c: (free_entry):
14160         * gst/gst.c:
14161         * gst/gst.h:
14162         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14163         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14164         (gst_bin_set_index), (gst_bin_set_element_sched),
14165         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14166         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14167         (gst_bin_iterate_elements), (iterate_child_recurse),
14168         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14169         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14170         (compare_interface), (gst_bin_get_by_interface),
14171         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14172         * gst/gstbin.h:
14173         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14174         (gst_buffer_default_free), (gst_buffer_default_copy),
14175         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14176         (gst_buffer_create_sub):
14177         * gst/gstbuffer.h:
14178         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14179         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14180         (gst_caps_unref), (gst_static_caps_get),
14181         (gst_caps_remove_and_get_structure), (gst_caps_append),
14182         (gst_caps_append_structure), (gst_caps_remove_structure),
14183         (gst_caps_copy_nth), (gst_caps_set_simple),
14184         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14185         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14186         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14187         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14188         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14189         (gst_caps_structure_figure_out_union),
14190         (gst_caps_switch_structures), (gst_caps_do_simplify),
14191         (gst_caps_replace), (gst_caps_from_string),
14192         (gst_caps_copy_conditional):
14193         * gst/gstcaps.h:
14194         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14195         (_gst_clock_id_free), (gst_clock_id_unref),
14196         (gst_clock_id_compare_func), (gst_clock_id_wait),
14197         (gst_clock_id_wait_async), (gst_clock_class_init),
14198         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14199         (gst_clock_get_time), (gst_clock_set_time_adjust),
14200         (gst_clock_set_property), (gst_clock_get_property):
14201         * gst/gstclock.h:
14202         * gst/gstcompat.h:
14203         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14204         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14205         * gst/gstdata.h:
14206         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14207         (gst_element_requires_clock), (gst_element_provides_clock),
14208         (gst_element_set_clock), (gst_element_clock_wait),
14209         (gst_element_wait), (gst_element_set_time_delay),
14210         (gst_element_is_indexable), (gst_element_add_pad),
14211         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14212         (pad_compare_name), (gst_element_get_static_pad),
14213         (gst_element_request_pad), (gst_element_get_request_pad),
14214         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14215         (gst_element_class_get_pad_template_list),
14216         (gst_element_class_get_pad_template), (gst_element_error_func),
14217         (gst_element_get_random_pad), (gst_element_get_event_masks),
14218         (gst_element_send_event), (gst_element_seek),
14219         (gst_element_get_query_types), (gst_element_query),
14220         (gst_element_get_formats), (gst_element_convert),
14221         (gst_element_is_locked_state), (gst_element_set_locked_state),
14222         (gst_element_sync_state_with_parent), (gst_element_change_state),
14223         (gst_element_finalize), (gst_element_yield),
14224         (gst_element_interrupt), (gst_element_set_scheduler),
14225         (gst_element_get_scheduler), (gst_element_set_loop_function):
14226         * gst/gstelement.h:
14227         * gst/gstevent.h:
14228         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14229         (gst_format_get_by_nick), (gst_format_get_details),
14230         (gst_format_iterate_definitions):
14231         * gst/gstformat.h:
14232         * gst/gstindex.c: (gst_index_gtype_resolver):
14233         * gst/gstinfo.c:
14234         * gst/gstinfo.h:
14235         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14236         (gst_mem_chunk_free):
14237         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14238         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14239         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14240         (gst_object_dispatch_properties_changed),
14241         (gst_object_set_name_default), (gst_object_set_name),
14242         (gst_object_get_name), (gst_object_set_name_prefix),
14243         (gst_object_get_name_prefix), (gst_object_set_parent),
14244         (gst_object_get_parent), (gst_object_unparent),
14245         (gst_object_check_uniqueness), (gst_object_save_thyself),
14246         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14247         (gst_object_set_property), (gst_object_get_property),
14248         (gst_object_get_path_string):
14249         * gst/gstobject.h:
14250         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14251         (gst_real_pad_init), (gst_real_pad_get_property),
14252         (gst_pad_custom_new), (gst_pad_get_direction),
14253         (gst_pad_set_active), (gst_pad_is_active),
14254         (gst_pad_set_event_function), (gst_pad_is_linked),
14255         (gst_pad_link_free), (gst_pad_link_intersect),
14256         (gst_pad_link_fixate), (gst_pad_set_caps),
14257         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14258         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14259         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14260         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14261         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14262         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14263         (gst_pad_realize), (gst_pad_get_allowed_caps),
14264         (gst_real_pad_dispose), (gst_real_pad_finalize),
14265         (gst_pad_collectv), (gst_pad_collect_valist),
14266         (gst_pad_template_dispose), (gst_pad_template_new),
14267         (gst_pad_get_internal_links):
14268         * gst/gstpad.h:
14269         * gst/gstpipeline.c: (gst_pipeline_dispose),
14270         (gst_pipeline_change_state):
14271         * gst/gstpipeline.h:
14272         * gst/gstplugin.c:
14273         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14274         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14275         * gst/gstpluginfeature.h:
14276         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14277         * gst/gstquery.c: (_gst_query_type_initialize),
14278         (gst_query_type_register), (gst_query_type_get_by_nick),
14279         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14280         * gst/gstquery.h:
14281         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14282         * gst/gstscheduler.c: (gst_scheduler_add_element),
14283         (gst_scheduler_factory_create):
14284         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14285         (gst_structure_free), (gst_structure_set_name),
14286         (gst_structure_id_set_value), (gst_structure_set_value),
14287         (gst_structure_set_valist), (gst_structure_remove_field),
14288         (gst_structure_remove_fields),
14289         (gst_structure_remove_fields_valist),
14290         (gst_structure_remove_all_fields), (gst_structure_foreach),
14291         (gst_structure_map_in_place),
14292         (gst_caps_structure_fixate_field_nearest_int),
14293         (gst_caps_structure_fixate_field_nearest_double):
14294         * gst/gststructure.h:
14295         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14296         (gst_system_clock_init), (gst_system_clock_dispose),
14297         (gst_system_clock_async_thread),
14298         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14299         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14300         * gst/gstsystemclock.h:
14301         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14302         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14303         * gst/gsttaginterface.c:
14304         * gst/gstthread.c: (gst_thread_dispose),
14305         (gst_thread_release_children_locks), (gst_thread_change_state),
14306         (gst_thread_main_loop):
14307         * gst/gsttrashstack.h:
14308         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14309         * gst/gsttypes.h:
14310         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14311         (gst_element_request_pad), (gst_element_get_pad_from_template),
14312         (gst_element_request_compatible_pad),
14313         (gst_element_get_compatible_pad_filtered),
14314         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14315         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14316         (gst_element_link_many), (gst_element_link),
14317         (gst_element_link_pads), (gst_element_unlink_pads),
14318         (gst_element_unlink_many), (gst_element_unlink),
14319         (gst_pad_can_link_filtered), (gst_pad_can_link),
14320         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14321         (gst_object_default_error), (gst_bin_add_many),
14322         (gst_bin_remove_many), (gst_element_populate_std_props),
14323         (gst_element_class_install_std_props), (gst_buffer_merge),
14324         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14325         (link_fold_func), (gst_pad_proxy_setcaps):
14326         * gst/gstutils.h:
14327         * gst/gstvalue.c: (gst_value_deserialize_string):
14328         * gst/parse/grammar.y:
14329         * gst/schedulers/gstbasicscheduler.c:
14330         (gst_basic_scheduler_cothreaded_chain),
14331         (gst_basic_scheduler_chain_recursive_add),
14332         (gst_basic_scheduler_pad_link):
14333         * gst/schedulers/gstoptimalscheduler.c:
14334         (get_group_schedule_function),
14335         (gst_opt_scheduler_state_transition),
14336         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14337         * libs/gst/bytestream/bytestream.c:
14338         * libs/gst/dataprotocol/dataprotocol.c:
14339         (gst_dp_header_from_buffer):
14340         * po/nb.po:
14341         * po/ru.po:
14342         * tests/threadstate/threadstate2.c: (eos):
14343         * tools/gst-compprep.c: (main):
14344         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14345         (print_pad_info), (print_children_info):
14346         * tools/gst-launch.c: (idle_func), (main):
14347         * tools/gst-md5sum.c: (idle_func), (main):
14348         * tools/gst-xmlinspect.c: (print_element_info):
14349         First THREADED backport attempt, focusing on adding locks and
14350         making sure the API is threadsafe. Needs more work. More docs
14351         follow this week.
14352
14353 2005-02-24  Andy Wingo  <wingo@pobox.com>
14354
14355         * tests/bench-complexity.scm:
14356         * tests/complexity.gnuplot: New files, good for running complexity
14357         benchmarks.
14358
14359         * tests/Makefile.am:
14360         * tests/complexity.c: New test, sets up N elements, at each level
14361         teeing into M streams per element. Eeeenteresting.
14362
14363         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14364         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14365         running bench-mass_elements.scm.
14366
14367         * tests/bench-mass_elements.scm: New script, runs mass_elements
14368         for various numbers of identities, outputting the results to a
14369         file. Requires guile 1.6. Just for testing.
14370
14371 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14372
14373         * gst/schedulers/fairscheduler.c:
14374           compile with debug disabled
14375
14376 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14377
14378         * configure.ac:
14379           hunting season on 0.9 is now OPEN