plugins/elements/gsttee.c: Always prefer an actual return value from a src pad in...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * plugins/elements/gsttee.c: (gst_tee_do_push),
4         (gst_tee_handle_buffer):
5         Always prefer an actual return value from a src
6         pad in place of NOT_LINKED. This means we return
7         WRONG_STATE when all src pads are WRONG_STATE
8         instead of NOT_LINKED.
9
10         Lock when replacing the last message to prevent
11         racing with the get_property method.
12
13         Add debug output
14
15 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16
17         * tests/check/Makefile.am:
18         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
19         (main):
20         Add a very simple check that should have caught the memleak I fixed
21         last night (if not for the slice allocator hiding it)
22
23 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
24
25         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
26         (gst_bin_remove_func), (gst_bin_handle_message_func),
27         (bin_query_duration_fold), (bin_query_generic_fold):
28         Clean up references to the clock provider when disposed or when
29         handling a clock-lost message from it.
30
31         Unref sinks when performing a query via gst_iterator_fold, as the
32         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
33
34         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
35         (gst_clock_set_master):
36         Drop our reference to the master clock, if any, when we are disposed.
37
38         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
39         Chain up in dispose. 
40
41 2006-01-26  Wim Taymans  <wim@fluendo.com>
42
43         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
44         Add some debugging.
45
46 2006-01-26  Julien MOUTTE  <julien@moutte.net>
47
48         * plugins/elements/gsttee.c: (gst_tee_do_push),
49         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
50         handles pad being NOT_LINKED or in WRONG_STATE.
51
52 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
53
54         * win32/MANIFEST:
55           more updating
56
57 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
58
59         * win32/MANIFEST:
60           remove obsolete entry
61
62 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
63
64         * docs/gst/gstreamer-sections.txt:
65         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
66         (gst_bin_iterate_sources), (gst_bin_send_event):
67         * gst/gstbin.h:
68         * gst/gstelement.c: (gst_element_send_event):
69         * gst/gstevent.c:
70         * gst/gstpad.c: (gst_pad_send_event):
71           added code for downstream events, reviewed docs in gstevent.c
72
73 2006-01-25  Julien MOUTTE  <julien@moutte.net>
74
75         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
76         We only query position using the clock in the playing state.
77         Query peer in the other cases.
78         * win32/common/config.h: Updates.
79
80 2006-01-24  Wim Taymans  <wim@fluendo.com>
81
82         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
83         A clock entry that is scheduled for the exact time of the
84         clock is still in time.
85
86         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
87         (gst_base_sink_do_sync):
88         Add some more debug info.
89
90 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
91
92         * win32/vs7:
93           Add new vs7 project files and solution.
94
95 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
96
97         * win32/vs7:
98           all files removed as they were out-dated.
99
100 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
101
102         * docs/random/release:
103           update notes
104         * gst/gstbin.c: (gst_bin_init):
105         * gst/gstbus.c: (gst_bus_new):
106         * gst/gstbus.h:
107         * gst/gstpipeline.c: (gst_pipeline_init):
108           use gst_bus_new(), improve logging, fix docs
109         * win32/common/config.h:
110           update for cvs build
111
112 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
113
114         * autogen.sh:
115           up required version of automake to 1.7
116
117 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
118
119         * win32/common/libgstreamer.def:
120           export gst_buffer_is_metadata_writable
121
122 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
123
124         * docs/gst/gstreamer-sections.txt:
125         * gst/gstevent.h:
126           Add gst_event_replace() (#327001)
127
128 2006-01-20  Wim Taymans  <wim@fluendo.com>
129
130         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
131         Make it actually compile too..
132
133 2006-01-20  Wim Taymans  <wim@fluendo.com>
134
135         * gst/gstcaps.c:
136         Clarify behaviour of _is_equal() when passing NULL parameters.
137
138         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
139         (gst_pad_set_caps):
140         Cleanups. Don't unref NULL caps.
141         When setting the same caps, protect caps of the pad with
142         proper lock.
143         Use full functionality of _is_equal() when comparing caps.
144
145 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
146
147         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
148         Don't loop infinitely if there are no buffers to present. Partially
149         fixes #327197, but collectpads is just broken for reusing elements
150         to do multiple encodes atm.
151
152 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
153
154         * tools/gst-inspect.c: (print_element_features):
155         * tools/gst-xmlinspect.c: (main):
156         URL_HANDLER is not a plugin feature we can search for in
157         the registry.
158
159 2006-01-19  Edward Hervey  <edward@fluendo.com>
160
161         * gst/gstelement.c: (gst_element_pads_activate): 
162         When activating, do src pads first, then sink pads.
163         When de-activating, do sink pads first, then src pads.
164
165 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
166
167         * docs/gst/gstreamer-sections.txt:
168         Add gst_index_add_associationv to the docs
169
170 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
171
172         * gst/gstevent.c:
173           Fix docs typo
174
175         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
176         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
177           Do some refactoring. Doesn't actually change functionality,
178           but makes landing the DRAIN event easier later.
179
180 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
181
182         * docs/pwg/advanced-scheduling.xml:
183           Update from 0.9.x to 0.10 API and make example a bit
184           clearer.
185
186 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
187
188         * docs/gst/gstreamer-sections.txt:
189         Add gst_buffer_(is|make)_metadata_writable methods.
190
191 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
192
193         * docs/design/part-sparsestreams.txt:
194         Update sparse streams doc, hopefully for greater clarity
195
196 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
197
198         * docs/design/part-events.txt:
199         Remove mention of FILLER events.
200         Add DRAIN event.
201
202         * docs/design/part-sparsestreams.txt:
203         Write some things about using NEWSEGMENT to keep sparse streams
204         flowing.
205
206 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
207
208         * gst/gstbin.c: (gst_bin_dispose):
209           Guard gst_object_unref call against a NULL object (dispose
210           can theoretically be called multiple times).
211           
212 2006-01-18  Wim Taymans  <wim@fluendo.com>
213
214         * gst/gstbin.c: (gst_bin_element_set_state):
215         * gst/gstclock.c: (gst_clock_id_wait):
216         Added some more debug info.
217
218         * libs/gst/base/gstadapter.c:
219         Added more docs.
220
221         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
222         (gst_base_sink_do_sync), (gst_base_sink_chain):
223         Added some comments.
224
225 2006-01-18  Wim Taymans  <wim@fluendo.com>
226
227         * tests/check/Makefile.am:
228         * tests/check/elements/fakesink.c: (chain_async_buffer),
229         (chain_async), (chain_async_return), (GST_START_TEST),
230         (fakesink_suite), (main):
231         Added fakesink test that checks prerolling and clipping
232         behaviour.
233
234         * tests/check/gst/gstutils.c: (GST_START_TEST):
235         Make check run faster so that buildbots don't timeout.
236
237 2006-01-18  Wim Taymans  <wim@fluendo.com>
238
239         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
240         (gst_base_sink_do_sync):
241         Some cleanups.
242         When the sink finishes blocking on the preroll buffer, it can
243         immediatly render it instead of rendering when the next buffer
244         arrives.
245
246 2006-01-18  Wim Taymans  <wim@fluendo.com>
247
248         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
249         (gst_base_sink_get_property), (gst_base_sink_do_sync),
250         (gst_base_sink_chain):
251         Small cleanups.
252         GST_ELEMENT_CLOCK and sync are protected with LOCK.
253         Don't store _last_stop if the buffer is dropped.
254
255 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
256
257         * plugins/elements/gsttypefindelement.c:
258         (gst_type_find_element_class_init):
259           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
260           object method handler that sets the caps on the pad and we want
261           that to happen before we emit the signal (fixes e.g. feeding a
262           plain text file to decodebin).
263
264 2006-01-18  Christian Schaller  <Christian@fluendo.com>
265
266         * gst/gstplugin.c: Add MPL and Proprietary as license options
267
268 2006-01-18  Andy Wingo  <wingo@pobox.com>
269
270         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
271         symbol was exported before, it appears this was just an oversight.
272         Fixes #168703.
273         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
274
275         * gst/gstindex.c (gst_index_add_associationv): Changed int in
276         prototype to gint. OK since this prototype was not in the header.
277
278 2006-01-17  Andy Wingo  <wingo@pobox.com>
279
280         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
281         registry while we remove plugins.
282
283         * tools/gst-inspect.c (print_element_info): Don't unref the
284         factory arg, that should be the responsibility of whatever code
285         received the ref. Fixes a double-free when called from
286         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
287         (main): Unref the factory if we have one.
288         (print_element_list): No change -- relies on the
289         plugin_feature_list_free to free the list of features.
290
291 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
292
293         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
294         (gst_buffer_make_metadata_writable):
295         * gst/gstbuffer.h:
296         * libs/gst/base/gstbasetransform.c:
297         (gst_base_transform_prepare_output_buf):
298         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
299         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
300           Replace gst_buffer_(make|is)_metadata_writable patch now
301           that the release is out.
302
303 2006-01-17  Andy Wingo  <wingo@pobox.com>
304
305         * gst/gstregistry.c: Reflow design comment. Update so as to speak
306         in the present tense without reference to versions.
307
308         * gst/gstregistry.c (gst_registry_add_plugin)
309         (gst_registry_remove_plugin, gst_registry_remove_feature)
310         (gst_registry_find_feature, gst_registry_get_feature_list)
311         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
312         (gst_registry_lookup, gst_registry_scan_path)
313         (_gst_registry_remove_cache_plugins)
314         (gst_registry_get_feature_list_by_plugin): Add argument
315         validation.
316
317 === release 0.10.2 ===
318
319 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
320
321         * configure.ac:
322           releasing 0.10.2, "If man is five"
323
324 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
325
326         * gst/gstbuffer.c:
327         * gst/gstbuffer.h:
328         * libs/gst/base/gstbasetransform.c:
329         (gst_base_transform_prepare_output_buf):
330         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
331         * tests/check/gst/gstbuffer.c: (gst_test_suite):
332           Back out patch until after the release.
333
334 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
335
336         * gst/gstminiobject.c:
337           Spelling fix in docs.
338         * ChangeLog - remove conflict indicator
339
340 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
341
342         Reviewed By: Andy Wingo
343
344         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
345         (gst_buffer_make_metadata_writable):
346         * gst/gstbuffer.h:
347           Add gst_buffer_(is|make)_metadata_writable as analogues of
348           gst_buffer_(is|make)_writable.
349
350         * libs/gst/base/gstbasetransform.c:
351         (gst_base_transform_prepare_output_buf):
352         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
353           Use name gst_buffer_(is|make)_metadata_writable functions.
354
355         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
356           Test gst_buffer_(is|make)_metadata_writable
357         
358           (Closes: #324162)
359
360 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
361
362         * docs/manual/Makefile.am:
363           don't do parallel make
364         * configure.ac:
365           AC_SUBST HOST_CPU
366         * win32/common/config.h.in:
367           add generations for HOST_CPU and GST_MAJORMINOR
368         * win32/common/config.h:
369           commit generated result
370
371 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
372
373         * docs/manual/appendix-integration.xml:
374           Update GNOME integration section to use gst_init_get_option_group()
375           instead of the old popt stuff (#322911). Also, GNOME applications
376           should  now use gconf*sink and gconf*src instead of the old gconf
377           helper lib we had.
378
379 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
380
381
382         * docs/gst/gstreamer-docs.sgml:
383         * docs/gst/gstreamer-sections.txt:
384         * docs/libs/gstreamer-libs-sections.txt:
385           add new API entries to the docs
386         * libs/gst/controller/Makefile.am:
387         * libs/gst/controller/gstcontroller.c:
388         * libs/gst/controller/gstcontroller.h:
389         * libs/gst/controller/gstcontrollerprivate.h:
390         * libs/gst/controller/gsthelper.c:
391         * libs/gst/controller/gstinterpolation.c:
392           move private structs to private header
393         * po/README:
394           gstreamer-0.7 -> gstreamer-0.10
395         * tests/check/libs/struct_i386.h:
396           remove private structs
397
398 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
399
400         * plugins/indexers/Makefile.am:
401           Fixes as part of #317048
402
403 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
404
405         * plugins/indexers/Makefile.am:
406           fix #316086 - compilation when mmap is missing
407
408 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
409
410         * libs/gst/base/gstbasesink.c:
411           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
412           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
413         * win32/common/config.h:
414           added some defines GST_MAJORMINOR and HOST_CPU
415         * win32/common/libgstbase.def:
416         * win32/common/libgstreamer.def:
417           added some exported functions.
418
419 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
420
421         * libs/gst/controller/gstcontroller.c:
422         (gst_controlled_property_set_interpolation_mode),
423         (gst_controlled_property_new):
424         * libs/gst/controller/gstcontroller.h:
425         * libs/gst/controller/gstinterpolation.c:
426         (interpolate_none_get_string_value_array):
427           make G_TYPE_STRING controlable
428
429 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
430
431         * tools/README:
432         * tools/gst-feedback.1.in:
433         * tools/gst-inspect.1.in:
434         * tools/gst-launch.1.in:
435         * tools/gst-md5sum.1.in:
436         * tools/gst-typefind.1.in:
437         * tools/gst-xmlinspect.1.in:
438         * tools/gst-xmllaunch.1.in:
439           cleanup man-pages, remove reference to gst-register, document env-vars
440
441 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
442
443         * gst/gstbuffer.c: (gst_buffer_span):
444           gst_buffer_span should copy the timestamp of the first buffer
445           if they were both originally overlapping subbuffers of the 
446           same parent, using the same logic as the 'slow copy' case.
447
448 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
449
450         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
451           Need to awaken ALL the pads when we pop a buffer, otherwise
452           collectpads only works when there is 2 input streams.
453
454 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
455
456         * docs/random/ensonic/media-device-daemon.txt:
457           more ideas (dbus)
458         * gst/gstbuffer.c:
459           fix doc example, add clarification
460         * tools/gst-launch.1.in:
461           add initial info about GST_PLUGIN_PATH, needs more work
462
463 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
464
465         * docs/manual/basics-bins.xml:
466         * docs/manual/basics-elements.xml:
467         * docs/manual/intro-basics.xml:
468           Some more minor docs additions and updates.
469
470 2006-01-11  Wim Taymans  <wim@fluendo.com>
471
472         * docs/manual/basics-bins.xml:
473         * docs/manual/basics-elements.xml:
474         Some small fixes as pointed out by Ser-ver on IRC.
475
476 2006-01-10  Edward Hervey  <edward@fluendo.com>
477
478         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
479         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
480         the single-segment mode.
481
482 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
483
484         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
485
486         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
487         (gst_base_src_perform_seek), (gst_base_src_send_event),
488         (gst_base_src_set_property), (gst_base_src_get_property),
489         (gst_base_src_loop), (gst_base_src_start),
490         (gst_base_src_activate_push):
491         * libs/gst/base/gstbasesrc.h:
492           Name (private) union; makes Sun's Forte compiler happy (#324900).
493
494 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
495
496         * README:
497           gst-register is gone.
498
499 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
500
501         * gst/gstvalue.c: (_gst_value_initialize):
502           make the G_TYPE_DATE instantiation work if debug is disabled
503
504 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
505
506         * gst/gstmessage.c: (gst_message_parse_tag),
507         (gst_message_parse_error), (gst_message_parse_warning):
508           Don't crash when return location for error/warning debug
509           string is NULL; add fact that return locations can be
510           NULL to docs where appropriate.
511
512 2006-01-05  Wim Taymans  <wim@fluendo.com>
513
514         * gst/gstplugin.c: (gst_plugin_load_file):
515         Replace strdup by g_strdup.
516
517 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
518
519         * docs/pwg/advanced-types.xml:
520           fix doc borkage
521
522 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
523
524         submitted by: Abel Cheung
525
526         * po/LINGUAS:
527         * po/zh_TW.po:
528           Added Chinese (traditional) translation
529
530 2006-01-04  Wim Taymans  <wim@fluendo.com>
531
532         * docs/manual/basics-pads.xml:
533         * docs/plugins/Makefile.am:
534         * docs/plugins/gstreamer-plugins-docs.sgml:
535         * docs/plugins/gstreamer-plugins-sections.txt:
536         * docs/pwg/advanced-clock.xml:
537         * docs/pwg/advanced-scheduling.xml:
538         * docs/pwg/advanced-types.xml:
539         * plugins/elements/gstfdsink.c:
540         * plugins/elements/gstfdsrc.c:
541         * plugins/elements/gstfdsrc.h:
542         * plugins/elements/gstidentity.c: (gst_identity_class_init):
543         * plugins/elements/gstidentity.h:
544         * plugins/elements/gstqueue.h:
545         * plugins/elements/gsttee.c:
546         * plugins/elements/gsttee.h:
547         * plugins/elements/gsttypefindelement.c:
548         (gst_type_find_element_class_init):
549         * plugins/elements/gsttypefindelement.h:
550         Small updates to various docs.
551         Added core plugins to docs.
552
553 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
554
555         * common/gst.supp:
556           add a suppression for liboil's uninitialized variable
557
558 2006-01-02  James Livingston  <jrl at ids dot org dot au>
559
560         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
561
562         * gst/gstutils.h:
563           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
564           macro, so that gcc doesn't complain if the -Wmissing-prototypes
565           compiler switch is being used (#325429).
566
567 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
568
569         * gst/gstbin.c: (gst_bin_query):
570           Disable duration query caching in bins until it gets
571           fixed (see #324807).
572
573 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
574
575         * tools/gst-inspect.c: (print_element_properties_info):
576           Handle properties of POINTER and BOXED type.
577
578 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
579
580         * gst/gst.c: (init_post):
581           Init tags stuff and some other things before loading
582           any static plugins (there may be other static plugins
583           than just the GStreamer ones, and they may want to
584           register their own tags or formats or whatever, and
585           preferably without segfaulting).
586
587         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
588           Print at least a warning in the debug logs if we drop a
589           query just because we don't know how to adjust the value
590           in the particular format.
591
592 2005-12-24  David Schleef  <ds@schleef.org>
593
594         * tools/gstreamer-completion:
595           Replacement for gst-complete written in sh and sed.  Only
596           completes names of features, but that's 90% of what I want
597           it for.  Properties are not available in registry.xml.  (Maybe
598           they should be...)
599
600 === release 0.10.1 ===
601
602 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
603
604         * configure.ac:
605           releasing 0.10.1, "Nollaig chridheil"
606
607 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
608
609         * docs/faq/cvs.xml:
610           Add missing quote, should be make ERROR_CFLAGS="".
611
612 2005-12-20  Wim Taymans  <wim@fluendo.com>
613
614         * docs/design/part-trickmodes.txt:
615         More documentation on trickmodes.
616
617 2005-12-20  Edward Hervey  <edward@fluendo.com>
618
619         * gst/gstcaps.c: (gst_static_caps_get_type):
620         * gst/gstcaps.h:
621           API addition: GST_TYPE_STATIC_CAPS
622         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
623         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
624         * gst/gstpadtemplate.h:
625           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
626         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
627         bindings.
628
629 2005-12-18  Wim Taymans  <wim@fluendo.com>
630
631         * libs/gst/base/gstadapter.c:
632         * libs/gst/base/gstadapter.h:
633         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
634         (gst_base_sink_get_position):
635         * libs/gst/base/gstbasesink.h:
636         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
637         (gst_base_src_default_query), (gst_base_src_default_do_seek),
638         (gst_base_src_do_seek), (gst_base_src_perform_seek),
639         (gst_base_src_send_event), (gst_base_src_update_length),
640         (gst_base_src_get_range), (gst_base_src_loop),
641         (gst_base_src_start):
642         * libs/gst/base/gstbasesrc.h:
643         * libs/gst/base/gstbasetransform.h:
644         * libs/gst/base/gstcollectpads.h:
645         * libs/gst/base/gstpushsrc.c:
646         * libs/gst/base/gstpushsrc.h:
647         * libs/gst/dataprotocol/dataprotocol.c:
648         * libs/gst/dataprotocol/dataprotocol.h:
649         * libs/gst/net/gstnetclientclock.h:
650         * libs/gst/net/gstnettimeprovider.h:
651         Documentation updates.
652
653 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
654
655         * docs/manual/basics-helloworld.xml:
656           Remove superfluous closing bracket in helloworld example.
657
658 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
659
660         * tools/gst-launch.1.in:
661           Update gst-launch man page; add a section with useful
662           environment variables. Fixes #323882.
663
664 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
665
666         * gst/gst.c:
667         * gst/gst_private.h:
668           change some char* into char[]
669
670 2005-12-16  Wim Taymans  <wim@fluendo.com>
671
672         * gst/gstregistryxml.c: (load_feature):
673         Cleanups.
674         Don't use g_object_unref on GstObjects so that we avoid
675         leaks on unsafe glibs.
676
677 2005-12-16  Wim Taymans  <wim@fluendo.com>
678
679         * gst/gstbin.c: (gst_bin_recalc_state):
680         Small doc updates.
681
682 2005-12-16  Wim Taymans  <wim@fluendo.com>
683
684         * common/check.mak:
685         Added make forever target for check.
686
687 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * gst/gst.c: (init_post):
690           make the registry cache file HOST_CPU-dependent
691
692 2005-12-16  Andy Wingo  <wingo@pobox.com>
693
694         * plugins/elements/gstbufferstore.c
695         (gst_buffer_store_cleared_func): Pay attention to g_list_append
696         return value.
697
698         * tests/check/gst/gstobject.c
699         (test_fake_object_name_threaded_unique): Pay attention to
700         g_list_sort return value.
701
702 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * tools/gst-feedback-m.m:
705           Update for 0.9/0.10 (fixes #323870).
706
707 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
708
709         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
710           Fix lcopy for mini objects, the mini object needs to be ref'ed.
711           
712         * tests/check/gst/gstminiobject.c: (my_foo_init),
713         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
714         (test_value_collection), (gst_mini_object_suite):
715           Add test to ensure refcounts end up as expected when passing
716           GstMiniObjects through g_object_get() and g_object_set().
717
718 2005-12-14  Julien MOUTTE  <julien@moutte.net>
719
720         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
721         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
722         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
723         of collectpads. This version removes a lot of races without
724         touching API/ABI. Yay !
725
726 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
727
728         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
729           Don't allow activation of a srcpad in pull_range if it has no
730           getrange function.
731           Change some debug statements to be a little clearer
732
733         * plugins/elements/gsttypefindelement.c:
734         (gst_type_find_handle_src_query):
735           Check that we have a peer before executing queries thereupon.
736
737         * tests/examples/metadata/read-metadata.c: (message_loop):
738           Use gst_bus_pop instead of gst_bus_poll when we just want it to
739           immediately return us any available message with 0 timeout.
740
741 2005-12-12  Michael Smith  <msmith@fluendo.com>
742
743         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
744           Don't unref factories after calling them.
745         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
746         * plugins/elements/gsttypefindelement.c:
747         (gst_type_find_element_chain):
748           Free lists of factories after using them. Fixing typefinding memory
749           leaks.
750
751 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
752
753         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
754         (gst_plugin_feature_load):
755           more meaningful debug output
756         * configure.ac:
757         * tests/Makefile.am:
758         * tests/old/examples/Makefile.am:
759           make make distcheck happy again
760
761 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
762
763         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
764           Catch the special case where we are operating chain-based,
765           but the downstream peer pad has no chain function. Emit a
766           custom error message in this case instead of letting the
767           core generate one implying that this is some sort of core
768           bug. It's not, it just means that whatever got plugged
769           into the pipeline downstream when we announced the type
770           can only operate pull-based, while our source can only
771           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
772           Error string has not been marked for translation yet, as
773           it probably needs some more work first.
774
775         (gst_type_find_element_get_best_possibility):
776           Add helper function to find the best of all available
777           found possibilities that qualify given the min. threshold.
778
779         (gst_type_find_element_handle_event):
780           Fix the case where we get an EOS while still in TYPEFIND
781           mode (we want to chose the best of all possible types,
782           not just the first type that happens to be in our unsorted
783           list of possible types).
784
785         (gst_type_find_element_chain):
786           Make sure we return GST_FLOW_ERROR when we errored out
787           in stop_typefinding(); also, don't just find the best of
788           all found type entries and then use the last examined
789           type entry, but actually use the best entry.
790
791 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
792
793         * tests/examples/typefind/typefind.c: (type_found):
794         * tests/examples/xml/runxml.c: (xml_loaded):
795           More gcc4 fixes and a mem leak fix.
796
797 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
798
799         * tests/examples/xml/createxml.c: (object_saved):
800           gcc 4 fixes
801
802 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
803
804         * tests/Makefile.am:
805           enable the examples even more
806
807 2005-12-12  Andy Wingo  <wingo@pobox.com>
808
809         * libs/gst/net/gstnettimeprovider.c
810         (gst_net_time_provider_class_init, gst_net_time_provider_init)
811         (gst_net_time_provider_set_property)
812         (gst_net_time_provider_get_property):
813         API addition: Export "active" as a GObject property.
814         (gst_net_time_provider_thread): Only respond to time queries if
815         the time provider is active.
816
817         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
818         NetTimeProvider, preserving binary compat.
819
820 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
821
822         * tests/examples/controller/audio-example.c: (main):
823         * tests/examples/launch/Makefile.am:
824           convert comments again
825
826 2005-12-12  Wim Taymans  <wim@fluendo.com>
827
828         * libs/gst/base/gstpushsrc.c:
829         Fix typo.
830
831 2005-12-12  Wim Taymans  <wim@fluendo.com>
832
833         * docs/libs/gstreamer-libs-sections.txt:
834         Added new symbol to docs.
835
836         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
837         (gst_base_src_init), (gst_base_src_set_format),
838         (gst_base_src_default_query), (gst_base_src_query),
839         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
840         (gst_base_src_perform_seek), (gst_base_src_send_event),
841         (gst_base_src_default_event), (gst_base_src_event_handler),
842         (gst_base_src_set_property), (gst_base_src_get_property),
843         (gst_base_src_wait), (gst_base_src_do_sync),
844         (gst_base_src_update_length), (gst_base_src_get_range),
845         (gst_base_src_check_get_range), (gst_base_src_loop),
846         (gst_base_src_default_negotiate), (gst_base_src_start),
847         (gst_base_src_activate_push), (gst_base_src_activate_pull),
848         (gst_base_src_change_state):
849         * libs/gst/base/gstbasesrc.h:
850         Implement seeking to other formats than _BYTES.
851         Implement more seeking methods correctly.
852         Doc updates.
853         Added query vmethod.
854         Added do_seek vmethod to make life easier for subclasses
855         when seeking.
856         API addition: gst_base_src_set_format()
857
858 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
859
860         * tests/examples/Makefile.am:
861           added that too
862
863 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
864
865         * configure.ac:
866         * docs/random/ensonic/media-device-daemon.txt:
867         * tests/examples/controller/.cvsignore:
868         * tests/examples/controller/Makefile.am:
869         * tests/examples/controller/audio-example.c: (main):
870         * tests/examples/helloworld/.cvsignore:
871         * tests/examples/helloworld/Makefile.am:
872         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
873         * tests/examples/launch/.cvsignore:
874         * tests/examples/launch/Makefile.am:
875         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
876         * tests/examples/metadata/.cvsignore:
877         * tests/examples/metadata/Makefile.am:
878         * tests/examples/metadata/read-metadata.c: (message_loop),
879         (make_pipeline), (print_tag), (main):
880         * tests/examples/queue/.cvsignore:
881         * tests/examples/queue/Makefile.am:
882         * tests/examples/queue/queue.c: (event_loop), (main):
883         * tests/examples/typefind/.cvsignore:
884         * tests/examples/typefind/Makefile.am:
885         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
886         (main):
887         * tests/examples/xml/.cvsignore:
888         * tests/examples/xml/Makefile.am:
889         * tests/examples/xml/createxml.c: (object_saved), (main):
890         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
891         * tests/old/examples/Makefile.am:
892         * tests/old/examples/TODO:
893         * tests/old/examples/controller/.cvsignore:
894         * tests/old/examples/controller/Makefile.am:
895         * tests/old/examples/controller/audio-example.c:
896         * tests/old/examples/helloworld/.cvsignore:
897         * tests/old/examples/helloworld/Makefile.am:
898         * tests/old/examples/helloworld/helloworld.c:
899         * tests/old/examples/launch/.cvsignore:
900         * tests/old/examples/launch/Makefile.am:
901         * tests/old/examples/launch/mp3parselaunch.c:
902         * tests/old/examples/launch/mp3play:
903         * tests/old/examples/manual/Makefile.am:
904         * tests/old/examples/metadata/Makefile.am:
905         * tests/old/examples/metadata/read-metadata.c:
906         * tests/old/examples/queue/.cvsignore:
907         * tests/old/examples/queue/Makefile.am:
908         * tests/old/examples/queue/queue.c:
909         * tests/old/examples/typefind/.cvsignore:
910         * tests/old/examples/typefind/Makefile.am:
911         * tests/old/examples/typefind/typefind.c:
912         * tests/old/examples/xml/.cvsignore:
913         * tests/old/examples/xml/Makefile.am:
914         * tests/old/examples/xml/createxml.c:
915         * tests/old/examples/xml/runxml.c:
916           applied some simple fixing to some examples
917           re-enabled the working examples
918
919 2005-12-12  Wim Taymans  <wim@fluendo.com>
920
921         * gst/gstsegment.c: (gst_segment_init),
922         (gst_segment_set_last_stop), (gst_segment_set_seek),
923         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
924         (gst_segment_to_running_time):
925         Added more documentation.
926         Make sure the last_pos value is updated properly.
927         Make sure to_stream_time and to_running_time don't
928         operate on wrong values.
929
930         * tests/check/gst/gstsegment.c: (GST_START_TEST):
931         Update check.
932
933 2005-12-12  Michael Smith  <msmith@fluendo.com>
934
935         * plugins/elements/gsttypefindelement.c: (free_entry),
936         (gst_type_find_element_chain):
937           Now that we're not leaking factories, make sure we keep references
938           to them while we need them.
939
940 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
941
942         * tests/check/gst/struct_i386.h:
943           ifdef out the XML structs
944
945 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
946
947         * gst/gstvalue.c: (gst_value_transform_double_fraction):
948           floor is not needed, F is always positive; this obviates the
949           need for adding -lm when building without libxml
950
951 2005-12-12  Wim Taymans  <wim@fluendo.com>
952
953         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
954         Take current playback rate into account when reporting
955         the position.
956
957 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
958
959         * docs/manual/mime-world.fig:
960           Let's try this again, this time with a file that is
961           actually in XFig format.
962
963 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
964
965         * docs/manual/mime-world.fig:
966           Add audioconvert element to diagram so that it
967           matches the text and the code (fixes #319526).
968
969 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
970
971         * docs/pwg/building-chainfn.xml:
972         * docs/pwg/building-pads.xml:
973         * docs/pwg/building-state.xml:
974         * docs/pwg/other-source.xml:
975           Update state change stuff for 0.10 (fixes #322969).
976
977 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
978
979         * docs/manual/advanced-dataaccess.xml:
980         * docs/manual/appendix-checklist.xml:
981         * docs/manual/appendix-programs.xml:
982         * docs/manual/basics-pads.xml:
983         * docs/manual/highlevel-components.xml:
984         * docs/manual/manual.xml:
985           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
986           add converters in front of pipelines; remove curly
987           brackets for threads stuff, they no longer exist; use
988           GST_TYPE_FRACTION for framerates; update some pieces of
989           code to 0.10, but there's plenty more to do.
990
991         * docs/manual/appendix-porting.xml:
992           Expand on asynchroneous state changes; s/0.9/0.10/;
993           mention disappearance of gst_init_get_popt_table()
994           (fixes #322916).
995
996 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
997
998         * docs/faq/using.xml:
999           Spider no longer exists, and neither does gst-launch-ext.
1000           Update examples to use decodebin and playbin and put
1001           converters in front of sinks (fixes #323726).
1002
1003 2005-12-09  Michael Smith  <msmith@fluendo.com>
1004
1005         * plugins/elements/gsttypefindelement.c: (find_peek),
1006         (gst_type_find_element_chain):
1007           Fix leaking element factories in typefinding.
1008           Fix problem where we forgot about a probable type on non-seekable
1009           files, and thus later mis-typefound it.
1010
1011 2005-12-09  Michael Smith  <msmith@fluendo.com>
1012
1013         * common/m4/gst-makecontext.m4:
1014         * common/m4/gst-mcsc.m4:
1015         * configure.ac:
1016         * win32/common/config.h:
1017         * win32/common/config.h.in:
1018           Remove makecontext stuff; not used in 0.10 and causes problems on
1019           HPUX according to bug #322441
1020
1021 2005-12-07  Wim Taymans  <wim@fluendo.com>
1022
1023         * tests/check/Makefile.am:
1024         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1025         (main):
1026         * tests/check/libs/struct_i386.h:
1027         Added ABI check for libs
1028
1029 2005-12-07  Wim Taymans  <wim@fluendo.com>
1030
1031         * tests/check/Makefile.am:
1032         And add the struct_i386.h to dist.
1033
1034 2005-12-07  Wim Taymans  <wim@fluendo.com>
1035
1036         * tests/check/Makefile.am:
1037         * tests/check/gst/.cvsignore:
1038         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1039         (main):
1040         * tests/check/gst/struct_i386.h:
1041         Added check for ABI compatibility.
1042
1043 2005-12-07  Wim Taymans  <wim@fluendo.com>
1044
1045         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1046         (gst_fake_src_get_times), (gst_fake_src_create):
1047         Fix broken sync option, fixes #323259
1048
1049 2005-12-07  Wim Taymans  <wim@fluendo.com>
1050
1051         * gst/gstbuffer.c:
1052         Small docs update.
1053
1054         * gst/gstcaps.c: (gst_caps_is_equal):
1055         Don't assert on NULL <--> X. Fixes #323260
1056
1057         * gst/gstminiobject.c: (gst_mini_object_replace):
1058         If we're doing atomic operations, we might just as well use
1059         the proper way to get an atomic pointer.
1060
1061         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1062         Clean up debugging.
1063
1064 2005-12-07  Michael Smith  <msmith@fluendo.com>
1065
1066         * gst/parse/grammar.y:
1067           Remove handling of { } for threads.
1068
1069 2005-12-06  David Schleef  <ds@schleef.org>
1070
1071         * libs/gst/base/gstbasetransform.c: speling fix.
1072
1073 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1074
1075         * docs/libs/tmpl/gstdataprotocol.sgml:
1076         * docs/random/omega/testing/gstobject.c:
1077         * gst/gst.c:
1078         * gst/gstclock.c:
1079         * gst/gstelement.c:
1080         * gst/gstelementfactory.c:
1081         * gst/gsterror.c:
1082         * gst/gstevent.c:
1083         * gst/gstghostpad.c:
1084         * gst/gstinfo.c:
1085         * gst/gstpadtemplate.c:
1086         * gst/gstregistryxml.c:
1087         * gst/gsttaglist.c:
1088         * gst/gsttagsetter.c:
1089         * gst/gsttypefind.c:
1090         * gst/gstvalue.c:
1091         * libs/gst/base/gstbasesrc.c:
1092         * libs/gst/net/gstnetclientclock.c:
1093         * libs/gst/net/gstnettimeprovider.c:
1094         * plugins/elements/gstfakesrc.c:
1095         * plugins/elements/gstfdsrc.c:
1096         * plugins/elements/gstfilesrc.c:
1097         * plugins/elements/gstidentity.c:
1098         * plugins/elements/gstqueue.c:
1099         * plugins/elements/gsttypefindelement.c:
1100         * plugins/indexers/gstfileindex.c:
1101         * plugins/indexers/gstmemindex.c:
1102         * tests/check/gst/gsttag.c:
1103         * tests/old/examples/cutter/cutter.c:
1104         * tests/old/examples/mixer/mixer.c:
1105         * tests/old/examples/xml/runxml.c: (main):
1106         * tests/old/testsuite/caps/normalisation.c:
1107         * tests/old/testsuite/debug/global.c:
1108         * tests/old/testsuite/parse/parse1.c:
1109         * tools/gst-xmlinspect.c:
1110         * win32/common/dirent.c:
1111           expand tabs
1112
1113 === release 0.10.0 ===
1114
1115 2005-12-05   <thomas (at) apestaart (dot) org>
1116
1117         * configure.ac:
1118           releasing 0.10.0, "Maroilles"
1119
1120 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1121
1122         submitted by: Funda Wang <fundawang@linux.net.cn>
1123
1124         * po/LINGUAS:
1125         * po/zh_CN.po:
1126           added Chinese (Traditional) translation
1127
1128 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1129
1130         * docs/gst/gstreamer-sections.txt:
1131         * docs/libs/tmpl/gstdataprotocol.sgml:
1132         * docs/random/thomasvs/TODO:
1133         * gst/gstutils.c:
1134         * gst/gstutils.h:
1135           fix docs
1136
1137 2005-12-05  Andy Wingo  <wingo@pobox.com>
1138
1139         patch by: Wim Taymans <wim@fluendo.com>
1140
1141         * libs/gst/base/gstbasetransform.c
1142         (gst_base_transform_prepare_output_buf)
1143         (gst_base_transform_buffer_alloc):
1144         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1145         alloc_buffer_and_set_caps.
1146
1147         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1148         set_caps on the source pad.
1149         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1150         alloc_buffer used to do. Fixes #322874.
1151
1152         * docs/gst/gstreamer-sections.txt: 
1153         * docs/design/part-negotiation.txt: 
1154         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1155         changes.
1156
1157 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1158
1159         patch by: Sebastien Moutte
1160
1161         * win32/MANIFEST:
1162         * win32/common/config.h.in:
1163         * win32/vs6/libgstcontroller.dsp:
1164           win32 build fixes
1165
1166 2005-12-05  Wim Taymans  <wim@fluendo.com>
1167
1168         * gst/gstcaps.c: (gst_caps_is_equal):
1169         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1170         (gst_fake_src_create):
1171         Back out previous code changes, leave doc updates, file bugs 
1172         instead. 
1173
1174 2005-12-05  Wim Taymans  <wim@fluendo.com>
1175
1176         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1177         (gst_fake_src_get_times), (gst_fake_src_create):
1178         * plugins/elements/gstfakesrc.h:
1179         Fix broken sync code.
1180
1181 2005-12-05  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/gstcaps.c: (gst_caps_is_equal):
1184         Comparing NULL against !NULL yields different caps, not a
1185         failure.
1186
1187 2005-12-05  Wim Taymans  <wim@fluendo.com>
1188
1189         * gst/gstpipeline.c:
1190         Fix small typo in docs.
1191
1192 2005-12-05  Andy Wingo  <wingo@pobox.com>
1193
1194         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1195
1196         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1197         registries/plugins with a MAJORMINOR one.
1198         (plugin_desc): Rename library from gstcoreleements to
1199         staticelements. Fixes #323222.
1200
1201 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1202
1203         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1204           Change debug category to 'collectpads' from 'collect_pads'
1205           (fixes #323250).
1206
1207 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1208
1209         patch by: Sebastien Moutte
1210
1211         * libs/gst/controller/gstinterpolation.c:
1212           use convert function for uint64/double
1213         * win32/vs6/libgstcontroller.dsp:
1214           link to GLib
1215
1216 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1217
1218         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1219         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1220         * gst/gstutils.h:
1221         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1222           add tests that seem to show that the guint64/gdouble conversions
1223           are correct.
1224
1225 2005-12-02  Wim Taymans  <wim@fluendo.com>
1226
1227         * gst/gstregistry.c: (gst_registry_add_path):
1228         * gst/gstregistry.h:
1229         * gst/gstregistryxml.c:
1230         Fix docs again.
1231
1232 2005-12-02  Wim Taymans  <wim@fluendo.com>
1233
1234         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1235         (gst_util_uint64_scale_int):
1236         Small cleanup.
1237
1238         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1239         Add debug log line.
1240
1241         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1242         Add FIXME.
1243
1244 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * win32/MANIFEST:
1247         * win32/common/config.h:
1248         * win32/vs6/gstreamer.dsw:
1249         * win32/vs6/libgstcoreelements.dsp:
1250         * win32/vs6/libgstelements.dsp:
1251           renamed core elements plugin
1252
1253 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1254
1255         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1256         (get_candidates):
1257           do piece-wise major/minor comparison so 0.9 < 0.10
1258           also allow .exe extensions for tools
1259
1260 2005-12-02  Michael Smith  <msmith@fluendo.com>
1261
1262         * gst/gst.c:
1263           Escape a % to make gtkdoc happier; bug 322958.
1264
1265 === release 0.9.7 ===
1266
1267 2005-12-01   <thomas (at) apestaart (dot) org>
1268
1269         * configure.ac:
1270           releasing 0.9.7, "My Dog Has No Nose"
1271
1272 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1273
1274         * common/gst-xmlinspect.py:
1275         * configure.ac:
1276         * docs/libs/tmpl/gstdataprotocol.sgml:
1277         * docs/random/release:
1278         * po/af.po:
1279         * po/az.po:
1280         * po/bg.po:
1281         * po/ca.po:
1282         * po/cs.po:
1283         * po/de.po:
1284         * po/en_GB.po:
1285         * po/fr.po:
1286         * po/it.po:
1287         * po/nb.po:
1288         * po/nl.po:
1289         * po/ru.po:
1290         * po/sq.po:
1291         * po/sr.po:
1292         * po/sv.po:
1293         * po/tr.po:
1294         * po/uk.po:
1295         * po/vi.po:
1296         * win32/common/config.h:
1297         * win32/common/config.h.in:
1298         * win32/vs6/gst_inspect.dsp:
1299         * win32/vs6/gst_launch.dsp:
1300         * win32/vs6/libgstbase.dsp:
1301         * win32/vs6/libgstelements.dsp:
1302         * win32/vs6/libgstreamer.dsp:
1303         * win32/vs7/GStreamer.vcproj:
1304         * win32/vs7/gst-inspect.vcproj:
1305         * win32/vs7/gst-launch.vcproj:
1306         * win32/vs7/libgstbase.vcproj:
1307           bump GST_MAJORMINOR to 0.10
1308           reset libtool version
1309
1310 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1311
1312         * po/LINGUAS:
1313         * po/bg.po:
1314           Added Bulgarian translation by (Alexander Shopov)
1315
1316 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1317
1318         * tests/check/gst/gstplugin.c:
1319           fix test
1320
1321 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1322
1323         * common/gst-xmlinspect.py:
1324         * common/gtk-doc-plugins.mak:
1325         * configure.ac:
1326         * docs/Makefile.am:
1327         * docs/gst/Makefile.am:
1328         * docs/gst/gstreamer-docs.sgml:
1329         * docs/gst/gstreamer-sections.txt:
1330         * docs/gst/gstreamer.types:
1331         * docs/gst/gstreamer.types.in:
1332         * docs/plugins/Makefile.am:
1333         * docs/plugins/gstreamer-plugins-docs.sgml:
1334         * docs/plugins/gstreamer-plugins-sections.txt:
1335         * docs/plugins/gstreamer-plugins.types:
1336         * docs/plugins/inspect.stamp:
1337         * docs/plugins/inspect/plugin-coreelements.xml:
1338         * docs/plugins/inspect/plugin-coreindexers.xml:
1339         * docs/plugins/scanobj-build.stamp:
1340         * gstreamer.spec.in:
1341         * plugins/elements/Makefile.am:
1342         * plugins/elements/gstelements.c:
1343         * plugins/elements/gstfakesink.c:
1344         * plugins/elements/gstfakesrc.c:
1345         * plugins/elements/gstfilesink.c:
1346         * plugins/elements/gstfilesrc.c:
1347         * plugins/elements/gstqueue.c:
1348         * plugins/indexers/Makefile.am:
1349         * plugins/indexers/gstindexers.c:
1350           document core plugins in a separate document just like all the
1351           others
1352           rename these plugins to something starting with core
1353
1354 2005-12-01  Andy Wingo  <wingo@pobox.com>
1355
1356         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1357         padding here before, but it missed the commit.
1358
1359 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1360
1361         * libs/gst/controller/gstinterpolation.c:
1362           whitespace prices have crashed, we should feel free to use some now
1363           use gst_guint64_to_gdouble
1364
1365 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1366
1367         * libs/gst/controller/gstcontroller.c:
1368         * libs/gst/controller/gsthelper.c:
1369         * libs/gst/controller/gstinterpolation.c:
1370         * libs/gst/controller/lib.c:
1371           wrap config.h include
1372
1373 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1374
1375         * docs/gst/gstreamer-sections.txt:
1376           update docs
1377
1378 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1379
1380         * plugins/elements/gstelements.c:
1381         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1382         (gst_fd_sink__class_init), (gst_fd_sink__init),
1383         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1384         (gst_fd_sink__get_property):
1385         * plugins/elements/gstfdsink.h:
1386         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1387         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1388         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1389         (gst_fd_src_unlock), (gst_fd_src_set_property),
1390         (gst_fd_src_get_property), (gst_fd_src_create),
1391         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1392         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1393         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1394         (gst_fd_src_uri_handler_init):
1395         * plugins/elements/gstfdsrc.h:
1396         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1397           more anal cleanup
1398
1399 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1400
1401         * docs/gst/Makefile.am:
1402         * docs/gst/gstreamer.types.in:
1403         * gst/Makefile.am:
1404           fix the docs build
1405
1406 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1407
1408         * configure.ac:
1409         * gst/Makefile.am:
1410         * gst/gst.c:
1411         * gst/gstplugin.h:
1412         * gst/gstregistry.h:
1413         * tests/benchmarks/complexity.c:
1414         * tests/benchmarks/mass-elements.c:
1415         * tests/check/Makefile.am:
1416         * tools/Makefile.am:
1417         * tools/gst-inspect.c:
1418         * tools/gst-xmlinspect.c:
1419           various fixes to make
1420           --disable-nls --disable-registry --disable-loadsave
1421           --disable-parse --disable-gst-debug
1422           work and get the core .so down to 360444 bytes after stripping
1423
1424 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1425
1426         * Makefile.am:
1427         * configure.ac:
1428           descend into tests
1429         * docs/random/thomasvs/TODO:
1430         * tests/Makefile.am:
1431         * tests/README:
1432           add a README
1433
1434 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1435
1436         * win32/GStreamer.vcproj:
1437         * win32/MANIFEST:
1438         * win32/Makefile:
1439         * win32/Makefile.inspect:
1440         * win32/Makefile.launch:
1441         * win32/Makefile.register:
1442         * win32/README.txt:
1443         * win32/gst-inspect.vcproj:
1444         * win32/gst-launch.vcproj:
1445         * win32/gst-register.vcproj:
1446         * win32/gstelements.vcproj:
1447         * win32/gstgetbits.def:
1448         * win32/gstgetbits.vcproj:
1449         * win32/gstreamer-dbg.def:
1450         * win32/gstreamer.def:
1451         * win32/libgstbase.def:
1452         * win32/libgstbase.vcproj:
1453         * win32/link_oldruntime.c:
1454         * win32/mman.c:
1455         * win32/mman.h:
1456         * win32/mman.inl:
1457         * win32/msvc71.sln:
1458           move even more stuff, win32/ is nice and clean now
1459
1460 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1461
1462         * libs/gst/control/.cvsignore:
1463         * win32/MANIFEST:
1464         * win32/config.h:
1465         * win32/dirent.c:
1466         * win32/dirent.h:
1467         * win32/gstbytestream.def:
1468         * win32/gstbytestream.vcproj:
1469         * win32/gstconfig.h:
1470         * win32/gstenumtypes.c:
1471         * win32/gstenumtypes.h:
1472         * win32/gstoptimalscheduler.vcproj:
1473         * win32/gstversion.h:
1474         * win32/gtchar.h:
1475         * win32/testsuite/bins.vcproj:
1476         * win32/testsuite/bytestream.vcproj:
1477         * win32/testsuite/caps.vcproj:
1478         * win32/testsuite/cleanup.vcproj:
1479         * win32/testsuite/clock.vcproj:
1480         * win32/testsuite/debug.vcproj:
1481         * win32/testsuite/dlopen.vcproj:
1482         * win32/testsuite/dynparams.vcproj:
1483         * win32/testsuite/elements.vcproj:
1484         * win32/testsuite/ghostpads.vcproj:
1485         * win32/testsuite/indexers.vcproj:
1486         * win32/testsuite/negotiation.vcproj:
1487         * win32/testsuite/parse.vcproj:
1488         * win32/testsuite/plugin.vcproj:
1489         * win32/testsuite/refcounting.vcproj:
1490         * win32/testsuite/schedulers.vcproj:
1491         * win32/testsuite/states.vcproj:
1492         * win32/testsuite/tags.vcproj:
1493         * win32/testsuite/threads.vcproj:
1494           remove old win32 stuff that isn't maintained and should be
1495           reorganized
1496
1497 2005-11-30  Andy Wingo  <wingo@pobox.com>
1498
1499         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1500         loading the gst.interfaces python module bork.
1501
1502         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1503         available since GLib 2.2. Fixes #318031.
1504
1505 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1506
1507         * Makefile.am:
1508         * check/.cvsignore:
1509         * check/Makefile.am:
1510         * check/elements/.cvsignore:
1511         * check/elements/fakesrc.c:
1512         * check/elements/fdsrc.c:
1513         * check/elements/identity.c:
1514         * check/generic/.cvsignore:
1515         * check/generic/states.c:
1516         * check/gst-libs/.cvsignore:
1517         * check/gst-libs/controller.c:
1518         * check/gst-libs/gdp.c:
1519         * check/gst/.cvsignore:
1520         * check/gst/capslist.h:
1521         * check/gst/gst.c:
1522         * check/gst/gstbin.c:
1523         * check/gst/gstbuffer.c:
1524         * check/gst/gstbus.c:
1525         * check/gst/gstcaps.c:
1526         * check/gst/gstelement.c:
1527         * check/gst/gstevent.c:
1528         * check/gst/gstghostpad.c:
1529         * check/gst/gstiterator.c:
1530         * check/gst/gstmessage.c:
1531         * check/gst/gstminiobject.c:
1532         * check/gst/gstobject.c:
1533         * check/gst/gstpad.c:
1534         * check/gst/gstpipeline.c:
1535         * check/gst/gstplugin.c:
1536         * check/gst/gstsegment.c:
1537         * check/gst/gststructure.c:
1538         * check/gst/gstsystemclock.c:
1539         * check/gst/gsttag.c:
1540         * check/gst/gstutils.c:
1541         * check/gst/gstvalue.c:
1542         * check/net/.cvsignore:
1543         * check/net/gstnetclientclock.c:
1544         * check/net/gstnettimeprovider.c:
1545         * check/pipelines/.cvsignore:
1546         * check/pipelines/cleanup.c:
1547         * check/pipelines/simple_launch_lines.c:
1548         * check/pipelines/stress.c:
1549         * check/states/.cvsignore:
1550         * check/states/sinks.c:
1551         * configure.ac:
1552         * examples/Makefile.am:
1553         * examples/appreader/.cvsignore:
1554         * examples/appreader/Makefile.am:
1555         * examples/appreader/appreader.c:
1556         * examples/controller/.cvsignore:
1557         * examples/controller/Makefile.am:
1558         * examples/controller/audio-example.c:
1559         * examples/cutter/.cvsignore:
1560         * examples/cutter/Makefile.am:
1561         * examples/cutter/cutter.c:
1562         * examples/cutter/cutter.h:
1563         * examples/events/Makefile.am:
1564         * examples/events/seek.c:
1565         * examples/helloworld/.cvsignore:
1566         * examples/helloworld/Makefile.am:
1567         * examples/helloworld/helloworld.c:
1568         * examples/helloworld2/.cvsignore:
1569         * examples/helloworld2/Makefile.am:
1570         * examples/helloworld2/helloworld2.c:
1571         * examples/launch/.cvsignore:
1572         * examples/launch/Makefile.am:
1573         * examples/launch/mp3parselaunch.c:
1574         * examples/launch/mp3play:
1575         * examples/manual/.cvsignore:
1576         * examples/manual/Makefile.am:
1577         * examples/manual/extract.pl:
1578         * examples/metadata/Makefile.am:
1579         * examples/metadata/read-metadata.c:
1580         * examples/mixer/.cvsignore:
1581         * examples/mixer/Makefile.am:
1582         * examples/mixer/mixer.c:
1583         * examples/mixer/mixer.h:
1584         * examples/pingpong/.cvsignore:
1585         * examples/pingpong/Makefile.am:
1586         * examples/pingpong/pingpong.c:
1587         * examples/plugins/.cvsignore:
1588         * examples/plugins/Makefile.am:
1589         * examples/plugins/example.c:
1590         * examples/plugins/example.h:
1591         * examples/pwg/.cvsignore:
1592         * examples/pwg/Makefile.am:
1593         * examples/pwg/extract.pl:
1594         * examples/queue/.cvsignore:
1595         * examples/queue/Makefile.am:
1596         * examples/queue/queue.c:
1597         * examples/queue2/.cvsignore:
1598         * examples/queue2/Makefile.am:
1599         * examples/queue2/queue2.c:
1600         * examples/queue3/.cvsignore:
1601         * examples/queue3/Makefile.am:
1602         * examples/queue3/queue3.c:
1603         * examples/queue4/.cvsignore:
1604         * examples/queue4/Makefile.am:
1605         * examples/queue4/queue4.c:
1606         * examples/retag/.cvsignore:
1607         * examples/retag/Makefile.am:
1608         * examples/retag/retag.c:
1609         * examples/retag/transcode.c:
1610         * examples/thread/.cvsignore:
1611         * examples/thread/Makefile.am:
1612         * examples/thread/thread.c:
1613         * examples/typefind/.cvsignore:
1614         * examples/typefind/Makefile.am:
1615         * examples/typefind/typefind.c:
1616         * examples/xml/.cvsignore:
1617         * examples/xml/Makefile.am:
1618         * examples/xml/createxml.c:
1619         * examples/xml/runxml.c:
1620         * tests/Makefile.am:
1621         * tests/check/Makefile.am:
1622         * testsuite/.cvsignore:
1623         * testsuite/Makefile.am:
1624         * testsuite/Rules:
1625         * testsuite/caps/.cvsignore:
1626         * testsuite/caps/Makefile.am:
1627         * testsuite/caps/app_fixate.c:
1628         * testsuite/caps/audioscale.c:
1629         * testsuite/caps/caps.c:
1630         * testsuite/caps/caps.h:
1631         * testsuite/caps/caps_strings:
1632         * testsuite/caps/compatibility.c:
1633         * testsuite/caps/deserialize.c:
1634         * testsuite/caps/enumcaps.c:
1635         * testsuite/caps/eratosthenes.c:
1636         * testsuite/caps/filtercaps.c:
1637         * testsuite/caps/fixed.c:
1638         * testsuite/caps/fraction-convert.c:
1639         * testsuite/caps/fraction-multiply-and-zero.c:
1640         * testsuite/caps/intersect2.c:
1641         * testsuite/caps/intersection.c:
1642         * testsuite/caps/normalisation.c:
1643         * testsuite/caps/random.c:
1644         * testsuite/caps/renegotiate.c:
1645         * testsuite/caps/sets.c:
1646         * testsuite/caps/simplify.c:
1647         * testsuite/caps/string-conversions.c:
1648         * testsuite/caps/structure.c:
1649         * testsuite/caps/subtract.c:
1650         * testsuite/caps/union.c:
1651         * testsuite/debug/.cvsignore:
1652         * testsuite/debug/Makefile.am:
1653         * testsuite/debug/category.c:
1654         * testsuite/debug/commandline.c:
1655         * testsuite/debug/global.c:
1656         * testsuite/debug/output.c:
1657         * testsuite/debug/printf_extension.c:
1658         * testsuite/dlopen/.cvsignore:
1659         * testsuite/dlopen/Makefile.am:
1660         * testsuite/dlopen/dlopen_gst.c:
1661         * testsuite/dlopen/loadgst.c:
1662         * testsuite/elements/.cvsignore:
1663         * testsuite/elements/Makefile.am:
1664         * testsuite/elements/gst-inspect-check.in:
1665         * testsuite/elements/struct_i386.h:
1666         * testsuite/elements/struct_size.c:
1667         * testsuite/indexers/.cvsignore:
1668         * testsuite/indexers/Makefile.am:
1669         * testsuite/indexers/cache1.c:
1670         * testsuite/indexers/indexdump.c:
1671         * testsuite/parse/.cvsignore:
1672         * testsuite/parse/Makefile.am:
1673         * testsuite/parse/parse1.c:
1674         * testsuite/parse/parse2.c:
1675         * testsuite/plugin/.cvsignore:
1676         * testsuite/plugin/Makefile.am:
1677         * testsuite/plugin/README:
1678         * testsuite/plugin/dynamic.c:
1679         * testsuite/plugin/linked.c:
1680         * testsuite/plugin/loading.c:
1681         * testsuite/plugin/registry.c:
1682         * testsuite/plugin/static.c:
1683         * testsuite/plugin/static2.c:
1684         * testsuite/plugin/testplugin.c:
1685         * testsuite/plugin/testplugin2.c:
1686         * testsuite/plugin/testplugin2_s.c:
1687         * testsuite/plugin/testplugin_s.c:
1688         * testsuite/refcounting/.cvsignore:
1689         * testsuite/refcounting/Makefile.am:
1690         * testsuite/refcounting/bin.c:
1691         * testsuite/refcounting/element.c:
1692         * testsuite/refcounting/element_pad.c:
1693         * testsuite/refcounting/mainloop.c:
1694         * testsuite/refcounting/mem.c:
1695         * testsuite/refcounting/mem.h:
1696         * testsuite/refcounting/object.c:
1697         * testsuite/refcounting/pad.c:
1698         * testsuite/refcounting/sched.c:
1699         * testsuite/refcounting/thread.c:
1700         * testsuite/states/.cvsignore:
1701         * testsuite/states/Makefile.am:
1702         * testsuite/states/bin.c:
1703         * testsuite/states/locked.c:
1704         * testsuite/states/parent.c:
1705         * testsuite/threads/.cvsignore:
1706         * testsuite/threads/159566.c:
1707         * testsuite/threads/159852.c:
1708         * testsuite/threads/Makefile.am:
1709         * testsuite/threads/queue.c:
1710         * testsuite/threads/signals.c:
1711         * testsuite/threads/staticrec.c:
1712         * testsuite/threads/thread.c:
1713         * testsuite/threads/threadb.c:
1714         * testsuite/threads/threadc.c:
1715         * testsuite/threads/threadd.c:
1716         * testsuite/threads/threade.c:
1717         * testsuite/threads/threadf.c:
1718         * testsuite/threads/threadg.c:
1719         * testsuite/threads/threadh.c:
1720         * testsuite/threads/threadi.c:
1721           move all of these under tests
1722
1723 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1724
1725         * configure.ac:
1726         * tests/Makefile.am:
1727           fix distcheck
1728
1729 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1730
1731         * docs/gst/gstreamer-sections.txt:
1732         * tests/sched/.cvsignore:
1733         * tests/sched/Makefile.am:
1734         * tests/sched/cases/(fs-fs).xml:
1735         * tests/sched/cases/(fs-i-fs).xml:
1736         * tests/sched/cases/(fs-i-i-fs).xml:
1737         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1738         * tests/sched/dynamic-pipeline.c:
1739         * tests/sched/interrupt1.c:
1740         * tests/sched/interrupt2.c:
1741         * tests/sched/interrupt3.c:
1742         * tests/sched/runtestcases:
1743         * tests/sched/runxml.c:
1744         * tests/sched/sched-stress.c:
1745         * tests/sched/sort.c:
1746         * tests/sched/testcases:
1747         * tests/sched/testcases1.tc:
1748         * tests/seeking/.cvsignore:
1749         * tests/seeking/Makefile.am:
1750         * tests/seeking/seeking1.c:
1751         * tests/threadstate/.cvsignore:
1752         * tests/threadstate/Makefile.am:
1753         * tests/threadstate/test1.c:
1754         * tests/threadstate/test2.c:
1755         * tests/threadstate/threadstate1.c:
1756         * tests/threadstate/threadstate2.c:
1757         * tests/threadstate/threadstate3.c:
1758         * tests/threadstate/threadstate4.c:
1759         * tests/threadstate/threadstate5.c:
1760           remove obsolete tests
1761         * configure.ac:
1762         * tests/bench-complexity.scm:
1763         * tests/bench-mass_elements.scm:
1764         * tests/complexity.c:
1765         * tests/complexity.gnuplot:
1766         * tests/instantiate/.cvsignore:
1767         * tests/instantiate/Makefile.am:
1768         * tests/instantiate/caps.c:
1769         * tests/mass_elements.c:
1770         * tests/network-clock-utils.scm:
1771         * tests/network-clock.scm:
1772         * tests/plot-data:
1773         First pass at cleaning up tests/ dir before moving the rest
1774         Combined with CVS surgery
1775
1776 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1777
1778         * po/POTFILES.in:
1779           queue has moved, update
1780
1781 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1782
1783         * docs/gst/gstreamer-sections.txt:
1784           remove double entries from the docs
1785         * gst/gst_private.h:
1786         * gst/gstinfo.c: (_gst_debug_init):
1787           remove the THREAD debug category
1788         * gst/Makefile.am:
1789         * gst/gstqueue.c:
1790         * gst/gstqueue.h:
1791         * docs/gst/gstreamer.types:
1792         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1793         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1794           completely move queue and fix up debugging categories
1795
1796 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1797
1798         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1799           make initialization portable, using LL is not
1800
1801 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1802
1803         * win32/common/gstconfig.h:
1804           add large padding
1805
1806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * win32/common/libgstreamer.def:
1809           rename symbols; sort base section
1810
1811 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * gst/gstclock.c: (do_linear_regression):
1814           remove crack non-portable handrolled DEBUG macro
1815
1816 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1817
1818         * docs/random/release:
1819           update notes
1820         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1821         (gst_object_flags_get_type), (register_gst_bin_flags),
1822         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1823         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1824         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1825         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1826         (gst_caps_flags_get_type), (register_gst_clock_return),
1827         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1828         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1829         (gst_clock_flags_get_type), (register_gst_state),
1830         (gst_state_get_type), (register_gst_state_change_return),
1831         (gst_state_change_return_get_type), (register_gst_state_change),
1832         (gst_state_change_get_type), (register_gst_element_flags),
1833         (gst_element_flags_get_type), (register_gst_core_error),
1834         (gst_core_error_get_type), (register_gst_library_error),
1835         (gst_library_error_get_type), (register_gst_resource_error),
1836         (gst_resource_error_get_type), (register_gst_stream_error),
1837         (gst_stream_error_get_type), (register_gst_event_type_flags),
1838         (gst_event_type_flags_get_type), (register_gst_event_type),
1839         (gst_event_type_get_type), (register_gst_seek_type),
1840         (gst_seek_type_get_type), (register_gst_seek_flags),
1841         (gst_seek_flags_get_type), (register_gst_format),
1842         (gst_format_get_type), (register_gst_index_certainty),
1843         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1844         (gst_index_entry_type_get_type),
1845         (register_gst_index_lookup_method),
1846         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1847         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1848         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1849         (gst_index_flags_get_type), (register_gst_debug_level),
1850         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1851         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1852         (gst_iterator_result_get_type), (register_gst_iterator_item),
1853         (gst_iterator_item_get_type), (register_gst_message_type),
1854         (gst_message_type_get_type), (register_gst_mini_object_flags),
1855         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1856         (gst_pad_link_return_get_type), (register_gst_flow_return),
1857         (gst_flow_return_get_type), (register_gst_activate_mode),
1858         (gst_activate_mode_get_type), (register_gst_pad_direction),
1859         (gst_pad_direction_get_type), (register_gst_pad_flags),
1860         (gst_pad_flags_get_type), (register_gst_pad_presence),
1861         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1862         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1863         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1864         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1865         (gst_plugin_flags_get_type), (register_gst_rank),
1866         (gst_rank_get_type), (register_gst_query_type),
1867         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1868         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1869         (gst_tag_flag_get_type), (register_gst_task_state),
1870         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1871         (gst_alloc_trace_flags_get_type),
1872         (register_gst_type_find_probability),
1873         (gst_type_find_probability_get_type), (register_gst_uri_type),
1874         (gst_uri_type_get_type), (register_gst_parse_error),
1875         (gst_parse_error_get_type):
1876         * win32/common/gstenumtypes.h:
1877         * win32/common/gstversion.h:
1878           update visual studio generated files
1879
1880 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1881
1882         * win32/vs6/libgstbase.dsp:
1883         * win32/vs6/libgstelements.dsp:
1884           update project files for new locations
1885
1886 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1887
1888         * Makefile.am:
1889           remove some files
1890         * README:
1891           reinstate and update
1892         * DEVEL:
1893         * REQUIREMENTS:
1894           removed
1895         * LICENSE:
1896         * docs/random/LICENSE:
1897           moved to random
1898
1899 2005-11-30  Edward Hervey  <edward@fluendo.com>
1900
1901         * gst/gsttypefind.c: (gst_type_find_register):
1902         * gst/gsttypefind.h:
1903         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1904         (gst_type_find_factory_dispose):
1905         * gst/gsttypefindfactory.h:
1906         Fix memory leak in GstTypeFindFactory.
1907
1908 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1909
1910         * gst/gst.c:
1911         * plugins/elements/Makefile.am:
1912         * plugins/elements/gstelements.c:
1913         * plugins/elements/gstqueue.c:
1914           move queue from core to the elements plugin
1915
1916 2005-11-29  Andy Wingo  <wingo@pobox.com>
1917
1918         * libs/gst/base/gstbasetransform.h: 
1919         * libs/gst/base/gstbasesrc.h: 
1920         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1921
1922         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1923         of pointers by which to pad very extensible base classes (like the
1924         ones in libs/gst/base).
1925
1926 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1927
1928         * docs/gst/gstreamer-docs.sgml:
1929         * docs/gst/gstreamer-sections.txt:
1930         * docs/libs/gstreamer-libs-docs.sgml:
1931         * docs/libs/gstreamer-libs-sections.txt:
1932           moving documentation from core to lib
1933
1934 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1935
1936         * check/Makefile.am:
1937         * configure.ac:
1938         * docs/gst/Makefile.am:
1939         * gst/Makefile.am:
1940         * gst/base/.cvsignore:
1941         * gst/base/Makefile.am:
1942         * gst/base/README:
1943         * gst/base/gstadapter.c:
1944         * gst/base/gstadapter.h:
1945         * gst/base/gstbasesink.c:
1946         * gst/base/gstbasesink.h:
1947         * gst/base/gstbasesrc.c:
1948         * gst/base/gstbasesrc.h:
1949         * gst/base/gstbasetransform.c:
1950         * gst/base/gstbasetransform.h:
1951         * gst/base/gstcollectpads.c:
1952         * gst/base/gstcollectpads.h:
1953         * gst/base/gstpushsrc.c:
1954         * gst/base/gstpushsrc.h:
1955         * gst/base/gsttypefindhelper.c:
1956         * gst/base/gsttypefindhelper.h:
1957         * gst/check/Makefile.am:
1958         * gst/check/gstcheck.c:
1959         * gst/check/gstcheck.h:
1960         * gst/net/Makefile.am:
1961         * gst/net/gstnet.h:
1962         * gst/net/gstnetclientclock.c:
1963         * gst/net/gstnetclientclock.h:
1964         * gst/net/gstnettimepacket.c:
1965         * gst/net/gstnettimepacket.h:
1966         * gst/net/gstnettimeprovider.c:
1967         * gst/net/gstnettimeprovider.h:
1968         * libs/gst/Makefile.am:
1969         * libs/gst/base/Makefile.am:
1970         * libs/gst/base/gstbasetransform.c:
1971         * libs/gst/check/Makefile.am:
1972         * plugins/elements/Makefile.am:
1973         * po/POTFILES.in:
1974           CVS surgery + support to move base, check, and net out of gst
1975           and into libs/gst
1976
1977 2005-11-29  Andy Wingo  <wingo@pobox.com>
1978
1979         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1980
1981         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1982         padding.
1983
1984         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1985
1986         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1987
1988         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1989
1990         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1991         padding; reduces object size by about 30%. We don't expect
1992         anything else to go into gstobject.
1993
1994         * gst/gstminiobject.h (struct _GstMiniObject)
1995         (struct _GstMiniObjectClass): Only one pointer of padding; the
1996         payload is only a pointer and two ints anyway. For the class there
1997         are only two methods as well.
1998         
1999         * gst/gstelement.h (struct _GstElementClass): Removed
2000         the state_changed signal callback, it is not used.
2001
2002 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2003
2004         * docs/gst/gstreamer.types:
2005           fix includes, though they are a little dinky
2006
2007 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2008
2009         * check/Makefile.am:
2010           look in the right place for elements, a lot more chance of
2011           success
2012         * gst/Makefile.am:
2013           remove indexers and elements subdirs
2014         * plugins/Makefile.am:
2015           make indexers conditional
2016
2017 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2018
2019         * Makefile.am:
2020         * configure.ac:
2021         * plugins/elements/Makefile.am:
2022         * plugins/elements/gstcapsfilter.c:
2023         * plugins/elements/gstfilesink.c:
2024         * plugins/elements/gstfilesrc.c:
2025         * plugins/elements/gstidentity.c:
2026         * plugins/indexers/Makefile.am:
2027           do CVS surgery and related build fixery to move elements
2028           and indexers in a new gstreamer/plugins directory, out of the
2029           gst/ directory
2030
2031 2005-11-29  Andy Wingo  <wingo@pobox.com>
2032
2033         * check/Makefile.am:
2034         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2035         * pkgconfig/gstreamer-net.pc.in:
2036         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2037         #322257.
2038
2039 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2040
2041         * tools/Makefile.am:
2042         * tools/gst-complete.1.in:
2043         * tools/gst-complete.c:
2044         * tools/gst-compprep.1.in:
2045         * tools/gst-compprep.c:
2046           removing -compprep and -complete
2047
2048 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2049
2050         * gst/gstevent.c: (gst_event_new_new_segment),
2051         (gst_event_parse_new_segment):
2052         * gst/gstevent.h:
2053           fix #320529 - clean up new_segment API and structure.
2054           Let's hope everyone was using the methods, and not the structure.
2055
2056 2005-11-29  Edward Hervey  <edward@fluendo.com>
2057
2058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2059         (gst_base_sink_event), (gst_base_sink_do_sync),
2060         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2061         Properly handle non GST_FORMAT_TIME segment
2062         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2063         Properly handle non GST_FORMAT_TIME segment
2064         * gst/gstsegment.c:
2065         This function is valid if the accumulator is 0 and the format
2066         is different from the requested format.
2067         
2068 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2069
2070         * docs/gst/gstreamer-sections.txt:
2071         Add gst_query_new_seeking and gst_query_parse_seeking to the
2072         docs.
2073
2074 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2075
2076         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2077           Treat a pad alloc with new caps the same as if we were not
2078           negotiated, in order to allow a changing upstream output
2079           to produce a new format of data.
2080
2081 2005-11-29  Edward Hervey  <edward@fluendo.com>
2082
2083         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2084         (gst_base_transform_event), (gst_base_transform_eventfunc):
2085         The event virtual method is now properly implemented, with a default
2086         handler
2087         Sub classes should call the parent_class event method. They should
2088         return FALSE if they had a problem handling the given event, or don't
2089         want GstBaseTransform to send that even downstream
2090         * gst/elements/gstidentity.c: (gst_identity_class_init),
2091         (gst_identity_init), (gst_identity_event),
2092         (gst_identity_transform_ip), (gst_identity_set_property),
2093         (gst_identity_get_property):
2094         * gst/elements/gstidentity.h:
2095         Added the single-segment boolean property.
2096         If set to TRUE, it will output a single segment of data, starting from
2097         0, will eat up all incoming newsegment, and modify the timestamp of the
2098         buffers accordingly
2099
2100 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2101
2102         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2103           Don't ref NULL target pad (#322751). Improve docs.
2104
2105 2005-11-29  Michael Smith  <msmith@fluendo.com>
2106
2107         * gst/gstregistryxml.c: (load_plugin):
2108           Don't crash if we failed to load a feature from a plugin. 
2109
2110 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2111
2112         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2113         (GST_START_TEST):
2114           use more check API and less GLib API
2115
2116 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2117
2118         * Makefile.am:
2119           don't run checks if we don't have check
2120         * common/check.mak:
2121           remove the registry when running make torture
2122         * docs/gst/gstreamer-sections.txt:
2123           remove second multiply
2124         * gst/gstqueue.c: (gst_queue_loop):
2125           fix a compile warning when disabling debug
2126
2127 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2128
2129         * gst/gstinfo.h:
2130         Hey! Let's print the pad name if the pointer != NULL instead
2131         of when it == NULL :-)
2132
2133 2005-11-28  Wim Taymans  <wim@fluendo.com>
2134
2135         * check/gst/gstutils.c: (GST_START_TEST):
2136         Updated check, add some scaling accuracy checking code.
2137
2138         * gst/gstutils.c: (gst_util_div128_64),
2139         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2140         (gst_util_uint64_scale_int):
2141         Fix 6 times faster division code. Optimize for common 
2142         1/1 and less common X/1 cases.
2143
2144 2005-11-28  Wim Taymans  <wim@fluendo.com>
2145
2146         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2147         More checks.
2148
2149         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2150         (do_linear_regression), (gst_clock_add_observation):
2151         Cleanups.
2152         Release lock when the clock cannot be slaved.
2153         Catch the case where the regression returned an invalid denominator.
2154
2155         * gst/gstutils.c: (gst_util_div128_64_iterate),
2156         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2157         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2158         Add protentially more performant non-iterative 128/64 divide function
2159         that unfortunatly does not work yet.
2160         Shortcut the trivial 0/X = 0 case.
2161         Remove the warnings on overflow.
2162
2163 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2164
2165         * gst/gstplugin.c: (gst_plugin_register_func):
2166           everything causing a plugin not to load should be at least a WARNING
2167
2168 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2169
2170         * docs/random/ensonic/dparams.txt:
2171           some TODOs for the next dev cycle
2172         * libs/gst/controller/gstcontroller.c:
2173         (gst_controlled_property_set_interpolation_mode),
2174         (gst_controlled_property_new):
2175         * libs/gst/controller/gstcontroller.h:
2176           use base type to assign acccessor functions
2177
2178 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2179
2180         * check/Makefile.am:
2181         Oops, that should have been top_srcdir
2182
2183 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2184
2185         * check/Makefile.am:
2186         * check/elements/fdsrc.c: (GST_START_TEST):
2187         Use a cmdline define to specify the location of a file to use for
2188         testing, to avoid breaking distcheck.
2189
2190 2005-11-28  Andy Wingo  <wingo@pobox.com>
2191
2192         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2193
2194 2005-11-28  Edward Hervey  <edward@fluendo.com>
2195
2196         * tools/gst-launch.c: (main):
2197         Clarify the output strings, makes it easier to translate.
2198         Fixes #322626
2199
2200 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2201
2202         * gst/Makefile.am:
2203           don't try and build net if we don't even have <sys/socket.h>
2204
2205 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2206
2207         * check/Makefile.am:
2208         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2209         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2210           Add tests for fdsrc seekability
2211
2212         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2213         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2214         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2215         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2216         * gst/elements/gstfdsrc.h:
2217           fdsrc should not be a 'live' source.
2218           Implement seeking on seekable fd's.
2219
2220         * gst/gstquery.c: (gst_query_new_seeking),
2221         (gst_query_parse_seeking):
2222         * gst/gstquery.h:
2223           Implement SEEKING query functions: 
2224             *_new_seeking and *_parse_seeking
2225
2226 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2227
2228         * gst/gstelement.c: (gst_element_dispose):
2229           don't loop forever
2230
2231         * gst/gstiterator.c:
2232         * gst/gststructure.c:
2233           doc fixes
2234
2235         * libs/gst/controller/gstcontroller.c:
2236         (gst_controlled_property_set_interpolation_mode):
2237         * libs/gst/controller/gstcontroller.h:
2238         * libs/gst/controller/gstinterpolation.c:
2239         (interpolate_none_get_enum_value_array):
2240           support controlling enums
2241
2242 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2243
2244         * gst/gstvalue.c:
2245           Improve documentation for gst_value_union().
2246
2247         * gst/gstvalue.h:
2248           Change return value for union, intersect and subtract functions
2249           from gint to gboolean.
2250
2251 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         * gst/gstvalue.c: (gst_value_serialize_any_list),
2254         (gst_value_transform_any_list_string),
2255         (gst_value_deserialize_list), (gst_value_deserialize_array),
2256         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2257         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2258         (gst_value_set_fraction_range_full),
2259         (gst_value_deserialize_fraction_range),
2260         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2261         (gst_value_deserialize_boolean),
2262         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2263         (gst_value_serialize_float), (gst_value_deserialize_float),
2264         (gst_string_wrap), (gst_value_deserialize_string),
2265         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2266         (gst_value_union_int_range_int_range),
2267         (gst_value_intersect_int_range_int_range),
2268         (gst_value_intersect_double_range_double_range),
2269         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2270         (gst_value_subtract_int_range_int_range),
2271         (gst_value_subtract_double_double_range),
2272         (gst_value_subtract_double_range_double_range),
2273         (gst_value_deserialize_fraction):
2274         * gst/gstvalue.h:
2275           Use gint, gdouble and gchar in our API instead of int, double and
2276           char (and make usage in gstvalue.c more consistent).
2277
2278 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2279
2280         * check/Makefile.am:
2281         * libs/gst/controller/Makefile.am:
2282         * libs/gst/dataprotocol/Makefile.am:
2283           fix up Makefile.am and remove GST_ENABLE_NEW
2284
2285 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2286
2287         * configure.ac:
2288         * gst/Makefile.am:
2289         * gst/base/Makefile.am:
2290         * gst/check/Makefile.am:
2291         * gst/elements/Makefile.am:
2292         * gst/net/Makefile.am:
2293           update LDFLAGS use some more
2294
2295 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2296
2297         * common/m4/gst-doc.m4:
2298           Fixes #312589
2299
2300 2005-11-26  Edward Hervey  <edward@fluendo.com>
2301
2302         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2303         This shouldn't issue a g_warning since it returns NULL if it
2304         couldn't find the plugin, and all functions using this behave
2305         properly on a NULL return. Switching to a GST_WARNING.
2306
2307 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2308
2309         * gst/gstbin.c: (gst_bin_handle_message_func):
2310         Don't leak clock messages.
2311
2312 2005-11-25  Wim Taymans  <wim@fluendo.com>
2313
2314         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2315         (gst_util_uint64_scale_int):
2316         Optimisations, remove unneeded vars.
2317
2318 2005-11-25  Wim Taymans  <wim@fluendo.com>
2319
2320         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2321         Added more checks for the high precision uint64 cases.
2322
2323         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2324         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2325         Implement high precision (guint64 * guint64) / guint64.
2326
2327 2005-11-24  Wim Taymans  <wim@fluendo.com>
2328
2329         * gst/base/gstbasesrc.c: (gst_base_src_query):
2330         Fix wrong percentage query.
2331
2332         * gst/gstutils.c: (gst_util_uint64_scale),
2333         (gst_util_uint64_scale_int):
2334         Add some more common cases that can be handled 
2335         efficiently to _scale.
2336
2337 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2340         (gst_mini_object_suite):
2341           don't use check calls from threads; check probably isn't
2342           threadsafe and using a lock to make it threadsafe would
2343           defeat the purpose of this check
2344         * gst/check/gstcheck.c:
2345         * gst/check/gstcheck.h:
2346           use GST_DEBUG some more
2347
2348 2005-11-24  Wim Taymans  <wim@fluendo.com>
2349
2350         * gst/gstutils.c: (gst_util_uint64_scale),
2351         (gst_util_uint64_scale_int):
2352         Chain trivial case to _scale_int.
2353
2354 2005-11-24  Wim Taymans  <wim@fluendo.com>
2355
2356         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2357         Added test for scaling.
2358
2359         * gst/gstclock.h:
2360         Small doc fix.
2361
2362         * gst/gstutils.c: (gst_util_uint64_scale_int):
2363         Implemented high precision scaling code.
2364
2365 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2366
2367         * gst/gstinfo.h:
2368           do not crash on pad==NULL
2369
2370 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2371
2372         Patch by: Stefan Kost
2373
2374         * common/gtk-doc.mak:
2375         * docs/gst/Makefile.am:
2376         * docs/libs/Makefile.am:
2377           Fix distcheck issues for the libraries docs build
2378           Closes #319599.
2379
2380 2005-11-24  Michael Smith <msmith@fluendo.com>
2381
2382         * docs/manual/basics-helloworld.xml:
2383           Fix bug #315027: memory leak in example code in docs.
2384
2385 2005-11-24  Michael Smith <msmith@fluendo.com>
2386
2387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2388           Unlock the PREROLL_LOCK in a failure case.
2389
2390 2005-11-24  Wim Taymans  <wim@fluendo.com>
2391
2392         * docs/gst/gstreamer-sections.txt:
2393         * gst/base/gstadapter.h:
2394         * gst/base/gstbasesink.h:
2395         * gst/base/gstbasesrc.h:
2396         * gst/base/gstbasetransform.h:
2397         * gst/base/gstpushsrc.h:
2398         * gst/elements/gstfakesink.h:
2399         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2400         * gst/elements/gstfakesrc.h:
2401         * gst/elements/gstfilesink.h:
2402         * gst/elements/gstfilesrc.h:
2403         * gst/gst.c:
2404         * gst/gstbin.c:
2405         * gst/gstbuffer.c: (_gst_buffer_copy):
2406         * gst/gstbus.h:
2407         * gst/gstcaps.c:
2408         * gst/gstchildproxy.c:
2409         * gst/gstclock.c:
2410         * gst/gstelement.c:
2411         * gst/gstelementfactory.c:
2412         * gst/gstelementfactory.h:
2413         * gst/gstevent.c:
2414         * gst/gstghostpad.h:
2415         * gst/gstindex.h:
2416         * gst/gstinterface.h:
2417         * gst/gstminiobject.c:
2418         * gst/gstminiobject.h:
2419         * gst/gstpad.c:
2420         * gst/gstpad.h:
2421         * gst/gstpadtemplate.h:
2422         * gst/gstpipeline.h:
2423         * gst/gstpluginfeature.h:
2424         * gst/gstquery.h:
2425         * gst/gstqueue.h:
2426         * gst/gsttaglist.c:
2427         * gst/gsttaglist.h:
2428         * gst/gsttagsetter.c:
2429         * gst/gsttagsetter.h:
2430         * gst/gsttrace.c:
2431         * gst/gsttrace.h:
2432         * gst/gsttypefind.h:
2433         * gst/gsturi.h:
2434         * gst/gstvalue.c:
2435         * gst/net/gstnetclientclock.c:
2436         * gst/net/gstnetclientclock.h:
2437         * gst/net/gstnettimepacket.c:
2438         * gst/net/gstnettimeprovider.c:
2439         * gst/net/gstnettimeprovider.h:
2440         Doc fixes.
2441
2442 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2443
2444         * configure.ac: back to HEAD
2445
2446 === release 0.9.6 ===
2447
2448 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2449
2450         * configure.ac:
2451           releasing 0.9.6, "Always On Time"
2452
2453 2005-11-23  Wim Taymans  <wim@fluendo.com>
2454
2455         * docs/gst/gstreamer-sections.txt:
2456         * gst/glib-compat.c:
2457         * gst/gsttagsetter.c:
2458         * gst/gstvalue.c:
2459         * gst/net/gstnetclientclock.c:
2460         * gst/net/gstnettimepacket.h:
2461         Doc updates.
2462
2463 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2464
2465         * docs/faq/using.xml:
2466         * docs/libs/tmpl/gstcontrol.sgml:
2467         * docs/manual/advanced-dparams.xml:
2468         * docs/manual/appendix-checklist.xml:
2469         * docs/manual/basics-elements.xml:
2470         * docs/pwg/other-source.xml:
2471         * docs/random/moving-plugins:
2472         * gst/gstpad.c:
2473         * tools/gst-launch.1.in:
2474           remove mentions of sinesrc
2475
2476 2005-11-23  Michael Smith <msmith@fluendo.com>
2477
2478         * docs/gst/gstreamer-sections.txt:
2479           Update for new API and API changes.
2480         * gst/gstobject.h:
2481           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2482         * gst/gstvalue.c:
2483           Documentation typo fix.
2484         * gst/net/gstnettimepacket.c:
2485           Documentation fixes for arguments.
2486
2487 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2488
2489         * gst/gststructure.c: (gst_structure_get_fraction),
2490         (gst_structure_parse_value),
2491         (gst_structure_fixate_field_nearest_fraction):
2492         * gst/gststructure.h:
2493         * gst/gstutils.c: (gst_util_uint64_scale_int):
2494         * gst/gstutils.h:
2495         * scripts/update-funcnames:
2496         API Changes. 
2497         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2498         Make gst_structure_fixate_field_nearest_fraction take a numerator
2499         and denominator argument instead of a GValue
2500         add gst_structure_get_fraction helper function.
2501
2502 2005-11-23  Wim Taymans  <wim@fluendo.com>
2503
2504         * docs/design/part-TODO.txt:
2505         Update TODO.
2506
2507         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2508         * gst/net/gstnetclientclock.h:
2509         Use parent fields for timeout and window_size.
2510
2511 2005-11-23  Andy Wingo  <wingo@pobox.com>
2512
2513         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2514         rate_num/rate_denom change.
2515
2516         * gst/net/gstnetclientclock.c
2517         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2518         OBJECT_LOCK. Don't call add_observation with the lock.
2519
2520         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2521         fraction.
2522         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2523         rate fraction.
2524         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2525         deal with rate as a fraction whose numerator and denominator are
2526         GstClockTime values.
2527         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2528         master; the other fields are protected by the SLAVE_LOCK.
2529         (do_linear_regression): Note that this must be called with the
2530         SLAVE_LOCK.
2531         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2532         OBJECT_LOCK. Call set_calibration instead of touching the
2533         variables directly.
2534         (gst_clock_set_property, gst_clock_get_property): Protect
2535         master/slave parameters with the SLAVE_LOCK.
2536
2537         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2538         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2539         note that all of the instance variables that add_observation and
2540         the set_master functions use are protected by that lock and not
2541         the OBJECT_LOCK.
2542         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2543
2544         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2545         the caller to take the object lock.
2546
2547 2005-11-23  Wim Taymans  <wim@fluendo.com>
2548
2549         * gst/gsterror.c: (_gst_core_errors_init):
2550         * gst/gsterror.h:
2551         Add error for clock stuff.
2552
2553         * gst/gstpipeline.c: (gst_pipeline_change_state),
2554         (gst_pipeline_set_clock):
2555         Post clock error when clock cannot be used in a pipeline.
2556
2557 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2558
2559         * docs/gst/gstreamer-sections.txt:
2560           make two symbols from gstinfo private for the docs
2561         * gst/base/gstcollectpads.h:
2562         * gst/gstutils.c:
2563           fix doc typos, update docs
2564
2565 2005-11-22  Wim Taymans  <wim@fluendo.com>
2566
2567         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2568         (gst_base_sink_wait), (gst_base_sink_do_sync),
2569         (gst_base_sink_handle_event):
2570         * gst/base/gstbasesink.h:
2571         No need to store the clock, the parent element class already
2572         has it.
2573
2574         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2575         Updates for clock_set returning a gboolean
2576
2577         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2578         (gst_clock_id_wait_async), (gst_clock_class_init),
2579         (gst_clock_init), (gst_clock_finalize),
2580         (gst_clock_get_internal_time), (gst_clock_get_time),
2581         (gst_clock_slave_callback), (gst_clock_set_master),
2582         (gst_clock_get_master), (do_linear_regression),
2583         (gst_clock_add_observation), (gst_clock_set_property),
2584         (gst_clock_get_property):
2585         * gst/gstclock.h:
2586         Implement master/slave. When setting a clock as a slave, a
2587         periodic timeout is scheduled to sample master and slave times.
2588         Then the slave clock is recalibrated to match offset and rate
2589         of the master clock.
2590         Update logging a bit.
2591         Add flag so that a clock can state that is cannot be slaved to
2592         another clock.
2593
2594         * gst/gstelement.c: (gst_element_set_clock):
2595         * gst/gstelement.h:
2596         The set clock returns a gboolean for when an element cannot
2597         deal with the selected clock in the pipeline. 
2598
2599         * gst/gstpipeline.c: (gst_pipeline_change_state),
2600         (gst_pipeline_set_clock):
2601         * gst/gstpipeline.h:
2602         Handle the case where the selected clock cannot be set on
2603         the pipeline.
2604
2605         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2606         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2607         (gst_net_client_clock_set_property),
2608         (gst_net_client_clock_get_property),
2609         (gst_net_client_clock_observe_times):
2610         * gst/net/gstnetclientclock.h:
2611         Use regression code in GstClock parent, remove duplicated
2612         functionality.
2613
2614 2005-11-22  Michael Smith <msmith@fluendo.com>
2615
2616         * gst/gstutils.c: (gst_util_clock_time_scale):
2617         * gst/gstutils.h:
2618         * docs/gst/gstreamer-sections.txt:
2619           Rename method to have extra underscore.
2620
2621 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2622
2623         * gst/elements/Makefile.am:
2624         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2625         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2626         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2627         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2628         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2629         * gst/elements/gstfakesrc.h:
2630         * gst/gstqueue.c: (queue_leaky_get_type):
2631           correctly fix GEnumValues so that nick is the short lowercase
2632           dashed tag
2633         * tools/gst-inspect.c: (print_element_properties_info):
2634           also show the nick, since it's useful to use from parse_launch
2635           syntax
2636           Fixes #322139
2637
2638 2005-11-22  Michael Smith <msmith@fluendo.com>
2639
2640         * gst/gstutils.c: (gst_util_clocktime_scale):
2641         * gst/gstutils.h:
2642         * docs/gst/gstreamer-sections.txt:
2643           Add util method for scaling a clocktime by a fraction. Useful 
2644           implementation is left as an exercise for the reader.
2645
2646 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2647
2648         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2649         If needed, allocate storage in the destination value during
2650         collection.
2651
2652 2005-11-22  Edward Hervey  <edward@fluendo.com>
2653
2654         * docs/gst/gstreamer-sections.txt:
2655         * gst/Makefile.am:
2656         * gst/gst.h:
2657         * gst/gsturitype.c:
2658         * gst/gsturitype.h:
2659         * gst/gstutils.c: (gst_util_set_object_arg):
2660         * tools/gst-compprep.c: (main):
2661         * tools/gst-inspect.c: (print_element_properties_info):
2662         Removed GstURI, closes bug #321061
2663
2664 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2665
2666         * check/gst/gststructure.c: (GST_START_TEST):
2667         * gst/gststructure.c: (gst_structure_parse_value):
2668           Oops, broke automatic string type parsing.
2669           Add a test to catch it in future.
2670
2671 2005-11-22  Andy Wingo  <wingo@pobox.com>
2672
2673         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2674         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2675         Actually rename the function implementations. Grr.
2676
2677 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2678
2679         * check/gst/capslist.h:
2680           Comment test cases
2681         * check/gst/gststructure.c: (GST_START_TEST),
2682         (gst_structure_suite):
2683           Test automatic value type detection in gst_structure_from_string.
2684         * gst/gststructure.c: (gst_structure_parse_value):
2685           Add fraction as a type we try and guess automatically in
2686           caps/structure strings.
2687
2688 2005-11-22  Andy Wingo  <wingo@pobox.com>
2689
2690         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2691
2692         * gst/gsttagsetter.h:
2693         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2694         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2695         (gst_tag_setter_add_tag_valist)
2696         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2697         _add_values, _add_valist, and _add_valist_values. Since this is an
2698         interface the function suffixes should be more explicit so
2699         language binding don't end up with element.add_valist ->
2700         gst_tag_setter_add_valist, for example. Fixes #322069.
2701
2702 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2703
2704         * check/gst/gstcaps.c: (GST_START_TEST):
2705           Extend caps string tests to check that a caps to string
2706           conversion is reversible and produces the same caps.
2707
2708         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2709           Output "fraction" as the generic type fraction range, so caps
2710           serialisation and deserialisation works.
2711         * check/gst/capslist.h:
2712         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2713           Support 'MIN' and 'MAX' for deserialising fractions.
2714
2715 2005-11-22  Andy Wingo  <wingo@pobox.com>
2716
2717         * gst/gstevent.h (gst_event_new_new_segment)
2718         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2719         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2720         Renamed from *_newsegment, *_buffersize, *_notarget.
2721
2722         * scripts/update-funcnames: New script, performs the changes
2723         listed above.
2724
2725 2005-11-22  Wim Taymans  <wim@fluendo.com>
2726
2727         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2728         Make sure the GstFlowReturn is returned.
2729
2730         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2731         (gst_bus_add_signal_watch):
2732         * gst/gstbus.h:
2733         add gst_bus_add_signal_watch_full.
2734
2735         * gst/gstplugin.c: (gst_plugin_load_file):
2736         Small style cleanup.
2737
2738 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2739
2740         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2741           Block the fakesrc srcpad when we send an event, to avoid
2742           contention on the stream_lock causing random test failures.
2743
2744 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2745
2746         * check/gst/gstvalue.c: (GST_START_TEST):
2747         * gst/gstvalue.c: (gst_value_fraction_subtract):
2748           Fix subtraction.
2749
2750 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2751
2752         * gst/gst.h:
2753           include "gstchildproxy.h"
2754         * gst/gstchildproxy.h:
2755         * libs/gst/controller/gstcontroller.h:
2756           use G_GNUC_NULL_TERMINATED
2757
2758 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2759
2760         * check/gst/capslist.h:
2761         * check/gst/gstcaps.c: (GST_START_TEST):
2762         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2763         * gst/gststructure.c: (gst_structure_parse_range),
2764         (gst_structure_fixate_field_nearest_fraction):
2765         * gst/gststructure.h:
2766         * gst/gstvalue.c: (gst_value_init_fraction_range),
2767         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2768         (gst_value_collect_fraction_range),
2769         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2770         (gst_value_set_fraction_range_full),
2771         (gst_value_get_fraction_range_min),
2772         (gst_value_get_fraction_range_max),
2773         (gst_value_serialize_fraction_range),
2774         (gst_value_transform_fraction_range_string),
2775         (gst_value_compare_fraction_range),
2776         (gst_value_deserialize_fraction_range),
2777         (gst_value_intersect_fraction_fraction_range),
2778         (gst_value_intersect_fraction_range_fraction_range),
2779         (gst_value_subtract_fraction_fraction_range),
2780         (gst_value_subtract_fraction_range_fraction),
2781         (gst_value_subtract_fraction_range_fraction_range),
2782         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2783         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2784         (gst_value_transform_string_fraction), (_gst_value_initialize):
2785         * gst/gstvalue.h:
2786           Implement fraction ranges and extend GstFraction to support
2787           arithmetic subtraction, as well as deserialization from integer
2788           strings such as "100"
2789           Add a testsuite as for int and double range set operations
2790
2791 2005-11-21  Andy Wingo  <wingo@pobox.com>
2792
2793         * gst/gsttaglist.h: 
2794         * gst/gstcaps.h: 
2795         * gst/gststructure.h: Add glib-compat.h.
2796
2797 2005-11-21  Wim Taymans  <wim@fluendo.com>
2798
2799         * gst/gstbin.c: (gst_bin_change_state_func):
2800         Fix for #321595
2801
2802 2005-11-21  Wim Taymans  <wim@fluendo.com>
2803
2804         * gst/gstsegment.h:
2805         And add a nice define too.
2806
2807 2005-11-21  Wim Taymans  <wim@fluendo.com>
2808
2809         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2810         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2811         (gst_segment_set_duration), (gst_segment_set_last_stop),
2812         (gst_segment_set_seek), (gst_segment_set_newsegment),
2813         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2814         (gst_segment_clip):
2815         * gst/gstsegment.h:
2816         Make binding friendly.
2817
2818 2005-11-21  Andy Wingo  <wingo@pobox.com>
2819
2820         * gst/gsttagsetter.h: 
2821         * gst/gsttaglist.h: 
2822         * gst/gststructure.h: 
2823         * gst/gstcaps.h: 
2824         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2825         #319940.
2826
2827         * gst/gsterror.c (_gst_core_errors_init):
2828         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2829         category.
2830
2831         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2832         (noinst_HEADERS): noinst the -private.
2833
2834 2005-11-21  Michael Smith <msmith@fluendo.com>
2835
2836         * gst/gstplugin.h:
2837         * gst/gstregistry.h:
2838           Remove unimplemented declarations for which we can see no sensible
2839           use.
2840
2841 2005-11-21  Andy Wingo  <wingo@pobox.com>
2842
2843         * gst/gst.h: Include glib-compat.h.
2844
2845         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2846
2847         * gst/glib-compat.c: Include the public and the private header.
2848
2849         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2850
2851         * gst/gstvalue.c: 
2852         * gst/gstpad.c: 
2853         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2854
2855         * check/gst/gstevent.c (create_custom_events): Check that
2856         FLUSH_STOP is serialized.
2857
2858         * check/elements/identity.c (event_func): 
2859         * check/elements/fakesrc.c (event_func): No stream lock, the core
2860         takes it.
2861
2862         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2863         stream lock taking, yay.
2864
2865         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2866         ensure that core takes the stream lock.
2867
2868         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2869         lock name change.
2870
2871         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2872         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2873         it already. For the flush start we do take it though so we get the
2874         right preroll state change messages.
2875
2876         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2877         the stream lock here, the core does it for us.
2878
2879         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2880         GST_STREAM_GET_LOCK.
2881         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2882         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2883         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2884         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2885         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2886         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2887
2888         * gst/gstpad.c: Update for stream lock name change.
2889
2890         * gst/base/gstbasesink.c: Update for preroll lock name change.
2891
2892 2005-11-21  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2895         (gst_clock_get_master):
2896         * gst/gstclock.h:
2897         * gst/gstsystemclock.c: (gst_system_clock_init):
2898         Convert Clock flags to object flags.
2899         Added methods to manage master/slave clocks.
2900
2901 2005-11-21  Wim Taymans  <wim@fluendo.com>
2902
2903         * check/gst/gstsegment.c: (GST_START_TEST):
2904         * docs/design/part-TODO.txt:
2905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2906         (gst_base_sink_event), (gst_base_sink_do_sync),
2907         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2908         (gst_base_sink_query), (gst_base_sink_change_state):
2909         * gst/base/gstbasesink.h:
2910         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2911         (gst_base_src_default_newsegment),
2912         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2913         (gst_base_src_get_range), (gst_base_src_loop),
2914         (gst_base_src_change_state):
2915         * gst/base/gstbasesrc.h:
2916         * gst/base/gstbasetransform.c:
2917         (gst_base_transform_prepare_output_buf),
2918         (gst_base_transform_event), (gst_base_transform_change_state):
2919         * gst/base/gstbasetransform.h:
2920         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2921         (gst_collect_pads_event):
2922         * gst/base/gstcollectpads.h:
2923         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2924         (gst_fake_src_create):
2925         * gst/elements/gstfakesrc.h:
2926         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2927         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2928         (gst_segment_set_last_stop), (gst_segment_set_seek),
2929         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2930         (gst_segment_to_running_time), (gst_segment_clip):
2931         * gst/gstsegment.h:
2932         More segment updates, replace code in plugins with segment
2933         helper functions.
2934
2935 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2936
2937         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2938         Don't ignore sscanf results
2939
2940 2005-11-21  Andy Wingo  <wingo@pobox.com>
2941
2942         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2943
2944         * *.h:
2945         * *.c: Ran scripts/update-macros. Oh yes.
2946
2947         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2948         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2949         GST_GET_LOCK, etc.
2950
2951         * scripts/update-macros: New script. Run it on your files to
2952         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2953         well.
2954
2955 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2956
2957         * docs/gst/Makefile.am:
2958         * docs/gst/gstreamer-docs.sgml:
2959         * docs/gst/gstreamer-sections.txt:
2960         * docs/gst/gstreamer.types:
2961         * gst/gstinfo.h:
2962           more docs fixes, add new api to the docs
2963
2964 2005-11-21  Andy Wingo  <wingo@pobox.com>
2965
2966         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2967         state_broadcast call.
2968
2969         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2970
2971 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2972
2973         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2974         function calls for arrays.
2975
2976 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2977
2978         * docs/random/ensonic/media-device-daemon.txt:
2979           wild idea, can this be done?
2980         * docs/gst/gstreamer-sections.txt:
2981         * gst/gsterror.h:
2982         * gst/gstfilter.c:
2983         * gst/gstfilter.h:
2984         * gst/gstplugin.h:
2985         * gst/gstpluginfeature.c:
2986         * gst/gsttrace.c:
2987         * gst/gstvalue.c:
2988         * gst/gstvalue.h:
2989           doc fixes and additions
2990
2991 2005-11-21  Andy Wingo  <wingo@pobox.com>
2992
2993         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2994         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2995         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2996         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2997         private to the basesrc implementation.
2998
2999         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3000         behalf of event function if necessary. It should no longer be
3001         necessary to take the stream lock in pad's event functions. Fixes
3002         #320299.
3003
3004 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3005         * docs/gst/gstreamer-sections.txt:
3006         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3007         (gst_structure_fixate_field_nearest_double),
3008         (gst_structure_fixate_field_boolean):
3009         * gst/gststructure.h:
3010         * win32/common/libgstreamer.def:
3011         * win32/gstreamer.def:
3012
3013         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3014         (#322027)
3015
3016 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3017
3018         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3019         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3020         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3021         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3022         (gst_fdsrc_uri_handler_init):
3023         * gst/elements/gstfdsrc.h:
3024           Port fd:// URI handler from 0.8 to fdsrc
3025
3026 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3027
3028         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3029         (gst_value_serialize_fourcc):
3030         * gst/gstvalue.h:
3031           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3032           consistent with our other format defines (#320324).
3033
3034 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3035
3036         * gst/gstvalue.c: (gst_value_is_fixed):
3037           Revert previous commit. Value lists are by definition
3038           not fixed, as they are a list of possible values.
3039
3040 2005-11-21  Andy Wingo  <wingo@pobox.com>
3041
3042         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3043         during the stable series if we need it. Fixes #319178.
3044
3045         * gst/gstevent.c (gst_event_new_filler): Removed.
3046
3047         * check/gst/gstevent.c: Update comment about filler events.
3048
3049 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3050
3051         * gst/gstvalue.c: (gst_value_is_fixed):
3052           Should handle both value arrays and value lists.
3053
3054 2005-11-21  Andy Wingo  <wingo@pobox.com>
3055
3056         patch by: Alessandro Dessina <alessandro nnva org>
3057
3058         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3059         functions to access arrays. Fixes #321962.
3060
3061 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3062
3063         * docs/gst/gstreamer.types:
3064           gst_collectpads_get_type => gst_collect_pads_get_type.
3065           
3066         * gst/base/gstbasetransform.c:
3067           Remove unused SIGNAL_HANDOFF enum.
3068
3069 2005-11-21  Andy Wingo  <wingo@pobox.com>
3070
3071         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3072         the event type (upstream, downstream, serialized). Renamed
3073         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3074         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3075         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3076
3077         * gst/gstevent.c: Update for new CUSTOM event names.
3078
3079         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3080
3081         * gst/gstevent.h:
3082         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3083         bug #319392.
3084
3085 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * docs/gst/gstreamer-sections.txt:
3088         * win32/common/libgstbase.def:
3089         * win32/libgstbase.def:
3090         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3091         (gst_collect_pads_class_init), (gst_collect_pads_init),
3092         (gst_collect_pads_finalize), (gst_collect_pads_new),
3093         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3094         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3095         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3096         (gst_collect_pads_start), (gst_collect_pads_stop),
3097         (gst_collect_pads_peek), (gst_collect_pads_pop),
3098         (gst_collect_pads_available), (gst_collect_pads_read),
3099         (gst_collect_pads_flush), (gst_collect_pads_event),
3100         (gst_collect_pads_chain):
3101         * gst/base/gstcollectpads.h:
3102           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3103           unimplemented functions as unimplemented. Add padding to
3104           GstCollectData. (#320766, #320423)
3105
3106 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3107
3108         * gst/gstmessage.c:
3109           Improve docs for DURATION message (usage of duration parameter)
3110           (#320113)
3111
3112 2005-11-20  Wim Taymans  <wim@fluendo.com>
3113
3114         * check/Makefile.am:
3115         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3116         (main):
3117         * gst/Makefile.am:
3118         * gst/gst.h:
3119         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3120         (gst_segment_set_seek), (gst_segment_set_newsegment),
3121         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3122         (gst_segment_clip):
3123         * gst/gstsegment.h:
3124         Added segment helper structure and methods. Not fully implemented
3125         yet.
3126         Added segment check.
3127
3128 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3129
3130         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3131           Add a deserialisation test for fractions
3132         * examples/metadata/read-metadata.c: (message_loop),
3133         (make_pipeline), (main):
3134           Fix up metadata reading sample.
3135         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3136           Debug format fix
3137         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3138           Don't try and fixate empty caps
3139         * gst/gst_private.h:
3140           Wrap in G_BEGIN_DECLS/G_END_DECLS
3141         * gst/gstvalue.c: (gst_value_collect_fraction),
3142         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3143         (gst_value_transform_string_fraction),
3144         (gst_value_compare_fraction):
3145           Add some extra guards to ensure that we don't end up 
3146           with an invalid denominator of 0 in a gstfraction and
3147           that fractions always get reduced.
3148
3149 2005-11-20  Wim Taymans  <wim@fluendo.com>
3150
3151         * docs/gst/gstreamer-sections.txt:
3152         * gst/gstbuffer.h:
3153         * gst/gstelement.c:
3154         * gst/gstformat.c:
3155         * gst/gstformat.h:
3156         * gst/gstindex.h:
3157         * gst/gstquery.c:
3158         * gst/gstquery.h:
3159         * gst/gstvalue.c:
3160         Doc fixes.
3161
3162 2005-11-20  Wim Taymans  <wim@fluendo.com>
3163
3164         * docs/design/part-TODO.txt:
3165         * gst/gstcaps.h:
3166         Make a proper enum of the flag.
3167
3168 2005-11-19  Wim Taymans  <wim@fluendo.com>
3169
3170         * docs/design/part-TODO.txt:
3171         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3172         (gst_format_to_quark), (gst_format_register):
3173         * gst/gstformat.h:
3174         * gst/gstquery.c: (_gst_query_initialize),
3175         (gst_query_type_get_name), (gst_query_type_to_quark),
3176         (gst_query_type_register):
3177         * gst/gstquery.h:
3178         Add type to quark and type to string conversions.
3179
3180 2005-11-19  Andy Wingo  <wingo@pobox.com>
3181
3182         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3183         #320097.
3184
3185 2005-11-19  Wim Taymans  <wim@fluendo.com>
3186
3187         * docs/design/part-TODO.txt:
3188         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3189         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3190         (gst_bin_handle_message_func):
3191         * gst/gstbin.h:
3192         Make message handling overridable.
3193
3194 2005-11-19  Andy Wingo  <wingo@pobox.com>
3195
3196         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3197
3198         * gst/gstclock.h:
3199         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3200         be a GstClockTime.
3201         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3202         is a GstClockTime. Fixes #321710.
3203
3204         * gst/gstclock.h (GstClock): Remove offset property. Add
3205         internal_calibration and external_calibration. Fix padding. Pad
3206         also by GstClockTime so we don't run into problems.
3207
3208         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3209         (gst_clock_get_rate_offset): Remove.
3210         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3211
3212         * gst/gstutils.h:
3213         * gst/gstutils.c (g_static_rec_cond_wait)
3214         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3215
3216         * gst/gstbin.c: Remove terrible continue_state prototype.
3217
3218         * gst/gstelement.h (gst_element_continue_state): Make public.
3219
3220         * gst/gstelement.h:
3221         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3222         by continue_state. Fixes #319389.
3223
3224         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3225         Really fixes #168438. However I don't see anywhere where the
3226         filter function is called... stupid GStreamer...
3227         
3228         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3229         don't have a dispose function, so it won't get called when the
3230         object is unreffed, but oh well!
3231
3232         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3233         allows a destroy function to be set so user_data can be freed.
3234         Fixes #168438.
3235         (gst_index_set_filter): Call gst_index_set_filter_full.
3236
3237         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3238
3239         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3240         string should produce an error, given the lack of a way to
3241         represent NULL strings. Fixes #165650.
3242         
3243         * gst/gstvalue.h: 
3244         * gst/gstvalue.c (gst_value_array_append_value) 
3245         (gst_value_array_prepend_value, gst_value_array_get_size) 
3246         (gst_value_array_get_value): New API, copied from
3247         gst_value_list_*, only operates on arrays.
3248         (gst_value_list_append_value, gst_value_list_prepend_value) 
3249         (gst_value_list_concat, gst_value_list_get_size) 
3250         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3251
3252         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3253         init_list, because it works on both.
3254         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3255         (gst_value_copy_list_or_array): Renamed from copy_list.
3256         (gst_value_free_list_or_array): Renamed from free_list.
3257         (gst_value_collect_list_or_array): Renamed from collect_list.
3258         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3259         (gst_value_list_or_array_peek_pointer): Renamed from
3260         list_peek_pointer.
3261         (_gst_value_array_value_table, _gst_value_list_value_table):
3262         Update value table functions.
3263         (gst_value_compare_list_or_array): Renamed from compare_list.
3264
3265         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3266         some constness.
3267
3268         * gst/gsttaglist.c:
3269         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3270         GstTagList*. Fixes #143472.
3271
3272         * gst/gststructure.h: Clarify what the foreach/map functions can
3273         or can't do to their arguments.
3274
3275 2005-11-18  Wim Taymans  <wim@fluendo.com>
3276
3277         * gst/gstclock.c: (gst_clock_set_calibration),
3278         (gst_clock_get_calibration):
3279         Doc and API fixes.
3280         Calibration can be set with internal time equal to current
3281         internal time too.
3282
3283 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3284
3285         * gst/gsterror.c:
3286         * gst/gsterror.h:
3287           document
3288
3289 2005-11-18  Andy Wingo  <wingo@pobox.com>
3290
3291         * configure.ac: 
3292         * pkgconfig/gstreamer-net.pc.in:
3293         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3294         * pkgconfig/Makefile.am: Add net pkgconfig files.
3295
3296 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3297
3298         * gst/gstcaps.c:
3299         * gst/gstghostpad.c:
3300         * gst/gsttrace.c:
3301         * gst/gstvalue.c:
3302         * gst/gstvalue.h:
3303           docs fixes
3304
3305 2005-11-18  Andy Wingo  <wingo@pobox.com>
3306
3307         * gst/net/gstnetclientclock.c: Turn off debugging.
3308
3309         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3310         times connverge somewhat. Can't make a real test.
3311
3312         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3313         integer arithmetic. Return the minimum of the domain, which can be
3314         set as "internal" for gst_clock_set_calibration.
3315         (gst_net_client_clock_observe_times): Call _set_calibration.
3316         (gst_net_client_clock_new): Call _set_calibration instead of
3317         rate_offset.
3318
3319         * check/net/gstnetclientclock.c (test_functioning): Use the right
3320         adjustment api.
3321
3322         * gst/gstclock.h:
3323         * gst/gstclock.c (gst_clock_get_calibration) 
3324         (gst_clock_set_calibration): New functions, obsolete the ones I
3325         added yesterday. Doh. Precision issues mean we have to extrapolate
3326         from a point in the more recent past than 1970.
3327         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3328         obsolete.
3329         (gst_clock_adjust_unlocked): Use the right calibration data.
3330
3331 2005-11-18  Edward Hervey  <edward@fluendo.com>
3332
3333         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3334         Also reset the ->current_* values in READY->PAUSED
3335
3336 2005-11-18  Andy Wingo  <wingo@pobox.com>
3337
3338         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3339         Whoops, check the right fd. Also add some debugging.
3340         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3341         (do_linear_regression): Add a crapload of debugging. Subtract off
3342         the minimum values from the input series to discard unneeded bits.
3343         Use only int arithmetic. There is still double arithmetic when
3344         calculating the intercept that needs fixing. Return boolean to
3345         indicate success; FALSE would mean the domain or range is too
3346         great. Still needs fixes.
3347
3348 2005-11-18  Wim Taymans  <wim@fluendo.com>
3349
3350         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3351         For the current position in stream time, we need to subtract
3352         accumulated time.
3353         
3354         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3355         Release lock before calling the callback function of async
3356         entries.
3357
3358 2005-11-18  Andy Wingo  <wingo@pobox.com>
3359
3360         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3361         Port goes all the way to MAXUINT16.
3362
3363         * gst/net/gstnettimeprovider.c: Make the port range the same as
3364         for the kernel: 0 assigns, otherwise ports are less than
3365         MAXUINT16.
3366
3367         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3368         port change.
3369
3370         * check/net/gstnetclientclock.c (test_functioning): Add the start
3371         of another test. 
3372
3373 2005-11-18  Wim Taymans  <wim@fluendo.com>
3374
3375         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3376         (gst_bin_remove_func), (bin_bus_handler):
3377         * gst/gstbin.h:
3378         Removing a clock provider from a bin, triggers a clock lost message
3379         so that a new clock will be selected.
3380         Adding a clock to a bin triggers a clock provider message.
3381         Make sure we reselect a clock when we received a clock lost message.
3382         Keep a reference to the element that provided the clock.
3383
3384 2005-11-18  Andy Wingo  <wingo@pobox.com>
3385
3386         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3387         the clock initially so it produces values around the base time.
3388         (gst_net_client_clock_class_init): Typo fix.
3389         (gst_net_client_clock_thread): Add note on when the socket gets
3390         closed.
3391
3392 2005-11-17  Wim Taymans  <wim@fluendo.com>
3393
3394         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3395         Free remote and local time arrays.
3396
3397 2005-11-17  Wim Taymans  <wim@fluendo.com>
3398
3399         * gst/net/gstnetclientclock.c: (do_linear_regression),
3400         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3401         Fix compilation, uninitialized vars and a forgotten continue.
3402
3403 2005-11-17  Andy Wingo  <wingo@pobox.com>
3404
3405         * check/Makefile.am (check_PROGRAMS): 
3406         * check/net/gstnetclientclock.c: Add a most minimal test for the
3407         net client clock. More to come later.
3408
3409         * gst/net/gstnet.h: 
3410         * gst/net/Makefile.am: Add netclientclock.
3411
3412         * gst/net/gstnetclientclock.h:
3413         * gst/net/gstnetclientclock.c: New files, implement an untested
3414         GstClock that takes its time from a network time provider.
3415         Implements the algorithm in network-clock.scm.
3416
3417         * tests/network-clock.scm (*window-size*): Rename from
3418         *queue-length*.
3419         * tests/network-clock.scm (network-time): 
3420         * tests/network-clock-utils.scm (q-push): Update callers.
3421
3422 2005-11-17  Wim Taymans  <wim@fluendo.com>
3423
3424         * gst/gstbin.c: (gst_bin_provide_clock_func),
3425         (gst_bin_sort_iterator_new):
3426         And unref the child too..
3427
3428 2005-11-17  Wim Taymans  <wim@fluendo.com>
3429
3430         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3431         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3432         Refactor the sort iterator so it can be used while holding the
3433         LOCK too.
3434         Make clock selection select a clock closest to the source.
3435
3436 2005-11-17  Michael Smith <msmith@fluendo.com>
3437
3438         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3439         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3440         * gst/gstclock.h:
3441           Anonymous structs are a gcc (and some other compilers) extension, so
3442           don't use them. Since this is only for ABI-compatibility, and our
3443           API/ABI freeze is over in a few days, this whole thing will only
3444           last a few days, so don't bother trying to think up a meaningful
3445           name for the struct.
3446
3447 2005-11-17  Andy Wingo  <wingo@pobox.com>
3448
3449         * gst/gstclock.h (GstClock): Add rate and offset properties,
3450         preserving ABI stability. Add rate/offset accessors. Will file bug
3451         for the freeze break.
3452
3453         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3454         and offset, trying to keep precision and avoiding
3455         underflow/overflow.
3456         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3457         functions. Make gst_clock_set_time_adjust obsolete.
3458         (gst_clock_set_time_adjust): Note that this function is obsolete.
3459         Will file bug soon.
3460
3461         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3462         greppable by using GST_PADDING-1+1.
3463
3464 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3465
3466         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3467
3468         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3469           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3470
3471         * gst/gstpadtemplate.h:
3472         * gst/gstpluginfeature.h:
3473           Don't use c++ style comments in headers (#321638).
3474
3475 2005-11-16  Andy Wingo  <wingo@pobox.com>
3476
3477         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3478         buffer.
3479
3480         * check/net/gstnettimeprovider.c: Check to see that the time
3481         provider actually provides times. Works, yo!
3482
3483 2005-11-16  Wim Taymans  <wim@fluendo.com>
3484
3485         * check/Makefile.am:
3486         Enable more tests.
3487
3488         * check/elements/fakesrc.c: (GST_START_TEST):
3489         Set element to NULL before disposing it.
3490
3491 2005-11-16  Andy Wingo  <wingo@pobox.com>
3492
3493         * gst/net/Makefile.am:
3494         * gst/net/gstnet.h:
3495         * gst/net/gstnettimeprovider.c: 
3496         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3497         provider, include it from gstnet.h, and add it to the build.
3498
3499         * gst/net/gstnettimepacket.h: 
3500         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3501         sending and receiving.
3502
3503 2005-11-16  Wim Taymans  <wim@fluendo.com>
3504
3505         * check/Makefile.am:
3506         Enable valgrind check.
3507
3508         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3509         (gst_fake_src_alloc_buffer):
3510         Fix memleak.
3511
3512 2005-11-16  Wim Taymans  <wim@fluendo.com>
3513
3514         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3515         Call parent finalize too.
3516
3517 2005-11-16  Wim Taymans  <wim@fluendo.com>
3518
3519         * check/Makefile.am:
3520         Enable valgrind check that should work fine now.
3521
3522         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3523         * gst/gstqueue.c: (gst_queue_init):
3524         Fix memleaks in pad allocation.
3525
3526 2005-11-16  Andy Wingo  <wingo@pobox.com>
3527
3528         * gst/net/Makefile.am:
3529         * gst/net/gstnet.h: New part of core to hold network elements and
3530         objects. Put in core because it exposes API that applications want
3531         to use. The library is named libgstnet-tempname right now because
3532         of the existing libgstnet in gst-plugins-base. Solution is
3533         probably to rename the one in plugins-base; will file a bug for
3534         the freeze break.
3535
3536         * gst/net/gstnettimeprovider.c: 
3537         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3538         get_time call over the network.
3539
3540         * configure.ac: 
3541         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3542
3543         * check/Makefile.am:
3544         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3545         get additions shortly.
3546
3547 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3548
3549         * gst/gstpad.c: (gst_pad_new_from_static_template):
3550         * gst/gstpad.h:
3551           add gst_pad_new_from_static_template functions
3552         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3553         (gst_check_setup_sink_pad):
3554         * gst/elements/gsttee.c: (gst_tee_init):
3555           and use them
3556
3557 2005-11-16  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/gstpad.c: (gst_pad_pause_task):
3560         Removed warning, it's not really an error either.
3561
3562 2005-11-16  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/base/gstbasetransform.c:
3565         (gst_base_transform_prepare_output_buf),
3566         (gst_base_transform_event):
3567         Check if the caps are NULL, this can happen if the element
3568         is shutting down and the pad caps are set to NULL.
3569
3570 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3571
3572         * gst/elements/gsttee.c: (gst_tee_init):
3573           fix pad template leak in tee
3574
3575 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3576
3577         * gst/glib-compat.c: (g_value_dup_gst_object):
3578         * gst/glib-compat.h:
3579         * gst/gstpad.c: (gst_pad_set_property):
3580           use gst_object_ref when setting the pad template; this will
3581           trigger the pad template leaks on GLib 2.6 and the slaves
3582
3583 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3584
3585         * gst/glib-compat.c: (gst_flags_get_first_value):
3586         * gst/glib-compat.h:
3587         * gst/gstregistryxml.c:
3588           remove functions copied from GLib 2.6
3589
3590 2005-11-16  Michael Smith <msmith@fluendo.com>
3591
3592         * gst/Makefile.am:
3593           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3594           do, but only breaks with newer valgrind versions. We're not a
3595           valgrind tool, we have no link-time dependencies on libcoregrind.
3596
3597 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3598
3599         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3600           some debug changes
3601         * gst/gstmessage.h:
3602           typo fixes
3603
3604 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * gst/base/gstbasesrc.c: (gst_base_src_init):
3607         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3608         * gst/gstqueue.c: (gst_queue_init):
3609         * gst/gstregistryxml.c: (load_feature):
3610           Revert all these unrefs, they don't even pass make check !
3611
3612 2005-11-15  Johan Dahlin  <johan@gnome.org>
3613
3614         * gst/base/gstbasesrc.c: (gst_base_src_init):
3615         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3616         * gst/gstqueue.c: (gst_queue_init): 
3617         Free pad templates, fixes a couple of leaks.
3618
3619 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3620
3621         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3622
3623         * gst/gstpad.c: (gst_pad_get_property):
3624           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3625           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3626           (#321452)
3627
3628 2005-11-15  Wim Taymans  <wim@fluendo.com>
3629
3630         * gst/gstevent.c:
3631         Small doc update.
3632
3633 2005-11-15  Andy Wingo  <wingo@pobox.com>
3634
3635         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3636
3637         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3638         using GST_CLOCK_TIME_NONE to disable base time management.
3639         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3640         time if it was NONE before.
3641         (gst_pipeline_change_state): Only munge the base time if
3642         stream_time != GST_CLOCK_TIME_NONE.
3643
3644         * check/gst/gstpipeline.c (test_base_time): Punt around the
3645         problem of the probe not being called, because that's not the
3646         issue I'm looking at. Add a check that setting stream_time to NONE
3647         disables base time management.
3648         
3649 2005-11-15  Wim Taymans  <wim@fluendo.com>
3650
3651         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3652         segment_stop == -1 at startup.
3653
3654         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3655         (gst_base_transform_change_state):
3656         Init segment values at start.
3657
3658 2005-11-15  Wim Taymans  <wim@fluendo.com>
3659
3660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3661         0 segment values are 0 in any format.
3662
3663         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3664         * gst/base/gstbasetransform.h:
3665         Parse newsegment correctly in basetransform
3666
3667         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3668         Sync to clock using updated segment values.
3669
3670 2005-11-15  Andy Wingo  <wingo@pobox.com>
3671
3672         * check/gst/gstpipeline.c (test_base_time): Add check that the
3673         base time and stream time are reset correctly.
3674
3675 2005-11-15  Wim Taymans  <wim@fluendo.com>
3676
3677         * docs/design/part-TODO.txt:
3678         Some more TODO items.
3679
3680 2005-11-15  Andy Wingo  <wingo@pobox.com>
3681
3682         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3683         error if the user selected "no clock" as the clocking method.
3684
3685         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3686         timestamps with live capture.
3687
3688         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3689         is 0 but we are a live source, timestamp the buffers using the
3690         element's clock.
3691
3692 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3693
3694         * docs/gst/gstreamer-sections.txt:
3695         * gst/gsterror.c:
3696         * gst/gstghostpad.c:
3697         * gst/gstobject.h:
3698         * gst/gstxml.c:
3699           more section docs
3700
3701 2005-11-14  Wim Taymans  <wim@fluendo.com>
3702
3703         * common/gst.supp:
3704           add suppressions from Wim's Debian machine
3705
3706 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3707
3708         * common/gst.supp:
3709           add suppressions from Andy's AMD64 Ubuntu machine
3710
3711 2005-11-14  Andy Wingo  <wingo@pobox.com>
3712
3713         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3714         STATE_LOCK not necessary. Fixes #311489.
3715
3716         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3717         #305291.
3718
3719         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3720         this function is not implemented.
3721
3722 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3723
3724         * gst/base/gstbasetransform.c:
3725         (gst_base_transform_prepare_output_buf):
3726         Ref the source pad caps while we need them.
3727         Fixes (#321386)
3728
3729 2005-11-11  Wim Taymans  <wim@fluendo.com>
3730
3731         * docs/gst/gstreamer-sections.txt:
3732         Added some docs for GstCollectData.
3733
3734         * gst/base/gstadapter.c:
3735         Some small code example fix.
3736
3737         * gst/base/gstcollectpads.c:
3738         * gst/base/gstcollectpads.h:
3739         Document some more.
3740
3741 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3742
3743         * configure.ac: back to HEAD
3744
3745 === release 0.9.5 ===
3746
3747 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3748
3749         * configure.ac:
3750           releasing 0.9.5, "Bike Lunch Day"
3751
3752 2005-11-11  Wim Taymans  <wim@fluendo.com>
3753
3754         * gst/gstbuffer.c: (_gst_buffer_copy):
3755         Copy more flags.
3756
3757         * gst/gstcaps.c: (gst_caps_is_equal):
3758         Fix some docs.
3759         Make _is_equal fast in the trivial cases.
3760
3761         * gst/gstminiobject.c:
3762         * gst/gstminiobject.h:
3763         More docs. Spifify .h file.
3764
3765         * gst/gstutils.c:
3766         Small doc update.
3767
3768 2005-11-11  Wim Taymans  <wim@fluendo.com>
3769
3770         * gst/base/gstbasetransform.c:
3771         (gst_base_transform_prepare_output_buf),
3772         (gst_base_transform_handle_buffer):
3773         Small cleanups.
3774         If we're processing a buffer and need to allocate an output
3775         buffer, we cannot accept a format change. If we did get a 
3776         format change, we have to alloc a buffer ourselves of the 
3777         right size.
3778
3779 2005-11-11  Wim Taymans  <wim@fluendo.com>
3780
3781         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3782         While checking the flag for reentrancy in the gstcaps function
3783         is nice to detect recursive invocations, it also makes it 
3784         impossible to call getcaps from multiple threads, which must be
3785         possible. So, checking for recursive calls has to go.
3786
3787 2005-11-11  Michael Smith <msmith@fluendo.com>
3788
3789         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3790           Don't sync on buffers that fall partially outside our current
3791           segment. Prevents an assertion failure/abort playing some files.
3792
3793 2005-11-10  Andy Wingo  <wingo@pobox.com>
3794
3795         * check/gst/gstbin.c (test_message_state_changed_children): Style
3796         fix..
3797
3798         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3799         gst_bus_poll with the signal watch. Ensures that poll and a signal
3800         watch see the same messages.
3801
3802         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3803         a poll and a watch at the same time get the same messages.
3804
3805 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3806
3807         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3808         * gst/gstcaps.c: (gst_caps_intersect):
3809           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3810           and it's not needed.
3811
3812 2005-11-10  Wim Taymans  <wim@fluendo.com>
3813
3814         * docs/design/part-TODO.txt:
3815         Updated todo.
3816
3817 2005-11-10  Wim Taymans  <wim@fluendo.com>
3818
3819         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3820         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3821         (gst_base_src_do_sync), (gst_base_src_get_range):
3822         Implement clock sync in base class.
3823
3824 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3825
3826         patch by: Tim-Philipp Müller <tim at centricular dot net>
3827
3828         * gst/gststructure.c: (gst_structure_parse_field),
3829         (gst_structure_from_string):
3830           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3831           so that gst_parse_launch() can deal with spaces in filtered link
3832           caps (fixes #164479)
3833         * check/gst/capslist.h:
3834         * check/gst/gststructure.c: (GST_START_TEST):
3835           add unit tests for this change
3836
3837 2005-11-10  Wim Taymans  <wim@fluendo.com>
3838
3839         * docs/gst/gstreamer-sections.txt:
3840         * gst/gstelement.c:
3841         * gst/gstelement.h:
3842         Fix docs, move some STATE macros to private.
3843
3844 2005-11-10  Wim Taymans  <wim@fluendo.com>
3845
3846         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3847         Added check for bug #317341
3848
3849         * gst/gstbuffer.c:
3850         * gst/gstbuffer.h:
3851         Some more spiffifying.
3852
3853         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3854         Call peer linkfunction if we are a source pad. Totally fixes
3855         #317341
3856
3857         * gst/gstpad.c:
3858         Update docs, source pads should call the peer linkfunction
3859         so they can atomically perform the pad link.
3860
3861 2005-11-09  Wim Taymans  <wim@fluendo.com>
3862
3863         * gst/gstbuffer.c:
3864         * gst/gstbuffer.h:
3865         Uber-spiffy-spiffify some more.
3866
3867 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3870         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3871         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3872         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3873         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3874         * gst/gstpad.c: (gst_pad_init):
3875           Use GST_DEBUG_FUNCPTR() more extensively.
3876
3877 2005-11-09  Wim Taymans  <wim@fluendo.com>
3878
3879         * gst/gstobject.c: (gst_object_class_init):
3880         * gst/gstobject.h:
3881         Documentation fixes.
3882
3883 2005-11-09  Edward Hervey  <edward@fluendo.com>
3884
3885         * gst/gsttypefindfactory.c:
3886         Fix docs.
3887         
3888 2005-11-09  Edward Hervey  <edward@fluendo.com>
3889
3890         * gst/base/gsttypefindhelper.c:
3891         * gst/gsttypefind.c:
3892         * gst/gsttypefind.h:
3893         Fix docs.
3894
3895 2005-11-09  Wim Taymans  <wim@fluendo.com>
3896
3897         * gst/gstiterator.c:
3898         Fix revision data.
3899
3900         * gst/gsttask.c:
3901         * gst/gsttask.h:
3902         Fix docs.
3903
3904 2005-11-09  Wim Taymans  <wim@fluendo.com>
3905
3906         * gst/gstevent.h:
3907         * gst/gsturi.h:
3908         Fix docs.
3909
3910 2005-11-09  Wim Taymans  <wim@fluendo.com>
3911
3912         * docs/gst/gstreamer-sections.txt:
3913         Moved the message async delivery private lock and cond
3914         to the private section.
3915
3916         * gst/gstmessage.c:
3917         * gst/gstmessage.h:
3918         Fixed docs.
3919
3920 2005-11-09  Edward Hervey  <edward@fluendo.com>
3921
3922         * docs/gst/gstreamer-sections.txt:
3923         * gst/gsturi.c:
3924         * gst/gsturi.h:
3925         Document GstURIHandler
3926
3927 2005-11-09  Wim Taymans  <wim@fluendo.com>
3928
3929         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3930         (gst_iterator_find_custom):
3931         * gst/gstiterator.h:
3932         Fix iterator docs.
3933
3934 2005-11-09  Wim Taymans  <wim@fluendo.com>
3935
3936         * gst/gstbin.h:
3937         Document another field.
3938
3939         * gst/gststructure.c:
3940         * gst/gststructure.h:
3941         Document.
3942
3943 2005-11-09  Wim Taymans  <wim@fluendo.com>
3944
3945         * gst/gstbin.h:
3946         Documented structs.
3947
3948 2005-11-09  Wim Taymans  <wim@fluendo.com>
3949
3950         * docs/gst/gstreamer-sections.txt:
3951         Added some new macros.
3952
3953         * gst/gstclock.c:
3954         * gst/gstclock.h:
3955         * gst/gstobject.h:
3956         Docs updates.
3957
3958 2005-11-09  Wim Taymans  <wim@fluendo.com>
3959
3960         * docs/design/part-TODO.txt:
3961         Some more items for the TODO
3962
3963         * gst/gstcaps.c:
3964         * gst/gstcaps.h:
3965         Document GstCaps.
3966
3967 2005-11-09  Andy Wingo  <wingo@pobox.com>
3968
3969         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3970         to work on something else now tho...
3971
3972         * gst/base/gstadapter.c: More adapter docs.
3973
3974         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3975         (gst_file_sink_stop): New functions, replace the state change
3976         handler.
3977         (gst_file_sink_class_init): Hook up the start and stop functions.
3978         (gst_file_sink_base_init): Don't set the state change handler any
3979         more. It was a bit ugly too, being set from here...
3980         (gst_file_sink_get_property, gst_file_sink_set_property):
3981         Cleanups...
3982         (gst_file_sink_set_location): More robust check that doesn't call
3983         GST_STATE. Ugggggg.
3984
3985 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3986
3987         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3988           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3989
3990 2005-11-08  Wim Taymans  <wim@fluendo.com>
3991
3992         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3993         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3994         (gst_base_sink_chain), (gst_base_sink_change_state):
3995         * gst/base/gstbasesink.h:
3996         * gst/base/gstbasesrc.h:
3997         * gst/gstelement.h:
3998         * gst/gstevent.h:
3999         Avoid excessive typechecking in macros.
4000
4001         * gst/gstminiobject.c: (gst_mini_object_get_type),
4002         (gst_mini_object_init), (gst_mini_object_new),
4003         (gst_mini_object_free):
4004         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4005         (gst_object_finalize):
4006         Remove cruft code, optimize alloc_trace.
4007
4008 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4009
4010         * docs/faq/gst-uninstalled:
4011           fix up PS1 for systems that try to reset it
4012
4013 2005-11-07  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/base/gstbasesrc.c: (gst_base_src_init),
4016         (gst_base_src_get_range):
4017         Set the segment_end to -1 initially. Fixed typefind.
4018
4019 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4020
4021         * gst/base/gstadapter.c:
4022           Debug category should be 'adapter', not 'GstAdapter'.
4023           
4024         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4025         (gst_collectpads_class_init), (gst_collectpads_init),
4026         (gst_collectpads_peek), (gst_collectpads_pop),
4027         (gst_collectpads_event), (gst_collectpads_chain):
4028           Add debug category and some debugging output. Use boilerplate
4029           macros. Remove some extraneous words from docs.
4030
4031 2005-11-05  Andy Wingo  <wingo@pobox.com>
4032
4033         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4034         macro.
4035
4036 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4037
4038         * docs/gst/gstreamer-sections.txt:
4039         * gst/gstcaps.h:
4040         * gst/gstinfo.c:
4041         * gst/gstminiobject.h:
4042         * gst/gstobject.h:
4043         * gst/gstutils.h:
4044           more docs added
4045
4046 2005-11-04  Wim Taymans  <wim@fluendo.com>
4047
4048         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4049         Small update to stop at the configured segment_end
4050         position.
4051
4052 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4053
4054         * gst/gstregistry.c:
4055         * gst/gstregistry.h:
4056           added missing docs
4057
4058 2005-11-04  Edward Hervey  <edward@fluendo.com>
4059
4060         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4061         Check if we are doing a segment seek and have arrived at the
4062         end of that segment.
4063
4064 2005-11-04  Wim Taymans  <wim@fluendo.com>
4065
4066         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4067         Don't leak a mutex unlock in case of an error.
4068
4069         * gst/gstbus.h:
4070         Doc fixes.
4071
4072 2005-11-04  Wim Taymans  <wim@fluendo.com>
4073
4074         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4075         (gst_bus_post):
4076         Get the context to wake up only once.
4077
4078 2005-11-03  Wim Taymans  <wim@fluendo.com>
4079
4080         * check/states/sinks.c: (GST_START_TEST):
4081         Uncomment fixed check.
4082
4083         * docs/design/part-TODO.txt:
4084         Updated TODO.
4085
4086         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4087         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4088         (gst_base_sink_get_position):
4089         If we are going to PLAYING, post the right pending state
4090         when we post the intermediate paused message.
4091
4092         * gst/gstelement.c: (gst_element_continue_state),
4093         (gst_element_set_state_func), (gst_element_change_state):
4094         Don't post state changes that were between the same state
4095         and were not ASYNC.
4096
4097 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4098
4099         * docs/gst/gstreamer-sections.txt:
4100         * gst/gstcaps.h:
4101         * gst/gstinfo.c:
4102         * gst/gstminiobject.h:
4103         * gst/gstobject.h:
4104         * gst/gstutils.h:
4105           more docs and doc style fixes
4106
4107 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4108
4109         * docs/gst/gstreamer-sections.txt:
4110         * gst/gstelement.c:
4111         * gst/gstminiobject.c:
4112         doc fixes
4113
4114 2005-11-03  Andy Wingo  <wingo@pobox.com>
4115
4116         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4117         state-changed messages actually have the right order and the right
4118         values.
4119
4120 2005-11-03  Wim Taymans  <wim@fluendo.com>
4121
4122         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4123         Added some more checks. Specifically the case where NO_PREROLL
4124         elements are in the pipeline.
4125
4126         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4127         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4128         (gst_base_sink_get_position):
4129         Post READY->PAUSED state change messages too.
4130         Fix bug where VOID was posted as pending state...
4131
4132         * gst/gstbin.c: (gst_bin_recalc_state):
4133         use _element_continue_state() to continue the state change.
4134
4135         * gst/gstelement.c: (gst_element_continue_state),
4136         (gst_element_commit_state), (gst_element_set_state_func),
4137         (gst_element_change_state), (gst_element_change_state_func):
4138         Lots of state change cleanups, assign the STATE_RETURN in
4139         a new continue_state() function that also propagates the
4140         last return value from a state change to the app.
4141         Update some debug statements with proper category.
4142
4143 2005-11-03  Wim Taymans  <wim@fluendo.com>
4144
4145         * docs/design/part-events.txt:
4146         * docs/design/part-gstpipeline.txt:
4147         * docs/design/part-messages.txt:
4148         * docs/design/part-overview.txt:
4149         * docs/design/part-seeking.txt:
4150         * docs/design/part-states.txt:
4151         * docs/design/part-trickmodes.txt:
4152         * docs/manual/advanced-position.xml:
4153         Small docs updates.
4154
4155         * gst/gstobject.h:
4156         People think !! is ugly, this looks better.
4157
4158         * gst/gstpad.c: (gst_pad_set_blocked_async):
4159         Remove !! since it's fixed elsewhere now.
4160
4161 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4162
4163         * gst/gstminiobject.h:
4164         * gst/gstobject.h:
4165           Add !! to _FLAG_IS_SET macros to make the result boolean.
4166
4167 2005-11-03  Edward Hervey  <edward@fluendo.com>
4168
4169         * gst/gstpad.c: (gst_pad_set_blocked_async):
4170         comparing a flag and a gboolean rarely returns coherent results...
4171         Added two characters (!!) to make that work correctly.
4172         
4173 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4174
4175         * gst/gstbus.c: (gst_bus_class_init):
4176           Fix some typos.
4177           
4178         * gst/gstqueue.c: (gst_queue_loop):
4179           Don't assume a miniobject that isn't a buffer is an
4180           event (it could be that there is a refcounting
4181           problem somewhere and the pointer is stale and
4182           refers to an already destroyed miniobject).
4183
4184 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4185
4186         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4187
4188 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4189
4190         * docs/manual/advanced-position.xml:
4191           Update seek example and explanations to current 0.9 API.
4192
4193         * gst/elements/gsttypefindelement.c:
4194         (gst_type_find_element_activate):
4195           Remove FIXME comment now that the found caps
4196           are unreffed.
4197
4198 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4199
4200         * gst/gstregistryxml.c: (load_feature):
4201           Add another GST_STR_NULL instance
4202
4203 2005-11-02  Edward Hervey  <edward@fluendo.com>
4204
4205         * gst/gstpad.c: (handle_pad_block):
4206         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4207         
4208 2005-11-02  Wim Taymans  <wim@fluendo.com>
4209
4210         * gst/gstbin.c:
4211         Fix typo in docs.
4212
4213         * gst/gstelement.c: (gst_element_commit_state):
4214         Remove unused value.
4215
4216         * gst/gstiterator.c:
4217         Mention that the returned element is reffed in the docs.
4218
4219 2005-11-02  Wim Taymans  <wim@fluendo.com>
4220
4221         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4222         (gst_pad_push), (gst_pad_push_event):
4223         Unlock blocked pads when they are flushed.
4224
4225 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4226
4227         * docs/README:
4228         * docs/gst/gstreamer-sections.txt:
4229         * gst/gstbin.c:
4230           doc updates
4231         * gst/gstregistry.c: (gst_registry_scan_path_level):
4232           fix for a nasty little missed situation where an installed plug-in
4233           which was in the cache did not get overridden by an uninstalled one
4234           which was earlier in the plugin path because the newly created plugin
4235           for the uninstalled one (not in the registry) didn't get its
4236           ->registered set to TRUE
4237
4238 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4239
4240         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4241         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4242         (gst_collectpads_is_active), (gst_collectpads_collect),
4243         (gst_collectpads_collect_range), (gst_collectpads_start),
4244         (gst_collectpads_stop), (gst_collectpads_peek),
4245         (gst_collectpads_pop), (gst_collectpads_available),
4246         (gst_collectpads_read), (gst_collectpads_flush):
4247           Guard public API with assertions.
4248         
4249         * gst/gstpad.c:
4250           Fix docs for gst_pad_set_link_function().
4251
4252 2005-11-02  Johan Dahlin  <johan@gnome.org>
4253
4254         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4255         Unref found_caps after we used it.
4256
4257 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4258
4259         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4260           Don't try to ref NULL.
4261
4262 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4263
4264         * win32/common/config.h.in:
4265           provide a GST_FUNCTION that just gives a string for now
4266
4267 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4270         (gst_object_flags_get_type), (register_gst_bin_flags),
4271         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4272         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4273         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4274         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4275         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4276         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4277         (gst_clock_flags_get_type), (register_gst_state),
4278         (gst_state_get_type), (register_gst_state_change_return),
4279         (gst_state_change_return_get_type), (register_gst_state_change),
4280         (gst_state_change_get_type), (register_gst_element_flags),
4281         (gst_element_flags_get_type), (register_gst_core_error),
4282         (gst_core_error_get_type), (register_gst_library_error),
4283         (gst_library_error_get_type), (register_gst_resource_error),
4284         (gst_resource_error_get_type), (register_gst_stream_error),
4285         (gst_stream_error_get_type), (register_gst_event_type),
4286         (gst_event_type_get_type), (register_gst_seek_type),
4287         (gst_seek_type_get_type), (register_gst_seek_flags),
4288         (gst_seek_flags_get_type), (register_gst_format),
4289         (gst_format_get_type), (register_gst_index_certainty),
4290         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4291         (gst_index_entry_type_get_type),
4292         (register_gst_index_lookup_method),
4293         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4294         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4295         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4296         (gst_index_flags_get_type), (register_gst_debug_level),
4297         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4298         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4299         (gst_iterator_result_get_type), (register_gst_iterator_item),
4300         (gst_iterator_item_get_type), (register_gst_message_type),
4301         (gst_message_type_get_type), (register_gst_mini_object_flags),
4302         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4303         (gst_pad_link_return_get_type), (register_gst_flow_return),
4304         (gst_flow_return_get_type), (register_gst_activate_mode),
4305         (gst_activate_mode_get_type), (register_gst_pad_direction),
4306         (gst_pad_direction_get_type), (register_gst_pad_flags),
4307         (gst_pad_flags_get_type), (register_gst_pad_presence),
4308         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4309         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4310         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4311         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4312         (gst_plugin_flags_get_type), (register_gst_rank),
4313         (gst_rank_get_type), (register_gst_query_type),
4314         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4315         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4316         (gst_tag_flag_get_type), (register_gst_task_state),
4317         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4318         (gst_alloc_trace_flags_get_type),
4319         (register_gst_type_find_probability),
4320         (gst_type_find_probability_get_type), (register_gst_uri_type),
4321         (gst_uri_type_get_type), (register_gst_parse_error),
4322         (gst_parse_error_get_type):
4323         * win32/common/gstversion.h:
4324           update win32 copies
4325
4326 2005-11-01  Luca Ognibene  <luogni@tin.it>
4327
4328         * gst/gst.c:
4329           fix docs. popt is dead, long live GOption.
4330
4331 2005-10-31  Wim Taymans  <wim@fluendo.com>
4332
4333         * gst/gstbuffer.h:
4334         Small doc fix.
4335
4336 2005-10-31  Andy Wingo  <wingo@pobox.com>
4337
4338         * Boo!
4339
4340         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4341
4342         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4343         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4344         the possibility of deadlocks here if code calling notify() or
4345         set() has a lock that can be taken in another notify handler (ABBA
4346         with class lock and e.g. python GIL state lock).
4347
4348 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4349
4350         * gst/gstbus.c: Doc updates.
4351
4352 2005-10-28  Wim Taymans  <wim@fluendo.com>
4353
4354         * docs/design/part-TODO.txt:
4355         * gst/gstiterator.c:
4356         * gst/gstsystemclock.c:
4357         * gst/gstsystemclock.h:
4358         Doc updates.
4359
4360 2005-10-28  Edward Hervey  <edward@fluendo.com>
4361
4362         * docs/gst/gstreamer-docs.sgml:
4363         * docs/gst/gstreamer-sections.txt:
4364         the GstURIType documentation page is private, it only defines GstURIType
4365         which should be defined in the GstURIHandler page
4366         
4367 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4368
4369         * gst/gstbin.c: (gst_bin_class_init):
4370         * gst/gstbin.h:
4371         * gst/gstutils.c:
4372         Documentation updates.
4373
4374 2005-10-28  Wim Taymans  <wim@fluendo.com>
4375
4376         * docs/gst/gstreamer-sections.txt:
4377         * gst/gstclock.c:
4378         * gst/gstclock.h:
4379         Documented the clocks.
4380
4381 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4382
4383         * docs/gst/gstreamer-sections.txt:
4384           move some macros to private sections
4385         * gst/gstminiobject.c:
4386         * gst/gstminiobject.h:
4387           add descriptions provided by ds and some more
4388         * gst/gstpad.h:
4389           mark macro as to be removed
4390
4391 2005-10-28  Wim Taymans  <wim@fluendo.com>
4392
4393         * docs/design/part-TODO.txt:
4394         Add an item to TODO.
4395
4396         * gst/gstiterator.c: (gst_iterator_fold),
4397         (gst_iterator_find_custom):
4398         * gst/gstiterator.h:
4399         Add iterator docs.
4400
4401 2005-10-28  Wim Taymans  <wim@fluendo.com>
4402
4403         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4404         (gst_base_transform_init):
4405         Don't leak class.
4406
4407         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4408         An EOS event marks the queue as completely filled.
4409
4410 2005-10-27  Wim Taymans  <wim@fluendo.com>
4411
4412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4413         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4414         Some more debugging.
4415
4416         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4417         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4418         (gst_base_transform_event), (gst_base_transform_getrange),
4419         (gst_base_transform_chain):
4420         * gst/base/gstbasetransform.h:
4421         Fix debugging,
4422         Protect transform and concurrent buffer alloc with a new lock.
4423         Try not to break ABI/API.
4424
4425 2005-10-27  Wim Taymans  <wim@fluendo.com>
4426
4427         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4428         (gst_base_src_init), (gst_base_src_query),
4429         (gst_base_src_default_newsegment),
4430         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4431         (gst_base_src_send_event), (gst_base_src_event_handler),
4432         (gst_base_src_pad_get_range), (gst_base_src_loop),
4433         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4434         (gst_base_src_start), (gst_base_src_deactivate),
4435         (gst_base_src_activate_push), (gst_base_src_change_state):
4436         Move some stuff around and cleanup things.
4437
4438 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4439
4440         * gst/base/gstbasesrc.c: (gst_base_src_query):
4441           Add missing break statements.
4442
4443 2005-10-27  Wim Taymans  <wim@fluendo.com>
4444
4445         * check/gst/gstbin.c: (GST_START_TEST):
4446         An extra refcount is taken in basesrc.
4447
4448         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4449         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4450         (gst_base_src_loop):
4451         Small cleanups, check for flushing after being unlocked from the 
4452         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4453         Don't send out EOS when going to READY.
4454
4455 2005-10-27  Wim Taymans  <wim@fluendo.com>
4456
4457         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4458         (gst_base_sink_get_position):
4459         Some more debug.
4460
4461         * gst/gstbin.c: (message_check), (bin_replace_message),
4462         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4463         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4464         (bin_query_duration_init), (bin_query_duration_fold),
4465         (bin_query_duration_done), (bin_query_generic_fold),
4466         (gst_bin_query):
4467         * tools/gst-launch.c: (main):
4468         Remove old option.
4469
4470 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4471
4472         * examples/controller/audio-example.c: (main):
4473         * examples/queue/queue.c: (event_loop):
4474         * gst/base/gstbasetransform.h:
4475         * gst/gstelement.c: (gst_element_send_event):
4476         * gst/gstevent.h:
4477         * gst/gstpad.c: (gst_pad_send_event):
4478           fixing examples
4479           fixing docs typos
4480           changing log priority in error situations
4481
4482 2005-10-25  Wim Taymans  <wim@fluendo.com>
4483
4484         * gst/gstbin.c: (message_check), (bin_replace_message),
4485         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4486         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4487         (bin_query_duration_init), (bin_query_duration_fold),
4488         (bin_query_duration_done), (bin_query_generic_fold),
4489         (gst_bin_query):
4490         Some doc and debug updates.
4491         Cache previously requested query DURATION for speed. invalidate
4492         cached duration if element posts a DURATION message.
4493
4494 2005-10-25  Wim Taymans  <wim@fluendo.com>
4495
4496         * docs/design/part-TODO.txt:
4497         Update TODO.
4498
4499         * gst/gstbin.c: (message_check), (bin_replace_message),
4500         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4501         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4502         (bin_query_duration_init), (bin_query_duration_fold),
4503         (bin_query_duration_done), (bin_query_generic_fold),
4504         (gst_bin_query):
4505         Handle SEGMENT_START/DONE messages correctly.
4506         More evolved query algorithm that handles duration queries
4507         correctly.
4508
4509         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4510         (gst_element_get_state_func), (gst_element_abort_state),
4511         (gst_element_commit_state), (gst_element_lost_state):
4512         Some more debugging.
4513
4514         * gst/gstmessage.h:
4515         Added doc.
4516
4517 2005-10-25  Wim Taymans  <wim@fluendo.com>
4518
4519         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4520         Don't use invalid stream_time.
4521
4522         * gst/gstevent.c: (gst_event_new_newsegment):
4523         stream_time in newsegment cannot be undefined.
4524
4525 2005-10-24  Wim Taymans  <wim@fluendo.com>
4526
4527         * gst/gstbus.c:
4528         Doc fix.
4529
4530         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4531         (gst_queue_loop):
4532         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4533
4534 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4535
4536         * docs/libs/tmpl/gstdparam.sgml:
4537         * docs/libs/tmpl/gstdplinint.sgml:
4538         * docs/libs/tmpl/gstdpman.sgml:
4539         * docs/libs/tmpl/gstdpsmooth.sgml:
4540         * docs/libs/tmpl/gstunitconvert.sgml:
4541           these are obsolete
4542
4543 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4544
4545         * configure.ac:
4546           back to HEAD
4547
4548 === release 0.9.4 ===
4549
4550 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4551
4552         * configure.ac:
4553           releasing 0.9.4, "Tyrannosaurus Rex"
4554
4555 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4556
4557         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4558         (gst_file_sink_get_current_offset):
4559           Use fseeko() and ftello() if available. When falling back on
4560           lseek() to get the current offset, fflush() first to make sure
4561           everything is up-to-date and we get the right offset.
4562
4563 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4564
4565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4566         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4567         * gst/gsterror.c: (_gst_stream_errors_init):
4568         * gst/gsterror.h:
4569         * gst/gstqueue.c: (gst_queue_loop):
4570         * po/POTFILES.in:
4571           remove prematurely added error category and clean up the instances
4572
4573 2005-10-21  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4576         (gst_base_sink_get_position), (gst_base_sink_query),
4577         (gst_base_sink_change_state):
4578         Simply set the right flag when going to playing, that's all
4579         we need to do instead of calling a function inside the object
4580         lock (that could take the lock as well and deadlock)
4581
4582 2005-10-21  Wim Taymans  <wim@fluendo.com>
4583
4584         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4585         (gst_base_src_loop):
4586         Don't warn, the peer element knows what to do best when
4587         the seek failed, it might try something else.
4588
4589 2005-10-21  Wim Taymans  <wim@fluendo.com>
4590
4591         * gst/base/gstbasesrc.c: (gst_base_src_init),
4592         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4593         Fix seeking.
4594
4595 2005-10-21  Wim Taymans  <wim@fluendo.com>
4596
4597         * docs/design/part-segments.txt:
4598         More docs.
4599
4600         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4601         Correctly set caps, even on the subbufer.
4602
4603 2005-10-21  Wim Taymans  <wim@fluendo.com>
4604
4605         * docs/gst/gstreamer-docs.sgml:
4606         * docs/gst/gstreamer-sections.txt:
4607         * gst/gstelement.h:
4608         * gst/gstevent.c:
4609         * gst/gstevent.h:
4610         * gst/gstmessage.h:
4611         * gst/gstpad.h:
4612         * gst/gstparse.h:
4613         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4614         * gst/gsttask.h:
4615         * gst/gstutils.c:
4616         * gst/gstutils.h:
4617         And 2% more doc coverage.
4618
4619 2005-10-21  Andy Wingo  <wingo@pobox.com>
4620
4621         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4622         position reporting.
4623
4624 2005-10-20  Wim Taymans  <wim@fluendo.com>
4625
4626         * gst/gsterror.c: (gst_error_get_message):
4627         * gst/gstparse.h:
4628         * gst/gstquery.h:
4629         * gst/gststructure.c:
4630         * gst/gsttrace.c:
4631         * gst/gstutils.c:
4632         More docs.
4633
4634 2005-10-20  Wim Taymans  <wim@fluendo.com>
4635
4636         * gst/gstbuffer.h:
4637         * gst/gstpad.c:
4638         * gst/gstparse.c:
4639         Another 1% more coverage.
4640
4641 2005-10-20  Wim Taymans  <wim@fluendo.com>
4642
4643         * docs/gst/gstreamer-sections.txt:
4644         * gst/gstelement.c: (gst_element_get_state_func),
4645         (gst_element_abort_state), (gst_element_commit_state),
4646         (gst_element_lost_state):
4647         * gst/gstevent.h:
4648         * gst/gstquery.c: (gst_query_set_position),
4649         (gst_query_parse_position), (gst_query_set_duration),
4650         (gst_query_parse_duration), (gst_query_new_convert):
4651         * gst/gstutils.c:
4652         Yay! 1% more docs coverage.
4653
4654 2005-10-20  Wim Taymans  <wim@fluendo.com>
4655
4656         * gst/gstpad.h:
4657         * gst/gstquery.c: (gst_query_set_position),
4658         (gst_query_parse_position), (gst_query_set_duration),
4659         (gst_query_parse_duration), (gst_query_new_convert):
4660         * gst/gstquery.h:
4661         * gst/gstutils.c: (gst_element_query_convert):
4662         * gst/gstutils.h:
4663         Docs and consistency fixes.
4664
4665 2005-10-20  Wim Taymans  <wim@fluendo.com>
4666
4667         * gst/gsttask.c:
4668         * gst/gsttask.h:
4669         More docs.
4670
4671 2005-10-20  Wim Taymans  <wim@fluendo.com>
4672
4673         * gst/gstbin.c: (message_check), (bin_replace_message),
4674         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4675         (update_degree), (gst_bin_sort_iterator_next),
4676         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4677         Reworked the message handling a bit, cache the messages instead of
4678         only the senders. alows us to do more in the future.
4679
4680 2005-10-20  Wim Taymans  <wim@fluendo.com>
4681
4682         * docs/design/part-TODO.txt:
4683         Update TODO
4684
4685         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4686         (gst_base_sink_query):
4687         Don't use clock time to report position when in EOS.
4688
4689 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4690
4691         * tools/gst-inspect.c: (print_interfaces),
4692         (print_element_properties_info), (print_element_info):
4693           Fix interface output with gst-inspect -a; don't print
4694           newlines after double/float properties.
4695
4696 2005-10-20  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4699         (gst_base_sink_query):
4700         Speed up current position calculation.
4701
4702         * gst/base/gstbasesrc.c: (gst_base_src_query),
4703         (gst_base_src_default_newsegment):
4704         Correctly set stream position in newsegment.
4705
4706         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4707         (update_degree), (gst_bin_sort_iterator_next),
4708         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4709         * gst/gstmessage.c: (gst_message_new_custom):
4710         Clean up debugging info
4711
4712         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4713         (gst_queue_loop), (gst_queue_handle_src_query):
4714         Pause task faster.
4715
4716 2005-10-19  Wim Taymans  <wim@fluendo.com>
4717
4718         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4719         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4720         Fix query handling again.
4721
4722 2005-10-19  Wim Taymans  <wim@fluendo.com>
4723
4724         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4725         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4726         * gst/base/gstbasesrc.c: (gst_base_src_query):
4727         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4728         * gst/elements/gsttypefindelement.c:
4729         (gst_type_find_handle_src_query), (find_element_get_length),
4730         (gst_type_find_element_activate):
4731         API change fix.
4732
4733         * gst/gstquery.c: (gst_query_new_position),
4734         (gst_query_set_position), (gst_query_parse_position),
4735         (gst_query_new_duration), (gst_query_set_duration),
4736         (gst_query_parse_duration), (gst_query_set_segment),
4737         (gst_query_parse_segment):
4738         * gst/gstquery.h:
4739         Bundling query position/duration is not a good idea since duration
4740         does not change much and we don't want to recalculate it for every
4741         position query, so they are separated again..
4742         Base value in segment query is not needed.
4743
4744         * gst/gstqueue.c: (gst_queue_handle_src_query):
4745         * gst/gstutils.c: (gst_element_query_position),
4746         (gst_element_query_duration), (gst_pad_query_position),
4747         (gst_pad_query_duration):
4748         * gst/gstutils.h:
4749         Updates for query API change.
4750         Added some docs here and there.
4751
4752 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * check/gst/gstbin.c: (GST_START_TEST):
4755         * check/gst/gstghostpad.c: (GST_START_TEST):
4756         * check/pipelines/cleanup.c: (GST_START_TEST):
4757           wait on thread to die so we can check refcount correctly
4758
4759 2005-10-18  Wim Taymans  <wim@fluendo.com>
4760
4761         * check/pipelines/stress.c: (GST_START_TEST):
4762         Make check a little more time consuming.
4763
4764 2005-10-18  Wim Taymans  <wim@fluendo.com>
4765
4766         * check/Makefile.am:
4767         * check/pipelines/stress.c: (GST_START_TEST),
4768         (simple_launch_lines_suite), (main):
4769         Small state change torture test.
4770
4771         * docs/design/part-states.txt:
4772         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4773         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4774         (gst_base_sink_change_state):
4775         Never take state lock from streaming thread, clean up ugly
4776         hacks. Unfortunatly core does not yet support nice ways to
4777         async commit state.
4778         
4779         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4780         (bin_bus_handler):
4781         Start state recalc if a STATE_DIRTY message is posted, but only
4782         on the toplevel bin.
4783
4784         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4785         (gst_element_get_state_func), (gst_element_abort_state),
4786         (gst_element_commit_state), (gst_element_lost_state),
4787         (gst_element_set_state_func), (gst_element_change_state):
4788         * gst/gstelement.h:
4789         State variables are now protected with the LOCK, the state
4790         lock is only used to serialize _set_state().
4791
4792 2005-10-18  Wim Taymans  <wim@fluendo.com>
4793
4794         * check/gst/gstbin.c: (GST_START_TEST):
4795         * check/gst/gstmessage.c: (GST_START_TEST):
4796         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4798         (bin_bus_handler):
4799         * gst/gstelement.c: (gst_element_abort_state),
4800         (gst_element_commit_state), (gst_element_lost_state):
4801         * gst/gstmessage.c: (gst_message_new_state_changed),
4802         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4803         (gst_message_new_segment_done), (gst_message_new_duration),
4804         (gst_message_parse_state_changed),
4805         (gst_message_parse_segment_start),
4806         (gst_message_parse_segment_done), (gst_message_parse_duration):
4807         * gst/gstmessage.h:
4808         * tools/gst-launch.c: (event_loop):
4809         Seriously, this is better than a previous commit as we only need
4810         to notify the fact that an element changed state in a streaming
4811         thread, marking the state of the parents dirty, hence the 
4812         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4813         message.
4814
4815 2005-10-18  Wim Taymans  <wim@fluendo.com>
4816
4817         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4818         (gst_bin_recalc_func):
4819         * gst/gstelement.c: (gst_element_set_clock),
4820         (gst_element_abort_state), (gst_element_lost_state):
4821         Cleanups, prepare for state change fixes.
4822
4823 2005-10-18  Wim Taymans  <wim@fluendo.com>
4824
4825         * gst/gstbin.h:
4826         * gst/gstelement.c: (gst_element_class_init),
4827         (gst_element_set_state), (gst_element_set_state_func):
4828         * gst/gstelement.h:
4829         Pending ABI changes.
4830         GThreadPool in GstBinClass to monitor async state changes.
4831         state_cookie in GstElement to detect concurrent gst/set state.
4832         set_state is now virtual too in case a very complicated element
4833         has to be constructed.
4834
4835 2005-10-18  Wim Taymans  <wim@fluendo.com>
4836
4837         * check/gst/gstbin.c: (GST_START_TEST):
4838         * check/gst/gstmessage.c: (GST_START_TEST):
4839         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4840         * gst/gstbin.c: (bin_bus_handler):
4841         * gst/gstelement.c: (gst_element_commit_state),
4842         (gst_element_lost_state):
4843         * gst/gstmessage.c: (gst_message_new_state_changed),
4844         (gst_message_new_segment_start), (gst_message_new_segment_done),
4845         (gst_message_new_duration), (gst_message_parse_state_changed),
4846         (gst_message_parse_segment_start),
4847         (gst_message_parse_segment_done), (gst_message_parse_duration):
4848         * gst/gstmessage.h:
4849         * tools/gst-launch.c: (event_loop):
4850         Make messages future proof.
4851         state-change gets a flag if it was a message comming from the
4852         streaming thread.
4853         segment-start/stop can also be specified in other formats.
4854         A message to notify an app that a pipeline changed playback 
4855         duration.
4856         Also fix a GstMessage leak in -launch
4857
4858 2005-10-18  Andy Wingo  <wingo@pobox.com>
4859
4860         * gst/gstelement.c (gst_element_dispose): More helpful message.
4861
4862 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4863
4864         reviewed by: <delete if not using a buddy>
4865
4866         * common/gtk-doc.mak:
4867
4868 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * gst/gstregistry.c: (gst_registry_scan_path_level):
4871           unref a plug-in we get that was already initialized
4872
4873 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4874
4875         * docs/gst/gstreamer-sections.txt:
4876         * docs/libs/gstreamer-libs-sections.txt:
4877         * gst/gstelement.h:
4878           add new api entries
4879           hide internal macro
4880
4881 2005-10-17  Andy Wingo  <wingo@pobox.com>
4882
4883         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4884         cleanup.
4885
4886         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4887
4888         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4889
4890         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4891         (gst_element_get_state_func): Better debug message.
4892         (gst_element_commit_state): s/INFO/DEBUG/.
4893         (gst_element_lost_state, gst_element_change_state): 
4894
4895         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4896         (gst_message_new_custom): s/INFO/LOG/.
4897
4898 2005-10-17  Michael Smith <msmith@fluendo.com>
4899
4900         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4901           Check if end time is valid using end time, not start time.
4902
4903 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4904
4905         * check/gst-libs/controller.c: (GST_START_TEST),
4906         (gst_controller_suite):
4907         * libs/gst/controller/gstcontroller.c:
4908         (gst_controlled_property_set_interpolation_mode):
4909         * libs/gst/controller/gstcontroller.h:
4910         * libs/gst/controller/gstinterpolation.c:
4911         * testsuite/controller/.cvsignore:
4912         * testsuite/controller/Makefile.am:
4913         * testsuite/controller/interpolator.c:
4914           merge controller testsuites
4915           fix broken tests
4916           remove mem-chunk from docs
4917
4918 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * gst/gstmemchunk.c:
4921         * gst/gstmemchunk.h:
4922         * gst/gsttrashstack.c:
4923         * gst/gsttrashstack.h:
4924           out.  get out.  you're fired.  to the Attic !
4925
4926 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * gst/gstcaps.c: (gst_caps_intersect):
4929           fix signedness issues in a (hopefully) correct way
4930         * gst/gstelement.c: (gst_element_pads_activate):
4931           some debugging
4932         * gst/gstobject.c: (gst_object_set_parent):
4933           some debugging
4934
4935 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4936
4937         * gst/gstvalue.h: Fix prototypes.
4938
4939 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * docs/gst/gstreamer-sections.txt:
4942         * gst/gst.c: (gst_version_string):
4943         * gst/gst.h:
4944         * gst/gstversion.h.in:
4945         * win32/common/libgstreamer.def:
4946           add gst_version_string ()
4947
4948 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4949
4950         * configure.ac:
4951           clean up further
4952         * gst/gst.c: (init_post):
4953         * win32/common/config.h.in:
4954           it's PLUGINDIR now
4955         * gst/gstcaps.c: (gst_caps_intersect):
4956           use gint64, the range could be bigger than a guint
4957
4958 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4959
4960         * gst/gstclock.h:
4961           document potential problem in 2038
4962
4963 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4964
4965         * gst/gstcaps.c: (gst_caps_intersect):
4966           Fix guint j diving under 0
4967
4968 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4969
4970         * configure.ac:
4971         * win32/common/config.h:
4972         * win32/common/config.h.in:
4973           check for process.h, declares getpid() on Windows
4974         * gst/gstinfo.c:
4975           include process.h if we have it
4976         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4977         * gst/gstmemchunk.h:
4978           fix signedness issues
4979         * win32/common/libgstreamer.def:
4980           fix get_type's
4981
4982 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4983
4984         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4985         fix. Because of unsigned ints, caps intersection was going nuts and
4986         trying to access structures with G_MAXUINT index. That fixes
4987         videotestsrc ! ffmpegcolorspace ! fakesink
4988         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4989         consistency.
4990
4991 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * configure.ac:
4994           use the gettext macro
4995         * gst/elements/gstelements.c:
4996         * gst/gst.c:
4997         * gst/indexers/gstindexers.c:
4998           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4999         * win32/common/config.h:
5000           updated config.h
5001         * win32/common/config.h.in:
5002           add the template to generate config.h
5003         * win32/common/gstenumtypes.c:
5004         * win32/common/gstversion.h:
5005           updated copies
5006
5007 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5008
5009         * gst/gst.c: (gst_version):
5010         * gst/gstversion.h.in:
5011           add the nano
5012
5013 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5014
5015         * gst/gstevent.h:
5016           Oops, add missing closing bracket.
5017
5018 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5019
5020         * configure.ac:
5021           use common m4's for argument checking
5022
5023 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5024
5025         * docs/gst/gstreamer-sections.txt:
5026         * gst/gstevent.h:
5027           Add GST_EVENT_TYPE_NAME() macro.
5028
5029 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * gst/gstinfo.c:
5032         * gst/gstpluginfeature.c:
5033         * gst/gsttask.c:
5034           privatize more symbols
5035
5036 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * configure.ac:
5039           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5040           everything that uses GStreamer API should have the includes
5041
5042 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5043
5044         * docs/gst/gstreamer-sections.txt:
5045         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5046         * gst/gstvalue.h:
5047           give each value a _get_type, removes the DATA exports
5048
5049 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5050
5051         * gst/gst.c:
5052         * gst/gst.h:
5053           remove _gst_registry_auto_load, not used anymore
5054         * gst/gstbin.c: (gst_bin_get_type):
5055         * gst/gstbin.h:
5056         * gst/gstelement.c: (gst_element_get_type):
5057         * gst/gstelement.h:
5058         * gst/gstobject.c: (gst_object_get_type):
5059         * gst/gstobject.h:
5060         * gst/gstpad.c: (gst_pad_get_type):
5061         * gst/gstpad.h:
5062           make _get_type functions similar, fixes data export from library
5063
5064 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5065
5066         * configure.ac:
5067           correctly make conditionals
5068         * gst/elements/Makefile.am:
5069         * gst/elements/gstelements.c:
5070           fix typo causing fdsrc not to build
5071
5072 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5073
5074         * testsuite/Makefile.am:
5075         * testsuite/bytestream/.cvsignore:
5076         * testsuite/bytestream/Makefile.am:
5077         * testsuite/bytestream/filepadsink.c:
5078         * testsuite/bytestream/gstbstest.c:
5079         * testsuite/bytestream/test1.c:
5080         * testsuite/bytestream/testfile1:
5081         * testsuite/caps/normalisation.c:
5082         * testsuite/caps/random.c: (main):
5083         * testsuite/cleanup/.cvsignore:
5084         * testsuite/cleanup/Makefile.am:
5085         * testsuite/cleanup/cleanup1.c:
5086         * testsuite/cleanup/cleanup2.c:
5087         * testsuite/cleanup/cleanup3.c:
5088         * testsuite/cleanup/cleanup4.c:
5089         * testsuite/cleanup/cleanup5.c:
5090         * testsuite/controller/interpolator.c:
5091         * testsuite/debug/printf_extension.c: (main):
5092         * testsuite/elements/tee.c:
5093         * testsuite/negotiation/.cvsignore:
5094         * testsuite/negotiation/Makefile.am:
5095         * testsuite/negotiation/pad_link.c:
5096         * testsuite/pad/Makefile.am:
5097         * testsuite/pad/chainnopull.c:
5098         * testsuite/pad/getnopush.c:
5099         * testsuite/pad/link.c:
5100         * testsuite/refcounting/sched.c: (create_pipeline):
5101         * testsuite/registry/Makefile.am:
5102         * testsuite/registry/gst-print-formats.c:
5103         * testsuite/schedulers/.cvsignore:
5104         * testsuite/schedulers/142183-2.c:
5105         * testsuite/schedulers/142183.c:
5106         * testsuite/schedulers/143777-2.c:
5107         * testsuite/schedulers/143777.c:
5108         * testsuite/schedulers/147713.c:
5109         * testsuite/schedulers/147819.c:
5110         * testsuite/schedulers/147894-2.c:
5111         * testsuite/schedulers/147894.c:
5112         * testsuite/schedulers/Makefile.am:
5113         * testsuite/schedulers/group_link.c:
5114         * testsuite/schedulers/queue_link.c:
5115         * testsuite/schedulers/relink.c:
5116         * testsuite/schedulers/unlink.c:
5117         * testsuite/schedulers/unref.c:
5118         * testsuite/schedulers/useless_iteration.c:
5119         * testsuite/states/bin.c:
5120           clean out/remove some stuff from the testsuite directories
5121
5122 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5123
5124         * configure.ac:
5125           check for some headers
5126         * gst/elements/Makefile.am:
5127         * gst/elements/gstelements.c:
5128           don't compile fdsrc without sys/socket.h
5129         * gst/indexers/Makefile.am:
5130         * gst/indexers/gstindexers.c: (plugin_init):
5131           don't compile fileindex without mmap
5132
5133 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5134
5135         * configure.ac:
5136           reorganize
5137           clean up
5138           document more
5139           remove cruft
5140         * check/Makefile.am:
5141         * docs/gst/Makefile.am:
5142         * examples/helloworld/Makefile.am:
5143         * gst/Makefile.am:
5144         * gst/base/Makefile.am:
5145         * gst/check/Makefile.am:
5146         * gst/elements/Makefile.am:
5147         * gst/indexers/Makefile.am:
5148         * gst/parse/Makefile.am:
5149         * libs/gst/controller/Makefile.am:
5150         * libs/gst/dataprotocol/Makefile.am:
5151         * examples/helloworld/helloworld.c: (event_loop):
5152           compile fixes, though it's not being compiled currently
5153
5154 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5155
5156         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5157           Add some simple tests for the new taglist date API.
5158
5159 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5160
5161         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5162         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5163           Beautify 'last-message' output: print 'none' for buffer timestamps
5164           and durations if none is set; improve alignment with next messages.
5165
5166 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5167
5168         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5169         * gst/gstpluginfeature.h:
5170         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5171         * gst/gstregistry.h:
5172         * docs/gst/gstreamer-sections.txt:
5173           Add new API to check plugin feature version requirements.
5174
5175         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5176           Some basic tests for the above.         
5177
5178 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5179
5180         * gst/gststructure.c: (gst_structure_to_string):
5181           guard against NULL printf - happens when for example
5182           a message structure with GstClock gets serialized
5183
5184 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5187           Fix presumable copy'n'pasto.
5188
5189 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5190
5191         * gst/elements/gstfakesrc.h:
5192         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5193         * gst/elements/gsttypefindelement.c:
5194           fix some signedness
5195         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5196           I wonder if this could actually write +2GB files before
5197
5198 2005-10-13  Andy Wingo  <wingo@pobox.com>
5199
5200         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5201         Fix Timmeke Waymans bug.
5202         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5203         string of the proper length to gst_caps_from_string. There's a
5204         potential for, before this fix, that this could cause someone
5205         connecting over the network to cause a segfault if the payload is
5206         not NUL-terminated.
5207
5208 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5209
5210         * docs/design/draft-push-pull.txt:
5211         * docs/design/part-overview.txt:
5212         * docs/random/TODO-pre-0.9:
5213         * docs/random/old/ChangeLog.gstreamer:
5214         * gst/base/gstpushsrc.c:
5215         * gst/gstclock.c:
5216           fixed typos
5217
5218 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5219
5220         * gst/glib-compat.c: (gst_flags_get_first_value):
5221         * gst/glib-compat.h:
5222         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5223         (gst_value_compare_double), (gst_value_serialize_flags):
5224           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5225           infinite loop
5226
5227 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5228
5229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5230         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5231           fix up debugging
5232         * tools/gst-launch.c: (event_loop):
5233           print out clock nicely
5234
5235 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * docs/gst/gstreamer-sections.txt:
5238         * gst/gsttaglist.h:
5239         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5240         (gst_tag_list_get_date_index):
5241           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5242           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5243
5244 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5245
5246         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5247         (gst_collectpads_chain):
5248         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5249         in CollectData.
5250
5251 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5252
5253         * docs/gst/gstreamer-sections.txt:
5254         * gst/gst.c:
5255         * gst/gsterror.h:
5256         * tools/gst-inspect.c: (main):
5257         * tools/gst-launch.c: (main):
5258         * tools/gst-run.c: (main):
5259         * tools/gst-xmlinspect.c: (main):
5260           fix GOption context leaks
5261           doc fixes
5262
5263 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         * gst/gstbus.c:
5266           use HAVE_UNISTD_H
5267         * win32/common/config.h:
5268           update config
5269         * win32/vs6/grammar.dsp:
5270         * win32/vs6/libgstelements.dsp:
5271         * win32/vs6/libgstreamer.dsp:
5272           update vs6 files
5273
5274 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5275
5276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5277         * gst/base/gstbasesrc.c: (gst_base_src_query):
5278           fix more guint64<->gdouble conversions
5279
5280 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5281
5282         * Makefile.am:
5283           add win32-update target
5284         * win32/common/gstconfig.h:
5285         * win32/common/gstenumtypes.c:
5286         * win32/common/gstenumtypes.h:
5287         * win32/common/gstversion.h:
5288           add files that visual studio can't generate
5289
5290 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5291
5292         * Makefile.am:
5293           add a win32-update target
5294         * configure.ac:
5295
5296 2005-10-12  Wim Taymans  <wim@fluendo.com>
5297
5298         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5299         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5300         * gst/gstelement.c: (gst_element_commit_state),
5301         (gst_element_set_state):
5302         Protect flags with proper lock.
5303         unref provided cached clock in dispose.
5304
5305 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * gst/gst.c:
5308         * gst/gstminiobject.h:
5309         * gst/gstpad.h:
5310         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5311           removed unused flags from miniobject
5312           doc fixes
5313
5314 2005-10-12  Wim Taymans  <wim@fluendo.com>
5315
5316         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5317         (gst_file_sink_event), (gst_file_sink_render):
5318         Flush before seeking.
5319
5320 2005-10-12  Andy Wingo  <wingo@pobox.com>
5321
5322         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5323         always been the case.
5324
5325 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5326
5327         * check/gst/gstbin.c: (GST_START_TEST):
5328         * docs/gst/gstreamer-sections.txt:
5329         * gst/base/gstbasesink.c: (gst_base_sink_init):
5330         * gst/base/gstbasesrc.c: (gst_base_src_init),
5331         (gst_base_src_get_range), (gst_base_src_check_get_range),
5332         (gst_base_src_start), (gst_base_src_stop):
5333         * gst/base/gstbasesrc.h:
5334         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5335         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5336         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5337         (bin_bus_handler):
5338         * gst/gstbin.h:
5339         * gst/gstbuffer.h:
5340         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5341         * gst/gstbus.h:
5342         * gst/gstelement.c: (gst_element_is_locked_state),
5343         (gst_element_set_locked_state), (gst_element_commit_state),
5344         (gst_element_set_state):
5345         * gst/gstelement.h:
5346         * gst/gstindex.c: (gst_index_init):
5347         * gst/gstindex.h:
5348         * gst/gstminiobject.h:
5349         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5350         (gst_object_set_parent):
5351         * gst/gstobject.h:
5352         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5353         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5354         * gst/gstpad.h:
5355         * gst/gstpadtemplate.h:
5356         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5357         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5358         * gst/gstpipeline.h:
5359         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5360         (gst_file_index_commit):
5361         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5362         * testsuite/pad/link.c: (gst_test_src_init),
5363         (gst_test_filter_init), (gst_test_sink_init):
5364         * testsuite/states/locked.c: (main):
5365           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5366           moved bitshift from macro to enum definition
5367
5368 2005-10-12  Wim Taymans  <wim@fluendo.com>
5369
5370         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5371         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5372         (gst_file_sink_render):
5373         Some more debugging info.
5374
5375 2005-10-12  Wim Taymans  <wim@fluendo.com>
5376
5377         * docs/design/part-states.txt:
5378         * tools/gst-launch.c: (main):
5379         Some doc updates.
5380         Revert non-intentional change.
5381
5382 2005-10-12  Wim Taymans  <wim@fluendo.com>
5383
5384         * check/gst/gstbin.c: (GST_START_TEST):
5385         * check/gst/gstelement.c: (GST_START_TEST):
5386         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5387         * check/gst/gstghostpad.c: (GST_START_TEST):
5388         * check/gst/gstpipeline.c: (GST_START_TEST):
5389         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5390         * check/states/sinks.c: (GST_START_TEST):
5391         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5392         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5393         (gst_bin_remove_func), (gst_bin_get_state_func),
5394         (gst_bin_recalc_state), (gst_bin_change_state_func),
5395         (bin_bus_handler):
5396         * gst/gstelement.c: (gst_element_get_state_func),
5397         (gst_element_get_state), (gst_element_abort_state),
5398         (gst_element_commit_state), (gst_element_set_state),
5399         (gst_element_change_state), (gst_element_change_state_func):
5400         * gst/gstelement.h:
5401         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5402         (gst_pipeline_provide_clock_func):
5403         * gst/gstutils.c: (gst_element_link_pads_filtered):
5404         * tools/gst-launch.c: (main):
5405         * tools/gst-typefind.c: (main):
5406         Use GstClockTime in _get_state() instead of GTimeVal.
5407         Remove old code in gstutils.c
5408
5409 2005-10-12  Andy Wingo  <wingo@pobox.com>
5410
5411         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5412         removed.
5413
5414         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5415         there is no task. Shouldn't affect any code, as nothing in our
5416         plugins checks this return value.
5417         (gst_pad_stop_task): Also take the stream lock if the pad has no
5418         task. Docs updated.
5419
5420 2005-10-12  Wim Taymans  <wim@fluendo.com>
5421
5422         * gst/gstpad.c: (pre_activate), (post_activate),
5423         (gst_pad_activate_pull), (gst_pad_activate_push):
5424         Cleanup activation code. Reset old state if
5425         activation failed.
5426
5427 2005-10-12  Wim Taymans  <wim@fluendo.com>
5428
5429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5430         (gst_base_sink_change_state):
5431         No need to prerol after receiving EOS.
5432
5433         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5434         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5435         * gst/elements/gstidentity.c: (gst_identity_event):
5436         Print events more verbosely.
5437
5438 2005-10-12  Wim Taymans  <wim@fluendo.com>
5439
5440         * check/Makefile.am:
5441         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5442         * check/states/sinks2.c:
5443         Moved sinks2 testcode in sinks check.
5444
5445         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5446         (gst_bin_remove_func), (gst_bin_recalc_state),
5447         (gst_bin_change_state_func), (bin_bus_handler):
5448         Fix potential race condition when _get_state() iterated over an
5449         ASYNC element right before it posted a state completion.
5450
5451         * gst/gstclock.h:
5452         Do proper cast here.
5453
5454         * gst/gstevent.c: (gst_event_new_newsegment),
5455         (gst_event_parse_newsegment):
5456         A playback rate of 0.0 is not allowed.
5457
5458 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5459
5460         * win32/common/config.h:
5461         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5462         (_trewinddir), (_ttelldir), (_tseekdir):
5463         * win32/common/dirent.h:
5464         * win32/common/gtchar.h:
5465         * win32/common/libgstbase.def:
5466         * win32/common/libgstreamer.def:
5467         * win32/vs6/grammar.dsp:
5468         * win32/vs6/gst_inspect.dsp:
5469         * win32/vs6/gst_launch.dsp:
5470         * win32/vs6/gstreamer.dsw:
5471         * win32/vs6/libgstbase.dsp:
5472         * win32/vs6/libgstelements.dsp:
5473         * win32/vs6/libgstreamer.dsp:
5474           Visual Studio 6 project files, and a new common directory.
5475           Phear.
5476
5477 2005-10-11  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5480         (gst_base_sink_do_sync), (gst_base_sink_query),
5481         (gst_base_sink_change_state):
5482         * gst/base/gstbasesink.h:
5483         Correctly parse newsegment info.
5484
5485 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5486
5487         * gst/gst.c: (init_post):
5488           split plugin paths correctly
5489
5490 2005-10-11  Wim Taymans  <wim@fluendo.com>
5491
5492         * check/gst/gstevent.c: (GST_START_TEST):
5493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5494         (gst_base_sink_change_state):
5495         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5496         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5497         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5498         * gst/gstevent.c: (gst_event_new_newsegment),
5499         (gst_event_parse_newsegment):
5500         * gst/gstevent.h:
5501         Added extra flag to newsegment for future API freeze.
5502         Updated check and base elements.
5503
5504 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5505
5506         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5507         (gst_collectpads_add_pad), (gst_collectpads_pop),
5508         (gst_collectpads_event), (gst_collectpads_chain):
5509         * gst/base/gstcollectpads.h: Handle EOS correctly.
5510
5511 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5512
5513         * tools/gst-launch.c: (main):
5514           more null protecting
5515
5516 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * gst/gst-i18n-lib.h:
5519           check for ENABLE_NLS, not GETTEXT_PACKAGE
5520         * gst/gstregistry.c: (gst_registry_add_plugin),
5521         (gst_registry_scan_path_level),
5522         (_gst_registry_remove_cache_plugins):
5523           protect possibly NULL strings
5524         * gst/parse/types.h:
5525           config.h already included before
5526         * tools/gst-inspect.c: (main):
5527           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5528           check for ENABLE_NLS, not GETTEXT_PACKAGE
5529         * tools/gst-launch.c: (main):
5530           check for ENABLE_NLS, not GETTEXT_PACKAGE
5531
5532 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5533
5534         * configure.ac:
5535           if we don't have glib, fail before testing 2.8
5536         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5537           fix a leak, should fix plugins-base testsuite
5538
5539 2005-10-11  Andy Wingo  <wingo@pobox.com>
5540
5541         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5542         take the mode we're going to as an arg. Go head and set the mode
5543         and flushing flags now, so that if the activate function starts a
5544         thread all the flags will be in the right state.
5545         (post_activate): Renamed also. Just handle making sure streaming
5546         finishes for the deactivation case, and setting the deactivated
5547         mode.
5548         (gst_pad_set_active): Complain loudly if deactivation fails.
5549         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5550         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5551         remove the terrible hack.
5552
5553 2005-10-11  Wim Taymans  <wim@fluendo.com>
5554
5555         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5556         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5557         (gst_bin_recalc_state), (gst_bin_change_state_func),
5558         (gst_bin_dispose), (bin_bus_handler):
5559         * gst/gstbin.h:
5560         Prepare to make current EOS message queue more generic.
5561         Fix some typos.
5562
5563         * gst/gstevent.c: (gst_event_new_newsegment),
5564         (gst_event_parse_newsegment):
5565         * gst/gstevent.h:
5566         Rename base to stream_time.
5567
5568         * gst/gstmessage.h:
5569         Fix typo in docs.
5570
5571 2005-10-11  Wim Taymans  <wim@fluendo.com>
5572
5573         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5574         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5575         (gst_bin_change_state_func), (bin_bus_handler):
5576         * gst/gstbin.h:
5577         Work on proper clock selection.
5578
5579 2005-10-11  Edward Hervey  <edward@fluendo.com>
5580
5581         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5582         * libs/gst/controller/gstcontroller.h:
5583         Added GList* version of _remove_properties() in order to be able to wrap
5584         it in bindings.
5585
5586 2005-10-11  Wim Taymans  <wim@fluendo.com>
5587
5588         * docs/design/part-states.txt:
5589         Some more docs.
5590
5591         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5592         (gst_bin_change_state_func), (bin_bus_handler):
5593         Doc updates. Don't distribute the same clock over and over again.
5594
5595         * gst/gstclock.c:
5596         * gst/gstclock.h:
5597         Doc updates.
5598
5599         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5600         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5601         (gst_pad_send_event):
5602         * gst/gstpad.h:
5603         Make probe emission threadsafe again.
5604         Register quarks and move _get_name() from utils.
5605         Doc updates.
5606
5607         * gst/gstpipeline.c: (gst_pipeline_class_init),
5608         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5609         Only redistribute the clock of it changed.
5610
5611         * gst/gstsystemclock.h:
5612         Doc updates. 
5613
5614         * gst/gstutils.c:
5615         * gst/gstutils.h:
5616         Moved the _flow_get_name() to GstPad.
5617
5618 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5619
5620         * check/gst-libs/gdp.c: (GST_START_TEST):
5621         * check/gst/gstcaps.c: (GST_START_TEST):
5622         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5623         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5624         (gst_dp_packet_from_caps):
5625           fix more valgrind warnings before turning up the heat
5626
5627 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * gst/parse/grammar.y:
5630           some cleanup before the hacking
5631
5632 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * gst/base/gstbasesrc.c: (gst_base_src_query):
5635           use conversions
5636         * gst/gstutils.c: (gst_guint64_to_gdouble),
5637         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5638         * gst/gstutils.h:
5639           externalize, basesrc uses it
5640           obviously the implementation needs testing
5641
5642 2005-10-10  Wim Taymans  <wim@fluendo.com>
5643
5644         * tests/sched/Makefile.am:
5645         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5646         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5647
5648 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5649
5650         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5651           apparently converting from guint64 to double is not implemented
5652           on MSVC
5653
5654 2005-10-10  Wim Taymans  <wim@fluendo.com>
5655
5656         * check/Makefile.am:
5657         * check/generic/states.c: (GST_START_TEST):
5658         * check/gst/gstbin.c: (GST_START_TEST):
5659         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5660         * check/states/sinks.c: (GST_START_TEST):
5661         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5662         (main):
5663         Check fixes, use API as stated in design docs, remove hacks.
5664
5665         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5666         (gst_base_sink_change_state):
5667         Catch stopping our task while we're shutting down.
5668
5669         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5670         (gst_bin_remove_func), (gst_bin_get_state_func),
5671         (gst_bin_recalc_state), (gst_bin_change_state_func),
5672         (bin_bus_handler):
5673         * gst/gstbin.h:
5674         * gst/gstelement.c: (gst_element_init),
5675         (gst_element_get_state_func), (gst_element_abort_state),
5676         (gst_element_commit_state), (gst_element_lost_state),
5677         (gst_element_set_state), (gst_element_change_state),
5678         (gst_element_change_state_func):
5679         * gst/gstelement.h:
5680         New state change algorithm (see #318116)
5681
5682         * gst/gstpipeline.c: (gst_pipeline_class_init),
5683         (gst_pipeline_init), (gst_pipeline_set_property),
5684         (gst_pipeline_get_property), (do_pipeline_seek),
5685         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5686         * gst/gstpipeline.h:
5687         Remove crude state change hacks.
5688
5689         * gst/gstutils.h:
5690         Remove crude hacks.
5691
5692         * tools/gst-launch.c: (main):
5693         Fixes for state change. Needs some more work to fully use the
5694         new stuff.
5695
5696 2005-10-10  Andy Wingo  <wingo@pobox.com>
5697
5698         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5699
5700         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5701         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5702         issue.
5703
5704 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5705
5706         * gst/gstiterator.c: (gst_iterator_new):
5707           Fix my previous commit: GTypes passed to gst_iterator_new()
5708           can be fundamental types.
5709
5710 2005-10-10  Wim Taymans  <wim@fluendo.com>
5711
5712         * gst/gstelement.c: (gst_element_iterate_pad_list),
5713         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5714         (gst_element_iterate_sink_pads):
5715         Use src/sink pads lists for the respective iterators instead
5716         of filtering.
5717
5718 2005-10-10  Andy Wingo  <wingo@pobox.com>
5719
5720         Merged in popt removal + GOption addition patch from Ronald, bug
5721         #169772.
5722
5723         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5724         GstElement macros around, remove popt-related symbols, add goption
5725         stuff.
5726
5727         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5728         
5729         * docs/gst/Makefile.am:
5730         * docs/libs/Makefile.am: No POPT_CFLAGS.
5731         
5732         * examples/manual/Makefile.am:
5733         * docs/manual/basics-init.xml: Doc updates with an example.
5734         
5735         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5736         (gst_init), (parse_one_option), (parse_goption_arg):
5737         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5738         bit of hand merging and debugging to get the GOption stuff working
5739         tho.
5740         
5741         * tests/Makefile.am:
5742         * tools/Makefile.am:
5743         * tools/gst-inspect.c: (main):
5744         * tools/gst-launch.c: (main):
5745         * tools/gst-run.c: (main):
5746         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5747
5748 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * gst/gstiterator.c: (gst_iterator_new):
5751           Add assertions to make sure passed GType is likely to really
5752           be a GType (as the compiler won't catch it if the size and
5753           GType arguments get mixed up, see #318447).
5754
5755 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5756
5757         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5758
5759         * gst/gstbin.c: (gst_bin_iterate_sorted):
5760           Pass GType and size arguments to gst_iterator_new() in the right
5761           order (maybe we should make _new() take the GType as first argument
5762           just like _new_list()?) (#318447).
5763           
5764
5765 2005-10-10  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/gstelement.c: (gst_element_finalize):
5768         And free the GStaticRecMutex too
5769
5770 2005-10-10  Andy Wingo  <wingo@pobox.com>
5771
5772         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5773         Allocate and free the mutex properly.
5774
5775         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5776         New macros.
5777         (GstElement): The state_lock is now recursive. Rebuild your
5778         plugins, suckers. Old macros adapted.
5779
5780         * docs/gst/gstreamer-sections.txt: Doc updates.
5781
5782         * gst/gstutils.h:
5783         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5784         (g_static_rec_cond_wait): Ported from state changes patch, while
5785         we wait on bug #317802 to be solved in a well-distributed GLib.
5786
5787         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5788         gst_element_change_state, variable name changes.
5789         (gst_element_change_state): Split out of gst_element_set_state in
5790         preparation for the state change merge. Doesn't pay attention to
5791         the 'transition' argument.
5792         (gst_element_set_state): Updates, hopefully purely cosmetic.
5793         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5794         state change patch.
5795         (gst_element_get_state_func): Renamed from get_state, cosmetic
5796         changes.
5797
5798 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5799
5800         * gst/elements/gstelements.c:
5801         * win32/GStreamer.vcproj:
5802         * win32/config.h:
5803         * win32/dirent.c: (_tseekdir):
5804         * win32/gst-inspect.vcproj:
5805         * win32/gst-launch.vcproj:
5806         * win32/gstconfig.h:
5807         * win32/gstelements.vcproj:
5808         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5809         * win32/gstreamer.def:
5810         * win32/msvc71.sln:
5811           updates for the win32 build (patch from Sebastien Moutte)
5812
5813 2005-10-10  Andy Wingo  <wingo@pobox.com>
5814
5815         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5816         gst_bin_get_state, cleaned up (but no logic changes).
5817         (bin_element_is_sink): Comment updates.
5818         (sink_iterator_filter): Remove needless cast.
5819         (gst_bin_iterate_sinks): Doc update.
5820         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5821         cleaned up (but no logic changes).
5822
5823         * check/states/sinks.c (test_src_sink): Cleanups from the state
5824         change patch.
5825         (test_livesrc_sink): Sync on the state.
5826
5827         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5828         the state change patch.
5829
5830         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5831         change patch.
5832
5833         * check/gst/gstbin.c: Merge in some style fixes and additional
5834         checks from Wim's state change patch.
5835
5836 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5837
5838         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5839         (gst_type_find_helper):
5840           Check whether we have the requested data already in our list of
5841           cached buffers before pulling a new buffer; also make the buffer
5842           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5843
5844 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5845
5846         * gst/gstcaps.c:
5847         * gst/gstevent.c:
5848           doc updates
5849         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5850           don't use long long, it's not portable.  Replacing with
5851           gint64 seems to work; let's hope no skeletons fall out of the closet.
5852
5853 2005-10-10  Andy Wingo  <wingo@pobox.com>
5854
5855         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5856
5857 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5858
5859         * docs/gst/gstreamer-sections.txt:
5860         * gst/gstevent.c:
5861         * gst/gstevent.h:
5862         * gst/gstinfo.c:
5863         * gst/gstinfo.h:
5864         * gst/gstmessage.c: (gst_message_parse_state_changed):
5865         * gst/gstpad.c:
5866         * gst/gstpad.h:
5867           more docs, fix compilation
5868
5869 2005-10-09  Philippe Khalaf <burger@speedy.org>
5870         * gst/gstmessage.c:
5871           Fixed a few forgotten variables on previous commit
5872
5873 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5874
5875         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5876           Fix evil typefind crasher: getrange() might return a short
5877           buffer at the end of a file, but gst_type_find_peek() must
5878           either return the full data as requested or NULL, but
5879           never a short buffer.
5880
5881 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * gst/gstmessage.c: (gst_message_new_state_changed),
5884         (gst_message_parse_state_changed):
5885         * gst/gstmessage.h:
5886           don't use "new", it's a C++ keyword
5887
5888 2005-10-08  Wim Taymans  <wim@fluendo.com>
5889
5890         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5891         * gst/gstelement.c: (gst_element_post_message):
5892         * gst/gstpipeline.c: (gst_pipeline_change_state):
5893         Small docs and debug updates.
5894
5895 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5896
5897         * docs/gst/gstreamer-sections.txt:
5898         * gst/gstelementfactory.c:
5899         * gst/gstevent.c:
5900         * gst/gsttaglist.c:
5901           more docs
5902
5903 2005-10-08  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5906         (gst_bin_dispose), (bin_bus_handler):
5907         Fix typos, add comments.
5908         Clear EOS list when going to PAUSED from any direction and do it
5909         in a threadsafe way.
5910         Get base time in a threadsafe way too.
5911         Fix confusing debug in the change_state function.
5912         Various other small cleanups.
5913         
5914         * gst/gstelement.c: (gst_element_post_message):
5915         Fix very verbose bus posting code.
5916
5917         * gst/gstpipeline.c: (gst_pipeline_class_init),
5918         (gst_pipeline_set_property), (gst_pipeline_get_property),
5919         (gst_pipeline_change_state):
5920         Small ARG_ -> PROP_ cleanup
5921
5922 2005-10-08  Wim Taymans  <wim@fluendo.com>
5923
5924         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5925         Do a less CPU demanding EOS check because we can.
5926
5927 2005-10-08  Wim Taymans  <wim@fluendo.com>
5928
5929         * libs/gst/dataprotocol/dataprotocol.c:
5930         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5931         (gst_dp_packet_from_event):
5932         * libs/gst/dataprotocol/dataprotocol.h:
5933         * libs/gst/dataprotocol/dp-private.h:
5934         It's about time we bump the version number.
5935         Since event types don't fit in the guint8 anymore describing
5936         the payload type, make payload type 16 bits wide.
5937
5938 2005-10-08  Wim Taymans  <wim@fluendo.com>
5939
5940         * docs/design/part-TODO.txt:
5941         * docs/design/part-clocks.txt:
5942         * docs/design/part-events.txt:
5943         * docs/design/part-gstbin.txt:
5944         * docs/design/part-gstelement.txt:
5945         * docs/design/part-gstpipeline.txt:
5946         * docs/design/part-live-source.txt:
5947         * docs/design/part-messages.txt:
5948         * docs/design/part-overview.txt:
5949         * docs/design/part-states.txt:
5950         Many doc updates.
5951
5952 2005-10-08  Wim Taymans  <wim@fluendo.com>
5953
5954         * gst/gstevent.c:
5955         * gst/gstevent.h:
5956         Fix event quark registration.
5957         Add some space between events so we can insert them in the
5958         right groups.
5959
5960 2005-10-08  Wim Taymans  <wim@fluendo.com>
5961
5962         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5963         (gst_base_sink_handle_buffer):
5964         Better log message.
5965
5966         * gst/gstbus.h:
5967         * gst/gstelement.h:
5968         More docs.
5969
5970         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5971         (gst_queue_set_property), (gst_queue_get_property):
5972         * gst/gstqueue.h:
5973         Remove old unused properties.
5974
5975 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5976         * docs/gst/gstreamer-sections.txt:
5977         * gst/gstmessage.c:
5978         * gst/gstmessage.h:
5979         * gst/gstminiobject.c:
5980         * gst/gstminiobject.h:
5981         * gst/gstobject.h:
5982         * gst/gstpad.h:
5983         * gst/gstutils.h:
5984           lots of new docs and doc fixes
5985
5986 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5989         * gst/gstplugin.h:
5990         * gst/gstregistry.c: (gst_registry_lookup_locked),
5991         (gst_registry_scan_path_level):
5992         * gst/gstregistryxml.c: (load_plugin):
5993           Only ever load one plugin for a given plugin basename.
5994           This ensures correct overriding of GST_PLUGIN_PATH over
5995           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5996           system installed plugins.
5997
5998 2005-10-08  Wim Taymans  <wim@fluendo.com>
5999
6000         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6001         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6002         Prepare for doing QOS.
6003
6004 2005-10-08  Wim Taymans  <wim@fluendo.com>
6005
6006         * check/gst/gstbin.c: (GST_START_TEST):
6007         * check/pipelines/cleanup.c: (GST_START_TEST):
6008         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6009         Allow new clock message too.
6010
6011 2005-10-08  Wim Taymans  <wim@fluendo.com>
6012
6013         * gst/gstmessage.c: (gst_message_new_error),
6014         (gst_message_new_warning), (gst_message_new_tag),
6015         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6016         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6017         (gst_message_new_segment_start), (gst_message_new_segment_done),
6018         (gst_message_parse_state_changed),
6019         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6020         (gst_message_parse_new_clock):
6021         * gst/gstmessage.h:
6022         Also carry the clock in question.
6023
6024 2005-10-08  Wim Taymans  <wim@fluendo.com>
6025
6026         * gst/gstmessage.c: (gst_message_new_custom),
6027         (gst_message_new_eos), (gst_message_new_error),
6028         (gst_message_new_warning), (gst_message_new_tag),
6029         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6030         (gst_message_new_new_clock), (gst_message_new_segment_start),
6031         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6032         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6033         * gst/gstmessage.h:
6034         Clean up.
6035         Added clock related messages.
6036
6037         * gst/gstpipeline.c: (gst_pipeline_change_state):
6038         Post message when the clock changed.
6039
6040         * tools/gst-launch.c: (event_loop):
6041         Print new clock.
6042
6043 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6044
6045         * tools/gst-inspect.c: (print_element_properties_info):
6046           Can't pass NULL strings to g_print() on windows.
6047
6048 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6049
6050         * docs/Makefile.am:
6051         * docs/gst/Makefile.am:
6052         * docs/gst/gstreamer-docs.sgml:
6053         * docs/gst/running.xml:
6054         * docs/version.entities.in:
6055           add a chapter on running GStreamer.
6056           document GST_DEBUG and GST_PLUGIN* env vars
6057
6058 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6059
6060         * Makefile.am:
6061           remove include dir
6062         * configure.ac:
6063           remove PLUGINS_BUILDDIR stuff
6064         * gst/gst.c: (init_post):
6065           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6066         * idiottest.mak:
6067           remove, it was condescending and not needed
6068
6069 2005-10-08  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6072         (gst_base_sink_handle_object), (gst_base_sink_event),
6073         (gst_base_sink_wait), (gst_base_sink_handle_event),
6074         (gst_base_sink_change_state):
6075         * gst/base/gstbasesink.h:
6076         Repost EOS message while going to PLAYING if still EOS.
6077         Make sure that when receiving a FLUSH_START we don't attempt
6078         to sync on the clock anymore.
6079
6080 2005-10-08  Wim Taymans  <wim@fluendo.com>
6081
6082         * tools/gst-launch.c: (event_loop):
6083         Better message printout.
6084
6085 2005-10-08  Wim Taymans  <wim@fluendo.com>
6086
6087         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6088         (gst_bin_child_proxy_get_children_count):
6089         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6090         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6091         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6092         (gst_child_proxy_set_valist):
6093         * gst/parse/grammar.y:
6094         Make ChildProxy threadsafe and fix mem leaks.
6095
6096 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6097
6098         * gst/gst.c: (init_post):
6099           debug the GST_PLUGIN_ env vars
6100
6101 2005-10-08  Wim Taymans  <wim@fluendo.com>
6102
6103         * check/gst/gstbin.c: (GST_START_TEST):
6104         * check/gst/gstmessage.c: (GST_START_TEST):
6105         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6106         * gst/gstelement.c: (gst_element_commit_state),
6107         (gst_element_lost_state):
6108         * gst/gstmessage.c: (gst_message_new_state_changed),
6109         (gst_message_parse_state_changed):
6110         * gst/gstmessage.h:
6111         * tools/gst-launch.c: (event_loop):
6112         Added extra field to STATE_CHANGE message with the pending
6113         state, which will be different from the new state soon.
6114
6115 2005-10-08  Wim Taymans  <wim@fluendo.com>
6116
6117         * gst/gstbus.c: (gst_bus_pop):
6118         * gst/gstclock.c:
6119         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6120         Small cleanups and doc updates.
6121
6122 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6123
6124         * gst/gst.c: (init_pre):
6125         * gst/gstbin.c: (gst_bin_add_func):
6126           log distributing clocks and base time
6127         * gst/gstregistry.c: (gst_registry_add_plugin),
6128         (gst_registry_scan_path_level), (gst_registry_scan_path):
6129           clean up the debugging output a little
6130         * gst/gstutils.c: (gst_element_state_get_name):
6131           warn about a memleak (I've actually seen this be used, though
6132           it was probably a bug)
6133
6134 2005-10-07  Wim Taymans  <wim@fluendo.com>
6135
6136         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6137         (gst_base_src_init), (gst_base_src_default_newsegment),
6138         (gst_base_src_newsegment), (gst_base_src_do_seek),
6139         (gst_base_src_loop), (gst_base_src_start):
6140         * gst/base/gstbasesrc.h:
6141         Make the newsegment event customizable by subclasses.
6142
6143 2005-10-07  Wim Taymans  <wim@fluendo.com>
6144
6145         * gst/gstevent.c: (gst_event_new_buffersize),
6146         (gst_event_parse_buffersize):
6147         * gst/gstevent.h:
6148         New event for future idea.
6149
6150 2005-10-07  Andy Wingo  <wingo@pobox.com>
6151
6152         * gst/gstelement.c (gst_element_post_message): Doc update.
6153
6154         * docs/gst/gstreamer-sections.txt: Update.
6155
6156         * gst/gstmessage.c (gst_message_new_application): Made into a
6157         function like honest API calls.
6158         (gst_message_new_element): New message type.
6159
6160         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6161
6162         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6163         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6164         times.
6165
6166         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6167         NO_PREROLL from gst_element_change_state to fall through.
6168
6169 2005-10-07  Wim Taymans  <wim@fluendo.com>
6170
6171         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6172         (gst_ghost_pad_do_activate_push):
6173         Activating a ghostpad with no internal pad in push mode
6174         is ok.
6175
6176 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6177
6178         * gst/gstobject.h:
6179           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6180           Fixes compilation on Windows.
6181
6182 2005-10-07  Michael Smith <msmith@fluendo.com>
6183
6184         * tools/gst-inspect.c:
6185           Print out feature and plugin count at the end when printing out
6186           all features.
6187
6188 2005-10-04  Michael Smith <msmith@fluendo.com>
6189
6190         * gst/gsterror.c: (_gst_stream_errors_init):
6191           Add another error string used in a few existing plugins.
6192
6193         * gst/gstplugin.c:
6194         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6195         * tools/gst-inspect.c: (print_element_info):
6196           When a feature disappears from a plugin (and the feature exists in
6197           the cached registry file), things went horribly wrong. This isn't a
6198           complete fix, we should actually be removing the 'missing' features
6199           from the features list when we load the actual plugin. That's not
6200           yet implemented. 
6201
6202 2005-10-04  Johan Dahlin  <johan@gnome.org>
6203
6204         * check/gst/gstiterator.c: (GST_START_TEST):
6205         * gst/gstbin.c: (gst_bin_iterate_elements),
6206         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6207         * gst/gstelement.c: (gst_element_iterate_pads):
6208         * gst/gstformat.c: (gst_format_iterate_definitions):
6209         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6210         (gst_iterator_new_list), (gst_iterator_filter):
6211         * gst/gstiterator.h:
6212         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6213         Add a GType to GstIterator, update callsites and tests.
6214
6215 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6216
6217         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6218           give events a chance to be handled by event probes when the pad
6219           is not linked
6220
6221 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6222
6223         * gst/gstevent.c: (gst_event_type_get_name),
6224         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6225         * gst/gstevent.h:
6226           add string representations for event types
6227
6228 2005-10-06  Wim Taymans  <wim@fluendo.com>
6229
6230         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6231         Don't use NULL pointers.
6232
6233 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6234
6235         * gst/gst_private.h:
6236         * gst/gstbus.c:
6237         * gst/gstelement.c:
6238         * gst/gstinfo.c:
6239         * gst/gstpluginfeature.c:
6240           widen the debug category in output to fit the biggest one we have
6241           add a bus category and use it
6242           play with the colors
6243           fix up some categories
6244
6245 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6246
6247         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6248           add push activation of sink ghost pads.
6249           Andye, please verify
6250
6251 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6252
6253         * gst/gstutils.c: (gst_element_link_pads):
6254           fix a bug in the case where neither element has a pad
6255         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6256           add a test for that case
6257
6258 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6259
6260         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6261           emit have-data before checking for peers.  This allows
6262           for probe handlers to connect elements.  This helps autopluggers.
6263         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6264         (gst_pad_suite):
6265           add six checks, linked/unlinked with no/true/false probe
6266
6267 2005-10-04  Wim Taymans  <wim@fluendo.com>
6268
6269         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6270         (gst_fake_sink_event), (gst_fake_sink_preroll),
6271         (gst_fake_sink_render), (gst_fake_sink_change_state):
6272         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6273         (gst_fake_src_get_property), (gst_fake_src_create),
6274         (gst_fake_src_stop):
6275         * gst/elements/gstidentity.c: (gst_identity_stop):
6276         Protect last_message with lock.
6277
6278 2005-10-04  Edward Hervey  <edward@fluendo.com>
6279
6280         * gst/gstformat.h: 
6281         Added precision in the comments for GST_FORMAT_DEFAULT
6282
6283 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6284
6285         * tools/gst-launch.c: (main):
6286           Don't try to run erroneous pipelines.
6287
6288 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6289
6290         * gst/gstbus.c: We don't need this header.
6291
6292 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6293
6294         * configure.ac:
6295           back to development
6296
6297 === release 0.9.3 ===
6298
6299 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6300
6301         * README:
6302         * configure.ac:
6303           Releasing 0.9.3, "Unregistered"
6304
6305 2005-10-03  Andy Wingo  <wingo@pobox.com>
6306
6307         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6308         whereby calling a pad's activatepush() function can start a thread
6309         that starts to push or pull before the pad gets the FLUSHING flag
6310         unset. Hack around it by holding the stream lock until the flag is
6311         set. Need to replace this with a proper solution. Together with
6312         the ghost pad fixes, this fixes mp3 playing/tagreading.
6313
6314         * docs/design/part-gstghostpad.txt: Add a note about activation of
6315         proxy pads outside of ghost pads.
6316
6317         * gst/gstghostpad.c: Implement the ghost pad activation design.
6318
6319 2005-10-02  Andy Wingo  <wingo@pobox.com>
6320
6321         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6322         It is volatile, after all.
6323
6324         * docs/design/part-gstghostpad.txt: Flesh out activation with
6325         ghost pads.
6326
6327         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6328         GST_DEBUG_FUNCPTR.
6329
6330 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6331
6332         * configure.ac:
6333           Fix (unused) AM_CONDITIONAL tests.
6334
6335 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6336
6337         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * gst/gstutils.c: (gst_pad_query_convert):
6340           Add assertion that makes sure src_val is >=0, just like
6341           gst_query_new_convert() has. (#315895)
6342
6343 2005-09-30  Edward Hervey  <edward@fluendo.com>
6344
6345         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6346         Let's not iterate pads we're not interested in, it avoids getting 
6347         sky-high refcounts on sinkpad.
6348
6349 2005-09-30  Wim Taymans  <wim@fluendo.com>
6350
6351         * gst/gstelement.c: (gst_element_set_state),
6352         (gst_element_change_state):
6353         Small tweak, element in ASYNC remains ASYNC.
6354
6355 2005-09-30  Wim Taymans  <wim@fluendo.com>
6356
6357         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6358         Only error is an error.
6359
6360         * gst/gstbin.c: (gst_bin_change_state):
6361         Better debugging.
6362
6363         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6364         Also call pad_block in pad alloc.
6365
6366         * gst/gstutils.c: (gst_flow_get_name):
6367         Better debugging.
6368
6369 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6370
6371         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6372         (gst_base_src_get_range):
6373           Fix documentation typos. Add some more debug info.
6374
6375 2005-09-29  David Schleef  <ds@schleef.org>
6376
6377         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6378           more end-user friendly.
6379         * tools/gst-inspect.c: (main): Check if command-line argument is
6380           a file and attempt to load that file as a plugin.
6381
6382 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * check/gst/gstbin.c:
6385         * check/states/sinks.c:
6386           fix tests for the new warning
6387         * check/gst/gstpipeline.c:
6388           add a test for pipeline and bus interaction
6389         * gst/gstelement.c:
6390           elements should be NULL if they get disposed; add a warning if not
6391
6392 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6393
6394         * gst/gstobject.c:
6395           for 2.6 refcounting, make debug log more correct by printing
6396           the actual refcounts at the time of swap (Wim)
6397
6398 2005-09-29  Andy Wingo  <wingo@pobox.com>
6399
6400         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6401         removes signal watches previously added via
6402         gst_bus_add_signal_watch.
6403         (gst_bus_add_signal_watch): Don't return the source id, just store
6404         it on the bus if there wasn't an id already.
6405
6406         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6407         add_signal_watch and remove_signal_watch.
6408
6409 2005-09-29  Edward Hervey  <edward@fluendo.com>
6410
6411         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6412         Better if we actually iterate the list :)
6413
6414 2005-09-29  Wim Taymans  <wim@fluendo.com>
6415
6416         * check/gst/gstbin.c: (GST_START_TEST):
6417         Change for new bus API.
6418
6419         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6420         (send_messages), (GST_START_TEST), (gstbus_suite):
6421         Change for new bus signal API.
6422
6423         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6424         (gst_bus_source_prepare), (gst_bus_source_check),
6425         (gst_bus_create_watch), (gst_bus_add_watch_full),
6426         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6427         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6428         * gst/gstbus.h:
6429         Remove support for multiple GSources operating on different
6430         message types as it is too complex and unneeded when using
6431         signals.
6432         Added support for receiving signals from the bus.
6433
6434 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6435
6436         * docs/libs/tmpl/gstdataprotocol.sgml:
6437         * docs/manual/advanced-dataaccess.xml:
6438         * gst/elements/gstcapsfilter.c:
6439         * gst/gstutils.c:
6440           rename filter-caps to caps property
6441
6442 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6443
6444         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6445           More robust fraction string parsing.
6446
6447         * docs/pwg/appendix-porting.xml:
6448           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6449
6450 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6451
6452         * gst/gstcaps.c: (gst_caps_do_simplify):
6453           Thou shalt not free a structure and then continue using it
6454           in the next loop iteration.
6455
6456         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6457         (gst_caps_suite):
6458           Add test case for caps simplification.
6459
6460 2005-09-29  Wim Taymans  <wim@fluendo.com>
6461
6462         * check/gst/gstbin.c: (GST_START_TEST):
6463         Oops.
6464
6465 2005-09-29  Wim Taymans  <wim@fluendo.com>
6466
6467         * check/gst/gstbin.c: (GST_START_TEST):
6468         Add bus to bin.
6469
6470         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6471         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6472         (find_element), (gst_bin_sort_iterator_next),
6473         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6474         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6475         (gst_bin_change_state), (gst_bin_dispose):
6476         A bin does not have a bus, it gets the bus from the parent.
6477
6478         * gst/gstelement.c: (gst_element_requires_clock),
6479         (gst_element_provides_clock), (gst_element_is_indexable),
6480         (gst_element_is_locked_state), (gst_element_change_state),
6481         (gst_element_set_bus_func):
6482         Small cleanups.
6483
6484         * gst/gstpipeline.c: (gst_pipeline_class_init),
6485         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6486         The pipeline provides a bus.
6487
6488 2005-09-28  Johan Dahlin  <johan@gnome.org>
6489
6490         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6491         gst_structure_get_enum instead of gst_structure_get_int
6492
6493         * gst/gststructure.c (gst_structure_get_enum): Impl.
6494
6495         * gst/gststructure.h (gst_structure_get_enum): Add
6496
6497         * docs/gst/gstreamer-sections.txt: Ditto
6498
6499         * gst/gstmessage.c (gst_message_new_state_changed): Use
6500         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6501         which does introspection.
6502         Reviewed by Christian Schaller
6503
6504 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6505
6506         * gst/gstinfo.c: (gst_debug_log_default):
6507           don't do dummy g_strdup()s
6508         * libs/gst/controller/gstcontroller.c:
6509         (on_object_controlled_property_changed),
6510         (gst_controlled_property_new), (gst_controller_new_valist),
6511         (gst_controller_new_list),
6512         (gst_controller_remove_properties_valist), (gst_controller_set),
6513         (gst_controller_get), (gst_controller_sync_values),
6514         (gst_controller_get_value_array), (_gst_controller_class_init),
6515         (gst_controller_get_type):
6516         * libs/gst/controller/gstcontroller.h:
6517         * libs/gst/controller/gstinterpolation.c:
6518         (gst_controlled_property_find_timed_value_node):
6519           convert // to /**/ comments
6520
6521 2005-09-28  Wim Taymans  <wim@fluendo.com>
6522
6523         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6524         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6525         (gst_bus_sync_signal_handler):
6526         * gst/gstbus.h:
6527         Added async-message and sync-message signals to the bus.
6528         Added helper BusFunc to emit signals for all posted messages.
6529
6530         * gst/gstmessage.c: (gst_message_type_get_name),
6531         (gst_message_type_to_quark), (gst_message_get_type):
6532         * gst/gstmessage.h:
6533         Register quarks for message names.
6534
6535 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6536
6537         * docs/libs/gstreamer-libs-sections.txt:
6538         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6539         (gst_controller_new_list):
6540         * libs/gst/controller/gstcontroller.h:
6541           added another constructor for language bindings
6542
6543 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6546           add another check
6547         * gst/gstbus.c:
6548           add some doc
6549         * gst/gstinfo.c: (_gst_debug_init):
6550           slightly more readable color for refcount debugging
6551
6552 2005-09-28  Wim Taymans  <wim@fluendo.com>
6553
6554         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6555         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6556         (find_element), (gst_bin_sort_iterator_next),
6557         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6558         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6559         (gst_bin_change_state), (gst_bin_dispose):
6560         Small doc fixes. get_clock -> provide_clock.
6561
6562         * gst/gstelement.c: (gst_element_class_init),
6563         (gst_element_provides_clock), (gst_element_provide_clock),
6564         (gst_element_get_clock), (gst_element_commit_state),
6565         (gst_element_lost_state):
6566         * gst/gstelement.h:
6567         Make get/set_clock() symetric. Add provide_clock vmethod since
6568         that is actually what this function does.
6569
6570         * gst/gstpipeline.c: (gst_pipeline_class_init),
6571         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6572         (gst_pipeline_get_clock):
6573         get_clock -> provide_clock.
6574
6575 2005-09-28  Andy Wingo  <wingo@pobox.com>
6576
6577         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6578         lieu of real docs...
6579
6580         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6581
6582 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6583
6584         * gst/elements/gstcapsfilter.c:
6585         * gst/elements/gstfakesink.c:
6586         * gst/elements/gstfakesrc.c:
6587         * gst/elements/gstfdsink.c:
6588         * gst/elements/gstfdsrc.c:
6589         * gst/elements/gstfilesink.c:
6590         * gst/elements/gstfilesrc.c:
6591         * gst/elements/gstidentity.c:
6592         * gst/elements/gsttee.c:
6593         * gst/elements/gsttypefindelement.c:
6594           Make element details static.
6595
6596 2005-09-28  Wim Taymans  <wim@fluendo.com>
6597
6598         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6599         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6600         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6601         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6602         (gst_bin_change_state), (gst_bin_dispose):
6603         Some documentation updates.
6604         Clean up dispose handlers.
6605
6606         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6607         * gst/gstpad.c: (gst_pad_dispose):
6608         Clean up dispose handler.
6609
6610         * gst/gstpipeline.c: (gst_pipeline_change_state):
6611         Removed spurious UNLOCK.
6612
6613 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6614
6615         * docs/gst/gstreamer-sections.txt:
6616         * gst/base/gstbasesrc.h:
6617         * gst/gstelement.h:
6618         * gst/gstevent.h:
6619         * gst/gstobject.h:
6620         * gst/gstpad.h:
6621         * gst/gstpipeline.c:
6622         * gst/gstpipeline.h:
6623         * gst/gstutils.h:
6624         * gst/gstxml.h:
6625           added two new functions to the docs
6626                 documents all undocumented GstXXXFlags
6627                 completed some incomplete docs 
6628
6629 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6630
6631         * gst/gstbin.c: (gst_bin_dispose):
6632         * gst/gstelement.c: (gst_element_dispose):
6633           remove now useless and leaky resurrection code in dispose
6634         * gst/base/gstbasesrc.c: (gst_base_src_init):
6635         * gst/gstelementfactory.c: (gst_element_factory_create):
6636         * gst/gstobject.c: (gst_object_set_parent):
6637           add some debugging
6638
6639 2005-09-27  Wim Taymans  <wim@fluendo.com>
6640
6641         * docs/design/part-TODO.txt:
6642         Update TODO.
6643
6644         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6645         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6646         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6647         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6648         (gst_bin_change_state):
6649         * gst/gstelement.h:
6650         Remove element variable, we keep element info in the iterator now.
6651
6652 2005-09-27  Andy Wingo  <wingo@pobox.com>
6653
6654         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6655         values.
6656
6657 2005-09-27  Wim Taymans  <wim@fluendo.com>
6658
6659         * check/gst/gstbin.c: (GST_START_TEST):
6660         Enable check that works now.
6661
6662         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6663         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6664         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6665         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6666         (gst_bin_change_state):
6667         * gst/gstbin.h:
6668         Redid the state change algorithm using a topological sort algo.
6669         Handles all cases correctly.
6670         Exposed iterator for state change order.
6671
6672         * gst/gstelement.h:
6673         Temp storage for state changes. Need to get rid of this soon.
6674
6675 2005-09-27  Wim Taymans  <wim@fluendo.com>
6676
6677         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6678         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6679         (link_fold_func), (gst_pad_proxy_setcaps):
6680         Leak fixes, the fold functions need to unref the passed object and
6681         _get_parent_*() returns ref to parent.
6682
6683 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6684
6685         * check/gst/gstbuffer.c: (test_make_writable):
6686           Plug leak in test case and fix 'make check-valgrind'
6687
6688 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6689
6690         * gst/gstbuffer.c: (gst_subbuffer_init):
6691           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6692           works correctly in all circumstances (we could have just copied
6693           the parent buffer's readonly flag, but conceptually it seems
6694           cleaner to mark all subbuffers as read-only). (based on patch
6695           by Alessandro Decina, #314710).
6696         
6697         * check/gst/gstbuffer.c: (create_read_only_buffer),
6698         (test_make_writable), (test_subbuffer_make_writable),
6699         (gst_test_suite):
6700           Add some tests for gst_buffer_make_writable().
6701
6702 2005-09-27  Wim Taymans  <wim@fluendo.com>
6703
6704         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6705         use gst_object_has_ancestor().
6706
6707         * gst/gstobject.c: (gst_object_has_ancestor):
6708         * gst/gstobject.h:
6709         gst_object_has_ancestor() copied from gstbin.c as it is a
6710         usefull function.
6711
6712         * tests/instantiate/create.c: (create_all_elements):
6713         * tests/lat.c: (handoff_src), (handoff_sink):
6714         * tests/sched/runxml.c: (main):
6715         * tests/seeking/seeking1.c: (main):
6716         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6717         (main):
6718         Fix compilation of some tests.
6719
6720 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6721
6722         * gst/gsterror.h:
6723           Remove comment. GST_TYPE_G_ERROR is here to stay,
6724           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6725           (#316961, #300610).
6726
6727 2005-09-26  Wim Taymans  <wim@fluendo.com>
6728
6729         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6730         Added check that shows error in state change order.
6731
6732 2005-09-26  Wim Taymans  <wim@fluendo.com>
6733
6734         * gst/gstbin.c: (gst_bin_change_state):
6735         Make state change function use 3 queues again, we were
6736         adding elements in the wrong order.
6737
6738         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6739         Some debug info,
6740
6741         * gst/gstpad.c: (gst_pad_dispose):
6742         Added some debug info first.
6743
6744 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6745
6746         * docs/design/draft-push-pull.txt:
6747         * docs/design/part-events.txt:
6748         * docs/design/part-overview.txt:
6749         * docs/design/part-scheduling.txt:
6750           Replace all _pull_region() with _pull_range()
6751           
6752 2005-09-26  Andy Wingo  <wingo@pobox.com>
6753
6754         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6755
6756         * check/gst-libs/controller.c: Update for controller api change.
6757
6758         * configure.ac: 
6759         * tests/Makefile.am:
6760         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6761         over by GLib bug 118439.
6762         
6763         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6764         routines to a function.
6765
6766         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6767
6768         * libs/gst/controller/gsthelper.c:
6769         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6770         (gst_object_sync_values): Renamed from sink_values. Ugh.
6771
6772         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6773
6774         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6775         Renamed from controller_key, as it is exported.
6776
6777         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6778
6779 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6780
6781         * gst/Makefile.am:
6782         * gst/gst.h:
6783         * gst/gstpad.h:
6784         * gst/gstpadtemplate.h:
6785         * gst/gstquery.c:
6786         * gst/gstquery.h:
6787         * gst/gstqueryutils.c:
6788         * gst/gstqueryutils.h:
6789           remove queryutils headers after moving the two used functions
6790           to gstquery.  also fixes build problem for gstsiddec
6791
6792 2005-09-26  Michael Smith <msmith@fluendo.com>
6793
6794         * tools/gst-launch.1.in:
6795         Correct documentation in manpage of debug syntax
6796
6797 2005-09-26  Wim Taymans  <wim@fluendo.com>
6798
6799         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6800         (gst_base_src_is_seekable), (gst_base_src_change_state):
6801         Some more debugging info.
6802
6803 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6804
6805         * docs/gst/gstreamer-sections.txt:
6806         * gst/base/gstbasetransform.h:
6807         * gst/gstindex.h:
6808           added more docs
6809
6810 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6811
6812         * docs/gst/.cvsignore:
6813         * docs/gst/tmpl/.cvsignore:
6814         * docs/gst/tmpl/gstpipeline.sgml:
6815         * docs/gst/tmpl/gstplugin.sgml:
6816         * gst/gstpipeline.c:
6817         * gst/gstplugin.c:
6818         * gst/gstplugin.h:
6819           inlined the last two docs files
6820           removed the tmpl directory from cvs (no more conflicts here!)
6821
6822 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6823
6824         * docs/gst/gstreamer-sections.txt:
6825         * docs/gst/tmpl/.cvsignore:
6826         * docs/gst/tmpl/gstpad.sgml:
6827         * docs/gst/tmpl/gstpadtemplate.sgml:
6828         * gst/Makefile.am:
6829         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6830         (gst_pad_finalize), (gst_pad_set_pad_template):
6831         * gst/gstpad.h:
6832         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6833         (gst_pad_template_class_init), (gst_pad_template_init),
6834         (gst_pad_template_dispose), (name_is_valid),
6835         (gst_static_pad_template_get), (gst_pad_template_new),
6836         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6837         (gst_pad_template_pad_created):
6838         * gst/gstpadtemplate.h:
6839           inlined two more docs
6840           factored gstpadtemplate out of gstpad
6841
6842 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6843
6844         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6845         (test_children_state_change_order_semi_sink):
6846           Fix test case: we can't rely on a fixed state change order when
6847           going from READY => PAUSED because the sink might commit its 
6848           new state first when the first buffer created by the source 
6849           reaches the sink before the source has finished its change state.
6850           (Test case still fails at times, see #316856, comment 5 onwards)
6851
6852 2005-09-24  Wim Taymans  <wim@fluendo.com>
6853
6854         * docs/design/part-events.txt:
6855         * docs/design/part-gstbus.txt:
6856         * docs/design/part-gstpipeline.txt:
6857         * docs/design/part-messages.txt:
6858         * docs/design/part-overview.txt:
6859         * docs/design/part-segments.txt:
6860         * gst/gstbin.c:
6861         * gst/gstbuffer.c:
6862         * gst/gstclock.c:
6863         * gst/gstelement.c:
6864         * gst/gstevent.c:
6865         * gst/gstfilter.c:
6866         * gst/gstiterator.c:
6867         Various documentation updates.
6868
6869 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6870
6871         * gst/gstclock.h:
6872           Well, that's embarassing.  Luckily we weren't using
6873           GST_CLOCK_DIFF anywhere.
6874
6875 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * common/gtk-doc.mak:
6878           don't fail on building XML, FC4 slave shows a bunch of doc
6879           missing bits that I don't get
6880         * gst/gstpad.c:
6881         * gst/gstpipeline.c:
6882         * gst/gststructure.c:
6883           some doc updates
6884
6885 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6886
6887         * docs/design/part-gstbin.txt:
6888         * docs/design/part-gstbus.txt:
6889         * gst/gstbus.c:
6890           Add blurb about how the bus goes into flushing mode and
6891           drops all messages when its bin goes from READY into NULL 
6892           state.
6893
6894 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6895
6896         * docs/gst/gstreamer-sections.txt:
6897         * gst/gststructure.c: (gst_structure_get_clock_time):
6898         * gst/gststructure.h:
6899           add a method to get a GstClockTime out of a structure
6900
6901 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6902
6903         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6904         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6905           Added test to check state change order in bins (can still be made
6906           to fail here under heavy disk load; bails out with 'Push on pad
6907           fakesink:sink0, but it was not activated in push mode').
6908
6909         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6910           Fix state change order when there is only a semi sink (#316856)
6911
6912         * gst/gstbus.c: (gst_bus_class_init):
6913           Use _class_peek_parent(), not _class_ref(); fix docs to say
6914           'default main context' instead of 'mainloop' where that is
6915           what's meant.
6916
6917         * gst/gstelement.c: (gst_element_commit_state),
6918         (gst_element_set_state):
6919           Fix typos in debug messages
6920
6921 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6922
6923         * docs/README:
6924         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6925         * gst/gstpluginfeature.c:
6926         * gst/gstutils.c:
6927           various doc updates
6928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6929           change an assert into an error until it gets fixed properly
6930
6931 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6932
6933         * docs/gst/gstreamer-sections.txt:
6934         * docs/gst/tmpl/.cvsignore:
6935         * docs/gst/tmpl/gstelement.sgml:
6936         * docs/gst/tmpl/gstinfo.sgml:
6937         * docs/gst/tmpl/gstobject.sgml:
6938         * gst/gstelement.c:
6939         * gst/gstelement.h:
6940         * gst/gstinfo.c:
6941         * gst/gstinfo.h:
6942         * gst/gstobject.c: (gst_object_class_init):
6943         * gst/gstobject.h:
6944           inlined 3 more biiiig doc files and added some missing docs on the fly
6945
6946 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * check/gst/.cvsignore:
6949         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6950         * gst/gstregistryxml.c: (load_plugin),
6951         (gst_registry_xml_save_plugin):
6952           put back source in registry.  add checks for find_plugin.
6953         * testsuite/states/bin.c: (assert_state), (empty_bin),
6954         (test_adding_one_element), (main):
6955         * testsuite/states/locked.c: (main):
6956           some compile/run fixes
6957
6958 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6959
6960         * check/gst/gstvalue.c: (GST_START_TEST):
6961           fix leaks in the test itself
6962
6963 2005-09-22  Wim Taymans  <wim@fluendo.com>
6964
6965         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6966         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6967         (gst_base_sink_query):
6968         Prepare for more accurate position reporting and query
6969         handling.
6970
6971         * gst/gstelement.c: (gst_element_send_event),
6972         (gst_element_set_state):
6973         Add some comment.
6974
6975 2005-09-22  Wim Taymans  <wim@fluendo.com>
6976
6977         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6978         (gst_query_parse_segment):
6979         * gst/gstquery.h:
6980         More documentation.
6981         Add segment query for future use.
6982
6983 2005-09-22  Wim Taymans  <wim@fluendo.com>
6984
6985         * gst/gstbin.c: (gst_bin_add_func):
6986         Some more debug info.
6987
6988         * gst/gstelement.c: (gst_element_send_event):
6989         Simplify send_event
6990
6991         * gst/gstelement.h:
6992         Don't know how flags got broken.
6993
6994         * gst/gstquery.h:
6995         Added new query.
6996
6997 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6998
6999         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7000           Add simplistic test suite for GST_TYPE_DATE serialisation and
7001           deserialisation.
7002
7003 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7004
7005         * docs/gst/gstreamer-sections.txt:
7006         * gst/gststructure.c: (gst_structure_set_valist),
7007         (gst_structure_get_date):
7008         * gst/gststructure.h:
7009         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7010         (gst_date_copy), (gst_value_compare_date),
7011         (gst_value_serialize_date), (gst_value_deserialize_date),
7012         (gst_value_transform_date_string),
7013         (gst_value_transform_string_date), (_gst_value_initialize):
7014         * gst/gstvalue.h:
7015           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7016           bunch of utility functions along with a hack that checks that
7017           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7018           is required. Part of the grand scheme in #170777.
7019
7020 2005-09-22  Andy Wingo  <wingo@pobox.com>
7021
7022         * gst/gstconfig.h.in: Psych out gtk-doc.
7023
7024         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7025
7026         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7027
7028         * tools/gst-inspect.c (print_element_list): Plug some
7029         inconsequential leaks.
7030
7031         * gst/gstregistry.c (gst_registry_get_default): Doc.
7032
7033         * check/gst/gstplugin.c: 
7034         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7035         * gst/gstelementfactory.c (gst_element_factory_create): 
7036         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7037         refcount changes.
7038
7039         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7040         (gst_plugin_feature_load): Doc, don't eat refs.
7041
7042         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7043         (gst_plugin_list_free): Doc.
7044         (gst_plugin_load_file): Doc updates.
7045
7046         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7047         accessors returning refcounted objects, return a ref.
7048
7049         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7050         accessor for caps. IDEMPOTENCE. Oh yes.
7051
7052 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7053
7054         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7055
7056         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7057         (_gst_debug_register_funcptr):
7058           Add mutex to serialise access to the hash table with
7059           the function pointer => function name string mapping;
7060           make that hash table static scope (#316809).
7061
7062         * gst/registries/.cvsignore:
7063           Remove left-over file.
7064
7065 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7066
7067         * docs/pwg/appendix-porting.xml:
7068           And something about newsegment events and caps-on-buffers to
7069           the porting guide (feel free to improve).
7070
7071 2005-09-21  Andy Wingo  <wingo@pobox.com>
7072
7073         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7074         data and event probes on the same pad.
7075         (test_buffer_probe_once): Test that removing probes from within
7076         the probe functions works.
7077
7078 2005-09-21  Andy Wingo  <wingo@pobox.com>
7079
7080         * check/gst/gstutils.c: New file.
7081         (test_buffer_probe_n_times): A simple buffer probe test. More to
7082         come, foolios.
7083
7084         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7085         have-data::buffer, not have-data.
7086         (gst_pad_add_event_probe): Likewise for have-data::event.
7087         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7088         peer' isn't quite right yet though.
7089         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7090         (gst_pad_remove_data_probe): Change to take the guint handler_id
7091         as their arg, not the function+data, which is more glib-like.
7092
7093         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7094         the signal emission to indicate if the data is a buffer or an
7095         event.
7096         (gst_pad_get_type): Initialize buffer and event quarks.
7097         (gst_pad_class_init): have-data is now a detailed signal, yes it
7098         is.
7099
7100 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7101
7102         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7103         * gst/gstutils.c: (gst_util_set_value_from_string),
7104         (gst_util_set_object_arg):
7105           Don't put functional code in g_return_if_fail() or
7106           g_return_val_if_fail() statements, otherwise things will 
7107           break when G_DISABLE_CHECKS is defined during compilation.
7108
7109 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7110
7111         * docs/gst/tmpl/.cvsignore:
7112         * docs/gst/tmpl/gstvalue.sgml:
7113         * gst/gstvalue.c:
7114         * gst/gstvalue.h:
7115           inlied another one and added  some obvious docs
7116
7117 2005-09-21  Wim Taymans  <wim@fluendo.com>
7118
7119         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7120         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7121         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7122         (gst_fdsrc_get_property), (gst_fdsrc_create):
7123         * gst/elements/gstfdsrc.h:
7124         Properly implement fdsrc. Removed signal and timeout,
7125         better implemented somewhere else.
7126
7127 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7128
7129         * docs/gst/tmpl/.cvsignore:
7130         * docs/gst/tmpl/gstimplementsinterface.sgml:
7131         * gst/gstinterface.c:
7132           inlined more docs
7133
7134 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7135
7136         * docs/gst/gstreamer-sections.txt:
7137         * docs/gst/tmpl/.cvsignore:
7138         * docs/gst/tmpl/gstenumtypes.sgml:
7139           remove obsolete doc file
7140
7141 2005-09-21  David Schleef  <ds@schleef.org>
7142
7143         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7144         little beer, fix a little leak.
7145
7146 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * docs/gst/gstreamer-docs.sgml:
7149         * docs/gst/gstreamer-sections.txt:
7150         * docs/gst/tmpl/.cvsignore:
7151         * gst/Makefile.am:
7152         * gst/gst.h:
7153         * gst/gstbin.c:
7154         * gst/gstelement.h:
7155         * gst/gstindex.c: (gst_index_class_init):
7156         * gst/gstindex.h:
7157         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7158         (gst_index_factory_class_init), (gst_index_factory_init),
7159         (gst_index_factory_finalize), (gst_index_factory_new),
7160         (gst_index_factory_destroy), (gst_index_factory_find),
7161         (gst_index_factory_create), (gst_index_factory_make):
7162         * gst/gstindexfactory.h:
7163         * gst/gstpluginfeature.c:
7164         * gst/gstpluginfeature.h:
7165         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7166           more docs inlined, splitted gstindex.{c,h}
7167
7168 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7171           fix a leak
7172
7173 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7174
7175         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7176           Set sync to FALSE by default.
7177
7178 2005-09-20  Wim Taymans  <wim@fluendo.com>
7179
7180         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7181         (gst_base_sink_init):
7182         Make sync property settable from subclass.
7183
7184         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7185         (gst_fake_sink_change_state):
7186         Set sync to FALSE by default.
7187
7188 2005-09-20  Wim Taymans  <wim@fluendo.com>
7189
7190         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7191         * tools/gst-launch.c: (main):
7192         The timeout handler should have lower priority than the source
7193         so we don't timeout before popping a message with 0 timeout.
7194         Dump error messages after failed state change.
7195
7196 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7197
7198         * tools/gst-inspect.c: (print_element_properties_info):
7199           Fix two typos.
7200
7201 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7202
7203         * check/gst/gstevent.c:
7204         * gst/elements/gstfakesink.c:
7205         * gst/elements/gstfakesink.h:
7206           remove the sync property from fakesink.
7207           has the side effect of setting sync TRUE
7208           for fakesink, which is a change.  Anyone who knows how
7209           to fix this nicely in a GObject-y way, feel free.
7210
7211 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7212
7213         * docs/gst/gstreamer-docs.sgml:
7214           remove probe refsection
7215
7216 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7217
7218         * check/Makefile.am:
7219           disable valgrinding the controller test again
7220         * docs/gst/gstreamer-sections.txt:
7221           update for api-changes
7222
7223 2005-09-20  Wim Taymans  <wim@fluendo.com>
7224
7225         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7226         (gst_base_sink_set_property), (gst_base_sink_get_property),
7227         (gst_base_sink_do_sync):
7228         * gst/base/gstbasesink.h:
7229         Added sync property to basesink to disable clock sync.
7230
7231 2005-09-20  Andy Wingo  <wingo@pobox.com>
7232
7233         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7234         eating the caller's refcount.
7235
7236         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7237         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7238         refcount.
7239
7240         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7241         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7242         of GLib 2.8 public, so we can know which refcount to check in
7243         tests.
7244
7245         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7246         (gst_object_init): Only set the gst refcount if we're going ahead
7247         with the refcount hack.
7248
7249 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7250
7251         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7252         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7253           more leaks plumbed, added more debug-logging
7254         * gst/gstmacros.h:
7255           whitespace fix
7256
7257 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7258
7259         * gst/gstmessage.c:
7260           remove include of gstmemchunk.h
7261
7262 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7263
7264         * gst/gstclock.c: (_gst_clock_id_free):
7265           Commit from the Political Party For More Atomic CVS Commits,
7266           so that people don't waste too much of their day fishing
7267           out obvious leaks out of massive commits.
7268           Oh, and fix a pretty damn obvious leak in the memchunk
7269           removal code.
7270
7271 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7272
7273         * check/Makefile.am:
7274         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7275           plug mem-leak, re-add to valgrindable tests
7276
7277 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7278
7279         * gst/gstplugin.h:
7280           unbreak the build for those who have chronic arthritis
7281           and typing "make check" is just too taxing on the hands
7282
7283 2005-09-20  Andy Wingo  <wingo@pobox.com>
7284
7285         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7286         really want it out, you should fix plugins at the same time.
7287
7288 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7289
7290         * configure.ac:
7291         * docs/gst/gstreamer-sections.txt:
7292         * gst/gstobject.c:
7293           added missing symbols to api docs
7294           disable ref-count hack if we have glib >= 2.8
7295
7296 2005-09-19  David Schleef  <ds@schleef.org>
7297
7298         * docs/gst/Makefile.am: Ignore a few more internal headers
7299         * docs/gst/gstreamer-docs.sgml: Remove old sections
7300         * docs/gst/gstreamer-sections.txt: Remove old sections
7301         * docs/gst/tmpl/gstobject.sgml: update
7302         * docs/gst/tmpl/gstplugin.sgml: update
7303         * docs/gst/tmpl/gstpluginfeature.sgml: update
7304         * docs/random/ds/0.9-suggested-changes: update.
7305         * gst/Makefile.am: remove memchunk and trashstack, since they're
7306           not used.
7307         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7308         * gst/gst.h: don't include some headers
7309         * gst/gstchildproxy.c: add gstmarshal.h
7310         * gst/gstclock.c: Don't use memchunks
7311         * gst/gstminiobject.c: Add some docs
7312         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7313         * gst/gstobject.h: same
7314         * gst/gstplugin.c: include gstmacros.h
7315         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7316         * gst/gstquery.c: don't use memchunks
7317         * gst/gstregistry.c: rename gst_registry_deinit()
7318         * gst/gstregistry.h: same
7319
7320 2005-09-19  David Schleef  <ds@schleef.org>
7321
7322         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7323         * docs/libs/gstreamer-libs-sections.txt:
7324         * docs/libs/tmpl/gstgetbits.sgml:
7325         * docs/libs/tmpl/gstputbits.sgml:
7326
7327 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7328
7329         * win32/gstenumtypes.c:
7330         * win32/gstenumtypes.h:
7331           Update.
7332
7333 2005-09-19  Wim Taymans  <wim@fluendo.com>
7334
7335         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7336         Automatically PAUSE and RESUME a pipeline when a flushing seek
7337         is performed.
7338
7339 2005-09-19  Andy Wingo  <wingo@pobox.com>
7340
7341         * gst/gstregistry.h: Spacing fixen.
7342
7343 2005-09-19  Wim Taymans  <wim@fluendo.com>
7344
7345         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7346         Handle state change failure more correctly.
7347
7348 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7349
7350         * check/Makefile.am:
7351         * check/pipelines/cleanup.c: (run_pipeline):
7352         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7353         (GST_START_TEST):
7354           enable cleanup again after fixing the leak
7355         * docs/README:
7356           some more info on docs
7357
7358 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7359
7360         * check/Makefile.am:
7361           re-enable tests now that leaks are plugged
7362         * check/gst/gst.c:
7363         * check/gst/gstbin.c:
7364         * check/gst/gstpipeline.c:
7365           add some more tests while fixing leaks
7366         * common/check.mak:
7367           make sure binaries are uptodate when valgrinding/gdbing
7368         * gst/gst.c:
7369         * gst/gstelementfactory.c:
7370           remove a ref too many, and add a FIXME for when we get
7371           round to disposing of classes
7372         * gst/gstplugin.c:
7373           fix the refcounting when loading a plugin from a file and
7374           the code pretends that the pointer is the same even though
7375           of course it can change
7376         * gst/gstpluginfeature.c:
7377           unref plugins marked cached (a bit confusing as a name)
7378           as the docs state should be done
7379           various doc additions to explain refcounting
7380         * gst/gstregistry.c:
7381         * gst/gstregistryxml.c:
7382           debugging
7383
7384 2005-09-19  Wim Taymans  <wim@fluendo.com>
7385
7386         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7387         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7388         (send_messages), (GST_START_TEST), (gstbus_suite):
7389         * check/gst/gstpipeline.c: (GST_START_TEST):
7390         * check/pipelines/cleanup.c: (run_pipeline):
7391         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7392         (GST_START_TEST):
7393         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7394         (gst_bus_source_check), (gst_bus_source_dispatch),
7395         (gst_bus_create_watch), (gst_bus_add_watch_full),
7396         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7397         * gst/gstbus.h:
7398         * tools/gst-launch.c: (event_loop):
7399         * tools/gst-md5sum.c: (event_loop):
7400         GstBusHandler -> GstBusFunc, return value has the same meaning as
7401         any other GSource (FALSE == remove source).
7402         _add_watch() and _add_watch_full() now take a MessageType mask to
7403         only handle specific types of messages.
7404         _poll() returns the GstMessage instead of the message type to avoid
7405         race conditions.
7406         _have_pending() takes a MessageType mask now too.
7407         Added testsuite for multiple bus watches.
7408         Fix testsuites and applications for new bus API.
7409
7410 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7411
7412         * check/Makefile.am:
7413           mark a bunch of the tests as to fix until we fix them
7414
7415 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * common/check.mak:
7418           use GST_PLUGIN settings for valgrind tests as well, so we're
7419           valgrinding the correct thing
7420         * gst/gst.c: (init_post):
7421           plug another leak
7422
7423 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7424
7425         * gst/gst.c: (init_post), (gst_deinit):
7426         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7427         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7428         * gst/gstindex.c: (gst_index_factory_class_init),
7429         (gst_index_factory_finalize):
7430         * gst/gstobject.c: (gst_object_dispose):
7431         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7432         (gst_plugin_load_file), (gst_plugin_desc_free):
7433         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7434         (gst_plugin_feature_finalize):
7435         * gst/gstregistry.c: (gst_registry_class_init),
7436         (gst_registry_init), (gst_registry_finalize),
7437         (gst_registry_get_default), (gst_registry_deinit):
7438         * gst/gstregistry.h:
7439         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7440           various cleanups and memleak plugging.  make valgrind is happy now.
7441
7442 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7443
7444         * common/check.mak:
7445           add a check-valgrind target
7446
7447 2005-09-18  David Schleef  <ds@schleef.org>
7448
7449         * tools/gst-inspect.c: Revert the GOption code.
7450
7451 2005-09-17  David Schleef  <ds@schleef.org>
7452
7453         * check/Makefile.am: Fix environment variables.
7454         * check/gst/gstplugin.c: Fix for API changes.
7455         * tools/gst-inspect.c: Fix for API changes.
7456         * tools/gst-xmlinspect.c: Fix for API changes.
7457         * gst/gstelementfactory.c:
7458         * gst/gstplugin.c:
7459         * gst/gstplugin.h:
7460         * gst/gstpluginfeature.c:
7461         * gst/gstpluginfeature.h:
7462         * gst/gstregistry.c:
7463         * gst/gstregistry.h:
7464         * gst/gstregistryxml.c:
7465         * gst/gsttypefind.c:
7466         * gst/gsttypefindfactory.c:
7467         * gst/indexers/gstfileindex.c:
7468         * gst/indexers/gstmemindex.c:
7469         * gst/schedulers/Makefile.am:
7470           Change registry to keep track of both plugins and features,
7471           removing the feature tracking from plugins themselves.
7472
7473 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7474
7475         * check/Makefile.am:
7476         * tools/gst-register.1.in:
7477           remove gst-register
7478
7479 2005-09-15  David Schleef  <ds@schleef.org>
7480
7481         * check/gst/gstplugin.c:
7482         * gst/gstelementfactory.c:
7483         * gst/gstplugin.c:
7484         * gst/gstpluginfeature.c:
7485         * gst/gstregistry.c:
7486           Getting tired of debugging.  Disabled all the unreffing of
7487           plugins and features, which fixes the segfaults, but of
7488           course leaks like crazy.  At least playbin works.
7489
7490 2005-09-15  David Schleef  <ds@schleef.org>
7491
7492         * check/gst/gstplugin.c: (register_check_elements),
7493         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7494         More testing
7495         * gst/elements/gsttypefindelement.c: Fix refcounting.
7496         * gst/gsttypefind.c:
7497         * gst/gsttypefindfactory.c:
7498         * gst/gsttypefindfactory.h:
7499
7500 2005-09-15  David Schleef  <ds@schleef.org>
7501
7502         * gst/gstindex.c: get refcounting correct.
7503         * gst/gstregistry.c: Handle the case where a feature/plugin is
7504           not found.
7505
7506 2005-09-15  David Schleef  <ds@schleef.org>
7507
7508         * check/Makefile.am:
7509         * check/gst/gstplugin.c: Add test
7510         * gst/gstplugin.c: Fix problems noticed by testsuite
7511         * gst/gstplugin.h:
7512         * gst/gstregistry.c: 
7513         * gst/gstregistry.h:
7514
7515 2005-09-15  David Schleef  <ds@schleef.org>
7516
7517         * gst/gstplugin.c: Implement semi-decent recounting and locking
7518           in plugins and plugin features.
7519         * gst/gstplugin.h:
7520         * gst/gstpluginfeature.c:
7521         * gst/gstpluginfeature.h:
7522         * gst/gstregistry.c:
7523
7524 2005-09-15  Michael Smith <msmith@fluendo.com>
7525
7526         * gst/gstregistry.c: (gst_registry_get_feature_list):
7527           Implement this. Makes oggdemux work; decodebin still broken.
7528
7529 2005-09-14  David Schleef  <ds@schleef.org>
7530
7531         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7532           #316076)
7533         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7534         * gst/check/Makefile.am:
7535         * libs/gst/controller/Makefile.am:
7536         * libs/gst/dataprotocol/Makefile.am:
7537
7538 2005-09-14  David Schleef  <ds@schleef.org>
7539
7540         * configure.ac: Remove getbits library.  Nothing uses it, and
7541           it should be in something like liboil if someone did want
7542           to use it.
7543         * libs/gst/Makefile.am:
7544         * libs/gst/getbits/Makefile.am:
7545         * libs/gst/getbits/gbtest.c:
7546         * libs/gst/getbits/getbits.c:
7547         * libs/gst/getbits/getbits.h:
7548         * libs/gst/getbits/gstgetbits_generic.c:
7549         * libs/gst/getbits/gstgetbits_i386.s:
7550         * libs/gst/getbits/gstgetbits_inl.h:
7551
7552 2005-09-14  David Schleef  <ds@schleef.org>
7553
7554         * gst/Makefile.am: Dist glib-compat.h
7555
7556 2005-09-14  David Schleef  <ds@schleef.org>
7557
7558         * configure.ac: Remove gst/registries, since it's no longer used.
7559         * gst/registries/Makefile.am:
7560         * gst/registries/gstlibxmlregistry.c:
7561         * gst/registries/gstlibxmlregistry.h:
7562         * gst/registries/gstxmlregistry.c:
7563         * gst/registries/gstxmlregistry.h:
7564         * gst/registries/registrytest.c:
7565
7566 2005-09-14  David Schleef  <ds@schleef.org>
7567
7568         * gst/glib-compat.h:
7569         * gst/gstregistryxml.c:
7570           Convergence is near.  Seriously.
7571
7572 2005-09-14  David Schleef  <ds@schleef.org>
7573
7574         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7575         * gst/glib-compat.h:
7576           Attempt #4 to appease the buildbots.
7577
7578 2005-09-14  David Schleef  <ds@schleef.org>
7579
7580         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7581           Attempt #3.
7582
7583 2005-09-14  David Schleef  <ds@schleef.org>
7584
7585         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7586         Attempt #2.
7587
7588 2005-09-14  David Schleef  <ds@schleef.org>
7589
7590         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7591           the new functions.
7592
7593 2005-09-14  David Schleef  <ds@schleef.org>
7594
7595         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7596         * gst/glib-compat.h: Add some functions that are in newer versions
7597           of glib than we care to require.
7598         * gst/gstregistryxml.c: Use them.
7599
7600 2005-09-14  David Schleef  <ds@schleef.org>
7601
7602         * po/POTFILES.in: remove gst-register.c
7603
7604 2005-09-14  David Schleef  <ds@schleef.org>
7605
7606         * docs/gst/gstreamer-docs.sgml:
7607         * docs/gst/gstreamer-sections.txt:
7608         * docs/gst/gstreamer.types:
7609         * docs/gst/tmpl/gstelement.sgml:
7610         * docs/gst/tmpl/gstplugin.sgml:
7611         * docs/gst/tmpl/gstpluginfeature.sgml:
7612           Documentation updates for registry changes.
7613
7614 2005-09-14  David Schleef  <ds@schleef.org>
7615
7616         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7617           because we don't require glib-2.8.
7618
7619 2005-09-14  David Schleef  <ds@schleef.org>
7620
7621         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7622           registries directory.
7623
7624 2005-09-14  David Schleef  <ds@schleef.org>
7625
7626         * check/Makefile.am:
7627         * check/generic/states.c:
7628         * gst/Makefile.am:
7629         * gst/gst.c:
7630         * gst/gst.h:
7631         * gst/gst_private.h:
7632         * gst/gstelementfactory.c:
7633         * gst/gstindex.c:
7634         * gst/gstinfo.c:
7635         * gst/gstplugin.c:
7636         * gst/gstplugin.h:
7637         * gst/gstpluginfeature.c:
7638         * gst/gstpluginfeature.h:
7639         * gst/gstregistry.c:
7640         * gst/gstregistry.h:
7641         * gst/gstregistrypool.c: remove
7642         * gst/gstregistrypool.h: remove
7643         * gst/gsttypefind.c:
7644         * gst/gsttypefindfactory.c:
7645         * gst/gsturi.c:
7646         * tools/Makefile.am:
7647         * tools/gst-compprep.c:
7648         * tools/gst-inspect.c:
7649         * tools/gst-register.c: remove
7650         * tools/gst-xmlinspect.c:
7651           Registry rewrite.  Changes registry from being a file created
7652           by a tool into a simple cache file created automatically by 
7653           libgstreamer.  Removed gst-register (because it's no longer
7654           needed).  Remove registry pools, because we only have one
7655           registry implementation (XML).  Fix up other subsystems as
7656           necessary.
7657
7658 2005-09-13  Michael Smith <msmith@fluendo.com>
7659
7660         * gst/gstconfig.h.in:
7661           Don't Use windows linking attributes for MinGW. Fixes #316157
7662
7663 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * gst/gstutils.c: (set_state_async_thread_func),
7666         (gst_element_set_state_async):
7667           Apparently people think it's better if this function doesn't
7668           try to set the state to whatever state was asked for on the first
7669           call to this function for any object.  Seriously.
7670
7671 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7672
7673         * check/gst/gstpipeline.c: (GST_START_TEST):
7674         * docs/gst/gstreamer-sections.txt:
7675         * gst/gstutils.c: (set_state_async_thread_func),
7676         (gst_element_set_state_async):
7677         * gst/gstutils.h:
7678           add a "gst_element_set_state_async" method that
7679           sets the state and starts a thread to make sure the state
7680           change completes as best as it can
7681
7682 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7683
7684         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7685           codify design+behaviour in testsuite after discussion
7686
7687 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7688
7689         * docs/gst/tmpl/gstelement.sgml:
7690         * docs/manual/appendix-quotes.xml:
7691           add a quote
7692         * gst/gstelement.c: (gst_element_set_state):
7693           add some debug
7694
7695 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7696
7697         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7698         (gst_base_transform_prepare_output_buf),
7699         (gst_base_transform_handle_buffer):
7700         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7701         (gst_capsfilter_prepare_buf):
7702           Remove the requirement for sub-classes to call the parent
7703           implementation of prepare_output_buffer with a wrapper function.
7704           
7705         * gst/gsttaglist.h:
7706         * gst/gsttagsetter.h:
7707           Fix #define wrapper
7708
7709 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * docs/gst/gstreamer-sections.txt:
7712           more doc cleanups
7713
7714 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7715
7716         * docs/gst/gstreamer-sections.txt:
7717         * docs/gst/tmpl/gstelement.sgml:
7718         * docs/gst/tmpl/gstplugin.sgml:
7719         * gst/gstminiobject.c:
7720         * gst/gstvalue.h:
7721           docs now stop throwing warnings
7722
7723 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7724
7725         * docs/gst/gstreamer-sections.txt:
7726         * docs/gst/gstreamer.types:
7727         * docs/gst/tmpl/gstpad.sgml:
7728         * docs/gst/tmpl/gsttypes.sgml:
7729         * gst/base/gstadapter.h:
7730         * gst/base/gstbasesink.h:
7731         * gst/base/gstbasesrc.h:
7732         * gst/gstbin.h:
7733         * gst/gstbuffer.h:
7734         * gst/gstbus.h:
7735         * gst/gstcaps.h:
7736         * gst/gstclock.h:
7737         * gst/gstelement.h:
7738         * gst/gstevent.h:
7739         * gst/gstmessage.h:
7740         * gst/gstpad.h:
7741         * gst/gststructure.c:
7742         * gst/registries/gstlibxmlregistry.h:
7743           various documentation fixes
7744
7745 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7746
7747         * docs/gst/gstreamer-sections.txt:
7748         * docs/gst/tmpl/gstvalue.sgml:
7749           rearrange gstvalue section
7750         * gst/gstutils.c: (gst_element_state_get_name):
7751           NONE -> VOID
7752         * gst/gstvalue.c: (_gst_value_initialize):
7753         * gst/gstvalue.h:
7754           doc updates
7755
7756 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7757
7758         * check/gst-libs/controller.c:
7759           Header include fix.
7760         * gst/base/gstbasetransform.c:
7761         (gst_base_transform_default_prepare_buf),
7762         (gst_base_transform_handle_buffer):
7763         * gst/base/gstbasetransform.h:
7764           Some more basetransform changes and fixes to enable sub-classes
7765           that modify buffer metadata only.
7766         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7767         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7768         (gst_capsfilter_prepare_buf):
7769           If the output pad has fixed allowed caps and input buffers 
7770           don't have any, set the fixed caps on outgoing buffers.
7771
7772 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7773         * check/elements/identity.c: (GST_START_TEST):
7774           Make the error a little clearer when the test fails because
7775           identity made a copy of the buffer.
7776         * docs/gst/gstreamer-sections.txt:
7777           New symbols in gstbasetransform.h
7778         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7779         (gst_base_transform_init), (gst_base_transform_transform_size),
7780         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7781         (gst_base_transform_default_prepare_buf),
7782         (gst_base_transform_get_unit_size),
7783         (gst_base_transform_buffer_alloc),
7784         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7785         (gst_base_transform_change_state),
7786         (gst_base_transform_set_passthrough),
7787         (gst_base_transform_set_in_place),
7788         (gst_base_transform_is_in_place):
7789         * gst/base/gstbasetransform.h:
7790           Change BaseTransform to separate in_place operate from same_caps
7791           output. in_place implies that the element can perform the transform
7792           on incoming buffers in-place, even if the caps on the output are
7793           different.
7794           Sub-class elements can now implement special buffer allocation
7795           methods for outgoing buffers if they wish to.
7796           Big documentation addition.
7797         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7798         * gst/elements/gstelements.c:
7799           Changes for basetransform modifications.
7800         * gst/elements/Makefile.am:
7801         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7802           Compile fix. Extra debug output.
7803
7804 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7805
7806         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7807         (gst_pad_suite):
7808           add tests for valid pad naming
7809         * gst/check/gstcheck.c: (gst_check_log_message_func),
7810         (gst_check_log_critical_func):
7811           add ASSERT_WARNING
7812           remove printing of code, it is fragile when the code contains
7813           % and the line number is enough info
7814         * gst/check/gstcheck.h:
7815         * gst/gstpad.c: (gst_pad_template_new):
7816           fix memleaks
7817
7818 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7819
7820         * configure.ac:
7821           say what CHECK flags we use
7822         * docs/libs/gstreamer-libs.types:
7823         * libs/gst/controller/Makefile.am:
7824         * libs/gst/controller/gst-controller.c:
7825         * libs/gst/controller/gst-controller.h:
7826         * libs/gst/controller/gst-helper.c:
7827         * libs/gst/controller/gst-interpolation.c:
7828         * libs/gst/controller/gstcontroller.c:
7829         * libs/gst/controller/gsthelper.c:
7830         * libs/gst/controller/gstinterpolation.c:
7831         * tools/gst-inspect.c: (print_plugin_info):
7832           we don't use dashes in header names
7833
7834 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7835
7836         * check/Makefile.am:
7837         * check/gst/.cvsignore:
7838         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7839         (gst_pipeline_suite), (main):
7840           adding a test for pipelines and state changes
7841         * gst/gstutils.c: (get_state_func):
7842           add some debugging
7843         * gstreamer.spec.in:
7844           fix up spec file
7845
7846 2005-09-08  Michael Smith <msmith@fluendo.com>
7847
7848         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7849         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7850         (gst_file_src_is_seekable), (gst_file_src_get_size),
7851         (gst_file_src_start):
7852         * gst/elements/gstfilesrc.h:
7853           Various fixes for unseekable, unmmapable, and non-normal files, so
7854           that fallback to read() rather than mmap() works.
7855         * gst/gstevent.c: (gst_event_new_newsegment):
7856           Allow newsegment events with segment_start == segment_end, as will
7857           correctly happen if you use filesrc on a zero-size file, for
7858           example.
7859
7860 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7861
7862         * gst/gstplugin.c: (gst_plugin_load_file):
7863           Call g_module_close when we don't load the module
7864
7865         * gst/registries/gstlibxmlregistry.c:
7866         (gst_xml_registry_get_property):
7867           Port leak fix from 0.8
7868
7869 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7870
7871         * docs/gst/gstreamer-docs.sgml:
7872         * docs/gst/tmpl/.cvsignore:
7873         * docs/gst/tmpl/gsttrace.sgml:
7874         * docs/gst/tmpl/gsttrashstack.sgml:
7875         * gst/Makefile.am:
7876         * gst/gst.h:
7877         * gst/gstelement.h:
7878         * gst/gstevent.h:
7879         * gst/gstmessage.c:
7880         * gst/gstmessage.h:
7881         * gst/gsttag.c:
7882         * gst/gsttag.h:
7883         * gst/gsttaginterface.c:
7884         * gst/gsttaginterface.h:
7885         * gst/gsttaglist.c:
7886         * gst/gsttaglist.h:
7887         * gst/gsttagsetter.c:
7888         * gst/gsttagsetter.h:
7889         * gst/gsttrace.c:
7890         * gst/gsttrace.h:
7891         * gst/gsttrashstack.c:
7892           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7893           inlined docs for gsttrace, gsttrashstack
7894
7895 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7896
7897         * gst/Makefile.am:
7898         * gst/elements/gstbufferstore.h:
7899         * gst/elements/gsttypefindelement.c:
7900         * gst/elements/gsttypefindelement.h:
7901         * gst/gst.h:
7902         * gst/gsttypefind.c:
7903         * gst/gsttypefind.h:
7904         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7905         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7906         (gst_type_find_factory_dispose),
7907         (gst_type_find_factory_unload_thyself),
7908         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7909         (gst_type_find_factory_get_caps),
7910         (gst_type_find_factory_get_extensions),
7911         (gst_type_find_factory_call_function):
7912         * gst/gsttypefindfactory.h:
7913         * gst/registries/gstlibxmlregistry.c:
7914         * gst/registries/gstxmlregistry.c:
7915           splitted gsttypefind into gsttypefind, gsttypefindfactory
7916
7917 2005-09-07  Andy Wingo  <wingo@pobox.com>
7918
7919         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7920         condition whereby the pad's task function is entered before the
7921         pad_mode variable was set.
7922
7923 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7924
7925         * gst/gstpad.c: (gst_pad_alloc_buffer):
7926           Catch misbehaving pad_alloc functions that don't
7927           set up caps and do it for them.
7928
7929 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7930
7931         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7932           test for pipe!=NULL
7933         * docs/gst/tmpl/.cvsignore:
7934         * docs/gst/tmpl/gstmemchunk.sgml:
7935         * docs/gst/tmpl/gstparse.sgml:
7936         * docs/gst/tmpl/gsttaglist.sgml:
7937         * docs/gst/tmpl/gsttagsetter.sgml:
7938         * docs/gst/tmpl/gsttypefind.sgml:
7939         * docs/gst/tmpl/gsttypefindfactory.sgml:
7940         * gst/gstmemchunk.c:
7941         * gst/gstparse.c:
7942         * gst/gsttag.c:
7943         * gst/gsttaginterface.c:
7944         * gst/gsttypefind.c:
7945         * gst/gsttypefind.h:
7946           inlined more docs
7947
7948 === release 0.9.2 ===
7949
7950 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7951
7952         * NEWS:
7953         * RELEASE:
7954         * configure.ac:
7955           releasing 0.9.2, "South"
7956
7957 2005-09-05  Andy Wingo  <wingo@pobox.com>
7958
7959         * gst/registries/gstxmlregistry.h:
7960         * gst/registries/gstxmlregistry.c: Um... resurrect...
7961         
7962         * gst/registries/gstxmlregistry.h:
7963         * gst/registries/gstxmlregistry.c: and update to newer API.
7964         Incidentally they should be a bit faster now that they don't have
7965         to parse the caps.
7966         
7967 2005-09-05  Andy Wingo  <wingo@pobox.com>
7968
7969         * gst/registries/gstxmlregistry.h:
7970         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7971         replaced by the libxml registry a while back
7972
7973 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7974
7975         * docs/gst/tmpl/gstplugin.sgml:
7976         * gst/elements/gstelements.c:
7977         * gst/gst.c:
7978         * gst/gstplugin.c: (gst_plugin_register_func),
7979         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7980         (gst_plugin_get_source):
7981         * gst/gstplugin.h:
7982         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7983         (gst_xml_registry_save_plugin):
7984         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7985         (gst_xml_registry_save_plugin):
7986         * tools/gst-inspect.c: (print_plugin_info):
7987           add a "source" plugin description field, to represent the source
7988           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7989           will set it to PACKAGE, which is automake's idea of the name of
7990           the source project.
7991
7992 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7993
7994         * Makefile.am:
7995         * autogen.sh:
7996         * configure.ac:
7997         * docs/Makefile.am:
7998         * docs/faq/Makefile.am:
7999         * docs/gst/tmpl/gstelement.sgml:
8000         * docs/gst/tmpl/gsttypes.sgml:
8001         * docs/htmlinstall.mak:
8002         * docs/manual/Makefile.am:
8003         * docs/pwg/Makefile.am:
8004           reorganize doc build a little
8005           split out docbook and gtk-doc stuff
8006           have two separate --enable's and enable them through autogen
8007           but disable by default in configure (to be similar to other
8008           projects)
8009         * gstreamer.spec.in:
8010           clean up docs install
8011         * po/af.po:
8012         * po/az.po:
8013         * po/ca.po:
8014         * po/cs.po:
8015         * po/de.po:
8016         * po/en_GB.po:
8017         * po/fr.po:
8018         * po/it.po:
8019         * po/nb.po:
8020         * po/nl.po:
8021         * po/ru.po:
8022         * po/sq.po:
8023         * po/sr.po:
8024         * po/sv.po:
8025         * po/tr.po:
8026         * po/uk.po:
8027         * po/vi.po:
8028           translation updates
8029
8030 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8031
8032         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8033           Add comment.
8034           
8035         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8036         (gst_fake_sink_change_state):
8037           Make state change function thread-safe.
8038           
8039         * gst/gstpad.c: (gst_pad_alloc_buffer):
8040           Set offset on generic buffer allocated by fallback.
8041
8042 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8043
8044         * docs/gst/gstreamer-sections.txt:
8045         * docs/gst/tmpl/gstelement.sgml:
8046         * gst/gstpad.c:
8047         * libs/gst/controller/gst-controller.c:
8048         (gst_controlled_property_set_interpolation_mode),
8049         (gst_controlled_property_new),
8050         (gst_controller_find_controlled_property):
8051          run the wingo-magic script against the docs
8052
8053 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8054
8055         * docs/gst/gstreamer-docs.sgml:
8056         * docs/gst/gstreamer-sections.txt:
8057         * docs/gst/tmpl/.cvsignore:
8058         * docs/gst/tmpl/gstelementdetails.sgml:
8059         * docs/gst/tmpl/gstelementfactory.sgml:
8060         * gst/gst.c:
8061         * gst/gstbus.c:
8062         * gst/gstelementfactory.c:
8063         * gst/gstelementfactory.h:
8064           merged elementdetails docs into elementfactory docs
8065           inlined both
8066
8067 2005-09-02  Andy Wingo  <wingo@pobox.com>
8068
8069         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8070         consider this enum an enum and not a flags.
8071
8072 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8073
8074         * docs/gst/gstreamer-docs.sgml:
8075         * docs/gst/tmpl/.cvsignore:
8076         * docs/gst/tmpl/gstghostpad.sgml:
8077         * docs/gst/tmpl/gstiterator.sgml:
8078         * docs/gst/tmpl/gstmacros.sgml:
8079         * docs/gst/tmpl/gstrealpad.sgml:
8080         * docs/gst/tmpl/gstregistry.sgml:
8081         * docs/gst/tmpl/gstregistrypool.sgml:
8082         * docs/gst/tmpl/gststructure.sgml:
8083         * docs/gst/tmpl/gstsystemclock.sgml:
8084         * docs/gst/tmpl/gsttrace.sgml:
8085         * gst/gstghostpad.c:
8086         * gst/gstmacros.h:
8087         * gst/gstmemchunk.c:
8088         * gst/gstmemchunk.h:
8089         * gst/gstqueue.c:
8090         * gst/gstregistry.c:
8091         * gst/gstregistrypool.c:
8092         * gst/gststructure.c:
8093         * gst/gstsystemclock.c:
8094           more docs inlined
8095
8096 2005-09-02  Andy Wingo  <wingo@pobox.com>
8097
8098         * gst/gstelement.h (GstState): Renamed from GstElementState,
8099         changed to be a normal enum instead of flags.
8100         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8101         munged to be GST_STATE_CHANGE_*.
8102         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8103         work with the new state representation.
8104         (GstStateChange): New enumeration of possible state transitions.
8105         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8106         (GstElementClass::change_state): Pass the GstStateChange along as
8107         an argument. Helps language bindings, so they don't have to use
8108         tricky lock-needing macros like GST_STATE_CHANGE ().
8109
8110         * scripts/update-states (file): New script. Run it on a file to
8111         update it for state naming and API changes. Updates files in
8112         place.
8113
8114         * All files updated for the new API.
8115
8116 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8117
8118         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8119         * gst/gstutils.c: (gst_util_set_value_from_string),
8120         (gst_util_set_object_arg):
8121           fix a bunch of unchecked return values
8122         * tools/gst-complete.c: (main):
8123         * gstreamer.spec.in:
8124           clean up a little
8125
8126 2005-09-01  Wim Taymans  <wim@fluendo.com>
8127
8128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8129         (gst_base_sink_event), (gst_base_sink_do_sync),
8130         (gst_base_sink_handle_event):
8131         * gst/base/gstbasesink.h:
8132         Handle newsegments more correctly.
8133
8134         * gst/gstbus.c:
8135         Fix docs.
8136
8137         * gst/gstevent.c: (gst_event_new_newsegment):
8138         A newsegment cannot have a start_time of -1
8139
8140 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8141
8142         * win32/gstenumtypes.c:
8143         * win32/gstenumtypes.h:
8144           Update
8145
8146 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8147
8148         * libs/gst/controller/gst-controller.c:
8149         (gst_controlled_property_set_interpolation_mode),
8150         (gst_controlled_property_new):
8151          fixed boolean again
8152
8153 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8154
8155         * docs/faq/gst-uninstalled:
8156           add -good
8157         * gst/gstevent.c:
8158         * gst/gstevent.h:
8159           remove wrong docs
8160         * gst/gstutils.c: (gst_element_link_filtered):
8161         * gst/gstutils.h:
8162           add gst_element_link_filtered
8163
8164 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8165
8166         * docs/gst/gstreamer-docs.sgml:
8167         * docs/gst/gstreamer-sections.txt:
8168         * docs/gst/tmpl/.cvsignore:
8169         * docs/gst/tmpl/gsterror.sgml:
8170         * docs/gst/tmpl/gstfilter.sgml:
8171         * docs/gst/tmpl/gsturihandler.sgml:
8172         * docs/gst/tmpl/gsturitype.sgml:
8173         * docs/gst/tmpl/gstutils.sgml:
8174         * docs/gst/tmpl/gstxml.sgml:
8175         * gst/gsterror.c:
8176         * gst/gsterror.h:
8177         * gst/gstfilter.c:
8178         * gst/gsturi.c:
8179         * gst/gsturitype.c:
8180         * gst/gstutils.c:
8181         * gst/gstxml.c:
8182           inlined more docs, fixed double id-ref
8183
8184 2005-08-31  Wim Taymans  <wim@fluendo.com>
8185
8186         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8187         (gst_base_transform_handle_buffer):
8188         Passthrough elements don't need the caps as they don't care.
8189
8190 2005-08-31  Wim Taymans  <wim@fluendo.com>
8191
8192         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8193         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8194         Don't leak refcounts on buffers.
8195
8196 2005-08-31  Wim Taymans  <wim@fluendo.com>
8197
8198         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8199         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8200         (gst_base_transform_chain), (gst_base_transform_change_state):
8201         * gst/base/gstbasetransform.h:
8202         Handle the case where we are not negotiated more gracefully.
8203
8204 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8205
8206         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8207         (gst_file_src_map_region):
8208           Set READONLY flag on mmap'ed buffers, otherwise
8209           gst_buffer_make_writable() won't work properly (#314708).
8210
8211 2005-08-31  Wim Taymans  <wim@fluendo.com>
8212
8213         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8214         passthrough elements can even do inplace on non writable
8215         buffers (as they don't touch them).
8216
8217 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8218
8219         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8220         (gst_test_mono_source_set_property),
8221         (gst_test_mono_source_class_init), (GST_START_TEST),
8222         (gst_controller_suite):
8223           more tests (hehe I have the most)
8224         * gst/gstbus.c:
8225           describe popping messages whenusing mulltiple sources
8226         * libs/gst/controller/gst-controller.c:
8227         (gst_controlled_property_set_interpolation_mode),
8228         (gst_controlled_property_new):
8229         * libs/gst/controller/gst-controller.h:
8230         * libs/gst/controller/gst-interpolation.c:
8231           implement boolean properties
8232
8233 2005-08-31  Wim Taymans  <wim@fluendo.com>
8234
8235         * gst/gstminiobject.c: (gst_mini_object_ref):
8236         Cannot assert that the refcount has to be positive
8237         since a disposed object can be resurrected.
8238
8239 2005-08-31  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/gstpad.c: (gst_pad_init):
8242         Revert change, need to first fix badly behaving 
8243         apps.
8244
8245 2005-08-30  Wim Taymans  <wim@fluendo.com>
8246
8247         * check/elements/fakesrc.c: (setup_fakesrc):
8248         * check/elements/identity.c: (setup_identity):
8249         Activate pads before using them.
8250
8251 2005-08-30  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/base/gstadapter.c: (gst_adapter_flush):
8254         Flushing out 0 bytes is ok for this function.
8255
8256         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8257         no newsegment gives a warning and sets the start/stop to 
8258         invalid.
8259
8260         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8261         (gst_base_transform_set_passthrough):
8262         Some debug info.
8263
8264         * gst/gstminiobject.c: (gst_mini_object_ref):
8265         Check refcount here too.
8266
8267         * gst/gstpad.c: (gst_pad_init):
8268         Pads are initially flushing and refusing data.
8269
8270         * gst/gstutils.c: (gst_element_link_pads_filtered):
8271         When adding a capsfilter element make sure it has the
8272         same state as the parent bin.
8273
8274 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8275
8276         * docs/gst/tmpl/.cvsignore:
8277         * docs/gst/tmpl/gstformat.sgml:
8278         * docs/gst/tmpl/gstversion.sgml:
8279         * gst/gstbus.h:
8280         * gst/gstformat.c:
8281         * gst/gstformat.h:
8282         * gst/gstversion.h.in:
8283           more docs and two more inlined
8284
8285 2005-08-30  Wim Taymans  <wim@fluendo.com>
8286
8287         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8288         Don't sync to clock.
8289
8290 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8291
8292         * docs/gst/gstreamer-sections.txt:
8293           ultral33t func10ns deserve to appear in the docs actually
8294         * docs/gst/tmpl/.cvsignore:
8295         * docs/gst/tmpl/gstcompat.sgml:
8296         * docs/gst/tmpl/gstconfig.sgml:
8297         * gst/check/gstcheck.c:
8298         * gst/gstcompat.h:
8299         * gst/gstconfig.h.in:
8300           inlined more docs
8301
8302 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8303
8304         * docs/gst/tmpl/.cvsignore:
8305         * docs/gst/tmpl/gstquery.sgml:
8306         * docs/gst/tmpl/gstutils.sgml:
8307         * gst/gstquery.c:
8308         * gst/gstquery.h:
8309           inlined and extended docs
8310
8311 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8312
8313         * check/gst-libs/controller.c: (GST_START_TEST),
8314         (gst_controller_suite):
8315           more tests
8316         * docs/gst/tmpl/gstutils.sgml:
8317         * docs/libs/gstreamer-libs-sections.txt:
8318         * docs/libs/tmpl/gstdataprotocol.sgml:
8319           include path fixes
8320         * examples/controller/audio-example.c: (main):
8321           controller example works now
8322         * gst/gstclock.h:
8323           doc fixes
8324         * tools/gst-inspect.c: (print_element_properties_info):
8325           show param spec flags
8326
8327 2005-08-29  Andy Wingo  <wingo@pobox.com>
8328
8329         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8330
8331 2005-08-28  Andy Wingo  <wingo@pobox.com>
8332
8333         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8334         as having two arguments instead of just one. Allows superclasses
8335         to access information on subclasses -- see the terrible for() loop
8336         in gtype.c:g_type_create_instance for the reason why. All callers
8337         changed.
8338
8339 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8340
8341         * docs/design/part-messages.txt:
8342           update info
8343         * docs/gst/tmpl/.cvsignore:
8344         * docs/gst/tmpl/gstcaps.sgml:
8345         * docs/gst/tmpl/gstclock.sgml:
8346         * gst/gstbus.c:
8347         * gst/gstcaps.c:
8348         * gst/gstcaps.h:
8349         * gst/gstclock.c:
8350         * gst/gstclock.h:
8351         * gst/gstmessage.c:
8352           added descriptions for bus and message
8353           inline caps and clock docs
8354
8355 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8356
8357         * gst/gstmessage.c:
8358         * gst/gstmessage.h:
8359           doc fixes
8360
8361 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8362
8363         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8364           fix div-by-zero
8365
8366 2005-08-26  Andy Wingo  <wingo@pobox.com>
8367
8368         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8369         element_set_state's return val.
8370         (test_2_elements): Add test that's been disabled for months.
8371
8372         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8373         can-activate-pull properties.
8374
8375         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8376         can-activate-pull properties. Implement is_seekable so fakesrc can
8377         operate in pull mode.
8378
8379         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8380         properties.
8381         (gst_base_sink_activate, gst_base_sink_activate_pull)
8382         (gst_base_sink_activate_push): Make activation mode choosing work.
8383         Cleanups.
8384         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8385         is right. Make pull mode work. Post an eos before pausing in pull
8386         mode.
8387         (gst_base_sink_change_state): Pay attention to the core's
8388         change_state() return val.
8389         
8390         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8391         has-getrange properties. Cleanups.
8392         
8393         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8394         has_getrange and replace with can_activate_pull and
8395         can_activate_push.
8396
8397         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8398         locking comments. Remove has_loop, has_chain and replace with
8399         can_activate_pull and can_activate_push.
8400
8401 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8402
8403         * configure.ac:
8404         * examples/Makefile.am:
8405         * examples/metadata/Makefile.am:
8406         * examples/metadata/read-metadata.c: (message_loop),
8407         (have_pad_handler), (make_pipeline), (print_tag), (main):
8408           Add metadata reading example that loops over a list of filenames,
8409           dumping any tags found.
8410
8411         * gst/gstbus.c: (gst_bus_dispose):
8412         * gst/gstelement.c: (gst_element_dispose):
8413           Release a few potentially-held references in dispose.
8414
8415 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8416
8417         * docs/gst/tmpl/gstminiobject.sgml:
8418           do *not* add tmpl/*.sgml files to CVS!
8419
8420 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8421
8422         * libs/gst/bytestream/.cvsignore:
8423         * libs/gst/bytestream/Makefile.am:
8424         * libs/gst/bytestream/adapter.c:
8425         * libs/gst/bytestream/adapter.h:
8426         * libs/gst/bytestream/bytestream.c:
8427         * libs/gst/bytestream/bytestream.h:
8428         * libs/gst/bytestream/filepad.c:
8429         * libs/gst/bytestream/filepad.h:
8430           removing obsolete files
8431
8432 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8433
8434         * docs/gst/gstreamer-docs.sgml:
8435         * docs/libs/gstreamer-libs-docs.sgml:
8436           disabed additional index entries again, as this makes docs-gen just
8437           slow and they aren't useful yet
8438         * docs/libs/gstreamer-libs-sections.txt:
8439           little -section.txt cleanup for libs
8440
8441 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8442
8443         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8444         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8445           fix up some debugging
8446         (gst_base_transform_get_unit_size),
8447         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8448         (gst_base_transform_handle_buffer):
8449         * gst/base/gstbasetransform.h:
8450           handle and store timed NEWSEGMENT events so that subclasses that
8451           calculate time by counting samples have a segment_start time they
8452           need to add to their timestamps - see audioresample
8453
8454 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8455
8456         * gst/gstbin.h:
8457           removed ';' from the end of macro defs
8458         * docs/gst/gstreamer-docs.sgml:
8459         * docs/gst/gstreamer-sections.txt:
8460         * docs/gst/tmpl/.cvsignore:
8461         * gst/gstbus.h:
8462         * gst/gstelement.c: (gst_element_class_init),
8463         (gst_element_set_state), (activate_pads),
8464         (gst_element_save_thyself):
8465         * gst/gstevent.c: (gst_event_new_newsegment):
8466         * gst/gstevent.h:
8467         * gst/gstiterator.c:
8468         * gst/gstiterator.h:
8469         * gst/gstpad.c:
8470         * gst/gstprobe.h:
8471         * gst/gstutils.c: (gst_pad_query_convert):
8472         * gst/gstutils.h:
8473           fixed parameter name mismatches between source, header and docs
8474           added some more docs, resolved the last batch of unused elements in
8475           docs (now someone needs to doc them)
8476
8477 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8478
8479         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8480         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8481           don't walk through the plugins backwards.  Where is all this
8482           reversed logic coming from ?
8483
8484 2005-08-25  Wim Taymans  <wim@fluendo.com>
8485
8486         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8487         (gst_base_transform_transform_size),
8488         (gst_base_transform_configure_caps),
8489         (gst_base_transform_get_unit_size),
8490         (gst_base_transform_buffer_alloc),
8491         (gst_base_transform_change_state):
8492         * gst/base/gstbasetransform.h:
8493         Cache caps unit_size.
8494         Make sure we cannot negotiate up and downstream at the
8495         same time.
8496
8497 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * gst/gst.c: (init_pre), (init_post):
8500           register the installed plugin path after the env var
8501         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8502         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8503           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8504           directories, so the tests can prefer uninstalled over installed
8505
8506 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8507
8508         * gst/base/gstbasetransform.h:
8509           comment
8510         * gst/gstpad.c:
8511           add to docs
8512
8513 2005-08-25  Wim Taymans  <wim@fluendo.com>
8514
8515         * gst/gstbin.c: (bin_bus_handler):
8516         Be a bit more conservative about the posted message.
8517         
8518         * gst/gstbus.c: (gst_bus_post):
8519         Some cleanups, warn wrong return values.
8520
8521 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8522
8523         * check/gst/gstbin.c: (GST_START_TEST):
8524         * gst/gstbin.c: (bin_bus_handler):
8525         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8526         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8527         (gst_message_new_warning), (gst_message_new_tag),
8528         (gst_message_new_state_changed), (gst_message_new_segment_start),
8529         (gst_message_new_segment_done), (gst_message_new_custom):
8530         * gst/gstmessage.h:
8531         * tools/gst-launch.c: (event_loop):
8532         * tools/gst-md5sum.c: (event_loop):
8533           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8534
8535 2005-08-25  Wim Taymans  <wim@fluendo.com>
8536
8537         * check/generic/states.c: (GST_START_TEST):
8538         Cleanup can be done at the end.
8539
8540         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8541         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8542         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8543         Oh boy.. Thanks for finding this, Thomas. 
8544
8545 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8546
8547         * docs/gst/gstreamer.types:
8548           added missing types
8549
8550 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8551
8552         * docs/gst/gstreamer-docs.sgml:
8553         * docs/gst/gstreamer-sections.txt:
8554         * docs/gst/tmpl/.cvsignore:
8555         * gst/gstbin.c:
8556         * gst/gstiterator.c:
8557         * gst/gstutils.c:
8558         * gst/registries/gstxmlregistry.h:
8559           added missing classes and symbols (123 more to go)
8560           removed removed symbols from section file
8561           fixed many doc-comments
8562
8563 2005-08-24  Wim Taymans  <wim@fluendo.com>
8564
8565         * check/generic/states.c: (GST_START_TEST):
8566         Make sure all tasks are stopped.
8567
8568         * check/gst/gstbin.c: (GST_START_TEST):
8569         Unref after usage for proper valgrinding.
8570
8571         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8572         Really wait for the task to stop before destroying the
8573         mutex.
8574
8575         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8576         (gst_queue_src_activate_push):
8577         Small cleanups. Don't stop the task when we did not start
8578         it.
8579
8580         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8581         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8582         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8583         (gst_task_join):
8584         * gst/gsttask.h:
8585         Protect the stream lock with the object lock.
8586         Disallow setting the stream lock when running.
8587         Add cleanup_all to wait for the threadpool to finish.
8588         Remove code to autoallocate a mutex if none was provided.
8589         Add _join() to wait for a task to stop.
8590         Protect the thread pool with a global lock.
8591
8592 2005-08-24  Wim Taymans  <wim@fluendo.com>
8593
8594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8595         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8596         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8597         * gst/base/gstbasesink.h:
8598         Handle newsegment events correctly.
8599         Drop buffers out of the segment range.
8600
8601 2005-08-22  Andy Wingo  <wingo@pobox.com>
8602
8603         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8604         macro, implements an interface and gstimplementsinterface for a
8605         new type.
8606
8607 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8608
8609         * check/Makefile.am:
8610         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8611           add a test that does a bunch of state changes on elements
8612           needs some fixing for valgrind
8613         * check/states/sinks.c: (gst_object_suite):
8614           whitespace
8615         * gst/gstcaps.h:
8616           add prototype for gst_caps_is_equal_fixed
8617         * gst/gstplugin.c:
8618         * gst/gstregistrypool.c:
8619           doc fixes
8620
8621 2005-08-24  Andy Wingo  <wingo@pobox.com>
8622
8623         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8624         convert a negative value. Doesn't make much sense. Mostly this is
8625         here to force callers to ensure -1 maps to -1.
8626
8627 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8628
8629         * docs/pwg/advanced-types.xml:
8630           Well done to Michael for catching my deliberate introduction
8631           of this spelling mistake. 
8632         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8633         * gst/gstelement.h:
8634           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8635           unlink pads before removing the element from the bin.
8636
8637 2005-08-24  Andy Wingo  <wingo@pobox.com>
8638
8639         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8640         the same thing as GST_DEBUG=*:4.
8641         (parse_debug_level, parse_debug_category): New helper parsers.
8642
8643 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8646         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8647         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8648         (gst_base_transform_buffer_alloc),
8649         (gst_base_transform_handle_buffer):
8650           use gboolean return values and pointers to size so we can use the
8651           full GST_BUFFER_SIZE range (guint) for buffer sizes
8652           use GstPadDirection for transform_caps
8653         * gst/base/gstbasetransform.h:
8654           rename get_size to get_unit_size since that's what it is
8655         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8656           use GstPadDirection for transform_caps
8657         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8658         * gst/gstutils.h:
8659           cleanup and debugging
8660
8661 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8662
8663         * gst/gstelement.c: (gst_element_class_init),
8664         (gst_element_set_state), (activate_pads),
8665         (gst_element_save_thyself):
8666         * tools/gst-compprep.c: (main):
8667         * tools/gst-inspect.c: (print_element_properties_info):
8668         * tools/gst-xmlinspect.c: (print_element_properties):
8669           Fixed long standing mem-leak
8670
8671 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8672
8673         * check/gst/gstbin.c: (GST_START_TEST):
8674         * gst/gstbin.c: (bin_bus_handler):
8675         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8676         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8677         (gst_message_new_warning), (gst_message_new_tag),
8678         (gst_message_new_state_changed), (gst_message_new_segment_start),
8679         (gst_message_new_segment_done), (gst_message_new_custom):
8680         * gst/gstmessage.h:
8681         * tools/gst-launch.c: (event_loop):
8682         * tools/gst-md5sum.c: (event_loop):
8683           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8684           that applications can sensibly post custom messages with references
8685           to their own objects.
8686
8687 2005-08-24  Andy Wingo  <wingo@pobox.com>
8688
8689         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8690         already.
8691
8692 2005-08-24  Wim Taymans  <wim@fluendo.com>
8693
8694         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8695         (gst_base_transform_transform_caps),
8696         (gst_base_transform_transform_size),
8697         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8698         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8699         (gst_base_transform_handle_buffer):
8700         * gst/base/gstbasetransform.h:
8701         Many fixes and new features added by Thomas. Can now also do
8702         transforms with variable sizes and a custom fixate_caps function.
8703
8704 2005-08-24  Wim Taymans  <wim@fluendo.com>
8705
8706         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8707         Some debugging.
8708
8709         * gst/gstclock.h:
8710         Cast to ClockTime before formatting to time.
8711
8712         * gst/gstutils.h:
8713         Cleanups.
8714
8715 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8716
8717         * check/gst-libs/controller.c: (GST_START_TEST),
8718         (gst_controller_suite):
8719         * docs/gst/tmpl/gstcaps.sgml:
8720         * docs/gst/tmpl/gstghostpad.sgml:
8721         * docs/gst/tmpl/gstquery.sgml:
8722         * docs/gst/tmpl/gstutils.sgml:
8723         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8724         (gst_object_sink_values), (gst_object_get_value_arrays),
8725         (gst_object_get_value_array):
8726           gracefully handle helper method calls to objects that are not beeing
8727           controlled, added test case for that          
8728
8729 2005-08-23  Wim Taymans  <wim@fluendo.com>
8730
8731         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8732         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8733         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8734         (gst_event_parse_qos), (gst_event_new_seek),
8735         (gst_event_parse_seek):
8736         * gst/gstevent.h:
8737         Some more debugging output and doc cleanups.
8738
8739         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8740         Fix possible deadlock.
8741
8742 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8743
8744         * docs/gst/gstreamer-docs.sgml:
8745         * docs/gst/gstreamer-sections.txt:
8746         * docs/gst/gstreamer.types:
8747         * docs/gst/tmpl/.cvsignore:
8748         * gst/gstbin.h:
8749         * gst/gstbus.c:
8750         * gst/gstelement.c:
8751         * gst/gstevent.h:
8752           added 100 symbols from gstreamer-unused.txt to the right sections
8753           fixed more broken comments
8754           added GstBus to docs
8755
8756 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8757
8758         * docs/gst/gstreamer-sections.txt:
8759         * docs/gst/tmpl/.cvsignore:
8760         * docs/gst/tmpl/gstbin.sgml:
8761         * docs/gst/tmpl/gstbuffer.sgml:
8762         * gst/base/gstbasesrc.c:
8763         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8764         * gst/gstbuffer.c:
8765         * gst/gstbuffer.h:
8766         * tools/gst-launch.1.in:
8767           inlined more doc comments, added missing comments and fixed comments
8768           fixed typos
8769
8770 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8771
8772         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8773           some debugging
8774         * gst/gstcaps.h:
8775           whitespace fixes
8776         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8777           more debugging
8778         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8779         * gst/gststructure.h:
8780           add a fixate function for booleans; add a FIXME that these func
8781           names should probably be gst_structure_fixate_*
8782
8783 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8784
8785         * docs/gst/gstreamer-docs.sgml:
8786         * docs/gst/gstreamer-sections.txt:
8787         * gst/Makefile.am:
8788         * gst/gstbin.c: (gst_bin_get_type),
8789         (gst_bin_child_proxy_get_child_by_index),
8790         (gst_bin_child_proxy_get_children_count),
8791         (gst_bin_child_proxy_init):
8792         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8793         (gst_child_proxy_get_child_by_index),
8794         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8795         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8796         (gst_child_proxy_get), (gst_child_proxy_set_property),
8797         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8798         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8799         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8800         * gst/gstchildproxy.h:
8801         * gst/parse/grammar.y:
8802         * tools/gst-inspect.c: (print_interfaces),
8803         (print_element_properties_info), (print_element_info):
8804           ported gstchildproxy over from 0.8
8805           ported gst-inspect fixes and enhancements over from 0.8
8806
8807 2005-08-22  Wim Taymans  <wim@fluendo.com>
8808
8809         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8810         (gst_base_transform_handle_buffer):
8811         Also call the transform function if we have ANY caps.
8812
8813         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8814         Fix debug info.
8815
8816 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8817
8818         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8819           Don't pretend to handle seek events if the source is not seekable
8820
8821 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8822
8823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8824           Remove extra parameter to debug output
8825
8826         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8827         (gst_base_src_do_seek), (gst_base_src_activate_push):
8828           Fix seek event handling.
8829
8830         * gst/gstpipeline.c: (gst_pipeline_change_state):
8831         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8832         (gst_queue_src_activate_push):
8833           Don't start the src pad task on FLUSH_STOP if the pad
8834           isn't linked.
8835           Debug changes.
8836
8837 2005-08-22  Wim Taymans  <wim@fluendo.com>
8838
8839         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8840         Added check for gst_static_caps_get() refcounting.
8841
8842 2005-08-22  Wim Taymans  <wim@fluendo.com>
8843
8844         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8845         Make _static_caps_get() refcounting sane.
8846         
8847         * gst/gstelement.c: (gst_element_set_state):
8848         Add g_return_val_if_fail() to protect against segfaults.
8849
8850 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8851
8852         * docs/gst/tmpl/gstevent.sgml:
8853         * gst/gstevent.c:
8854         * gst/gstevent.h:
8855           inlined remaining docs, added missing doc comments
8856
8857 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8858
8859         * check/gst/gstbin.c: (GST_START_TEST):
8860           since we don't know when preroll is done, use refcount range
8861           check for the sink
8862         * gst/check/gstcheck.h:
8863           add macro for checking refcount range
8864
8865 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8866
8867         * check/Makefile.am:
8868           clean up environment for when registry gets built versus
8869           when actual tests are run; valgrind seems to not report
8870           leaks if GST_PLUGIN_PATH is set to some specific values
8871         * check/gst/gstbin.c: (GST_START_TEST):
8872           add more refcounting checks; maybe this exposes a
8873           preroll lock bug ?
8874         * common/check.mak:
8875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8876         * gst/check/gstcheck.h:
8877         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8878         (gst_bin_change_state):
8879         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8880           add/fix debugging/whitespace
8881
8882 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8883
8884         * check/gst/gstevent.c: (event_probe), (test_event),
8885         (GST_START_TEST):
8886          Er, don't call gst_bin_watch_for_state_change you idiot.
8887
8888 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8889
8890         * check/Makefile.am:
8891           Use CHECK_CFLAGS and CHECK_LIBS
8892         * check/gst/gstevent.c: (event_probe), (test_event),
8893         (GST_START_TEST):
8894           Don't leak events.
8895         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8896         (gst_base_src_start), (gst_base_src_stop),
8897         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8898         (gst_base_src_change_state):
8899           Sprinkle gst_base_src_stop liberally around error paths to fix
8900           problems reusing a source after failed state changes.
8901         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8902         (helper_find_suggest), (gst_type_find_helper):
8903           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8904         * gst/gstevent.h:
8905         * docs/gst/tmpl/gstevent.sgml:
8906           Migrate part of the docs from the SGML file. Wait for ensonic to
8907           tell me how I did it wrong ;)
8908         * tools/gst-typefind.c: (main):
8909           Extra robustness to state changes between files.
8910
8911 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8912
8913         * check/Makefile.am:
8914           don't valgrind the controller test - it's leaking - Stefan, HELP
8915         * gst/check/gstcheck.c: (gst_check_message_error),
8916         (gst_check_chain_func), (gst_check_setup_element),
8917         (gst_check_teardown_element), (gst_check_setup_src_pad),
8918         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8919         (gst_check_teardown_sink_pad):
8920         * gst/check/gstcheck.h:
8921           add a bunch of methods to set up elements, and src and sink pads
8922         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8923         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8924         (GST_START_TEST):
8925           use them
8926         * gst/gstmessage.c:
8927         * gst/gsttag.h:
8928           whitespace/doc fixes
8929
8930 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8931
8932         * gst/gstelement.h:
8933           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8934           be handled by the application and not always printed as well
8935
8936 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8937
8938         * check/Makefile.am:
8939           set GST_TOOLS_DIR
8940         * gst/check/gstcheck.c: (gst_check_message_error):
8941         * gst/check/gstcheck.h:
8942           add a fail_unless_equals_int
8943           add fail_unless for error messages
8944
8945 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8946
8947         * check/Makefile.am:
8948         * check/gst.supp:
8949         * common/Makefile.am:
8950         * common/check.mak:
8951         * common/gst.supp:
8952           factor out some of the common stuff so we can use it
8953
8954 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8955
8956         * check/Makefile.am:
8957         * check/gst/gstiterator.c: (GST_START_TEST):
8958         * check/gst/gstsystemclock.c: (GST_START_TEST),
8959         (gst_systemclock_suite):
8960         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8961         * gst/gstclock.c:
8962           valgrind more tests
8963
8964 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8965
8966         * check/elements/.cvsignore:
8967         * check/elements/gstfakesrc.c:
8968           rename to name of element
8969         * check/elements/identity.c: (chain_func), (event_func),
8970         (setup_identity), (cleanup_identity), (GST_START_TEST),
8971         (identity_suite), (main):
8972           add a test for identity
8973         * check/Makefile.am:
8974         * pkgconfig/Makefile.am:
8975         * pkgconfig/gstreamer-check.pc.in:
8976         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8977         * gst/check:
8978         * gst/Makefile.am:
8979         * configure.ac:
8980           move the check stuff to a library that gets installed
8981         * check/gst-libs/controller.c: (GST_START_TEST):
8982         * check/gst-libs/gdp.c:
8983         * check/gst/gst.c: (GST_START_TEST):
8984         * check/gst/gstbin.c:
8985         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8986         * check/gst/gstbus.c:
8987         * check/gst/gstcaps.c: (GST_START_TEST):
8988         * check/gst/gstelement.c:
8989         * check/gst/gstghostpad.c:
8990         * check/gst/gstiterator.c:
8991         * check/gst/gstmessage.c:
8992         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8993         * check/gst/gstobject.c:
8994         * check/gst/gstpad.c: (GST_START_TEST):
8995         * check/gst/gststructure.c: (GST_START_TEST):
8996         * check/gst/gstsystemclock.c: (GST_START_TEST),
8997         (gst_systemclock_suite):
8998         * check/gst/gsttag.c: (gst_tag_suite):
8999         * check/gst/gstvalue.c:
9000         * check/pipelines/cleanup.c:
9001         * check/pipelines/simple_launch_lines.c:
9002         * check/states/sinks.c:
9003           change include statement
9004
9005         * docs/gst/gstreamer-sections.txt:
9006         * docs/gst/tmpl/gstpad.sgml:
9007           document more pad stuff
9008         * gst/gstminiobject.c: (gst_mini_object_ref),
9009         (gst_mini_object_unref):
9010           debug refcounting
9011
9012 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9013
9014         * docs/gst/tmpl/gst.sgml:
9015         * gst/gst.c:
9016           eliminate another tmpl file, fix spelling in the long-description
9017
9018 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9019
9020         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9021         (test_event), (timediff), (gstevents_suite):
9022           Should fix build on 64-bit arch's
9023
9024 2005-08-18  Andy Wingo  <wingo@pobox.com>
9025
9026         Make sure that when a pipeline goes to PLAYING, that data has
9027         actually hit the sink.
9028
9029         * check/states/sinks.c (test_sink): A sink that doesn't get any
9030         data shouldn't return SUCCESS for going to either PLAYING or
9031         PAUSED. Test also the return values on the way back down.
9032
9033         * gst/gstelement.c (gst_element_set_state): When changing the
9034         state of an element currently changing state asynchronously, go to
9035         lost-state after commiting the pending state. Makes future calls
9036         to get_state continue to return ASYNC.
9037
9038         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9039         ASYNC when going to PLAYING if we still don't have preroll, as can
9040         happen with live sources.
9041
9042 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9043
9044         * docs/pwg/advanced-types.xml:
9045           Hack long paragraph into 2 chunks as a workaround for buggy
9046           jadetex version in sid and breezy that loops infinitely and
9047           eats all RAM.
9048
9049 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9050
9051         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9052         (test_event), (timediff), (gstevents_suite):
9053           Provide more error margin in clock measurements to allow for 
9054           g_get_current_time inaccuracies.
9055
9056 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9057
9058         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9059         (test_event), (timediff), (gstevents_suite):
9060            Fix error message output so I might be able to tell why the
9061            test works here but fails on the build farm.
9062
9063 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9064
9065         * check/Makefile.am:
9066         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9067         (test_event), (timediff), (gstevents_suite), (main):
9068           I wrote a test!
9069
9070         * docs/design/part-seeking.txt:
9071           Spelling correction
9072
9073         * docs/gst/tmpl/gstevent.sgml:
9074         * docs/gst/tmpl/gstfakesrc.sgml:
9075           Docs updates.
9076
9077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9078           Treat a buffer-without-newsegment the same as a receiving 
9079           a newsegment not in time format, and disable syncing to the clock
9080           with a warning.
9081
9082         * gst/gstbus.c: (gst_bus_set_sync_handler):
9083           Assert if anyone tries to replace the existing sync_handler for bus, 
9084           as only the owner should be setting it.
9085
9086         * gst/gstevent.h:
9087           Have a fixed set of custom event enums with events identified by
9088           their structure name (as in 0.8), rather than a free-for-all
9089           allowing collisions between enum values from different plugins.
9090
9091         * gst/gstpad.c: (gst_pad_class_init):
9092           Docs change.
9093           
9094         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9095           Handle out-of-band downstream events from the sending thread.
9096
9097 2005-08-17  Andy Wingo  <wingo@pobox.com>
9098
9099         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9100         play-timeout==0 to mean no timeout at all. In that case, don't
9101         bother with a get_state or a warning, just return directly, even
9102         if it's ASYNC.
9103
9104         * gst/base/gstbasetransform.c: Debug changes.
9105
9106         * gst/gstutils.h:
9107         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9108         ensure bins post state change messages. A bit of a hack but I can't
9109         think of a way to avoid it.
9110
9111         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9112
9113 2005-08-16  Andy Wingo  <wingo@pobox.com>
9114
9115         * gst/base/gstadapter.h:
9116         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9117         peek() but you own the data. Not terribly efficient atm.
9118
9119 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9120
9121         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9122         (gst_element_found_tags):
9123         * gst/gstutils.h:
9124           Add two utility functions for tag handling.
9125
9126 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9127
9128         * docs/manual/advanced-dataaccess.xml:
9129         * docs/manual/basics-helloworld.xml:
9130           Fix docs to use _bin_add() before _link(), which fixes the examples
9131           with recent core versions (reported by Madhan Raj M
9132           <raj_madan@rediffmail.com>, #313199).
9133
9134 2005-08-16  Wim Taymans  <wim@fluendo.com>
9135
9136         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9137         Added subtract checks.
9138
9139         * docs/design/part-events.txt:
9140         Some more docs about newsegment
9141
9142         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9143         Fix FIXME
9144
9145         * gst/gstcaps.c: (gst_caps_to_string):
9146         Add comments, cleanups.
9147         
9148         * gst/gstelement.c: (gst_element_save_thyself):
9149         cleanups
9150         
9151         * gst/gstvalue.c: (gst_value_collect_int_range),
9152         (gst_string_unwrap), (gst_value_union_int_int_range),
9153         (gst_value_union_int_range_int_range),
9154         (gst_value_intersect_int_int_range),
9155         (gst_value_intersect_int_range_int_range),
9156         (gst_value_intersect_double_double_range),
9157         (gst_value_intersect_double_range_double_range),
9158         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9159         (gst_value_subtract_int_range_int),
9160         (gst_value_subtract_double_range_double),
9161         (gst_value_subtract_double_range_double_range),
9162         (gst_value_subtract_from_list), (gst_value_subtract_list),
9163         (gst_value_can_compare), (gst_value_compare_fraction):
9164         Cleanups, add comments, remove unneeded asserts.
9165
9166 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9167
9168         * tools/gst-launch.c: (event_loop):
9169           don't convert NULL structures to strings
9170
9171 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9172
9173         * docs/gst/gstreamer-sections.txt:
9174           made some defines private
9175         * docs/gst/tmpl/gstconfig.sgml:
9176         * docs/gst/tmpl/gstqueue.sgml:
9177         * docs/gst/tmpl/gsttaglist.sgml:
9178         * docs/gst/tmpl/gsttypes.sgml:
9179         * docs/gst/tmpl/gstutils.sgml:
9180         * docs/pwg/appendix-porting.xml:
9181         * gst/base/gstbasesink.h:
9182         * gst/base/gstbasesrc.c:
9183         * gst/base/gstbasesrc.h:
9184         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9185         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9186         * gst/gstelement.c: (gst_element_class_init):
9187         * gst/gstpad.c: (gst_pad_class_init):
9188         * gst/gstqueue.c: (gst_queue_class_init):
9189         * gst/gstxml.c: (gst_xml_class_init):
9190           documented all undocumented signal inline
9191         * libs/gst/controller/gst-controller.h:
9192           added padding
9193
9194 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9195
9196         * docs/pwg/appendix-porting.xml:
9197           Document _set_link_function -> _set_setcaps_function.
9198
9199 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * check/Makefile.am:
9202           add a .check target for running the check
9203         * check/gst-libs/controller.c: (GST_START_TEST):
9204           cosmetic fixups
9205         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9206           complete checks for gstbuffer; would be nice if I could get the
9207           gcov stuff to work so I can see if I actually completed gstbuffer.c
9208         * check/gstcheck.h:
9209           add ASSERT_BUFFER_REFCOUNT
9210
9211 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9212
9213         * docs/gst/gstreamer-sections.txt:
9214         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9215         * gst/gsttag.h:
9216           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9217           spew out a warning if a tag that is already registered
9218           is re-registered, unless it is re-registered with a 
9219           different type (#308438).
9220
9221 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9222
9223         * docs/pwg/appendix-porting.xml:
9224         * docs/pwg/building-state.xml:
9225           Add some paragraphs about state changes in 0.9 to the PWG
9226           and the porting guide, in particular about the new meaning
9227           of GST_STATE_PAUSED and how to write state change functions
9228           with concurrent access by multiple threads in mind.
9229
9230 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9231
9232         * docs/gst/gstreamer-docs.sgml:
9233         * docs/libs/gstreamer-libs-docs.sgml:
9234           added deprecation and since indexes
9235         * libs/gst/controller/gst-controller.c:
9236         * libs/gst/controller/gst-helper.c:
9237           added since tags
9238
9239
9240 2005-08-11  Wim Taymans  <wim@fluendo.com>
9241
9242         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9243         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9244         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9245         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9246         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9247         (gst_ghost_pad_set_target):
9248         Actually implement (re)setting the target on a ghostpad
9249         as described in the docs.
9250
9251 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9252
9253         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9254           Check whether GST_DEBUG_NO_COLOR environment variable is
9255           set and disable coloured debug output if that is the case.
9256
9257 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9258
9259         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9260         (gst_type_find_helper):
9261           The memory returned by gst_type_find_peek() needs to
9262           stay valid until the end of a typefind function, and
9263           typefind functions may keep results from different 
9264           offsets around, so we can't just unref the buffer from
9265           the previous _peek(), but have to save all buffers 
9266           returned by _peek() until typefinding is done and only
9267           free them then.
9268
9269 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9270
9271         * docs/gst/gstreamer-sections.txt:
9272         * gst/gstutils.h:
9273           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9274
9275 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9276
9277         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9278           Fix a pretty good memleak.
9279
9280 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9281
9282         * gst/gstiterator.h:
9283           Fix wrong include and 'make distcheck'.
9284
9285 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9286
9287         * gst/gstbin.c: (bin_bus_handler):
9288           Use gst_element_post_message() instead.
9289
9290 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9291
9292         * gst/base/gstadapter.h:
9293         * gst/base/gstbasesink.h:
9294         * gst/base/gstbasesrc.h:
9295         * gst/base/gstbasetransform.h:
9296         * gst/base/gstcollectpads.h:
9297         * gst/base/gstpushsrc.h:
9298         * gst/gstiterator.h:
9299           Add padding to our base elements' class and instance structs and
9300           to GstIterator (you will need to rebuild all plugins and apps!)
9301
9302 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9303
9304         * gst/gstbin.c: (bin_bus_handler):
9305           Make default message forwarding from child->bus to bin->bus
9306           threadsafe and make it not emit warnings if the parent has no bus.
9307
9308 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9309
9310         * gst/gstelement.c: (activate_pads):
9311           On paused->ready, set pad->caps to NULL, as is the documented
9312           behaviour in this state change. Fixes playback of series of
9313           media files when visualization is enabled in Totem.
9314
9315 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9316
9317         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9318           Allow NULL as filter-caps (which means "any").
9319
9320 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9321
9322         * docs/libs/gstreamer-libs-sections.txt:
9323         * libs/gst/controller/gst-controller.c:
9324         * libs/gst/controller/gst-controller.h:
9325         * libs/gst/controller/gst-helper.c:
9326           adding more entries to the docs and fix small doc-bugs
9327
9328 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9329
9330         * docs/gst/gstreamer-docs.sgml:
9331         * docs/gst/gstreamer-sections.txt:
9332         * docs/gst/gstreamer.types:
9333         * docs/gst/tmpl/gstbasesink.sgml:
9334         * docs/gst/tmpl/gstbasesrc.sgml:
9335         * docs/gst/tmpl/gstbasetransform.sgml:
9336         * docs/gst/tmpl/gstfakesrc.sgml:
9337         * gst/base/gstcollectpads.c:
9338         * gst/base/gstcollectpads.h:
9339         * libs/gst/controller/gst-controller.c:
9340         * libs/gst/controller/gst-controller.h:
9341         * libs/gst/controller/gst-helper.c:
9342         * libs/gst/controller/gst-interpolation.c:
9343         * libs/gst/controller/lib.c:
9344           added long/short desc for controller docs
9345           added collectpads base class docs
9346           added correct includes to base-class docs
9347
9348 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9349
9350         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9351         (gst_test_mono_source_set_property),
9352         (gst_test_mono_source_class_init), (GST_START_TEST),
9353         (gst_controller_suite):
9354         * docs/gst/gstreamer-docs.sgml:
9355         * docs/gst/gstreamer-sections.txt:
9356         * docs/gst/gstreamer.types:
9357         * docs/libs/gstreamer-libs-docs.sgml:
9358         * docs/libs/gstreamer-libs-sections.txt:
9359         * gst/base/gstadapter.c:
9360         * libs/gst/controller/gst-controller.c:
9361         (gst_controlled_property_new), (gst_controlled_property_free),
9362         (gst_controller_new_valist),
9363         (gst_controller_remove_properties_valist),
9364         (gst_controller_sink_values), (_gst_controller_finalize):
9365         * libs/gst/controller/gst-controller.h:
9366         * libs/gst/controller/gst-helper.c:
9367         (gst_object_control_properties), (gst_object_uncontrol_properties),
9368         (gst_object_get_controller), (gst_object_set_controller),
9369         (gst_object_sink_values), (gst_object_get_value_arrays),
9370         (gst_object_get_value_array):
9371           more tests (and fixes) for the controller
9372           more docs for the controller
9373           integrated companies docs for the adapter 
9374
9375 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9378         (GST_START_TEST), (fakesrc_suite):
9379           add tests for sizetype
9380
9381 2005-08-04  Andy Wingo  <wingo@pobox.com>
9382
9383         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9384         fixes buffer_alloc proxying among other things.
9385
9386         * gst/base/gstbasetransform.c:
9387         * gst/base/gstbasetransform.h:
9388         Revert patch to gstbasetransform from 7-28 removing
9389         delay_configure.
9390
9391         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9392         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9393         Semantics changed, should return not the size of the output buffer
9394         but the byte size of a buffer with a given caps.
9395
9396         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9397         debug object.
9398         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9399         out) are not the pad caps until setcaps finishes.
9400         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9401         not-in-place case as well. Deal with changing from in-place to
9402         not-in-place within calling pad_alloc_buffer. Still a bit
9403         concerned about the overhead here...
9404
9405 2005-08-03  Andy Wingo  <wingo@pobox.com>
9406
9407         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9408         fixating is an error.
9409
9410 2005-08-04  Edward Hervey  <edward@fluendo.com>
9411
9412         * gst/base/gstadapter.h: 
9413         Added gst_adapter_get_type() to the header
9414
9415 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9416
9417         * check/Makefile.am:
9418         * check/gst-libs/controller.c:
9419         * libs/gst/controller/gst-controller.c:
9420         (gst_controller_new_valist):
9421           added check test suite for the controller
9422         * gst/base/gstpushsrc.c:
9423           fixed a doc typo
9424
9425 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9426
9427         * docs/gst/Makefile.am:
9428         * docs/gst/gstreamer-docs.sgml:
9429         * docs/gst/gstreamer-sections.txt:
9430         * docs/gst/gstreamer.types:
9431         * docs/gst/tmpl/gstfakesrc.sgml:
9432         * gst/base/README:
9433         * gst/base/gstbasesink.c:
9434         * gst/base/gstbasesink.h:
9435         * gst/base/gstbasesrc.c:
9436         * gst/base/gstbasesrc.h:
9437         * gst/base/gstbasetransform.c:
9438         * gst/base/gstpushsrc.c:
9439         * gst/base/gstpushsrc.h:
9440           add short/long description docs to base classes
9441           add pushsrc to the docs
9442           remove consolidated doc fragments
9443
9444 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9445
9446         * configure.ac:
9447         * docs/libs/Makefile.am:
9448         * docs/libs/gstreamer-libs-docs.sgml:
9449         * docs/libs/gstreamer-libs-sections.txt:
9450         * docs/libs/gstreamer-libs.types:
9451         * examples/Makefile.am:
9452         * examples/controller/.cvsignore:
9453         * examples/controller/Makefile.am:
9454         * examples/controller/audio-example.c: (main):
9455         * libs/gst/Makefile.am:
9456         * libs/gst/controller/.cvsignore:
9457         * libs/gst/controller/Makefile.am:
9458         * libs/gst/controller/gst-controller.c:
9459         (on_object_controlled_property_changed), (gst_timed_value_compare),
9460         (gst_timed_value_find),
9461         (gst_controlled_property_set_interpolation_mode),
9462         (gst_controlled_property_new), (gst_controlled_property_free),
9463         (gst_controller_find_controlled_property),
9464         (gst_controller_new_valist), (gst_controller_new),
9465         (gst_controller_remove_properties_valist),
9466         (gst_controller_remove_properties), (gst_controller_set),
9467         (gst_controller_set_from_list), (gst_controller_unset),
9468         (gst_controller_get), (gst_controller_get_all),
9469         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9470         (gst_controller_get_value_array),
9471         (gst_controller_set_interpolation_mode),
9472         (_gst_controller_finalize), (_gst_controller_init),
9473         (_gst_controller_class_init), (gst_controller_get_type):
9474         * libs/gst/controller/gst-controller.h:
9475         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9476         (g_object_uncontrol_properties), (g_object_get_controller),
9477         (g_object_set_controller), (g_object_sink_values),
9478         (g_object_get_value_arrays), (g_object_get_value_array):
9479         * libs/gst/controller/gst-interpolation.c:
9480         (gst_controlled_property_find_timed_value_node),
9481         (interpolate_none_get), (interpolate_trigger_get),
9482         (interpolate_trigger_get_value_array):
9483         * libs/gst/controller/lib.c: (gst_controller_init):
9484         * pkgconfig/Makefile.am:
9485         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9486         * pkgconfig/gstreamer-control.pc.in:
9487         * testsuite/Makefile.am:
9488         * testsuite/controller/.cvsignore:
9489         * testsuite/controller/Makefile.am:
9490         * testsuite/controller/interpolator.c: (main):
9491           added controller code
9492           removed dparam pc files
9493
9494 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9495         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9496         (gst_collectpads_stop):
9497           Broadcast the condition when shutting down, to make sure we wake all
9498           threads up. Shut down pads on finalize, for safety.
9499
9500 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9501         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9502         (gst_base_transform_handle_buffer),
9503         (gst_base_transform_change_state):
9504           Handle PAUSED->READY->PAUSED transition after negotiation
9505           occurred already.
9506         * gst/gstmessage.c: (gst_message_init):
9507           Extra piece of debug for new messages.
9508
9509 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9510
9511         * configure.ac:
9512         * docs/gst/tmpl/gstbasesrc.sgml:
9513         * docs/gst/tmpl/gstelement.sgml:
9514         * docs/gst/tmpl/gstevent.sgml:
9515         * docs/gst/tmpl/gstfakesrc.sgml:
9516         * docs/gst/tmpl/gstformat.sgml:
9517         * docs/gst/tmpl/gstghostpad.sgml:
9518         * docs/gst/tmpl/gstpad.sgml:
9519         * docs/gst/tmpl/gstquery.sgml:
9520         * docs/gst/tmpl/gststructure.sgml:
9521         * docs/gst/tmpl/gsttaglist.sgml:
9522         * docs/gst/tmpl/gstvalue.sgml:
9523         * docs/libs/gstreamer-libs-docs.sgml:
9524         * docs/libs/gstreamer-libs-sections.txt:
9525         * docs/libs/gstreamer-libs.types:
9526         * libs/gst/Makefile.am:
9527         * libs/gst/control/.cvsignore:
9528         * libs/gst/control/Makefile.am:
9529         * libs/gst/control/control.c:
9530         * libs/gst/control/control.h:
9531         * libs/gst/control/dparam.c:
9532         * libs/gst/control/dparam.h:
9533         * libs/gst/control/dparam_smooth.c:
9534         * libs/gst/control/dparam_smooth.h:
9535         * libs/gst/control/dparamcommon.h:
9536         * libs/gst/control/dparammanager.c:
9537         * libs/gst/control/dparammanager.h:
9538         * libs/gst/control/dplinearinterp.c:
9539         * libs/gst/control/dplinearinterp.h:
9540         * libs/gst/control/unitconvert.c:
9541         * libs/gst/control/unitconvert.h:
9542         * testsuite/Makefile.am:
9543         * testsuite/dynparams/.cvsignore:
9544         * testsuite/dynparams/Makefile.am:
9545         * testsuite/dynparams/dparamstest.c:
9546         * tools/Makefile.am:
9547         * tools/gst-inspect.c: (print_element_info), (main):
9548         * tools/gst-xmlinspect.c: (print_element_info), (main):
9549           deactivate and remove dparams (libgstcontrol)
9550
9551 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9552
9553         * gst/elements/gsttypefindelement.c:
9554         (gst_type_find_element_have_type), (gst_type_find_element_init),
9555         (stop_typefinding), (gst_type_find_element_handle_event),
9556         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9557         * gst/elements/gsttypefindelement.h:
9558           Set caps on all outgoing buffers, not just the first one.
9559
9560 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9561
9562         * gst/elements/gsttypefindelement.c:
9563         (gst_type_find_element_have_type),
9564         (gst_type_find_element_check_set_buffer_caps),
9565         (gst_type_find_element_init), (stop_typefinding),
9566         (gst_type_find_element_handle_event),
9567         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9568         * gst/elements/gsttypefindelement.h:
9569           Set caps on first outgoing buffer when we've found the type.
9570
9571 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9572
9573         * docs/gst/gstreamer-docs.sgml:
9574         * docs/gst/gstreamer-sections.txt:
9575         * docs/gst/tmpl/gstscheduler.sgml:
9576         * docs/gst/tmpl/gstschedulerfactory.sgml:
9577           Remove some old cruft from docs.
9578
9579 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9580
9581         * gst/gstpad.h:
9582           Fix inline docs for GstPadLinkReturn.
9583           
9584         * gst/gststructure.c: (gst_structure_has_name):
9585         * gst/gststructure.h:
9586         * docs/gst/gstreamer-sections.txt:
9587           New API: gst_structure_has_name().
9588
9589 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9590
9591         * configure.ac:
9592           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9593           and _LARGEFILE_SOURCE in config.h as required. Do not 
9594           export those flags in our .pc files any longer (#142209).
9595
9596           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9597
9598         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9599         (gst_file_sink_do_seek), (gst_file_sink_event),
9600         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9601           Redo seek/tell calls with large file support in mind; add some
9602           debugging messages; add log message that tells us when large
9603           file support is unavailable or not enabled for some reason.
9604
9605         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9606           Add log message that tells us when large file support 
9607           is unavailable or not enabled for some reason.
9608
9609 2005-07-29  Wim Taymans  <wim@fluendo.com>
9610
9611         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9612         Added test for removing an element with ghostpad from a bin.
9613         Fixed test as current implementation does the right thing.
9614
9615         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9616         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9617         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9618         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9619         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9620         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9621         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9622         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9623         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9624         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9625         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9626         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9627         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9628         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9629         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9630         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9631         * gst/gstghostpad.h:
9632         Clean up ghostpads, remove properties for internal stuff.
9633         Make threadsafe.
9634         Fix refcounting.
9635         Prepare for switching targets, not all use cases work yet.
9636
9637 2005-07-29  Wim Taymans  <wim@fluendo.com>
9638
9639         * docs/design/part-gstghostpad.txt:
9640         Small update.
9641
9642         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9643         (gst_bin_remove_func):
9644         Unlinking pads while holding the bin LOCK is not a good
9645         idea.
9646
9647         * gst/gstpad.c: (gst_pad_class_init),
9648         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9649         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9650         No prob setting template after creating the pad.
9651
9652 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9653
9654         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9655         (gst_bus_peek), (gst_bus_source_dispatch),
9656         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9657         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9658           gst_bus_poll may be called from other threads. Handle
9659           this nicely by not making poll_data disappear off the
9660           stack once gst_bus_poll returns.
9661           gst_bus_peek now increments the refcount on the returned
9662           message.
9663
9664 2005-07-29  Wim Taymans  <wim@fluendo.com>
9665
9666         * docs/design/part-gstghostpad.txt:
9667         Overview of current GhostPad datastructures and use
9668         cases for changing the target.
9669
9670 2005-07-28  Wim Taymans  <wim@fluendo.com>
9671
9672         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9673         Added checks for hierarchy consistency whan adding linked
9674         elements to bins.
9675
9676         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9677         Added check to test element scheduling without bin/pipeline.
9678
9679         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9680         First add elements to bin, then link.
9681         
9682         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9683         (gst_bin_remove_func):
9684         Unlink pads from elements added/removed from bin to maintain
9685         hierarchy consistency.
9686
9687 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9688
9689         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9690         (gst_base_transform_handle_buffer):
9691         * gst/base/gstbasetransform.h:
9692           Remove broken delay_configure (fixes renegotiation of software
9693           scaling pipelines); remove some leftover printf()s.
9694
9695 2005-07-28  Wim Taymans  <wim@fluendo.com>
9696
9697         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9698         Added some more tests for wrong hierarchy
9699
9700         * docs/design/part-overview.txt:
9701         Some updates.
9702
9703         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9704         Cleanups.
9705
9706         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9707         (gst_element_dispose):
9708         Some more cleanups.
9709
9710         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9711         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9712         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9713         (gst_pad_set_caps), (gst_pad_send_event):
9714         Check for correct hierarchy when linking pads. Moving to
9715         strict requirement for ghostpads when linking elements in
9716         different bins.
9717
9718         * gst/gstpad.h:
9719         Clean ups. Added WRONG_HIERARCHY return value.
9720
9721 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9722
9723         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9724           Better debug if no transform is possible.
9725
9726 2005-07-27  Wim Taymans  <wim@fluendo.com>
9727
9728         * docs/random/wtay/network-transp:
9729         Some old doc I had.
9730
9731 2005-07-27  Wim Taymans  <wim@fluendo.com>
9732
9733         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9734         (gst_dp_event_from_packet):
9735         Fix serialization of seek events.
9736
9737 2005-07-27  Wim Taymans  <wim@fluendo.com>
9738
9739         * check/gst-libs/gdp.c: (GST_START_TEST):
9740         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9741         Fix compilation and fix event serialization.
9742
9743 2005-07-27  Wim Taymans  <wim@fluendo.com>
9744
9745         * CHANGES-0.9:
9746         * docs/design/part-TODO.txt:
9747         * docs/design/part-events.txt:
9748         Some docs updates
9749
9750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9751         (gst_base_sink_event), (gst_base_sink_do_sync),
9752         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9753         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9754         (gst_base_src_do_seek), (gst_base_src_event_handler),
9755         (gst_base_src_loop):
9756         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9757         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9758         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9759         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9760         (gst_base_transform_set_passthrough),
9761         (gst_base_transform_is_passthrough):
9762         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9763         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9764         Event updates.
9765
9766         * gst/gstbuffer.h:
9767         Use faster casts.
9768
9769         * gst/gstelement.c: (gst_element_seek):
9770         * gst/gstelement.h:
9771         Update gst_element_seek.
9772
9773         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9774         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9775         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9776         (gst_event_new_eos), (gst_event_new_newsegment),
9777         (gst_event_parse_newsegment), (gst_event_new_tag),
9778         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9779         (gst_event_parse_qos), (gst_event_new_seek),
9780         (gst_event_parse_seek), (gst_event_new_navigation):
9781         * gst/gstevent.h:
9782         Make GstEvent use GstStructure. Add parsing code, make sure the
9783         API is sufficiently generic.
9784         Mark possible directions of events and serialization.
9785
9786         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9787         (_gst_message_copy), (gst_message_new_segment_start),
9788         (gst_message_new_segment_done), (gst_message_new_custom),
9789         (gst_message_parse_segment_start),
9790         (gst_message_parse_segment_done):
9791         Small cleanups.
9792
9793         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9794         (gst_pad_set_caps), (gst_pad_send_event):
9795         Update for new events. 
9796         Catch events sent in wrong directions.
9797
9798         * gst/gstqueue.c: (gst_queue_link_src),
9799         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9800         (gst_queue_handle_src_query):
9801         Event updates.
9802
9803         * gst/gsttag.c:
9804         * gst/gsttag.h:
9805         Remove event code from this file.
9806
9807         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9808         (gst_dp_event_from_packet):
9809         Event updates.
9810
9811 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9812
9813         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9814         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9815         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9816           Make debugging actually useful.
9817
9818 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9819
9820         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9821         (gst_pad_fixate_caps):
9822           Implement default fixation once again, so that gst_pad_fixate()
9823           actually does anything at all. This probably needs to be some
9824           sort of a last resort, and use profile-based fixation first, but
9825           since that doesn't exist yet, this is the best we have. Fixes
9826           visualization in Totem.
9827
9828 2005-07-22  Wim Taymans  <wim@fluendo.com>
9829
9830         * docs/design/part-events.txt:
9831         Small update.
9832
9833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9834         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9835         (gst_base_sink_activate_pull):
9836         Some more comments.
9837
9838         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9839         (gst_fake_src_create):
9840         Fix handoff marshall.
9841
9842         * gst/elements/gstidentity.c: (gst_identity_class_init),
9843         (gst_identity_transform_ip):
9844         We're a real inplace element.
9845
9846         * gst/gstbus.c: (gst_bus_post):
9847         Added some comments.
9848
9849         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9850         * tests/muxing/case1.c: (main):
9851         * tests/sched/dynamic-pipeline.c: (main):
9852         * tests/sched/interrupt1.c: (main):
9853         * tests/sched/interrupt2.c: (main):
9854         * tests/sched/interrupt3.c: (main):
9855         * tests/sched/runxml.c: (main):
9856         * tests/sched/sched-stress.c: (main):
9857         * tests/seeking/seeking1.c: (event_received), (main):
9858         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9859         (main):
9860         * tests/threadstate/threadstate3.c: (main):
9861         * tests/threadstate/threadstate4.c: (main):
9862         * tests/threadstate/threadstate5.c: (main):
9863         Fix the tests.
9864
9865 2005-07-21  Wim Taymans  <wim@fluendo.com>
9866
9867         * docs/design/part-seeking.txt:
9868         Some small additions.
9869
9870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9871         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9872         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9873         * gst/base/gstbasesink.h:
9874         discont values are gint64, handle the math correctly.
9875
9876         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9877         Make the basesrc report error if the source pad is not linked.
9878
9879         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9880         (gst_queue_loop), (gst_queue_handle_src_query),
9881         (gst_queue_src_activate_push):
9882         Make queue collect data even if the srcpad is not linked.
9883         Start pushing out data as soon as it is linked.
9884
9885         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9886         * gst/gstutils.h:
9887         Added gst_flow_get_name() to ease error reporting.
9888
9889 2005-07-20  Wim Taymans  <wim@fluendo.com>
9890
9891         * gst/gstmessage.c: (gst_message_new_segment_start),
9892         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9893         (gst_message_parse_segment_done):
9894         * gst/gstmessage.h:
9895         Added a bunch of messages for advanced seeking.
9896
9897         * gst/parse/grammar.y:
9898         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9899         (gst_dpman_state_changed):
9900         Fix some new-pad -> pad-added signals
9901
9902 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9903
9904         * docs/manual/appendix-porting.xml:
9905         * docs/pwg/appendix-porting.xml:
9906           Document new-pad/state-change signal renames and the FixedList
9907           type rename.
9908
9909 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9910
9911         * docs/manual/advanced-autoplugging.xml:
9912         * docs/manual/basics-helloworld.xml:
9913         * docs/manual/basics-pads.xml:
9914         * docs/random/ds/0.9-suggested-changes:
9915         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9916         * gst/gstelement.h:
9917         * gst/gstevent.h:
9918         * gst/gstformat.h:
9919         * gst/gstquery.h:
9920         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9921         (gst_structure_parse_array), (gst_structure_parse_value):
9922         * gst/gstvalue.c: (gst_type_is_fixed),
9923         (gst_value_list_prepend_value), (gst_value_list_append_value),
9924         (gst_value_list_get_size), (gst_value_list_get_value),
9925         (gst_value_transform_array_string), (gst_value_serialize_array),
9926         (gst_value_deserialize_array), (gst_value_intersect_array),
9927         (gst_value_is_fixed), (_gst_value_initialize):
9928         * gst/gstvalue.h:
9929           GstElement::new-pad -> pad-added, GstElement::state-change ->
9930           state-changed, GstValueFixedList -> GstValueArray, add format and
9931           flags as their own arguments in gst_element_seek() (should improve
9932           "bindeability"), remove function generators since they don't work
9933           under a whole bunch of compilers (they were deprecated already
9934           anyway).
9935
9936 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9937
9938         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9939         (_gst_debug_register_funcptr):
9940         * gst/gstinfo.h:
9941           Fix illegal cast on some platforms (#309253).
9942
9943 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9944
9945         * gst/gstmessage.c: (gst_message_new_custom):
9946         * gst/gstmessage.h:
9947           Add _new_custom, make _new_application a macro to _new_custom.
9948
9949 2005-07-20  Wim Taymans  <wim@fluendo.com>
9950
9951         * gst/base/gstbasesrc.c: (gst_base_src_init),
9952         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9953         * gst/base/gstbasesrc.h:
9954         Add a gboolean to decide when to push out a discont.
9955
9956         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9957         (gst_queue_loop), (gst_queue_handle_src_query),
9958         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9959         (gst_queue_set_property), (gst_queue_get_property):
9960         Some cleanups.
9961
9962         * tests/threadstate/threadstate1.c: (main):
9963         Make a thread test compile and run... very silly..
9964
9965
9966 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9967
9968         * docs/manual/appendix-porting.xml:
9969           Mention removal of libgstgconf-0.9.la and existence of gconf
9970           elements.
9971
9972 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9973
9974         * docs/pwg/advanced-clock.xml:
9975         * docs/pwg/appendix-porting.xml:
9976         * docs/pwg/intro-preface.xml:
9977         * docs/pwg/other-base.xml:
9978         * docs/pwg/other-manager.xml:
9979         * docs/pwg/other-nton.xml:
9980         * docs/pwg/other-ntoone.xml:
9981         * docs/pwg/other-oneton.xml:
9982         * docs/pwg/pwg.xml:
9983           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9984           demuxer), remove n-to-n (was never written), fix some code examples
9985           and links and update the porting section to include all this.
9986
9987 2005-07-19  Wim Taymans  <wim@fluendo.com>
9988
9989         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9990         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9991         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9992         (gst_queue_src_activate_push), (gst_queue_change_state),
9993         (gst_queue_get_property):
9994         * gst/gstqueue.h:
9995         Propagate GstFlowReturn more intelligently upstream and output
9996         an ERROR/EOS when streaming stopped due to fatal error.
9997
9998 2005-07-19  Wim Taymans  <wim@fluendo.com>
9999
10000         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10001         Don't block forever for the state change to complete, the
10002         pipeline already did with a sensible timeout.
10003
10004 2005-07-19  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10007         Make sure we never call the create function is we
10008         got deactivated.
10009
10010 2005-07-19  Andy Wingo  <wingo@pobox.com>
10011
10012         * gst/parse/parse.l: Attempt to solve bug #172815.
10013
10014 2005-07-19  Wim Taymans  <wim@fluendo.com>
10015
10016         * docs/design/part-clocks.txt:
10017         * docs/design/part-events.txt:
10018         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10019         Small docs updates.
10020         Only update the seeking values when we are not
10021         busy streaming.
10022
10023 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10024
10025         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10026           Oops, ignore the result of gst_pad_push_event here.
10027
10028 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10029
10030         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10031         (gst_base_src_activate_push):
10032           Send discont event from the loop function, as pads
10033           aren't activated yet in the activate_push handler.
10034
10035         * gst/gstbin.c: (bin_bus_handler):
10036           Don't leak element name.
10037
10038 2005-07-18  Andy Wingo  <wingo@pobox.com>
10039
10040         * configure.ac: Use AS_LIBTOOL_TAGS.
10041
10042 2005-07-18  Wim Taymans  <wim@fluendo.com>
10043
10044         * docs/gst/gstreamer.types:
10045         Remove deleted types.
10046
10047 2005-07-18  Wim Taymans  <wim@fluendo.com>
10048
10049         * check/elements/gstfakesrc.c: (GST_START_TEST):
10050         * configure.ac:
10051         * gst/Makefile.am:
10052         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10053         (init_popt_callback):
10054         * gst/gst.h:
10055         * gst/gst_private.h:
10056         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10057         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10058         * gst/gstbin.h:
10059         * gst/gstbus.h:
10060         * gst/gstconfig.h.in:
10061         * gst/gstelement.c: (gst_element_class_init),
10062         (gst_element_set_base_time), (gst_element_get_base_time),
10063         (iterator_fold_with_resync), (gst_element_change_state),
10064         (gst_element_dispose), (gst_element_get_bus):
10065         * gst/gstelement.h:
10066         * gst/gstelementfactory.h:
10067         * gst/gsterror.c: (_gst_core_errors_init):
10068         * gst/gsterror.h:
10069         * gst/gstevent.h:
10070         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10071         * gst/gstindex.c:
10072         * gst/gstinfo.c: (_gst_debug_init):
10073         * gst/gstmessage.c: (_gst_message_copy):
10074         * gst/gstmessage.h:
10075         * gst/gstminiobject.h:
10076         * gst/gstobject.c:
10077         * gst/gstobject.h:
10078         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10079         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10080         * gst/gstpad.h:
10081         * gst/gstparse.h:
10082         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10083         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10084         (gst_pipeline_get_last_stream_time):
10085         * gst/gstpipeline.h:
10086         * gst/gstpluginfeature.h:
10087         * gst/gstquery.h:
10088         * gst/gstscheduler.c:
10089         * gst/gstscheduler.h:
10090         * gst/gststructure.h:
10091         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10092         (gst_task_finalize), (gst_task_func), (gst_task_create),
10093         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10094         (gst_task_stop), (gst_task_pause):
10095         * gst/gsttask.h:
10096         * gst/gsttypefind.h:
10097         * gst/gsttypes.h:
10098         * gst/registries/gstlibxmlregistry.c: (load_feature),
10099         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10100         * gst/registries/gstxmlregistry.c:
10101         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10102         * gst/schedulers/threadscheduler.c:
10103         * libs/gst/control/dparammanager.h:
10104         * tools/gst-inspect.c: (print_element_list),
10105         (print_plugin_features), (print_element_features):
10106         * tools/gst-xmlinspect.c: (print_element_list),
10107         (print_plugin_info), (main):
10108         Removed plugable schedulers.
10109         Removed Scheduler/Manager from elements.
10110         Removed gsttypes.h, rearranged includes.
10111         Removed dependency pad<->element, element<>pipeline, and
10112         various others,  fix includes.
10113         implement gst_pad_get_parent() with gst_object_get_parent()
10114         Make GstTask sefcontained.
10115         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10116         timeout.
10117         Fix endless loop in iterator_fold_with_resync.
10118
10119
10120 2005-07-18  Wim Taymans  <wim@fluendo.com>
10121
10122         * gst/Makefile.am:
10123         * gst/gstarch.h:
10124         Remove old file.
10125
10126 2005-07-18  Wim Taymans  <wim@fluendo.com>
10127
10128         * gst/Makefile.am:
10129         No more cothreads.h
10130
10131 2005-07-18  Wim Taymans  <wim@fluendo.com>
10132
10133         * gst/cothreads.c:
10134         * gst/cothreads.h:
10135         Let's remove these.
10136
10137 2005-07-18  Wim Taymans  <wim@fluendo.com>
10138
10139         * docs/design/part-dynamic.txt:
10140         * docs/design/part-events.txt:
10141         * docs/design/part-seeking.txt:
10142         Some more docs in the works.
10143
10144         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10145         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10146         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10147         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10148         (gst_base_transform_handle_buffer),
10149         (gst_base_transform_sink_activate_push),
10150         (gst_base_transform_src_activate_pull),
10151         (gst_base_transform_set_passthrough),
10152         (gst_base_transform_is_passthrough):
10153         Refcounting fixes.
10154
10155         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10156         Cleanups.
10157
10158         * gst/gstevent.c: (gst_event_finalize):
10159         Set SRC to NULL.
10160
10161         * gst/gstutils.c: (gst_element_unlink),
10162         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10163         (gst_pad_proxy_setcaps):
10164         * gst/gstutils.h:
10165         Add _get_parent_element() to get a pads parent as an element.
10166
10167 2005-07-18  Wim Taymans  <wim@fluendo.com>
10168
10169         * check/gst/gstbin.c: (GST_START_TEST):
10170         Remove bogus test.
10171
10172 2005-07-18  Wim Taymans  <wim@fluendo.com>
10173
10174         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10175         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10176         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10177         (gst_base_sink_event), (gst_base_sink_do_sync),
10178         (gst_base_sink_chain), (gst_base_sink_loop),
10179         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10180         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10181         Refcounting fixes.
10182         Fix logic for returning ASYNC when not prerolled.
10183
10184 2005-07-18  Wim Taymans  <wim@fluendo.com>
10185
10186         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10187         Fix nasty refcount bug.
10188
10189 2005-07-16 Philippe Khalaf <burger@speedy.org>
10190
10191         * gst/elements/gstfdsrc.c:
10192         * gst/elements/gstfdsrc.h:
10193         * gst/elements/gstelements.c:
10194         * gst/elements/Makefile.am:
10195         Ported fdsrc to 0.9.
10196
10197 2005-07-16  Wim Taymans  <wim@fluendo.com>
10198
10199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10200         (gst_base_sink_do_sync):
10201         Fix compile error.
10202
10203 2005-07-16  Wim Taymans  <wim@fluendo.com>
10204
10205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10206         (gst_base_sink_event), (gst_base_sink_get_times),
10207         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10208         * gst/base/gstbasesink.h:
10209         Store and use discont values when syncing buffers as described
10210         in design docs.
10211         
10212         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10213         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10214         (gst_base_src_activate_push):
10215         Push discont event when starting.
10216
10217         * gst/elements/gstidentity.c: (gst_identity_transform):
10218         Small cleanups.
10219
10220         * gst/gstbin.c: (gst_bin_change_state):
10221         Small cleanups in base_time  distribution.
10222
10223         * gst/gstelement.c: (gst_element_set_base_time),
10224         (gst_element_get_base_time), (gst_element_change_state):
10225         * gst/gstelement.h:
10226         Added methods for the base_time of the element.
10227         Some MT fixes.
10228
10229         * gst/gstpipeline.c: (gst_pipeline_send_event),
10230         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10231         (gst_pipeline_get_last_stream_time):
10232         * gst/gstpipeline.h:
10233         MT fixes.
10234         Handle seeking as described in design doc, remove stream_time
10235         hack.
10236         Cleanups clock and stream_time selection code. Added accessors
10237         for the stream_time.
10238         
10239
10240 2005-07-16  Andy Wingo  <wingo@pobox.com>
10241
10242         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10243         (#305291).
10244
10245 2005-07-16  Wim Taymans  <wim@fluendo.com>
10246
10247         * check/gst/gstbin.c: (GST_START_TEST):
10248         Make elements silent as the deep_notify refs the
10249         parent, which might make the test fail.
10250
10251         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10252         Don't hold the lock for too long.
10253
10254 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10255
10256         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10257           Don't unref the caps we passed to gst_caps_make_writable() after
10258           passing them. gst_caps_make_writable() will do that for us.
10259
10260 2005-07-15  Andy Wingo  <wingo@pobox.com>
10261
10262         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10263         (#157311).
10264
10265         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10266         own marshalling function for the handoff signal. Properly type the
10267         buffer as a buffer. Fixes some warnings. Should do a more general
10268         solution.
10269         (gst_identity_class_init): Plug into the right marshaller.
10270
10271 2005-07-15  Wim Taymans  <wim@fluendo.com>
10272
10273         * docs/design/part-TODO.txt:
10274         * docs/design/part-clocks.txt:
10275         * docs/design/part-element-sink.txt:
10276         * docs/design/part-events.txt:
10277         * docs/design/part-gstpipeline.txt:
10278         Updated docs, mostly DISCONT related.
10279
10280 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10281
10282         * docs/pwg/building-pads.xml:
10283           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10284
10285 2005-07-15  Andy Wingo  <wingo@pobox.com>
10286
10287         * tools/gst-typefind.c: Update, add copyright block.
10288
10289         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10290         Normalize and truncate caps before fixation.
10291
10292         * gst/gstcaps.h:
10293         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10294         discards all but the first structure from its argument.
10295
10296 2005-07-15  Wim Taymans  <wim@fluendo.com>
10297
10298         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10299         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10300         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10301         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10302         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10303         (gst_base_transform_chain), (gst_base_transform_change_state),
10304         (gst_base_transform_set_passthrough),
10305         (gst_base_transform_is_passthrough):
10306         * gst/base/gstbasetransform.h:
10307         Make passthrough work using the bufferpools.
10308         Changed API a bit, subclasses have to write into a buffer
10309         provided by the base class.
10310         More debug info in nego functions.
10311         
10312         * gst/elements/gstidentity.c: (gst_identity_init),
10313         (gst_identity_transform):
10314         Port to new base class.
10315
10316 2005-07-15  Wim Taymans  <wim@fluendo.com>
10317
10318         * gst/gstmessage.c: (gst_message_new_state_changed):
10319         * tools/gst-launch.c: (event_loop), (main):
10320         Totally dump messages in -launch with the -m option.
10321         Fix message name for State messages,
10322
10323 2005-07-14  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10326         Post error messages on errors.
10327
10328 2005-07-14  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/gstcaps.c: (gst_caps_do_simplify):
10331         Remove debug info.
10332
10333         * gst/gsterror.h:
10334         Define error for stream stopped.
10335
10336         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10337         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10338         Do proper return values.
10339
10340         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10341         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10342         (gst_pad_get_range):
10343         Better return values.
10344
10345         * gst/gstpad.h:
10346         Reorganise return values, add macro to check for fatal errors.
10347
10348         * gst/gstqueue.c: (gst_queue_chain):
10349         Return proper GstFlowReturn values,
10350
10351 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10352
10353         * docs/gst/gstreamer-sections.txt:
10354         * docs/gst/gstreamer.types:
10355         * docs/gst/tmpl/gst.sgml:
10356         * docs/gst/tmpl/gstbasesink.sgml:
10357         * docs/gst/tmpl/gstbasesrc.sgml:
10358         * docs/gst/tmpl/gstbasetransform.sgml:
10359         * docs/gst/tmpl/gstbin.sgml:
10360         * docs/gst/tmpl/gstbuffer.sgml:
10361         * docs/gst/tmpl/gstcaps.sgml:
10362         * docs/gst/tmpl/gstclock.sgml:
10363         * docs/gst/tmpl/gstcompat.sgml:
10364         * docs/gst/tmpl/gstconfig.sgml:
10365         * docs/gst/tmpl/gstelement.sgml:
10366         * docs/gst/tmpl/gstelementdetails.sgml:
10367         * docs/gst/tmpl/gstelementfactory.sgml:
10368         * docs/gst/tmpl/gstenumtypes.sgml:
10369         * docs/gst/tmpl/gsterror.sgml:
10370         * docs/gst/tmpl/gstevent.sgml:
10371         * docs/gst/tmpl/gstfakesink.sgml:
10372         * docs/gst/tmpl/gstfakesrc.sgml:
10373         * docs/gst/tmpl/gstfilesink.sgml:
10374         * docs/gst/tmpl/gstfilesrc.sgml:
10375         * docs/gst/tmpl/gstfilter.sgml:
10376         * docs/gst/tmpl/gstformat.sgml:
10377         * docs/gst/tmpl/gstghostpad.sgml:
10378         * docs/gst/tmpl/gstimplementsinterface.sgml:
10379         * docs/gst/tmpl/gstindex.sgml:
10380         * docs/gst/tmpl/gstindexfactory.sgml:
10381         * docs/gst/tmpl/gstinfo.sgml:
10382         * docs/gst/tmpl/gstiterator.sgml:
10383         * docs/gst/tmpl/gstmacros.sgml:
10384         * docs/gst/tmpl/gstmemchunk.sgml:
10385         * docs/gst/tmpl/gstminiobject.sgml:
10386         * docs/gst/tmpl/gstobject.sgml:
10387         * docs/gst/tmpl/gstpad.sgml:
10388         * docs/gst/tmpl/gstpadtemplate.sgml:
10389         * docs/gst/tmpl/gstparse.sgml:
10390         * docs/gst/tmpl/gstpipeline.sgml:
10391         * docs/gst/tmpl/gstplugin.sgml:
10392         * docs/gst/tmpl/gstpluginfeature.sgml:
10393         * docs/gst/tmpl/gstquery.sgml:
10394         * docs/gst/tmpl/gstqueue.sgml:
10395         * docs/gst/tmpl/gstregistry.sgml:
10396         * docs/gst/tmpl/gstregistrypool.sgml:
10397         * docs/gst/tmpl/gstscheduler.sgml:
10398         * docs/gst/tmpl/gstschedulerfactory.sgml:
10399         * docs/gst/tmpl/gststructure.sgml:
10400         * docs/gst/tmpl/gstsystemclock.sgml:
10401         * docs/gst/tmpl/gsttaglist.sgml:
10402         * docs/gst/tmpl/gsttagsetter.sgml:
10403         * docs/gst/tmpl/gsttrace.sgml:
10404         * docs/gst/tmpl/gsttrashstack.sgml:
10405         * docs/gst/tmpl/gsttypefind.sgml:
10406         * docs/gst/tmpl/gsttypefindfactory.sgml:
10407         * docs/gst/tmpl/gsttypes.sgml:
10408         * docs/gst/tmpl/gsturihandler.sgml:
10409         * docs/gst/tmpl/gsturitype.sgml:
10410         * docs/gst/tmpl/gstutils.sgml:
10411         * docs/gst/tmpl/gstvalue.sgml:
10412         * docs/gst/tmpl/gstversion.sgml:
10413         * docs/gst/tmpl/gstxml.sgml:
10414         * docs/libs/tmpl/gstcontrol.sgml:
10415         * docs/libs/tmpl/gstdataprotocol.sgml:
10416         * docs/libs/tmpl/gstdparam.sgml:
10417         * docs/libs/tmpl/gstdplinint.sgml:
10418         * docs/libs/tmpl/gstdpman.sgml:
10419         * docs/libs/tmpl/gstdpsmooth.sgml:
10420         * docs/libs/tmpl/gstgetbits.sgml:
10421         * docs/libs/tmpl/gstunitconvert.sgml:
10422         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10423         (gst_push_src_base_init), (gst_push_src_class_init),
10424         (gst_push_src_init), (gst_push_src_create):
10425         * gst/base/gstpushsrc.h:
10426         * gst/elements/gstelements.c:
10427         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10428         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10429         (gst_fake_sink_init), (gst_fake_sink_set_property),
10430         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10431         (gst_fake_sink_event), (gst_fake_sink_preroll),
10432         (gst_fake_sink_render), (gst_fake_sink_change_state):
10433         * gst/elements/gstfakesink.h:
10434         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10435         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10436         (gst_fake_src_base_init), (gst_fake_src_class_init),
10437         (gst_fake_src_init), (gst_fake_src_event_handler),
10438         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10439         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10440         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10441         (gst_fake_src_create_buffer), (gst_fake_src_create),
10442         (gst_fake_src_start), (gst_fake_src_stop):
10443         * gst/elements/gstfakesrc.h:
10444         * gst/elements/gstfilesink.c: (_do_init),
10445         (gst_file_sink_base_init), (gst_file_sink_class_init),
10446         (gst_file_sink_init), (gst_file_sink_dispose),
10447         (gst_file_sink_set_location), (gst_file_sink_set_property),
10448         (gst_file_sink_get_property), (gst_file_sink_open_file),
10449         (gst_file_sink_close_file), (gst_file_sink_query),
10450         (gst_file_sink_event), (gst_file_sink_render),
10451         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10452         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10453         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10454         * gst/elements/gstfilesink.h:
10455         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10456         (gst_file_src_class_init), (gst_file_src_init),
10457         (gst_file_src_finalize), (gst_file_src_set_location),
10458         (gst_file_src_set_property), (gst_file_src_get_property),
10459         (gst_file_src_map_region), (gst_file_src_map_small_region),
10460         (gst_file_src_create_mmap), (gst_file_src_create_read),
10461         (gst_file_src_create), (gst_file_src_is_seekable),
10462         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10463         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10464         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10465         (gst_file_src_uri_handler_init):
10466         * gst/elements/gstfilesrc.h:
10467           more autistic cleanliness in functions/names/defines
10468
10469 2005-07-13  Andy Wingo  <wingo@pobox.com>
10470
10471         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10472         source couldn't negotiate.
10473
10474         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10475         connections again.
10476
10477         * gst/gstutils.h:
10478         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10479         function. I am channeling Hades. Put your boots on suckers!!!
10480
10481 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10482
10483         * testsuite/caps/Makefile.am:
10484         * testsuite/caps/value_compare.c:
10485         * testsuite/caps/value_intersect.c:
10486         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10487           move two testsuite apps over to the check dir
10488
10489 2005-07-12  Wim Taymans  <wim@fluendo.com>
10490
10491         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10492         Added more debug info in the negotiate process.
10493
10494         * gst/gstmessage.h:
10495         Prepare for segment playback.
10496
10497         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10498         Better debugging.
10499
10500         * gst/gstutils.c:
10501         Some more docs.
10502
10503         * tools/gst-launch.c: (main):
10504         NULL pipeline on errors.
10505
10506 2005-07-12  Andy Wingo  <wingo@pobox.com>
10507
10508         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10509         not it comes from a malloc region. Make sure our copy gets freed.
10510
10511 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10514         * check/gst/gstmessage.c: (GST_START_TEST):
10515         * check/gst/gststructure.c: (GST_START_TEST),
10516         (gst_structure_suite), (main):
10517           more testing
10518         * gst/gstelement.c: (gst_element_message_full):
10519           clean up GError and debug string now that they get copied
10520         * gst/gstmessage.c: (gst_message_new_error),
10521         (gst_message_new_warning), (gst_message_parse_error),
10522         (gst_message_parse_warning):
10523           use GST_TYPE_G_ERROR for structure_new, and take copies of
10524           arguments, so that we don't mess up refcounting
10525
10526 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10527
10528         * check/Makefile.am:
10529           add per-test valgrind targets
10530         * check/gst-libs/gdp.c: (GST_START_TEST),
10531         (gst_data_protocol_suite), (main):
10532           clean up
10533
10534 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10535
10536         * check/Makefile.am:
10537           instate more valgrindable tests
10538         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10539         (GST_START_TEST), (fakesrc_suite):
10540         * check/gst/gstpad.c: (GST_START_TEST):
10541         * check/gst/gststructure.c: (GST_START_TEST):
10542           fix test leaks
10543         * docs/gst/tmpl/gstminiobject.sgml:
10544         * gst/gstpad.c: (gst_pad_finalize):
10545           fix the static mutex leak
10546
10547 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10548
10549         * check/Makefile.am:
10550           add two more tests for valgrinding
10551         * check/gst/gstvalue.c: (GST_START_TEST):
10552           test refcount of deserialized buffer, found a leak
10553         * docs/gst/gstreamer-docs.sgml:
10554         * docs/gst/gstreamer-sections.txt:
10555         * docs/gst/gstreamer.types:
10556         * docs/gst/tmpl/gstminiobject.sgml:
10557           add miniobject to docs
10558         * gst/gstminiobject.c:
10559           add some docs
10560         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10561         (gst_string_unwrap):
10562           fix a hard-to-find invalid write for one of the tests
10563           fix a leak for deserialized buffers
10564
10565 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10566
10567         * docs/pwg/advanced-events.xml:
10568         * docs/pwg/advanced-request.xml:
10569         * docs/pwg/advanced-scheduling.xml:
10570         * docs/pwg/appendix-porting.xml:
10571         * docs/pwg/building-boiler.xml:
10572         * docs/pwg/intro-preface.xml:
10573         * docs/pwg/other-ntoone.xml:
10574           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10575           of example code and explanation for pad activation, loop() and
10576           getrange() functions and a bit more. Remove old comments pointing
10577           to loop-functions.
10578         * examples/pwg/Makefile.am:
10579           Add loop/getrange examples.
10580
10581 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10582
10583         * configure.ac:
10584           check for valgrind binary + some fixes
10585         * check/gst.supp:
10586           valgrind suppressions for the tests
10587         * check/Makefile.am:
10588           add a valgrind: target that valgrinds the unit tests
10589         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10590         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10591         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10592         * check/gst/gstghostpad.c:
10593           added some cleanup
10594         * check/gst/gstdata.c:
10595           removed
10596         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10597         (thread_unref), (gst_mini_object_suite), (main):
10598           added
10599         * gst/gst.c: (gst_deinit):
10600         * gst/gst.h:
10601           add a method to clean up.
10602         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10603         (gst_system_clock_obtain):
10604           allow for disposing the system clock.
10605         * tools/gst-launch.c: (main):
10606           deinit
10607
10608 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * docs/gst/tmpl/gstbasesrc.sgml:
10611         * docs/gst/tmpl/gstfakesrc.sgml:
10612         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10613         (gst_base_src_init), (gst_base_src_set_property),
10614         (gst_base_src_get_property), (gst_base_src_get_range),
10615         (gst_base_src_start):
10616         * gst/base/gstbasesrc.h:
10617           add num-buffers property
10618         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10619         (gst_fakesrc_init), (gst_fakesrc_set_property),
10620         (gst_fakesrc_get_property), (gst_fakesrc_create),
10621         (gst_fakesrc_start):
10622           remove num-buffers property
10623
10624 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * docs/gst/gstreamer-sections.txt:
10627         * docs/gst/tmpl/gstbasesink.sgml:
10628         * docs/gst/tmpl/gstbasesrc.sgml:
10629         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10630         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10631         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10632         (gst_base_sink_set_property), (gst_base_sink_get_property),
10633         (gst_base_sink_handle_object), (gst_base_sink_event),
10634         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10635         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10636         (gst_base_sink_loop), (gst_base_sink_deactivate),
10637         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10638         (gst_base_sink_change_state):
10639         * gst/base/gstbasesink.h:
10640         * gst/base/gstbasesrc.h:
10641         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10642         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10643         (gst_filesink_init):
10644           more macro splitting
10645
10646 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10647
10648         * gst/gstelement.c: (gst_element_get_bus):
10649           add debug
10650         * tools/gst-launch.c: (check_intr), (event_loop):
10651           fix bus leaks
10652
10653 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10654
10655         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10656           fix a caps leak
10657
10658 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10659
10660         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10661         (gst_base_src_finalize):
10662           add finalize method and clean up properly
10663         * gst/gstpipeline.c: (gst_pipeline_dispose):
10664           add debug
10665
10666 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10669         (gst_bin_suite):
10670           add more things to check
10671         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10672         * gst/gstelement.c:
10673           more debug
10674
10675 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10676
10677         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10678         (GST_START_TEST), (fakesrc_suite):
10679         * check/gst-libs/gdp.c: (GST_START_TEST):
10680         * check/gst/gst.c: (GST_START_TEST):
10681         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10682         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10683         * check/gst/gstbus.c: (GST_START_TEST):
10684         * check/gst/gstcaps.c: (GST_START_TEST):
10685         * check/gst/gstdata.c: (GST_START_TEST):
10686         * check/gst/gstelement.c: (GST_START_TEST):
10687         * check/gst/gstghostpad.c: (GST_START_TEST):
10688         * check/gst/gstiterator.c: (GST_START_TEST):
10689         * check/gst/gstmessage.c: (GST_START_TEST):
10690         * check/gst/gstobject.c: (GST_START_TEST):
10691         * check/gst/gstpad.c: (GST_START_TEST):
10692         * check/gst/gststructure.c: (GST_START_TEST):
10693         * check/gst/gstsystemclock.c: (GST_START_TEST),
10694         (gst_systemclock_suite):
10695         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10696         * check/gst/gstvalue.c: (GST_START_TEST):
10697         * check/pipelines/cleanup.c: (GST_START_TEST):
10698         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10699         * check/states/sinks.c: (GST_START_TEST):
10700         * check/gstcheck.c: (gst_check_init):
10701         * check/gstcheck.h:
10702           add debugging category
10703           use GST_START_TEST now, so we add a debug line
10704
10705 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10706
10707         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10708           add test for state change message on a bin
10709         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10710           add another test
10711         * gst/gstbin.c: (gst_bin_init):
10712         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10713         * gst/gstelement.c: (gst_element_post_message),
10714         (gst_element_set_state):
10715         * gst/gstelementfactory.c: (gst_element_factory_create):
10716         * gst/gstmessage.c: (gst_message_new):
10717         * gst/gstscheduler.c:
10718           various debugging additions and cleanups
10719
10720 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10721
10722         * check/Makefile.am:
10723         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10724         (main):
10725           adding tests for elements
10726         * gst/gstelement.c: (gst_element_dispose):
10727
10728 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10729
10730         * gst/registries/gstlibxmlregistry.c: (load_feature):
10731           plug more leaks.  A simple gst_init() now is leakfree, yay.
10732
10733 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10736         (gst_xml_registry_load):
10737           plug another memleak
10738
10739 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10740
10741         * configure.ac:
10742           use GST_SET_ERROR_CFLAGS
10743         * docs/faq/cvs.xml:
10744           change to ERROR_CFLAGS
10745
10746 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * configure.ac:
10749           make GST_ERROR_CFLAGS overridable and re-enable Werror
10750         * docs/faq/cvs.xml:
10751           add a note about error CFLAGS
10752         * docs/gst/tmpl/gstfakesrc.sgml:
10753         * gst/elements/gstfakesrc.c:
10754           comment out some unused code
10755         * gst/gst.c: (split_and_iterate):
10756         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10757         (load_feature):
10758           plug some memleaks
10759
10760 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * common/Makefile.am:
10763         * common/gtk-doc.mak:
10764         * docs/gst/Makefile.am:
10765           factor out gtk-doc.mak
10766
10767 2005-07-07  Wim Taymans  <wim@fluendo.com>
10768
10769         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10770         (gst_thread_scheduler_dispose):
10771         Unlock the STREAM_LOCK completely.
10772
10773 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * check/Makefile.am:
10776         * check/elements/.cvsignore:
10777         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10778         (START_TEST), (fakesrc_suite), (main):
10779         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10780         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10781         (gst_fakesrc_create), (gst_fakesrc_start):
10782         * gst/elements/gstfakesrc.h:
10783           adding a first element test
10784
10785 2005-07-07  Andy Wingo  <wingo@pobox.com>
10786
10787         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10788         debug message.
10789
10790 2005-07-07  Wim Taymans  <wim@fluendo.com>
10791
10792         * gst/gstquery.c:
10793         * gst/gstquery.h:
10794         Remove old types
10795
10796 2005-07-07  Wim Taymans  <wim@fluendo.com>
10797
10798         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10799         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10800         Allow subclasses to implement their own negotiation.
10801
10802 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10803
10804         * docs/design/part-gstbin.txt:
10805         * docs/design/part-gstpipeline.txt:
10806           Update design notes to reflect the movement of
10807           responsibility for bus handling from GstPipeline to
10808           GstBin
10809
10810 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10811
10812         * configure.ac:
10813           Remove unnecessary queue2/3/4 examples.
10814
10815 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10816
10817         * examples/Makefile.am:
10818         * examples/helloworld/helloworld.c: (event_loop), (main):
10819         * examples/queue/queue.c: (event_loop), (main):
10820         * examples/queue2/queue2.c: (main):
10821           Update a couple of the examples to work again.
10822
10823         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10824         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10825          Spelling corrections and extra debug.
10826         
10827         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10828         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10829         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10830         * gst/gstbin.h:
10831         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10832         (gst_pipeline_change_state):
10833         * gst/gstpipeline.h:
10834           Move the bus handler for children to the GstBin, and create a
10835           separate bus for receiving messages from children to the one the
10836           bus sends 'upwards' on.
10837
10838 2005-07-06  Wim Taymans  <wim@fluendo.com>
10839
10840         * gst/base/README:
10841         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10842         (gst_base_sink_handle_object), (gst_base_sink_loop),
10843         (gst_base_sink_change_state):
10844         * gst/base/gstbasesink.h:
10845         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10846         (gst_base_src_init), (gst_base_src_setcaps),
10847         (gst_base_src_getcaps), (gst_base_src_loop),
10848         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10849         (gst_base_src_start), (gst_base_src_change_state):
10850         * gst/base/gstbasesrc.h:
10851         Make basesrc negotiate.
10852         Handle the case where preroll fails in basesink.
10853         Update README.
10854
10855 2005-07-06  Wim Taymans  <wim@fluendo.com>
10856
10857         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10858         Implement the fixate function.
10859         Clean up acceptcaps.
10860
10861 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10862
10863         * docs/pwg/building-filterfactory.xml:
10864         * docs/pwg/pwg.xml:
10865           Remove never-written filter-factory chapter; I'll add the various
10866           base classes to part 4 ("other element types") later on.
10867
10868 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10869
10870         * docs/pwg/advanced-negotiation.xml:
10871         * docs/pwg/building-boiler.xml:
10872         * docs/pwg/building-pads.xml:
10873         * docs/pwg/pwg.xml:
10874         * examples/pwg/Makefile.am:
10875           Add a chapter on caps negotiation, simplify the original code
10876           samples a bit w.r.t. caps negotiation, add link to the advanced
10877           section. Add a bunch of examples showing different use cases of
10878           different types of caps negotiation. Upstream renegotiation isn't
10879           fully documented yet since nobody knows how that works.
10880
10881 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * check/gst/gstpad.c:
10884         * check/gstcheck.c:
10885         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10886           if pad has no parent, return NULL as list of internal links
10887
10888 2005-07-05  Andy Wingo  <wingo@pobox.com>
10889
10890         * gst/elements/gstfilesrc.c:
10891         * gst/elements/gstfakesrc.c: 
10892         * gst/base/gstpushsrc.c:
10893         * gst/base/gstbasesrc.h: 
10894         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10895         
10896 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10897
10898         * Makefile.am:
10899           better report generation target (lcov needs a patch)
10900
10901 2005-07-05  Andy Wingo  <wingo@pobox.com>
10902
10903         * gst/elements, testsuite: Null if we got it...
10904
10905 2005-07-05  Wim Taymans  <wim@fluendo.com>
10906
10907         * configure.ac:
10908         * libs/gst/dataprotocol/Makefile.am:
10909         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10910         * libs/gst/dataprotocol/dataprotocol.h:
10911         * pkgconfig/Makefile.am:
10912         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10913         * pkgconfig/gstreamer-dataprotocol.pc.in:
10914         Ported dataprotol to 0.9. 
10915         Added pkgconfig files.
10916
10917 2005-07-05  Andy Wingo  <wingo@pobox.com>
10918
10919         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10920         Default to returning TRUE for the case when tranform_caps returns
10921         a fixed caps, like for identity or volume.
10922
10923         * check/gst/gstbus.c (pound_bus_with_messages): 
10924         * check/gst/gstmessage.c (START_TEST): 
10925         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10926         message API change.
10927
10928         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10929         logic weaks here: always run transform_caps, trying passthrough
10930         operation only if the original caps intersects with the transform.
10931
10932         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10933         source and sink caps.
10934
10935         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10936         Intersect the peer caps with the pad template before going into
10937         transform_caps.
10938         (gst_base_transform_transform_caps): More debugging.
10939
10940         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10941         src argument.
10942
10943 2005-07-04  Edward Hervey  <edward@fluendo.com>
10944
10945         * gst/gstutils.c:
10946         * gst/gstutils.h:
10947         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10948         in bindings.
10949
10950 2005-07-04  Andy Wingo  <wingo@pobox.com>
10951
10952         * check/gst/gstpad.c: Only set explicit caps on pads.
10953
10954 2005-07-01  Andy Wingo  <wingo@pobox.com>
10955
10956         * tests/network-clock.scm: Commentary update.
10957
10958         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10959         Didn't really make sense, not implementable with basetransform,
10960         etc.
10961         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10962         attempt at implementing the sync property, needs an unlock method.
10963
10964         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10965         New func, by default returns the same caps (the identity
10966         transformation).
10967         (gst_base_transform_getcaps): Uses transform_caps to return
10968         something sensible.
10969         (gst_base_transform_setcaps): Complicated logic to get caps on
10970         both pads, even if they are different, and to call set_caps once
10971         for every time both pads get their caps set.
10972         (gst_base_transform_handle_buffer): Give the ref to the transform
10973         function. Allows in-place modification of the buffer.
10974
10975         * gst/base/gstbasetransform.h (transform_caps): New class method.
10976         Given caps on one side, what can I do on the other.
10977         (set_caps): Take two caps, one for each side of the element.
10978
10979         * gst/gstpad.h:
10980         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10981         caps in place. This is safe because we can check the mutability of
10982         the caps, and a good idea because fixate functions are just called
10983         as a matter of last resort. (Not actually implemented.)
10984         (gst_pad_set_caps): If the caps we're setting is actually the same
10985         as the existing pad caps, just update the pointer without calling
10986         setcaps. Assert that caps is either NULL or fixed, as per the
10987         docs.
10988
10989         * gst/gstghostpad.c: Update for fixate changes.
10990
10991 2005-07-02  Andy Wingo  <wingo@pobox.com>
10992
10993         * gst/gstcaps.c:
10994         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10995         two refcounts makes it immutable, which is enough. Doc more.
10996
10997 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10998
10999         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11000           Put the mini_object into GValue as a mini_object,
11001           not a gpointer, since that's how we declared
11002           the signal.
11003
11004 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11005
11006         * examples/pwg/Makefile.am:
11007           Fix buildbot again.
11008
11009 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11010
11011         * docs/pwg/building-testapp.xml:
11012           Add extra check.
11013         * examples/pwg/Makefile.am:
11014           Fix buildbot.
11015
11016 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11017
11018         * configure.ac:
11019         * examples/Makefile.am:
11020         * examples/pwg/Makefile.am:
11021         * examples/pwg/extract.pl:
11022           Enable building the PWG examples.
11023         * docs/pwg/advanced-interfaces.xml:
11024           Add URI interface stub.
11025         * docs/pwg/advanced-types.xml:
11026         * docs/pwg/other-autoplugger.xml:
11027         * docs/pwg/appendix-porting.xml:
11028         * docs/pwg/pwg.xml:
11029           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11030         * docs/pwg/building-boiler.xml:
11031         * docs/pwg/building-chainfn.xml:
11032         * docs/pwg/building-pads.xml:
11033         * docs/pwg/building-props.xml:
11034         * docs/pwg/building-state.xml:
11035         * docs/pwg/building-testapp.xml:
11036           Update the building-*.xml parts for 0.9 changes. All examples
11037           code blocks compile in examples/pwg/*.
11038
11039 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11040
11041         * docs/manual/advanced-autoplugging.xml:
11042         * docs/manual/appendix-checklist.xml:
11043         * docs/manual/appendix-integration.xml:
11044         * docs/manual/highlevel-components.xml:
11045           Fix playbin/decodebin examples, update docs a bit, mention bus
11046           instead of signals in various places, mention kmplayer and
11047           kaffeine since they have a working GStreamer backend in the KDE
11048           section.
11049
11050 2005-06-30  Wim Taymans  <wim@fluendo.com>
11051
11052         * CHANGES-0.9:
11053         * docs/design/draft-ghostpads.txt:
11054         * docs/design/draft-push-pull.txt:
11055         * docs/design/draft-query.txt:
11056         * docs/design/part-TODO.txt:
11057         * docs/design/part-query.txt:
11058         Added CHANGES-0.9 doc, updated status of other docs.
11059         
11060         * gst/gstquery.h:
11061         Remove "hmm" macro
11062
11063 2005-06-30  Wim Taymans  <wim@fluendo.com>
11064
11065         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11066         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11067         (gst_base_sink_change_state):
11068         * gst/base/gstbasesink.h:
11069         Some tweaks, only EOS and a buffer complete a preroll.
11070
11071 2005-06-30  Andy Wingo  <wingo@pobox.com>
11072
11073         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11074         activate_push down to the internal pad as well.
11075
11076 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11077
11078         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11079
11080         * gst/gsttaginterface.c:
11081           Some documentation fixes (#307394 and #307397).
11082
11083 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11084
11085         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11086
11087         * gst/gstvalue.c: (gst_value_intersect_list):
11088           Fix memleak (#309125).
11089
11090 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11091
11092         * docs/manual/advanced-dataaccess.xml:
11093           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11094         * docs/manual/basics-pads.xml:
11095           Add reference for filtered caps to above chapter.
11096
11097 2005-06-30  Wim Taymans  <wim@fluendo.com>
11098
11099         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11100         (gst_bin_change_state):
11101         Probes are gone.
11102         Lame attempt at making the state change function a bit
11103         more readable.
11104
11105 2005-06-30  Wim Taymans  <wim@fluendo.com>
11106
11107         * docs/design/part-clocks.txt:
11108         * docs/design/part-element-sink.txt:
11109         * docs/design/part-events.txt:
11110         * docs/design/part-preroll.txt:
11111         * docs/design/part-states.txt:
11112         Some more tweeks and additions to the docs.
11113
11114 2005-06-30  Wim Taymans  <wim@fluendo.com>
11115
11116         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11117         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11118         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11119         (gst_pad_check_pull_range), (gst_pad_get_range),
11120         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11121         * gst/gstpad.h:
11122         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11123         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11124         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11125         (gst_pad_remove_buffer_probe):
11126         Removed atomic operations, use existing LOCK.
11127         Move exception handling out of main code path.
11128
11129 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11130
11131         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11132         (silly_return_true_function), (gst_pad_class_init),
11133         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11134         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11135         (gst_pad_send_event):
11136           Fix accumulator, add default value by using _emitv() instead
11137           of _emit() for signal emission.
11138
11139 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11140
11141         * docs/manual/advanced-dataaccess.xml:
11142         * examples/manual/Makefile.am:
11143           Add probe example.
11144         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11145           Make work (??).
11146
11147 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11148
11149         * gst/elements/gstfilesink.c: (gst_filesink_render):
11150           Simplify code so that we don't have to handle short
11151           writes and return GST_FLOW_ERROR if an error occured.
11152
11153 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11154
11155         * docs/gst/gstreamer-docs.sgml:
11156           Remove probes more.
11157
11158 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11159
11160         * docs/gst/gstreamer-sections.txt:
11161         * docs/gst/tmpl/gstpad.sgml:
11162         * docs/gst/tmpl/gstprobe.sgml:
11163         * gst/Makefile.am:
11164         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11165         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11166         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11167         (gst_pad_push_event), (gst_pad_send_event):
11168         * gst/gstpad.h:
11169         * gst/gstutils.c: (gst_pad_add_data_probe),
11170         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11171         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11172         (gst_pad_remove_buffer_probe):
11173         * gst/gstutils.h:
11174           Remove old probes, add new g-signal-based probes and some utility
11175           functions.
11176
11177 2005-06-29  Edward Hervey  <edward@fluendo.com>
11178
11179         * gst/gstelementfactory.c:
11180         * gst/gstutils.h:
11181         * gst/gstutils.c:
11182         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11183         the definition to the header file.
11184
11185 2005-06-29  Andy Wingo  <wingo@pobox.com>
11186
11187         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11188         plugins from the source directory.
11189
11190 2005-06-29  Wim Taymans  <wim@fluendo.com>
11191
11192         * docs/gst/tmpl/gstbuffer.sgml:
11193         * docs/gst/tmpl/gstclock.sgml:
11194         Some fixings for blantently wrong text.
11195
11196 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11197
11198         * check/Makefile.am:
11199         * gst/gst.c: (add_path_func), (init_pre):
11200         * gst/gstregistry.c: (gst_registry_add_path):
11201           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11202           only scan the GST_PLUGIN_PATH locations, and not add
11203           system locations
11204
11205 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11206
11207         * docs/gst/gstreamer-sections.txt:
11208         * docs/gst/tmpl/gstbasesrc.sgml:
11209         * gst/gstelement.c:
11210         * gst/gstelement.h:
11211         * gst/gstevent.c:
11212         * gst/gstutils.c:
11213           doc fixes
11214
11215 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11216
11217         * docs/manual/advanced-autoplugging.xml:
11218           Fix autoplugging example.
11219
11220 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11221
11222         * docs/manual/advanced-autoplugging.xml:
11223         * docs/manual/mime-world.fig:
11224           Try to get autoplugging working, fix type detection. Fix text
11225           in hello-world image.
11226
11227 2005-06-29  Wim Taymans  <wim@fluendo.com>
11228
11229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11230         (gst_base_sink_change_state):
11231         Small debug line.
11232
11233         * gst/gstclock.h:
11234         map SIGNAL and BROADCAST to the right function.
11235
11236         * gst/gstobject.h:
11237         Remove redundant braces.
11238
11239         * gst/gstpad.c: (gst_pad_set_caps):
11240         Don't call setcaps function when reseting caps to NULL.
11241
11242         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11243         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11244         (gst_system_clock_id_unschedule):
11245         Use BROADCAST as this is what we do.
11246
11247 2005-06-29  Wim Taymans  <wim@fluendo.com>
11248
11249         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11250         We are actually prerolling before commiting the state
11251         change. 
11252
11253 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11254
11255         * docs/manual/advanced-clocks.xml:
11256         * docs/manual/advanced-interfaces.xml:
11257         * docs/manual/advanced-metadata.xml:
11258         * docs/manual/advanced-position.xml:
11259         * docs/manual/advanced-schedulers.xml:
11260         * docs/manual/advanced-threads.xml:
11261         * docs/manual/appendix-porting.xml:
11262         * docs/manual/basics-bins.xml:
11263         * docs/manual/basics-bus.xml:
11264         * docs/manual/basics-elements.xml:
11265         * docs/manual/basics-helloworld.xml:
11266         * docs/manual/basics-pads.xml:
11267         * docs/manual/highlevel-components.xml:
11268         * docs/manual/manual.xml:
11269         * docs/manual/thread.fig:
11270           Update (until threads/scheduling) Application Development Manual;
11271           remove GstThread, add GstBus, add simple porting checklist, add
11272           documentation for tag writing, clocks, make all examples until this
11273           part compile and run.
11274         * examples/manual/Makefile.am:
11275           Update from changes to Application Development Manual; add bus
11276           example, remove thread example.
11277
11278 2005-06-28  Wim Taymans  <wim@fluendo.com>
11279
11280         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11281         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11282         (gst_bus_source_dispatch):
11283         Add debugging messages.
11284         Make internal methods static.
11285         Handle the case where the bus is flushed in the handler.
11286         
11287         * gst/gstelement.c: (gst_element_get_bus):
11288         Fix refcount in _get_bus();
11289
11290         * gst/gstpipeline.c: (gst_pipeline_change_state),
11291         (gst_pipeline_get_clock_func):
11292         Clock refcounting fixes.
11293         Handle the case where preroll timed out more gracefully.
11294         
11295         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11296         Clean up the internal thread in dispose. This is needed
11297         for subclasses that actually get disposed.
11298         
11299         * gst/schedulers/threadscheduler.c:
11300         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11301         (gst_thread_scheduler_dispose):
11302         Free thread pool in dispose.
11303
11304 2005-06-28  Andy Wingo  <wingo@pobox.com>
11305
11306         * tests/network-clock-utils.scm (debug, print-event): New utils.
11307
11308         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11309         (*packet-loss*): Unified loss probability.
11310         (network-time): Report out-of-band events.
11311
11312         * tests/plot-data: Add support for out-of-band events. Hack it
11313         into this script instead of passing it down the pipe; should fix
11314         this later.
11315
11316 2005-06-28  Wim Taymans  <wim@fluendo.com>
11317
11318         * docs/gst/gstreamer.types:
11319         * docs/gst/tmpl/gstbasesrc.sgml:
11320         * docs/gst/tmpl/gstpad.sgml:
11321         Docs fixes.
11322
11323 2005-06-28  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11326         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11327         (gst_proxy_pad_do_fixatecaps):
11328         Correctly proxy the check_pull_range function.
11329
11330 2005-06-28  Andy Wingo  <wingo@pobox.com>
11331
11332         * tests/network-clock.scm: Removed need for slib.
11333         
11334 2005-06-28  Wim Taymans  <wim@fluendo.com>
11335
11336         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11337         (gst_basesink_preroll_queue_flush):
11338         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11339         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11340         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11341         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11342         (gst_proxy_pad_set_property):
11343         * gst/gstpad.c:
11344         * gst/gstpad.h:
11345         * gst/gstqueue.c: (gst_queue_init):
11346         The deprecated pad loop function is removed now.
11347
11348 2005-06-28  Andy Wingo  <wingo@pobox.com>
11349
11350         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11351         New parameters, simulate network packet loss.
11352
11353         * tests/network-clock-utils.scm: Initialize the RNG.
11354
11355 2005-06-28  Wim Taymans  <wim@fluendo.com>
11356
11357         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11358         (gst_basesink_event), (gst_basesink_deactivate):
11359         Flushing the preroll queue always needs to unlock the waiters.
11360
11361 2005-06-28  Edward Hervey  <edward@fluendo.com>
11362
11363         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11364         Wheen a seek was successful on a pipeline, set the stream_time to the
11365         seek offset in order to have a synchronized stream_time.
11366
11367 2005-06-28  Wim Taymans  <wim@fluendo.com>
11368
11369         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11370         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11371         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11372         (gst_proxy_pad_do_fixatecaps):
11373         Call wrapper function instead of just calling the function
11374         pointers. This takes care of any locking and whatmore.
11375
11376 2005-06-28  Wim Taymans  <wim@fluendo.com>
11377
11378         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11379         (gst_pad_pull_range):
11380         * gst/gstpad.h:
11381         CONNECTED -> LINKED.
11382
11383 2005-06-28  Andy Wingo  <wingo@pobox.com>
11384
11385         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11386         source-munging commit!!!
11387
11388         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11389         (gst_object_sink): Take gpointer arguments, not GstObject --
11390         avoids casts. Like GLib.
11391
11392         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11393         activate.
11394
11395 2005-06-27  Andy Wingo  <wingo@pobox.com>
11396
11397         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11398         remaining buffer.
11399
11400         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11401         returns a sorted copy of the trace list.
11402         (gst_alloc_trace_print_live): New API, only prints traces with
11403         live objects. Sort the list.
11404         (gst_alloc_trace_print_all): Sort the list.
11405         (gst_alloc_trace_print): Align columns.
11406
11407         * gst/elements/gstttypefindelement.c:
11408         * gst/elements/gsttee.c:
11409         * gst/base/gstbasesrc.c:
11410         * gst/base/gstbasesink.c:
11411         * gst/base/gstbasetransform.c:
11412         * gst/gstqueue.c: Adapt for pad activation changes.
11413
11414         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11415         sched.
11416         (gst_pipeline_dispose): Drop ref on sched.
11417
11418         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11419         (gst_pad_activate_default): Push mode by default.
11420         (pre_activate_switch, post_activate_switch): New stubs, things to
11421         do before and after switching activation modes on pads.
11422         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11423         the pad's activate function to choose which mode to activate.
11424         Shortcut on deactivation and call the right function directly.
11425         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11426         mode.
11427         (gst_pad_activate_push): New API, same for push mode.
11428         (gst_pad_set_activate_function) 
11429         (gst_pad_set_activatepull_function) 
11430         (gst_pad_set_activatepush_function): Setters for new API.
11431
11432         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11433         Trace all miniobjects.
11434         (gst_mini_object_make_writable): Unref the arg if we copy, like
11435         gst_caps_make_writable.
11436
11437         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11438
11439         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11440         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11441         Adapt for new pad API.
11442
11443         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11444
11445         * gst/gstelement.h:
11446         * gst/gstelement.c (gst_element_iterate_src_pads) 
11447         (gst_element_iterate_sink_pads): New API functions.
11448         
11449         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11450         should fold into gstiterator.c in some form.
11451         (gst_element_pads_activate): Simplified via use of fold and
11452         delegation of decisions to gstpad->activate.
11453
11454         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11455         help in debugging.
11456
11457         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11458         class once in init, like gstmessage. Didn't run into this issue
11459         but it seems correct. Don't initialize a trace, gstminiobject does
11460         that.
11461
11462         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11463         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11464         to the bus.
11465         (assert_live_count): New util function, uses alloc traces to check
11466         cleanup.
11467
11468         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11469         To be modified when unlink drops the internal pad.
11470
11471 2005-06-27  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11474         (gst_bin_change_state):
11475         Cleanup the get_state() function a little, make sure it
11476         iterates the same set of elements.
11477         Added stub iterate_state_order().
11478
11479 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         * docs/gst/gstreamer-docs.sgml:
11482         * docs/gst/gstreamer-sections.txt:
11483         * docs/gst/gstreamer.types:
11484         * docs/gst/tmpl/gstbasesink.sgml:
11485         * docs/gst/tmpl/gstbasesrc.sgml:
11486         * docs/gst/tmpl/gstbasetransform.sgml:
11487         * docs/gst/tmpl/gstelement.sgml:
11488         * docs/gst/tmpl/gstiterator.sgml:
11489         * gst/base/gstbasesrc.c:
11490         * gst/base/gstbasesrc.h:
11491         * gst/base/gstbasetransform.h:
11492         * gst/gstelement.c:
11493         * gst/gstiterator.h:
11494           adding basetransform and iterator docs
11495
11496 2005-06-27  Andy Wingo  <wingo@pobox.com>
11497
11498         * docs/design/part-activation.txt: Notes on how activation should
11499         work -- not quite implemented yet.
11500
11501 2005-06-25  Wim Taymans  <wim@fluendo.com>
11502
11503         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11504         At least get the chain function correct, needs more
11505         fixing.
11506
11507 2005-06-25  Wim Taymans  <wim@fluendo.com>
11508
11509         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11510         (gst_basesink_handle_object), (gst_basesink_event),
11511         (gst_basesink_do_sync), (gst_basesink_handle_event),
11512         (gst_basesink_change_state):
11513         * gst/gsttask.h:
11514         Right, two problems here: ghostpads don't take locks and
11515         glib _rec_mutex_lock_full() with depth==0 still locks.
11516         Catch illegal locking and g_warn them.
11517
11518 2005-06-25  Wim Taymans  <wim@fluendo.com>
11519
11520         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11521         Have to check for completion now...
11522
11523 2005-06-25  Wim Taymans  <wim@fluendo.com>
11524
11525         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11526         (gst_basesink_handle_object), (gst_basesink_event),
11527         (gst_basesink_do_sync), (gst_basesink_handle_event),
11528         (gst_basesink_change_state):
11529         * gst/gstpad.h:
11530         Unlock STREAM_LOCK whatever the recursion was.
11531
11532 2005-06-25  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11535         (gst_basesink_preroll_queue_empty),
11536         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11537         (gst_basesink_event), (gst_basesink_do_sync),
11538         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11539         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11540         (gst_basesink_change_state):
11541         Reworked the base sink, handle event and buffer serialisation
11542         correctly and removed possible deadlock.
11543         Handle EOS correctly.
11544
11545 2005-06-25  Wim Taymans  <wim@fluendo.com>
11546
11547         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11548         (gst_pipeline_change_state):
11549         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11550         Allow elements to post EOS in the state change function.
11551         Fix up -launch, make it exit the poll loop when the
11552         pipeline actually changed state.
11553         Fix up warning parsing in -launch.
11554
11555 2005-06-25  Wim Taymans  <wim@fluendo.com>
11556
11557         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11558         (gst_tee_sink_activate):
11559         Core takes STREAM_LOCK for us now.
11560
11561 2005-06-25  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/gstelement.c: (gst_element_get_state_func),
11564         (gst_element_set_state):
11565         * gst/gstelement.h:
11566         * gst/gstmessage.c: (gst_message_parse_error),
11567         (gst_message_parse_warning):
11568         Keep track of current target state while performing a state
11569         change so that subclasses can do something interesting.
11570         Fix parsing of warning/error messages when GError is NULL.
11571
11572 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11573
11574         * docs/gst/Makefile.am:
11575         * docs/gst/gstreamer-docs.sgml:
11576         * docs/gst/gstreamer-sections.txt:
11577         * docs/gst/gstreamer.types:
11578         * docs/gst/tmpl/gstbasesink.sgml:
11579         * docs/gst/tmpl/gstbasesrc.sgml:
11580         * docs/gst/tmpl/gstbin.sgml:
11581         * docs/gst/tmpl/gstcompat.sgml:
11582         * docs/gst/tmpl/gstfakesink.sgml:
11583         * docs/gst/tmpl/gstfakesrc.sgml:
11584         * docs/gst/tmpl/gstfilesink.sgml:
11585         * docs/gst/tmpl/gstfilesrc.sgml:
11586         * docs/gst/tmpl/gstindex.sgml:
11587         * docs/manual/appendix-quotes.xml:
11588         * gst/base/gstbasesrc.h:
11589         * gst/elements/gstfakesrc.h:
11590         * gst/gstmessage.h:
11591           start pulling in base classes and elements in our docs
11592
11593 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11594
11595         * docs/gst/Makefile.am:
11596         * docs/libs/Makefile.am:
11597           fixed make distcheck with gtk-doc 1.3
11598
11599 2005-06-23  Wim Taymans  <wim@fluendo.com>
11600
11601         * gst/gstelement.c: (gst_element_get_state_func),
11602         (gst_element_set_state), (gst_element_change_state):
11603         When the state did not change, also report NO_PREROLL
11604         when it matters.
11605
11606 2005-06-23  Wim Taymans  <wim@fluendo.com>
11607
11608         * gst/gstpad.c: (gst_pad_event_default):
11609         * gst/gstqueue.c: (gst_queue_loop):
11610         No unsafe task pausing please.
11611
11612 2005-06-23  Wim Taymans  <wim@fluendo.com>
11613
11614         * gst/schedulers/threadscheduler.c:
11615         (gst_thread_scheduler_task_start),
11616         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11617         Ref the task before pushing it on the threadpool. This
11618         makes sure that we have a ref when the threadfunction is
11619         actually called.
11620
11621 2005-06-23  Andy Wingo  <wingo@pobox.com>
11622
11623         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11624         offset is greater than the file's size.
11625
11626         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11627         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11628         * gst/gstobject.c (gst_object_class_init): Make the class lock
11629         recursive. Wim won't let me drop deep_notify. Decodebin works
11630         again, whoopdy doo.
11631
11632         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11633         internal pad, and hacks accordingly. Doesn't do it on the target
11634         pad because we change its caps. Probably catches all cases of
11635         interest tho.
11636         (gst_ghost_pad_set_property): Connect to notify::caps as
11637         appropritate.
11638
11639         * tests/network-clock.scm (plot-simulation): Pipe data to the
11640         elite python skript.
11641
11642         * tests/network-clock-utils.scm (define-parameter): New macro,
11643         defines a parameter that can be set via the command line.
11644         (set-parameter!, parse-parameter-arguments): Command line args
11645         parser.
11646
11647         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11648         stdin.
11649
11650 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11651
11652         * gst/elements/gsttypefindelement.c:
11653         (gst_type_find_element_handle_event):
11654           Don't restart typefinding on a discont.
11655         * gst/gstelement.c: (gst_element_set_state):
11656           Debug spelling fix.
11657         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11658           Allow changing mode of an active pad.
11659           Debug output fixes.
11660         * gst/registries/gstlibxmlregistry.c: (load_feature):
11661           Don't cast a static pad template to a normal pad template.
11662
11663 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11664
11665         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11666         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11667           remove gst_strtoll completely, since it didn't actually do
11668           anything more than what g_ascii_strtoull already does.
11669           check for range errors when deserializing
11670           do a cast for the unsigned cases; but further fixing needs
11671           a decision on what the interpretation of "(int)" and
11672           deserialization should be for values that fall outside the
11673           type's boundaries (ie, refuse, or interpret as casting)
11674
11675 2005-06-23  Wim Taymans  <wim@fluendo.com>
11676
11677         * check/Makefile.am:
11678         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11679         * docs/design/part-live-source.txt:
11680         * docs/design/part-states.txt:
11681         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11682         (gst_basesrc_set_live), (gst_basesrc_is_live),
11683         (gst_basesrc_get_range), (gst_basesrc_activate),
11684         (gst_basesrc_change_state):
11685         * gst/base/gstbasesrc.h:
11686         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11687         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11688         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11689         * gst/gstelement.c: (gst_element_get_state_func),
11690         (gst_element_set_state):
11691         * gst/gstelement.h:
11692         * gst/gsttypes.h:
11693         * tools/gst-launch.c: (event_loop), (main):
11694         Added support for live sources and other elements that
11695         cannot do preroll.
11696         Updated design docs, added live-source design doc.
11697         Implemented live source functionality in basesrc
11698         Fix error condition in _bin_get_state()
11699         Implement live source handling in -launch.
11700         Added check for live sources.
11701         Fixed case in GstBin where elements were changed state
11702         multiple times.
11703
11704
11705 2005-06-23  Andy Wingo  <wingo@pobox.com>
11706
11707         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11708         borken refcounting.
11709
11710         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11711         gst_caps_replace takes care of this for us.
11712
11713         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11714         gst_pad_set_caps on the target, not just its setcaps() function.
11715
11716         * tests/network-clock.scm: 
11717         * tests/network-clock-utils.scm: A network clock simulator.
11718         Something of an algorithmic testbed before doing something in C.
11719
11720 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11721
11722         * check/Makefile.am:
11723         * check/gst/capslist.h:
11724           copy over from 0.8, and add two with bitmasks specified with
11725           (int) 0xFF...
11726         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11727           add test to parse everything from capslist.h
11728         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11729         (main):
11730           add test for structure deserialization
11731         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11732           add tests for deserialization of strings to int types
11733         * gst/gststructure.c: (gst_structure_nth_field_name):
11734         * gst/gststructure.h:
11735           add a way to get the name of a field referenced by index
11736         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11737           instead of checking if the resulting long long lies between
11738           min and max, we check if the long long would fit into
11739           a number of bytes for the final type.
11740           This fixes cases where a string represents 2^32 - 1, which
11741           when cast to int would be the (valid) -1, but is bigger than
11742           G_MAXINT
11743
11744 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11745
11746         * gst/parse/grammar.y:
11747           add a log line for type deserialization
11748
11749 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11750
11751         * check/gst/gstvalue.c: (START_TEST):
11752         * gst/gstvalue.c: (gst_value_deserialize):
11753           return long long, not int, so gint64 deserialization actually
11754           works.  Is there any flag that makes the compiler check this ?
11755           Fixes #308559
11756
11757 2005-06-22  Wim Taymans  <wim@fluendo.com>
11758
11759         * gst/gstbuffer.h:
11760         Added convenience macros for setting buffers in GValue.
11761
11762 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11763
11764         * check/gst/.cvsignore:
11765         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11766           add a test deserializing int64, and comment part out because
11767           it fails, yay !
11768
11769 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11770
11771         * check/Makefile.am:
11772         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11773         * testsuite/Makefile.am:
11774         * testsuite/caps/Makefile.am:
11775         * testsuite/caps/value_serialize.c:
11776         * testsuite/test_gst_init.c:
11777           move a value_serialize test over
11778
11779 2005-06-20  Wim Taymans  <wim@fluendo.com>
11780
11781         * gst/gstpad.c:
11782         Small doc updates.
11783         
11784         * gst/gstvalue.c: (gst_value_compare_buffer),
11785         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11786         (gst_value_compare_flags), (gst_value_serialize_flags),
11787         (gst_value_deserialize_flags), (_gst_value_initialize):
11788         Fix serialisation of buffers, they are not boxed types anymore
11789
11790 2005-06-20  Wim Taymans  <wim@fluendo.com>
11791
11792         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11793         Testcase to show error in buffer-on-caps serialisation.
11794
11795 2005-06-20  Andy Wingo  <wingo@pobox.com>
11796
11797         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11798         will be adding to later.
11799
11800         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11801         if its socks fill with rocks.
11802         (gst_system_clock_obtain): Set the name on object construction.
11803         Avoid double-checked locking.
11804
11805 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11806
11807         * gst/gsturi.c: (gst_element_make_from_uri):
11808           Fix potential endless loop.
11809
11810 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11811
11812         * check/Makefile.am:
11813           add gsttag
11814         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11815         (main):
11816           move over from testsuite dir and clean up
11817         * configure.ac:
11818         * gst/gsttag.c:
11819         * testsuite/Makefile.am:
11820         * testsuite/tags/.cvsignore:
11821         * testsuite/tags/Makefile.am:
11822         * testsuite/tags/merge.c:
11823           remove testsuite/tags
11824
11825 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11826
11827         * docs/gst/gstreamer-sections.txt:
11828         * docs/gst/tmpl/gstenumtypes.sgml:
11829         * win32/gstenumtypes.c:
11830           clean up documentation build a little
11831
11832 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * check/gstcheck.h:
11835           add macros for checking refcounts on objects and caps
11836         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11837           add some more unit tests
11838         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11839         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11840           fix leaked refcounts (I hope :)) so unittest works
11841         * gst/gstpad.h:
11842           whitespace removal
11843
11844 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11845
11846         * configure.ac: back to HEAD
11847
11848 === release 0.9.1 ===
11849
11850 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11851
11852         * NEWS:
11853         * RELEASE:
11854           updated
11855
11856 2005-06-17  Andy Wingo  <wingo@pobox.com>
11857
11858         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11859         assert; it's always possible that the pad gets deactivated in
11860         between the checks in gstpad.c and the implementation. Rely on
11861         finish_preroll() to return a FLUSHING or similar instead of on the
11862         assert.
11863         
11864         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11865         clock and post an EOS message if we come out of finish_preroll in
11866         the playing state.
11867
11868 2005-06-16  David Schleef  <ds@schleef.org>
11869
11870         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11871         (gst_capsfilter_set_property): Allow NULL as possible value
11872         for filter_caps property, indicating GST_CAPS_ANY.
11873
11874 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11875
11876         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11877           fix debug output
11878         * gst/schedulers/Makefile.am:
11879           use libgst prefix
11880         * gstreamer.spec.in:
11881           fix spec for it
11882
11883 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * gstreamer.spec.in:
11886           clean up
11887
11888 2005-06-08  Andy Wingo  <wingo@pobox.com>
11889
11890         * gst/gstutils.c: RPAD fixes all around.
11891         (gst_element_link_pads): Refcounting fixes.
11892
11893         * tools/gst-inspect.c:
11894         * tools/gst-xmlinspect.c:
11895         * parse/grammar.y:
11896         * gst/base/gsttypefindhelper.c:
11897         * gst/base/gstbasesink.c:
11898         * gst/gstqueue.c: RPAD fixes.
11899
11900         * gst/gstghostpad.h:
11901         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11902         pads. The tricky thing is they provide both source and sink
11903         interfaces, since they proxy the internal pad for the external
11904         pad, and vice versa. Implement with lower-level ProxyPad objects,
11905         with the interior proxy pad as a child of the exterior ghost pad.
11906         Should write a doc on this.
11907         
11908         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11909         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11910         gst_object API.
11911         
11912         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11913         pads are real pads. No ghost pads in this file. Not documenting
11914         the myriad s/RPAD/PAD/ and REALIZE fixes.
11915         (gst_pad_class_init): Add properties for "direction" and
11916         "template". Both are construct-only, so they can't change during
11917         the life of the pad. Fixes properly deriving from GstPad.
11918         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11919         derived objects, just set properties when creating the objects via
11920         g_object_new.
11921         (gst_pad_get_parent): Implement as a function, return NULL if the
11922         parent is not an element.
11923         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11924         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11925         
11926         * gst/gstobject.c (gst_object_class_init): Make name a construct
11927         property. Don't set it in the object init.
11928
11929         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11930         with UNKNOWN direction.
11931         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11932         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11933         (gst_element_remove_pad): Remove ghost-pad special cases.
11934         (gst_element_pads_activate): Remove rpad cruft.
11935
11936         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11937         catch the pad's-parent-not-an-element case.
11938
11939         * gst/gst.h: Include gstghostpad.h.
11940
11941         * gst/gst.c (init_post): No more real, ghost pads.
11942
11943         * gst/Makefile.am: Add gstghostpad.[ch].
11944
11945         * check/Makefile.am:
11946         * check/gst/gstbin.c:
11947         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11948         into a bin creates ghost pads, and that the refcounts are right.
11949         Partly moved from gstbin.c.
11950
11951 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11952
11953         * check/gst-libs/.cvsignore:
11954         * check/gst/.cvsignore:
11955         * check/pipelines/.cvsignore:
11956           ignore more
11957         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11958         (START_TEST), (cleanup_suite), (main):
11959           add some tests related to cleanup after running pipelines
11960
11961 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11962
11963         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11964           add a testsuite for GstBuffer
11965
11966 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11967
11968         * gst/gstminiobject.h:
11969           add defines for accessing the refcount
11970
11971 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11972
11973         * Makefile.am: added support for html unit test coverage reports
11974
11975 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11976
11977         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11978           Free existing caps if the capsfilter changes. Add a FIXME about
11979           setting those caps on the pads.
11980
11981         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11982           Before adding a ghost pad to a parent bin, check that there isn't
11983           already one for the element on the bin. Prevents infinite recursion
11984           when using decodebin in parse pipelines. Andy says he'll rewrite the
11985           way this works anyway, so ignore the hack.
11986
11987 2005-06-02  Andy Wingo  <wingo@pobox.com>
11988
11989         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11990         file size, pass it on to the type find helper.
11991
11992         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11993         segment_start and segment_end properly according to the seek
11994         method. Segment_end is still a bit flaky because offset can be
11995         negative for CUR and END cases, but it takes -1 as an "unset"
11996         value.
11997
11998 2005-06-02  Wim Taymans  <wim@fluendo.com>
11999
12000         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12001         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12002         (gst_basesink_activate):
12003         * gst/base/gstbasesink.h:
12004         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12005         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12006         (gst_pad_query), (gst_pad_start_task):
12007         * gst/gstpad.h:
12008         * gst/gstqueue.c: (gst_queue_bufferalloc),
12009         (gst_queue_handle_sink_event), (gst_queue_chain):
12010         Bufferalloc: return GstFlowReturn to more accuratly report
12011         why allocation failed.
12012
12013 2005-06-02  Wim Taymans  <wim@fluendo.com>
12014
12015         * gst/gstpipeline.c: (gst_pipeline_send_event):
12016         Take snapshot of state without blocking.
12017
12018 2005-06-02  Wim Taymans  <wim@fluendo.com>
12019
12020         * docs/design/part-TODO.txt:
12021         * docs/design/part-caps.txt:
12022         * docs/design/part-clocks.txt:
12023         * docs/design/part-negotiation.txt:
12024         * docs/design/part-preroll.txt:
12025         Small doc updates 
12026
12027 2005-05-30  Wim Taymans  <wim@fluendo.com>
12028
12029         * gst/elements/gstidentity.c: (gst_identity_event),
12030         (gst_identity_transform), (gst_identity_get_property):
12031         Protect last_message property as it is accessed from
12032         multiple threads.
12033
12034 2005-05-30  Wim Taymans  <wim@fluendo.com>
12035
12036         * gst/gstelement.c: (gst_element_init),
12037         (gst_element_pads_activate), (gst_element_change_state):
12038         Slicker pad activation code.
12039
12040 2005-05-30  Wim Taymans  <wim@fluendo.com>
12041
12042         * gst/Makefile.am:
12043         * gst/gstelement.h:
12044         * gst/gstelementfactory.h:
12045         * gst/gsttypes.h:
12046         Move elementfactory methods to separate .h file.
12047
12048 2005-05-30  Wim Taymans  <wim@fluendo.com>
12049
12050         * docs/design/part-overview.txt:
12051         * gst/gstsystemclock.h:
12052         Small typo fixes, doc updates.
12053
12054 2005-05-30  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12057         (init_popt_callback):
12058         Remove cpu-opt flag.
12059
12060 2005-05-30  Wim Taymans  <wim@fluendo.com>
12061
12062         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12063         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12064         * gst/gstbuffer.h:
12065         Avoid typechecking in places where not needed.
12066         Added accessor for malloc_data.
12067
12068 2005-05-30  Wim Taymans  <wim@fluendo.com>
12069
12070         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12071         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12072         (gst_pad_configure_sink), (gst_pad_configure_src),
12073         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12074         (gst_pad_start_task):
12075         Propagate errors from _set_caps() in configure_src/sink
12076         functions instead of returning TRUE.
12077         FLUSH events can travel up and downstream
12078
12079
12080 2005-05-30  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12083         (gst_basesink_activate):
12084         Handle EOS in preroll.
12085
12086 2005-05-30  Wim Taymans  <wim@fluendo.com>
12087
12088         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12089         (gst_queue_loop), (gst_queue_handle_src_event):
12090         Remove old pieces of code
12091         Flushing the queue in an upstream event is a very bad idea.
12092
12093 2005-05-26  Andy Wingo  <wingo@pobox.com>
12094
12095         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12096         gst_value_set_mini_object so as to add a ref on the object (which
12097         will be removed when the value is unset).
12098
12099         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12100         arg type in ::handoff.
12101
12102         * gst/gstelement.c (gst_element_change_state): Also deactivate
12103         pads in READY->NULL, just in case the element didn't make it to
12104         PAUSED. Wingo tested, Wim approved.
12105
12106 2005-05-26  Wim Taymans  <wim@fluendo.com>
12107
12108         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12109         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12110         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12111         A flushing pad cannot be used to alloc_buffer from.
12112
12113 2005-05-26  Wim Taymans  <wim@fluendo.com>
12114
12115         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12116         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12117         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12118         (gst_bus_create_watch), (gst_bus_add_watch_full):
12119         * gst/gstbus.h:
12120         Implement a real GSource and use g_main_context_wakeup() to
12121         signal new messages instead of the socketpair.
12122
12123 2005-05-25  Wim Taymans  <wim@fluendo.com>
12124
12125         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12126         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12127         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12128         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12129         (gst_pad_send_event), (gst_pad_start_task):
12130         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12131         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12132         (gst_queue_sink_activate), (gst_queue_src_activate),
12133         (gst_queue_change_state):
12134         * gst/gstqueue.h:
12135         Fix state changes for non sinks. We now change sinks, then elements
12136         with unconnected srcpads, then the rest.
12137         More efficient queue unlocking in flush and state changes.
12138         Set the pad activate mode even if it does not have an activate
12139         function.
12140
12141 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12142
12143         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12144           Don't go in pull mode for non-seekable sources.
12145         * gst/elements/gsttypefindelement.h:
12146         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12147         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12148         (free_entry), (stop_typefinding),
12149         (gst_type_find_element_handle_event), (find_peek),
12150         (gst_type_find_element_chain), (do_pull_typefind),
12151         (gst_type_find_element_change_state):
12152           Allow typefinding (w/o seeking) in push-mode, simplified version
12153           of what was in 0.8.
12154         * gst/gstutils.c: (gst_buffer_join):
12155         * gst/gstutils.h:
12156           gst_buffer_join() from 0.8.
12157
12158 2005-05-25  Wim Taymans  <wim@fluendo.com>
12159
12160         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12161         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12162         (gst_pad_send_event), (gst_pad_start_task):
12163         Disable attempt at mode switching until it is figured out.
12164
12165 2005-05-25  Wim Taymans  <wim@fluendo.com>
12166
12167         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12168         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12169         (gst_basesink_finish_preroll), (gst_basesink_chain),
12170         (gst_basesink_loop), (gst_basesink_activate),
12171         (gst_basesink_change_state):
12172         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12173         (gst_basesrc_get_range), (gst_basesrc_loop),
12174         (gst_basesrc_activate):
12175         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12176         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12177         (gst_real_pad_init), (gst_real_pad_set_property),
12178         (gst_real_pad_get_property), (gst_pad_set_active),
12179         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12180         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12181         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12182         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12183         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12184         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12185         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12186         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12187         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12188         (gst_pad_stop_task):
12189         * gst/gstpad.h:
12190         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12191         (gst_queue_loop), (gst_queue_src_activate):
12192         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12193         (gst_task_get_state):
12194         * gst/gsttask.h:
12195         * gst/schedulers/threadscheduler.c:
12196         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12197         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12198         in task function.
12199         Remove ACTIVE pad flag, use FLUSHING everywhere
12200         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12201         functions.
12202         Add locks around IS_FLUSHING when reading.
12203         Take STREAM lock in chain(), get_range() functions so plugins
12204         don't need to take it anymore.
12205         
12206
12207
12208 2005-05-25  Wim Taymans  <wim@fluendo.com>
12209
12210         * tools/gst-launch.c: (event_loop):
12211         Unref message after using its contents instead of
12212         before.
12213
12214 2005-05-24  Wim Taymans  <wim@fluendo.com>
12215
12216         * docs/design/draft-ghostpads.txt:
12217         * docs/design/draft-push-pull.txt:
12218         * docs/design/draft-query.txt:
12219         * docs/design/part-overview.txt:
12220         Docs updates, added general overview doc.
12221
12222 2005-05-21  David Schleef  <ds@schleef.org>
12223
12224         * docs/gst/tmpl/old/GstBin.sgml:
12225         * docs/gst/tmpl/old/GstBuffer.sgml:
12226         * docs/gst/tmpl/old/GstCaps.sgml:
12227         * docs/gst/tmpl/old/GstClock.sgml:
12228         * docs/gst/tmpl/old/GstCompat.sgml:
12229         * docs/gst/tmpl/old/GstData.sgml:
12230         * docs/gst/tmpl/old/GstElement.sgml:
12231         * docs/gst/tmpl/old/GstEvent.sgml:
12232         * docs/gst/tmpl/old/GstIndex.sgml:
12233         * docs/gst/tmpl/old/GstStructure.sgml:
12234         * docs/gst/tmpl/old/GstTag.sgml:
12235         * docs/gst/tmpl/old/cothreads.sgml:
12236         * docs/gst/tmpl/old/cothreads_compat.sgml:
12237         * docs/gst/tmpl/old/gettext.sgml:
12238         * docs/gst/tmpl/old/gobject2gtk.sgml:
12239         * docs/gst/tmpl/old/grammar.tab.sgml:
12240         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12241         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12242         * docs/gst/tmpl/old/gst_private.sgml:
12243         * docs/gst/tmpl/old/gstaggregator.sgml:
12244         * docs/gst/tmpl/old/gstarch.sgml:
12245         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12246         * docs/gst/tmpl/old/gstbufferstore.sgml:
12247         * docs/gst/tmpl/old/gstdata_private.sgml:
12248         * docs/gst/tmpl/old/gstdisksink.sgml:
12249         * docs/gst/tmpl/old/gstdisksrc.sgml:
12250         * docs/gst/tmpl/old/gstelementfactory.sgml:
12251         * docs/gst/tmpl/old/gstextratypes.sgml:
12252         * docs/gst/tmpl/old/gstfakesink.sgml:
12253         * docs/gst/tmpl/old/gstfakesrc.sgml:
12254         * docs/gst/tmpl/old/gstfdsink.sgml:
12255         * docs/gst/tmpl/old/gstfdsrc.sgml:
12256         * docs/gst/tmpl/old/gstfilesink.sgml:
12257         * docs/gst/tmpl/old/gstfilesrc.sgml:
12258         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12259         * docs/gst/tmpl/old/gstidentity.sgml:
12260         * docs/gst/tmpl/old/gstindexfactory.sgml:
12261         * docs/gst/tmpl/old/gstmarshal.sgml:
12262         * docs/gst/tmpl/old/gstmd5sink.sgml:
12263         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12264         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12265         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12266         * docs/gst/tmpl/old/gstpipefilter.sgml:
12267         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12268         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12269         * docs/gst/tmpl/old/gstshaper.sgml:
12270         * docs/gst/tmpl/old/gstspider.sgml:
12271         * docs/gst/tmpl/old/gstspideridentity.sgml:
12272         * docs/gst/tmpl/old/gststatistics.sgml:
12273         * docs/gst/tmpl/old/gsttee.sgml:
12274         * docs/gst/tmpl/old/gsttimecache.sgml:
12275         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12276         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12277         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12278         * docs/gst/tmpl/old/types.sgml:
12279           I didn't intend to add these or check them in.
12280
12281 2005-05-19  David Schleef  <ds@schleef.org>
12282
12283         * configure.ac: Use -no-common everywhere.  In a sane world, it
12284           would be the default in libtool, because without it, you can't
12285           build DLLs on Windows.
12286         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12287         * docs/gst/gstreamer-sections.txt:
12288         * docs/gst/tmpl/gstcpu.sgml:
12289         * docs/gst/tmpl/gstdata.sgml:
12290         * docs/gst/tmpl/gstthread.sgml:
12291
12292 2005-05-19  David Schleef  <ds@schleef.org>
12293
12294         * gst/gstminiobject.c: (gst_value_set_mini_object),
12295         (gst_value_take_mini_object), (gst_value_get_mini_object):
12296         * gst/gstminiobject.h: Add GValue set/get functions.
12297
12298 2005-05-19  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12301         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12302         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12303         * gst/gstbuffer.h:
12304         * gst/gstbus.c: (gst_bus_post):
12305         * gst/gstelement.c: (gst_element_get_random_pad):
12306         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12307         Make subbufer unref the parent in finalize.
12308         some more debugging info.
12309
12310
12311 2005-05-19  Wim Taymans  <wim@fluendo.com>
12312
12313         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12314         (gst_basesink_init), (gst_basesink_finalize),
12315         (gst_basesink_activate), (gst_basesink_change_state):
12316         Don't free preroll queue too early.
12317
12318 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12319
12320         * gst/Makefile.am:
12321         * gst/ROADMAP:
12322           Hi, I'm outdated. Please shoot me.
12323
12324 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12325
12326         * gst/gstpipeline.c: (gst_pipeline_send_event):
12327           Do not access variables after they have been deleted.
12328
12329 2005-05-19  Wim Taymans  <wim@fluendo.com>
12330
12331         * tools/gst-inspect.c: (print_plugin_features):
12332         A plugin feature does unfortunatly not use the
12333         object name yet...
12334
12335 2005-05-18  Wim Taymans  <wim@fluendo.com>
12336
12337         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12338         Port _span() functions to new subbuffers.
12339
12340 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12341
12342         * gst/gstbin.c: (gst_bin_add_func):
12343           Fix clock settery in bins when adding kids after the clock has
12344           been selected.
12345
12346 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12347
12348         * gst/elements/gstidentity.c: (gst_identity_class_init):
12349           Workaround until signals support GstMiniObject.
12350
12351 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12352
12353         * gst/gstbuffer.c:
12354         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12355
12356 2005-05-18  Wim Taymans  <wim@fluendo.com>
12357
12358         * gst/base/Makefile.am:
12359         * gst/base/gstadapter.c: (gst_adapter_base_init),
12360         (gst_adapter_class_init), (gst_adapter_init),
12361         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12362         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12363         (gst_adapter_flush), (gst_adapter_available),
12364         (gst_adapter_available_fast):
12365         * gst/base/gstadapter.h:
12366         Ported and added adapter to the base classes.
12367
12368 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12369
12370         * gst/gst.c:
12371         * gst/gstmessage.c:
12372           Make sure the class is reffed/unreffed once before threads can be
12373           used.  Fixes #304551.
12374
12375 2005-05-17  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12378         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12379         * gst/gstminiobject.c: (gst_mini_object_get_type),
12380         (gst_mini_object_free):
12381         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12382         (gst_pad_push), (gst_pad_push_event):
12383         * gst/gstqueue.c: (gst_queue_change_state):
12384         Don't queue buffers in basesink when we are flushing.
12385         Unref buffer when flushing in basesink.
12386         Flush queue when going to READY
12387         Unref buffer when _push() returns an error.
12388         Don't free MiniObject instance when refcount is incremented
12389         in _finalize() so that we can recover objects.
12390
12391 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12392
12393         * docs/manual/advanced-schedulers.xml:
12394         * docs/manual/appendix-checklist.xml:
12395         * docs/pwg/advanced-clock.xml:
12396         * docs/pwg/advanced-interfaces.xml:
12397         * docs/pwg/advanced-request.xml:
12398         * docs/pwg/advanced-types.xml:
12399         * docs/pwg/intro-preface.xml:
12400         * examples/plugins/example.c: (gst_example_get_type),
12401         (gst_example_class_init), (gst_example_chain),
12402         (gst_example_set_property), (gst_example_get_property),
12403         (gst_example_change_state), (plugin_init):
12404         * examples/plugins/example.h:
12405           small doc fixes
12406
12407 2005-05-17  Wim Taymans  <wim@fluendo.com>
12408
12409         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12410         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12411         * gst/gstqueue.c: (gst_queue_change_state):
12412         Clear queue when going to READY.
12413         Remove IN_SETCAPS flag too.
12414
12415 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12416
12417         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12418           Remove implicit cast from gboolean to GstElementStateReturn;
12419           make sure we still return failure in paused => ready case if
12420           the parent class fails to change state and our own stop 
12421           vfunc succeeds.
12422
12423 2005-05-17  Wim Taymans  <wim@fluendo.com>
12424
12425         * tools/gst-launch.c: (event_loop):
12426         Message was unreffed too soon.
12427
12428 2005-05-16  Andy Wingo  <wingo@pobox.com>
12429
12430         * gst/gstbin.c (sink_iterator_filter): Err... um...
12431
12432         * check/gst/gstbin.c (test_ghost_pads): New test for the
12433         ghosting-if-elements-not-in-same-bin behavior.
12434
12435 2005-05-16  David Schleef  <ds@schleef.org>
12436
12437         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12438         accessing refcount directly.
12439
12440 2005-05-15  David Schleef  <ds@schleef.org>
12441
12442         * check/Makefile.am: remove GstData checks
12443         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12444         * gst/Makefile.am: add miniobject, remove data
12445         * gst/gst.h: add miniobject, remove data
12446         * gst/gstdata.c: remove
12447         * gst/gstdata.h: remove
12448         * gst/gstdata_private.h: remove
12449         * gst/gsttypes.h: remove GstEvent and GstMessage
12450         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12451         * gst/gstmarshal.list: change BOXED -> OBJECT
12452
12453         Implement GstMiniObject.
12454         * gst/gstminiobject.c:
12455         * gst/gstminiobject.h:
12456
12457         Modify to be subclasses of GstMiniObject.
12458         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12459         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12460         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12461         (gst_subbuffer_get_type), (gst_subbuffer_init),
12462         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12463         (gst_buffer_span):
12464         * gst/gstbuffer.h:
12465         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12466         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12467         (_gst_event_copy), (gst_event_new):
12468         * gst/gstevent.h:
12469         * gst/gstmessage.c: (_gst_message_initialize),
12470         (gst_message_get_type), (gst_message_class_init),
12471         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12472         (gst_message_new), (gst_message_new_error),
12473         (gst_message_new_warning), (gst_message_new_tag),
12474         (gst_message_new_state_changed), (gst_message_new_application):
12475         * gst/gstmessage.h:
12476         * gst/gstprobe.c: (gst_probe_perform),
12477         (gst_probe_dispatcher_dispatch):
12478         * gst/gstprobe.h:
12479         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12480         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12481         (_gst_query_copy), (gst_query_new):
12482
12483         Update elements for GstData -> GstMiniObject changes
12484         * gst/gstquery.h:
12485         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12486         (gst_queue_chain), (gst_queue_loop):
12487         * gst/elements/gstbufferstore.c:
12488         (gst_buffer_store_add_buffer_func),
12489         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12490         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12491         (gst_fakesink_render):
12492         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12493         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12494         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12495         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12496         (gst_filesrc_create_read):
12497         * gst/elements/gstidentity.c: (gst_identity_class_init):
12498         * gst/elements/gsttypefindelement.c:
12499         (gst_type_find_element_src_event), (free_entry_buffers),
12500         (gst_type_find_element_handle_event):
12501         * libs/gst/dataprotocol/dataprotocol.c:
12502         (gst_dp_header_from_buffer):
12503         * libs/gst/dataprotocol/dataprotocol.h:
12504         * libs/gst/dataprotocol/dp-private.h:
12505
12506 2005-05-15  David Schleef  <ds@schleef.org>
12507
12508         * gst/elements/gstelements.c: Don't include headers that were
12509         just removed.
12510
12511 2005-05-15  David Schleef  <ds@schleef.org>
12512
12513         * gst/elements/Makefile.am: Remove some elements that don't
12514         need to be in the core (or even exist at all).
12515         * gst/elements/gstaggregator.c:
12516         * gst/elements/gstaggregator.h:
12517         * gst/elements/gstmd5sink.c:
12518         * gst/elements/gstmd5sink.h:
12519         * gst/elements/gstmultifilesrc.c:
12520         * gst/elements/gstmultifilesrc.h:
12521         * gst/elements/gstpipefilter.c:
12522         * gst/elements/gstpipefilter.h:
12523         * gst/elements/gstshaper.c:
12524         * gst/elements/gstshaper.h:
12525         * gst/elements/gststatistics.c:
12526         * gst/elements/gststatistics.h:
12527         * po/POTFILES.in: Remove above files.
12528
12529 2005-05-14  Andy Wingo  <wingo@pobox.com>
12530
12531         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12532         so as to get the refs right.
12533         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12534         unreffing objects that don't pass the filter.
12535
12536         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12537         gst_element_set_bus.
12538         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12539         normal cases, this will destroy the bus.
12540
12541         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12542         object.
12543
12544         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12545         has no sinks.
12546
12547 2005-05-13  Andy Wingo  <wingo@pobox.com>
12548
12549         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12550         gst_pad_link, call pad_link_maybe_ghosting,
12551         (pad_link_maybe_ghosting): Links pads, making sure that the
12552         elements being linked are in the same bin.
12553         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12554         Helpers for pad_link_maybe_ghosting.
12555
12556 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12557
12558         * configure.ac:
12559           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12560
12561 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12562
12563         * docs/design/part-element-source.txt:
12564           Mention GstPushSrc
12565
12566 2005-05-12  Wim Taymans  <wim@fluendo.com>
12567
12568         * gst/base/gstbasesink.c: (gst_basesink_init),
12569         (gst_basesink_activate):
12570         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12571         (gst_basesrc_is_seekable):
12572         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12573         (bin_element_is_sink), (gst_bin_change_state):
12574         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12575         * gst/gstelement.h:
12576         Identify sinks by their flag to avoid overly complicated
12577         checks (fow now).
12578         Do state changes even for elements not reachable from the
12579         sinks.
12580         BaseSink is a sink now :)
12581         Some more debugging info in the basesrc.
12582
12583
12584 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12585
12586         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12587           Implement _query on a bin, similar to _send_event.
12588
12589 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12590
12591         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12592           Discont event offset format should be GST_FORMAT_BYTES,
12593           not GST_FORMAT_TIME.
12594
12595 2005-05-12  Wim Taymans  <wim@fluendo.com>
12596
12597         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12598         Same fix as Ronald's but without the signal. 
12599
12600 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12601
12602         * gst/gstutils.c: (gst_element_query_position):
12603           No, an element is not a pad.
12604
12605 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12606
12607         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12608         (gst_bin_get_state):
12609           If a child is removed from a bin while we remove the child from
12610           the bin and while we're retrieving its state, signal this to the
12611           get_state function so we abort the wait (instead of waiting for
12612           a timeout) and can immediately re-iterate over all other elements.
12613
12614 2005-05-12  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/base/Makefile.am:
12617         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12618         (gst_basesrc_start):
12619         * gst/base/gstbasesrc.h:
12620         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12621         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12622         (gst_pushsrc_init), (gst_pushsrc_create):
12623         * gst/base/gstpushsrc.h:
12624         Added is_seekable to BaseSrc
12625         Added simple PushSrc.
12626
12627 2005-05-11  Wim Taymans  <wim@fluendo.com>
12628
12629         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12630         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12631         (gst_element_link_pads), (gst_element_query_position),
12632         (gst_element_query_convert), (intersect_caps_func),
12633         (gst_pad_query_position), (gst_pad_query_convert):
12634         Fix refcounting in utils function.
12635         No point in trying to activate a pad when it's added, it could
12636         be added from the state change function and then we deadlock, the
12637         element has to decide what to do.
12638
12639 2005-05-10  Andy Wingo  <wingo@pobox.com>
12640
12641         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12642         *all* the arguments.
12643
12644         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12645         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12646         lock (according to the docs -- if this is wrong change the docs).
12647
12648         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12649         flush messages in the NULL state.
12650
12651         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12652         message immediately and return.
12653         (gst_bus_set_flushing): New function. If a bus is flushing, it
12654         flushes out any queued messages and immediately unrefs new
12655         messages. This is so when an element goes to NULL, all of the
12656         unhandled messages coming from it can be freed, and their
12657         references to the element dropped. In other words: message source
12658         ref considered harmful :P
12659
12660         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12661         we're finished with it.
12662
12663         * gst/gstmessage.c (gst_message_new_state_changed): 
12664
12665 2005-05-10  Wim Taymans  <wim@fluendo.com>
12666
12667         * gst/gstvalue.c: (gst_value_compare_flags),
12668         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12669         (_gst_value_initialize):
12670         Added flags serialize/deserialize/compare code.
12671
12672 2005-05-09  Andy Wingo  <wingo@pobox.com>
12673
12674         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12675         Intersect the peer's caps with our caps.
12676
12677 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12678
12679         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12680         * gst/elements/gsttypefindelement.c: (find_peek):
12681           Handle negative offsets better. Fixes decodebin.
12682
12683 2005-05-09  Wim Taymans  <wim@fluendo.com>
12684
12685         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12686         (gst_base_transform_event):
12687         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12688         Implement accept_caps.
12689         Fix silly lock/unlock mismatch in base class.
12690
12691 2005-05-09  Wim Taymans  <wim@fluendo.com>
12692
12693         * docs/design/draft-push-pull.txt:
12694         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12695         * gst/elements/gstfilesink.c: (gst_filesink_init),
12696         (gst_filesink_query):
12697         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12698         (gst_type_find_handle_src_query), (find_element_get_length):
12699         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12700         * gst/gstelement.h:
12701         * gst/gstmessage.c:
12702         * gst/gstmessage.h:
12703         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12704         (gst_real_pad_get_caps_unlocked),
12705         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12706         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12707         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12708         (gst_real_pad_dispose), (gst_real_pad_finalize),
12709         (gst_pad_load_and_link), (gst_pad_save_thyself),
12710         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12711         (gst_pad_check_pull_range), (gst_pad_pull_range),
12712         (gst_pad_template_get_type), (gst_pad_template_class_init),
12713         (gst_pad_template_init), (gst_pad_template_dispose),
12714         (name_is_valid), (gst_static_pad_template_get),
12715         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12716         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12717         (gst_pad_get_element_private), (gst_pad_start_task),
12718         (gst_pad_pause_task), (gst_pad_stop_task),
12719         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12720         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12721         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12722         (gst_ghost_pad_new):
12723         * gst/gstpad.h:
12724         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12725         (gst_query_new_position), (gst_query_set_position),
12726         (gst_query_parse_position), (gst_query_new_convert),
12727         (gst_query_set_convert), (gst_query_parse_convert):
12728         * gst/gstquery.h:
12729         * gst/gstqueryutils.c:
12730         * gst/gstqueryutils.h:
12731         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12732         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12733         (gst_queue_handle_src_query):
12734         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12735         (gst_element_query_position), (gst_element_query_convert),
12736         (intersect_caps_func), (gst_pad_query_position),
12737         (gst_pad_query_convert):
12738         * gst/gstutils.h:
12739         * tools/gst-inspect.c: (print_pad_info):
12740         * tools/gst-xmlinspect.c: (print_element_info):
12741         Remove old query functions. Ported old code.
12742         Added position/convert helper functions to gstutils.
12743         Reordered gstpad.c code, grouping relevant things.
12744         Remove gst_message_new(), always need to speficy a specific
12745         message.
12746
12747
12748 2005-05-09  Andy Wingo  <wingo@pobox.com>
12749
12750         * gst/gstiterator.h: Add some includes.
12751
12752         * gst/gstqueryutils.h: Include more headers.
12753
12754         * gst/gstpad.h:
12755         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12756         some uses of gst_pad_query.
12757
12758         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12759         NULL out parameters.
12760         (gst_query_new_position): New proc, allocates a new position
12761         query.
12762
12763         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12764         gstqueryutils.c to the build.
12765
12766         * gst/gststructure.c (gst_structure_set_valist): Implement with
12767         the generic G_VALUE_COLLECT.
12768         
12769 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12770
12771         * gst/Makefile.am: (gst_headers):
12772         Added gstqueryutils.h to the list of headers to install, that was
12773         a 'nachty' move wingo :)
12774
12775 2005-05-06  Andy Wingo  <wingo@pobox.com>
12776
12777         * gst/gstquery.h
12778         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12779         GstData, init a memchunk.
12780         (standard_definitions): Add a few query types, deprecate a few.
12781         (gst_query_get_type): New proc.
12782         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12783         implementation.
12784         (gst_query_new_application, gst_query_get_structure): New public
12785         procs.
12786
12787         * docs/design/draft-query.txt: Removed LINKS from the query types,
12788         because all the rest can be dispatched to other pads -- seemed
12789         ugly to have a query that couldn't be dispatched. internal_links
12790         is fine as a pad method.
12791
12792         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12793         in gstpad.c, but maintain binary compatibility for the moment.
12794         Will fix before 0.9 is out.
12795
12796         * gst/gstqueryutils.c: 
12797         * gst/gstqueryutils.h: New files, implement 3 methods for each
12798         query type: parse_query, parse_response, and set. Probably need an
12799         allocator as well.
12800
12801         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12802
12803         * gst/elements/gstfilesink.c (gst_filesink_query2):
12804         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12805         query_types, and formats methods.
12806
12807         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12808         (gst_pad_set_query2_function): New functions.
12809         (gst_real_pad_init): Set query2_default as the default query2
12810         function. Basically just dispatches to internally linked pads.
12811
12812         Needs review!
12813         
12814         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12815         without using the atomic operations. Only one thread can possibly
12816         be accessing the data at this point. Changed so as to avoid
12817         gst_atomic operations.
12818
12819 2005-05-06  Wim Taymans  <wim@fluendo.com>
12820
12821         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12822         Also set caps if we use the fallback buffer alloc.
12823
12824 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12825
12826         * docs/gst/Makefile.am:
12827         * docs/gst/gstreamer-docs.sgml:
12828         * docs/gst/gstreamer-sections.txt:
12829         * docs/gst/tmpl/gstatomic.sgml:
12830         * docs/gst/tmpl/gstmemchunk.sgml:
12831         * testsuite/elements/struct_i386.h:
12832         * win32/GStreamer.vcproj:
12833         * win32/Makefile:
12834           Purge GstAtomic stuff from docs and win32 makefiles as well
12835
12836 2005-05-06  Wim Taymans  <wim@fluendo.com>
12837
12838         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12839         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12840         * gst/gstpad.c: (gst_pad_peer_get_caps):
12841         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12842         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12843         (gst_queue_src_activate), (gst_queue_change_state):
12844         * gst/gstqueue.h:
12845         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12846         (intersect_caps_func):
12847         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12848         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12849         Some fixes for the peer_get_caps() change.
12850
12851 2005-05-06  Wim Taymans  <wim@fluendo.com>
12852
12853         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12854         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12855         (gst_basesink_activate):
12856         Actually do something with error codes returned from the push
12857         functions.
12858
12859 2005-05-06  Wim Taymans  <wim@fluendo.com>
12860
12861         * docs/design/part-element-sink.txt:
12862         * docs/design/part-element-source.txt:
12863         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12864         (gst_basesink_event), (gst_basesink_activate):
12865         * gst/base/gstbasesink.h:
12866         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12867         (gst_basesrc_activate):
12868         * gst/base/gstbasesrc.h:
12869         * gst/gstelement.c: (gst_element_pads_activate):
12870         Some more documentation.
12871         Fixed scheduling decision in _pads_activate().
12872
12873 2005-05-05  Andy Wingo  <wingo@pobox.com>
12874
12875         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12876         the test suite.
12877
12878 2005-05-05  Wim Taymans  <wim@fluendo.com>
12879
12880         * gst/base/Makefile.am:
12881         * gst/base/gstbasesink.h:
12882         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12883         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12884         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12885         (gst_collectpads_class_init), (gst_collectpads_init),
12886         (gst_collectpads_finalize), (gst_collectpads_new),
12887         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12888         (find_pad), (gst_collectpads_remove_pad),
12889         (gst_collectpads_is_active), (gst_collectpads_collect),
12890         (gst_collectpads_collect_range), (gst_collectpads_start),
12891         (gst_collectpads_stop), (gst_collectpads_peek),
12892         (gst_collectpads_pop), (gst_collectpads_available),
12893         (gst_collectpads_read), (gst_collectpads_flush),
12894         (gst_collectpads_chain):
12895         * gst/base/gstcollectpads.h:
12896         * gst/elements/Makefile.am:
12897         * gst/elements/gstelements.c:
12898         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12899         (gst_fakesink_get_times), (gst_fakesink_event),
12900         (gst_fakesink_preroll), (gst_fakesink_render):
12901         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12902         (gst_filesink_init), (gst_filesink_set_location),
12903         (gst_filesink_open_file), (gst_filesink_close_file),
12904         (gst_filesink_pad_query), (gst_filesink_event),
12905         (gst_filesink_render), (gst_filesink_change_state):
12906         * gst/elements/gstfilesink.h:
12907         Added object to help in making collect pad based elements.
12908         Ported filesink.
12909         Make event function in sink baseclass return gboolean.
12910
12911 2005-05-05  Wim Taymans  <wim@fluendo.com>
12912
12913         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12914         (gst_bin_get_by_name):
12915         * gst/gstbuffer.h:
12916         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12917         (gst_clock_finalize):
12918         * gst/gstdata.c: (gst_data_replace):
12919         * gst/gstdata.h:
12920         * gst/gstelement.c: (gst_element_request_pad),
12921         (gst_element_pads_activate):
12922         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12923         (gst_object_unref):
12924         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12925         (gst_pad_set_checkgetrange_function),
12926         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12927         (gst_pad_check_pull_range), (gst_pad_pull_range),
12928         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12929         (gst_pad_pause_task), (gst_pad_stop_task):
12930         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12931         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12932         Fix name lookup in GstBin.
12933         Added _data_replace() function and _buffer_replace()
12934         Use finalize method to clean up clock.
12935         Fix refcounting on request pads.
12936         Fix pad schedule mode error.
12937         Some more object refcounting debug info,
12938
12939
12940 2005-05-04  Andy Wingo <wingo@pobox.com>
12941
12942         * check/Makefile.am:
12943         * docs/gst/tmpl/gstatomic.sgml:
12944         * docs/gst/tmpl/gstplugin.sgml:
12945         * gst/base/gstbasesink.c: (gst_basesink_activate):
12946         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12947         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12948         (gst_basesrc_query), (gst_basesrc_set_property),
12949         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12950         (gst_basesrc_activate):
12951         * gst/base/gstbasesrc.h:
12952         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12953         (gst_base_transform_src_activate):
12954         * gst/elements/gstelements.c:
12955         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12956         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12957         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12958         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12959         (gst_type_find_element_checkgetrange),
12960         (gst_type_find_element_activate):
12961         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12962         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12963         (gst_caps_load_thyself):
12964         * gst/gstelement.c: (gst_element_pads_activate),
12965         (gst_element_save_thyself), (gst_element_restore_thyself):
12966         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12967         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12968         * gst/gstpad.h:
12969         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12970         (gst_xml_parse_file), (gst_xml_parse_memory),
12971         (gst_xml_get_element), (gst_xml_make_element):
12972         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12973         (_file_index_id_save_xml), (gst_file_index_commit):
12974         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12975         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12976         (load_paths):
12977         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12978         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12979         * tools/gst-complete.c: (main):
12980         * tools/gst-compprep.c: (main):
12981         * tools/gst-inspect.c: (print_element_properties_info):
12982         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12983         * tools/gst-xmlinspect.c: (print_element_properties):
12984         GCC 4 fixen.
12985         
12986 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12987
12988         * gst/gstplugin.c: (gst_plugin_check_module),
12989         (gst_plugin_check_file), (gst_plugin_load_file):
12990             apply patch from #172526 to make register work on MacOSX
12991
12992 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * docs/gst/tmpl/gstconfig.sgml:
12995         * gst/gstconfig.h.in:
12996           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12997         * testsuite/debug/printf_extension.c: (main):
12998           Do not use GST_PTR_FORMAT on pointers to types with
12999           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13000         * testsuite/elements/property.h:
13001           use correct printf format
13002
13003 2005-05-02  Wim Taymans  <wim@fluendo.com>
13004
13005         * docs/design/draft-push-pull.txt:
13006         * docs/design/draft-query.txt:
13007         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13008         (gst_basesrc_start):
13009         Added draft for new query API.
13010         Added draft for better selecting scheduling methods.
13011         Make basesrc ignore length if the subclass does not support
13012         it.
13013
13014 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13015
13016         * gst/Makefile.am:
13017           possible fixes for automake-1.5 - _LIBADD is reserved
13018
13019 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13020
13021         * docs/faq/Makefile.am:
13022         * docs/manual/Makefile.am:
13023         * docs/manuals.mak:
13024         * docs/pwg/Makefile.am:
13025         * gst/Makefile.am:
13026           possible fixes for automake-1.5
13027
13028 2005-04-28  Wim Taymans  <wim@fluendo.com>
13029
13030         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13031         (gst_basesink_pad_getcaps), (gst_basesink_init),
13032         (gst_basesink_do_sync):
13033         * gst/gstclock.c: (gst_clock_entry_new):
13034         * gst/gstevent.c: (gst_event_discont_get_value):
13035         * gst/gstpipeline.c: (pipeline_bus_handler),
13036         (gst_pipeline_change_state):
13037         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13038         Better debugging of clocking info.
13039         Allow NULL values when getting discont values.
13040
13041 2005-04-27  Wim Taymans  <wim@fluendo.com>
13042
13043         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13044         * check/gst/gstpad.c: (gst_pad_suite):
13045         Increase timeout for checks.
13046
13047 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13048
13049         * check/Makefile.am:
13050           fix the broken rule for cleanup.  Apparently this rule is
13051           only needed on FC2, so maybe this warrants further autotool
13052           inspection.
13053
13054 2005-04-26  Wim Taymans  <wim@fluendo.com>
13055
13056         * gst/gsttrashstack.h:
13057         Ooohh. a nasty one! After having a failed pop() from the stack,
13058         it's possible that the stack is empty. In that case, don't
13059         follow the NULL pointer.
13060
13061 2005-04-25  Wim Taymans  <wim@fluendo.com>
13062
13063         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13064         (gst_pad_set_checkgetrange_function),
13065         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13066         (gst_pad_check_pull_range), (gst_pad_pull_range),
13067         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13068         (gst_pad_pause_task), (gst_pad_stop_task):
13069         * gst/gstplugin.c: (gst_plugin_load):
13070         * gst/gstplugin.h:
13071         Remove gst_library_load as it does more harm than good with
13072         the new g_module flags.
13073         Revert bogus caps template check in pad linking, pad caps
13074         are important when linking not the template, which is more
13075         general than the current caps.
13076
13077 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13078
13079         * gst/autoplug/.cvsignore:
13080         * gst/autoplug/Makefile.am:
13081         * gst/autoplug/gstsearchfuncs.c:
13082         * gst/autoplug/gstsearchfuncs.h:
13083         * gst/autoplug/gstspider.c:
13084         * gst/autoplug/gstspider.h:
13085         * gst/autoplug/gstspideridentity.c:
13086         * gst/autoplug/gstspideridentity.h:
13087         * gst/autoplug/spidertest.c:
13088           Die, spider, die.
13089
13090 2005-04-25  Wim Taymans  <wim@fluendo.com>
13091
13092         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13093         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13094         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13095         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13096         * gst/gstpad.h:
13097         Added stubs for unimplemented functions. 
13098
13099 2005-04-24  David Schleef  <ds@schleef.org>
13100
13101         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13102         please fix.
13103
13104 2005-04-24  David Schleef  <ds@schleef.org>
13105
13106         Convert everything from GstAtomicInt to g_atomic_int_*, and
13107         remove gstatomic.
13108         * gst/Makefile.am:
13109         * gst/gstatomic.c:
13110         * gst/gstatomic.h:
13111         * gst/gstatomic_impl.h:
13112         * gst/gstbuffer.c:
13113         * gst/gstcaps.c:
13114         * gst/gstcaps.h:
13115         * gst/gstclock.c:
13116         * gst/gstclock.h:
13117         * gst/gstdata.c:
13118         * gst/gstdata.h:
13119         * gst/gstdata_private.h:
13120         * gst/gstevent.c:
13121         * gst/gstinfo.c:
13122         * gst/gstinfo.h:
13123         * gst/gstmessage.c:
13124         * gst/gstobject.c:
13125         * gst/gstobject.h:
13126         * gst/gststructure.c:
13127         * gst/gststructure.h:
13128         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13129         * gst/gstutils.h:
13130
13131 2005-04-24  David Schleef  <ds@schleef.org>
13132
13133         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13134         make the regressions tests work.  Remove some code that is no
13135         longer true.
13136         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13137         Disable warning for pads without templates.
13138
13139 2005-04-24  David Schleef  <ds@schleef.org>
13140
13141         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13142         functions that handle filtered links.
13143         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13144         removed functions.
13145         * gst/gstutils.c: Fix/remove utility functions that handle
13146         filtered caps.
13147         * gst/gstutils.h:
13148         * gst/gstvalue.c: Add serialization/deserialization of caps
13149         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13150         requires fixing so that the filter caps notation creates
13151         a capsfilter element and sets the filter_caps property.  I
13152         think everyone probably wants to keep the shorthand notation.
13153         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13154         * docs/gst/tmpl/gstpad.sgml:
13155
13156         * gst/elements/gstelements.c: Register capsfilter element.
13157         * gst/Makefile.am: fix spacing
13158         * docs/random/ds/0.9-suggested-changes: random
13159
13160 2005-04-23  David Schleef  <ds@schleef.org>
13161
13162         * gst/elements/Makefile.am:
13163         * gst/elements/gstcapsfilter.c: New element that acts like an
13164         identity, but filters caps.  Will eventually replace filtered
13165         caps in pad linking.
13166         * gst/gstutils.c: (gst_element_create_all_pads): New function
13167         to create all the ALWAYS pads that are registered with an
13168         element class.  This functionality should eventually be
13169         merged in with GstElement initialization.
13170         * gst/gstutils.h:
13171         * testsuite/trigger/README: part of trigger test code that should
13172         have been checked in a long time ago.
13173
13174 2005-04-23  David Schleef  <ds@schleef.org>
13175
13176         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13177         needed with new versions of libtool (nobody will confirm this),
13178         and hard to carry around.
13179         * gst/autoplug/Makefile.am:
13180         * gst/base/Makefile.am:
13181         * gst/elements/Makefile.am:
13182         * gst/indexers/Makefile.am:
13183         * gst/schedulers/Makefile.am:
13184         * libs/gst/bytestream/Makefile.am:
13185         * libs/gst/control/Makefile.am:
13186         * libs/gst/dataprotocol/Makefile.am:
13187         * libs/gst/getbits/Makefile.am:
13188
13189 2005-04-21  Wim Taymans  <wim@fluendo.com>
13190
13191         * docs/design/draft-push-pull.txt:
13192         * docs/design/part-MT-refcounting.txt:
13193         * docs/design/part-TODO.txt:
13194         * docs/design/part-caps.txt:
13195         * docs/design/part-events.txt:
13196         * docs/design/part-gstbus.txt:
13197         * docs/design/part-gstpipeline.txt:
13198         * docs/design/part-messages.txt:
13199         * docs/design/part-push-pull.txt:
13200         * docs/design/part-query.txt:
13201         Some more docs.
13202
13203 2005-04-21  Wim Taymans  <wim@fluendo.com>
13204
13205         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13206         (gst_message_new), (gst_message_new_error),
13207         (gst_message_new_warning), (gst_message_new_tag),
13208         (gst_message_new_state_changed), (gst_message_new_application),
13209         (gst_message_get_structure):
13210         * gst/gstmessage.h:
13211         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13212         (gst_structure_copy_conditional):
13213         Use parent refcount in GstMessage to ensure GstStructure
13214         consistency.
13215         Cleaned up headers a bit.
13216         
13217
13218 2005-04-20  Wim Taymans  <wim@fluendo.com>
13219
13220         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13221         (gst_basesink_pad_getcaps), (gst_basesink_init),
13222         (gst_basesink_chain_unlocked):
13223         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13224         (gst_type_find_helper):
13225         * gst/elements/gsttypefindelement.c:
13226         (gst_type_find_element_have_type), (gst_type_find_element_init),
13227         (stop_typefinding), (gst_type_find_element_handle_event),
13228         (find_suggest), (gst_type_find_element_chain),
13229         (gst_type_find_element_checkgetrange),
13230         (gst_type_find_element_getrange), (do_typefind),
13231         (gst_type_find_element_activate):
13232         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13233         (gst_buffer_default_free), (gst_buffer_default_copy),
13234         (gst_buffer_set_caps):
13235         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13236         (gst_caps_replace):
13237         * gst/gstmessage.c: (gst_message_new),
13238         (gst_message_new_state_changed):
13239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13240         (gst_pad_set_checkgetrange_function),
13241         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13242         (gst_pad_set_caps), (gst_pad_check_pull_range),
13243         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13244         * gst/gstpad.h:
13245         * gst/gsttypefind.c: (gst_type_find_register):
13246         Make gst_caps_replace() work like other _replace() functions.
13247         Use _caps_replace() where possible.
13248         Make sure _message_new() initialises its field.
13249         Add gst_static_pad_template_get_caps()
13250
13251
13252 2005-04-18  Andy Wingo  <wingo@pobox.com>
13253
13254         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13255         on the peer, not the pad. I think that was a typo. Pass an extra
13256         arg to see if random access is possible. Activate the pads as
13257         PULL_RANGE if possible.
13258
13259         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13260
13261         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13262         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13263         to PROP_....
13264
13265 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13266
13267         * docs/faq/using.xml:
13268           Add note on gstreamer-properties (#154996).
13269
13270 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13271
13272         * docs/random/bbb/optional-properties:
13273           Some analysis on optional properties.
13274
13275 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13276
13277         * docs/gst/tmpl/gstelementfactory.sgml:
13278         * gst/gstelement.h:
13279         * gst/gstelementfactory.c: (gst_element_factory_init),
13280         (gst_element_factory_cleanup), (gst_element_register),
13281         (__gst_element_factory_add_static_pad_template),
13282         (gst_element_factory_get_static_pad_templates),
13283         (gst_element_factory_can_src_caps),
13284         (gst_element_factory_can_sink_caps):
13285         * gst/registries/Makefile.am:
13286         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13287         (gst_xml_registry_class_init), (gst_xml_registry_init),
13288         (gst_xml_registry_new), (gst_xml_registry_set_property),
13289         (gst_xml_registry_get_property), (get_time), (make_dir),
13290         (gst_xml_registry_get_perms_func),
13291         (plugin_times_older_than_recurse), (plugin_times_older_than),
13292         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13293         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13294         (add_to_char_array), (read_string), (read_uint), (read_enum),
13295         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13296         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13297         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13298         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13299         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13300         (gst_xml_registry_rebuild):
13301         * gst/registries/gstlibxmlregistry.h:
13302         * tools/gst-compprep.c: (main):
13303         * tools/gst-inspect.c: (print_pad_templates_info):
13304         * tools/gst-xmlinspect.c: (print_element_info):
13305           Use libxml2 for registry parsing, use staticpadtemplates in
13306           elementfactories. Makes gst_init() +/- 10x faster.
13307
13308 2005-04-12  Wim Taymans  <wim@fluendo.com>
13309
13310         * gst/base/Makefile.am:
13311         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13312         (gst_basesink_pad_getcaps), (gst_basesink_init),
13313         (gst_basesink_event), (gst_basesink_change_state):
13314         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13315         (gst_basesrc_init), (gst_basesrc_query),
13316         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13317         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13318         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13319         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13320         (gst_basesrc_stop), (gst_basesrc_activate),
13321         (gst_basesrc_change_state):
13322         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13323         (helper_find_suggest), (gst_type_find_helper):
13324         * gst/base/gsttypefindhelper.h:
13325         * gst/elements/Makefile.am:
13326         * gst/elements/gstelements.c:
13327         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13328         (gst_fakesink_get_times), (gst_fakesink_event),
13329         (gst_fakesink_preroll), (gst_fakesink_render):
13330         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13331         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13332         (gst_fakesrc_get_property), (gst_fakesrc_create),
13333         (gst_fakesrc_start), (gst_fakesrc_stop):
13334         * gst/elements/gstfakesrc.h:
13335         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13336         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13337         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13338         (gst_filesrc_create_read), (gst_filesrc_create),
13339         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13340         (gst_filesrc_start):
13341         * gst/elements/gsttypefindelement.c:
13342         (gst_type_find_element_have_type), (gst_type_find_element_init),
13343         (start_typefinding), (stop_typefinding), (push_buffer_store),
13344         (gst_type_find_element_handle_event),
13345         (gst_type_find_element_chain),
13346         (gst_type_find_element_checkgetrange),
13347         (gst_type_find_element_getrange), (do_typefind),
13348         (gst_type_find_element_activate),
13349         (gst_type_find_element_change_state):
13350         * gst/elements/gsttypefindelement.h:
13351         * gst/gstpipeline.c: (pipeline_bus_handler):
13352         Added typefind helper.
13353         Small preroll fix in the base sink.
13354         Disable typefind code in basesrc.
13355         Crude port of typefindelement.
13356         Fakesrc cleanups.
13357
13358
13359 2005-04-11  Wim Taymans  <wim@fluendo.com>
13360
13361         * check/gst/gstbus.c: (gstbus_suite):
13362         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13363         * check/gstcheck.h:
13364           Fix up the timeout so that the test does not fail.
13365
13366 2005-04-06  Wim Taymans  <wim@fluendo.com>
13367
13368         * gst/base/README:
13369         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13370         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13371         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13372         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13373         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13374         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13375         (gst_basesrc_stop), (gst_basesrc_activate),
13376         (gst_basesrc_change_state), (basesrc_find_peek),
13377         (basesrc_find_suggest), (gst_basesrc_type_find):
13378         * gst/base/gstbasesrc.h:
13379         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13380         (gst_filesrc_class_init), (gst_filesrc_init),
13381         (gst_filesrc_finalize), (gst_filesrc_set_location),
13382         (gst_filesrc_set_property), (gst_filesrc_get_property),
13383         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13384         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13385         (gst_filesrc_create_read), (gst_filesrc_create),
13386         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13387         * gst/elements/gstfilesrc.h:
13388         * gst/gstelement.c: (gst_element_get_state_func),
13389         (gst_element_lost_state), (gst_element_pads_activate):
13390         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13391         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13392         (gst_pad_pull_range):
13393         * gst/gstpad.h:
13394         More work on the generic source base class, implement seeking,
13395         query.
13396         Make filesrc extend the base source class.
13397         Added gst_pad_set_checkgetrange_function to GstPad.
13398
13399 2005-04-06  Andy Wingo  <wingo@pobox.com>
13400
13401         * pkgconfig/gstreamer-base.pc.in:
13402         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13403
13404         * pkgconfig/Makefile.am:
13405         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13406
13407 2005-04-04  Wim Taymans  <wim@fluendo.com>
13408
13409         * gst/base/Makefile.am:
13410         * gst/base/README:
13411         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13412         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13413         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13414         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13415         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13416         (gst_basesrc_base_init), (gst_basesrc_class_init),
13417         (gst_basesrc_init), (gst_basesrc_get_formats),
13418         (gst_basesrc_get_query_types), (gst_basesrc_query),
13419         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13420         (gst_basesrc_set_property), (gst_basesrc_get_property),
13421         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13422         (gst_basesrc_loop), (gst_basesrc_activate),
13423         (gst_basesrc_change_state):
13424         * gst/base/gstbasesrc.h:
13425         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13426         (gst_fakesrc_class_init), (gst_fakesrc_init),
13427         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13428         (gst_fakesrc_get_property), (gst_fakesrc_create):
13429         * gst/elements/gstfakesrc.h:
13430         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13431         (gst_filesrc_open_file), (gst_filesrc_loop),
13432         (gst_filesrc_activate), (filesrc_find_peek),
13433         (gst_filesrc_type_find):
13434         Made base source class, make fakesrc extend it.
13435         Add comments to basesink class.
13436         Some filesrc cleanup.
13437
13438 2005-03-31  David Schleef  <ds@schleef.org>
13439
13440         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13441         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13442         expected to link against libgstreamer.
13443         * gst/base/Makefile.am: link against libgstreamer
13444         * gst/elements/Makefile.am: same
13445
13446 2005-03-31  Andy Wingo  <wingo@pobox.com>
13447
13448         * tests/instantiate/Makefile.am:
13449         * tests/instantiate/caps.c: Add test to test speed of caps copy
13450         and free.
13451
13452         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13453         GMemChunk to be fair.
13454
13455         * gst/gsttrashstack.h: Remove warning about using the fallback
13456         trash stack implementation, it's still faster than malloc.
13457
13458 2005-03-30  Andy Wingo  <wingo@pobox.com>
13459
13460         * tests/complexity.c: Add a copyright.
13461
13462 2005-03-31  Wim Taymans  <wim@fluendo.com>
13463
13464         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13465         (gst_base_transform_class_init), (gst_base_transform_init),
13466         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13467         (gst_base_transform_get_property),
13468         (gst_base_transform_sink_activate),
13469         (gst_base_transform_src_activate),
13470         (gst_base_transform_change_state):
13471         * gst/base/gstbasetransform.h:
13472         * gst/elements/gstidentity.c: (gst_identity_class_init),
13473         (gst_identity_event), (gst_identity_check_perfect),
13474         (gst_identity_transform), (gst_identity_start),
13475         (gst_identity_stop):
13476         Added start/stop methods to transform base class so subclasses 
13477         don't need to deal with state changes even.
13478
13479 2005-03-31  Wim Taymans  <wim@fluendo.com>
13480
13481         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13482         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13483         * gst/gstevent.h:
13484         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13485         (gst_pad_pull_range):
13486         Added rate to the discont event to prepare for variable speed
13487         and reverse playback.
13488
13489 2005-03-29  David Schleef  <ds@schleef.org>
13490
13491         * configure.ac:
13492         * testsuite/trigger/Makefile.am:
13493         * testsuite/trigger/trigger.c: A little example program to show
13494         how trigger-based elements can work.
13495
13496 2005-03-29  Wim Taymans  <wim@fluendo.com>
13497
13498         * gst/base/Makefile.am:
13499         * gst/base/README:
13500         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13501         (gst_basesink_base_init), (gst_basesink_class_init),
13502         (gst_basesink_pad_getcaps), (gst_basesink_init),
13503         (gst_basesink_activate), (gst_basesink_change_state):
13504         * gst/base/gstbasesink.h:
13505         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13506         (gst_base_transform_base_init), (gst_base_transform_finalize),
13507         (gst_base_transform_class_init), (gst_base_transform_init),
13508         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13509         (gst_base_transform_event), (gst_base_transform_getrange),
13510         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13511         (gst_base_transform_set_property),
13512         (gst_base_transform_get_property),
13513         (gst_base_transform_sink_activate),
13514         (gst_base_transform_src_activate),
13515         (gst_base_transform_change_state):
13516         * gst/base/gstbasetransform.h:
13517         * gst/elements/gstidentity.c: (gst_identity_finalize),
13518         (gst_identity_class_init), (gst_identity_init),
13519         (gst_identity_event), (gst_identity_check_perfect),
13520         (gst_identity_transform), (gst_identity_set_property),
13521         (gst_identity_get_property), (gst_identity_change_state):
13522         * gst/elements/gstidentity.h:
13523         * gst/gstelement.c: (gst_element_get_state_func),
13524         (gst_element_lost_state), (gst_element_pads_activate):
13525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13526         (gst_pad_check_pull_range), (gst_pad_pull_range):
13527         * gst/gstpad.h:
13528         Simplify pad activation.
13529         Added function to check if pull_range can be performed.
13530         Error out when pulling inactive or flushing pads.
13531         Removed const from refcounted types as it does not make sense.
13532         Simplify pad templates in basesink
13533         Added base class for simple 1-to-1 transforms.
13534         Make identity subclass the base transform.
13535
13536 2005-03-29  Andy Wingo  <wingo@pobox.com>
13537
13538         * docs/libs/gstreamer-libs-overrides.txt: 
13539         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13540         really don't understand what's going on, but like whatever. I want
13541         green buildbot!
13542
13543         * docs/gst/Makefile.am:
13544         * docs/libs/Makefile.am: Dist the overrides files.
13545
13546         * check/Makefile.am (clean-local): Remove .libs directories.
13547
13548         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13549         elements to EXTRA_DIST, so po/ files are happy.
13550
13551         * po/POTFILES.in: Er, remove it here.
13552
13553         * po/POTFILES: Remove gstspider.c.
13554
13555         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13556
13557         * docs/libs/gstreamer-libs-docs.sgml: 
13558         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13559         bytestream.
13560
13561         * tests/complexity.c (main): Set the length of the preroll queue
13562         on the sinks to prevent a lockup.
13563
13564         * libs/gst/dataprotocol/Makefile.am: 
13565         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13566         the same as the one in check/gst-libs/gdp.c.
13567
13568         * po/, docs/gst/: Commit automatic changes to docs and po files.
13569
13570         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13571         the versioned libgstbase.
13572
13573         * check/Makefile.am: Depend on an unversioned gst-register, seems
13574         to make autoconf happier.
13575
13576         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13577
13578 2005-03-28  Wim Taymans  <wim@fluendo.com>
13579
13580         * configure.ac:
13581         * docs/design/part-gstelement.txt:
13582         * docs/design/part-negotiation.txt:
13583         * docs/design/part-preroll.txt:
13584         * docs/design/part-scheduling.txt:
13585         * docs/design/part-states.txt:
13586         * gst/Makefile.am:
13587         * gst/base/Makefile.am:
13588         * gst/base/README:
13589         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13590         (gst_basesink_base_init), (gst_basesink_class_init),
13591         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13592         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13593         (gst_basesink_set_pad_functions),
13594         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13595         (gst_basesink_set_property), (gst_basesink_get_property),
13596         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13597         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13598         (gst_basesink_preroll_queue_push),
13599         (gst_basesink_preroll_queue_empty),
13600         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13601         (gst_basesink_event), (gst_basesink_get_times),
13602         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13603         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13604         (gst_basesink_loop), (gst_basesink_activate),
13605         (gst_basesink_change_state):
13606         * gst/base/gstbasesink.h:
13607         * gst/elements/Makefile.am:
13608         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13609         (gst_fakesink_class_init), (gst_fakesink_init),
13610         (gst_fakesink_set_property), (gst_fakesink_get_property),
13611         (gst_fakesink_get_times), (gst_fakesink_event),
13612         (gst_fakesink_preroll), (gst_fakesink_render),
13613         (gst_fakesink_change_state):
13614         * gst/elements/gstfakesink.h:
13615         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13616         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13617         * gst/gstelement.c: (gst_element_add_pad),
13618         (gst_element_get_state_func), (gst_element_abort_state),
13619         (gst_element_commit_state), (gst_element_lost_state),
13620         (gst_element_set_state), (gst_element_pads_activate):
13621         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13622         * gst/gstpipeline.c: (gst_pipeline_send_event),
13623         (gst_pipeline_change_state):
13624         Added state change code.
13625         Added/updated docs.
13626         Added sink base class, make fakesink extend the base class.
13627         Small cleanups in GstPipeline.
13628
13629 2005-03-26  David Schleef  <ds@schleef.org>
13630
13631         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13632         is broken and should be implemented in a different library.
13633         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13634         * gst/gst.h: remove gstcpu.h
13635         * gst/gstcpu.c: remove
13636         * gst/gstcpu.h: remove
13637         * gst/Makefile.am.future: Remove this file.  It's ancient.
13638
13639 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13640
13641         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13642         (gst_bin_send_event):
13643           Add default event/set_manager handlers. The set_manager handler
13644           takes care that the manager is distributed over kids that were
13645           already in the bin before the manager was set. The event handler
13646           is a utility virtual function that sends the event over all sinks,
13647           so that gst_element_send_event (bin, event); has the expected
13648           behaviour.
13649         * gst/gstpad.c: (gst_pad_event_default):
13650           Re-install default event handling for discontinuities, so that
13651           seeking works without requiring hacks in applications or extra
13652           code in sinks.
13653         * gst/gstpipeline.c: (gst_pipeline_class_init),
13654         (gst_pipeline_send_event):
13655           Half hack, half utility: set a pipeline to PAUSED for seek events,
13656           since that is the only way we can guarantee a/v sync. Means that
13657           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13658           and it "just works".
13659
13660 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13661
13662         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13663           Lock/unlock mismatch.
13664
13665 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13666
13667         * docs/faq/gst-uninstalled:
13668           add gst-plugins-base
13669         * docs/gst/Makefile.am:
13670           don't error out until docs are fixed
13671         * docs/gst/gstreamer.types:
13672           remove thread
13673
13674 2005-03-22  Wim Taymans  <wim@fluendo.com>
13675
13676         * check/Makefile.am:
13677         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13678         * gst/gststructure.c: (gst_structure_set_valist),
13679         (gst_structure_copy_conditional):
13680         Activated more tests.
13681         Added message test.
13682         Added G_TYPE_POINTER to GstStructure.
13683         
13684
13685 2005-03-22  Wim Taymans  <wim@fluendo.com>
13686
13687         * docs/design/part-TODO.txt:
13688         * docs/design/part-events.txt:
13689         * docs/design/part-gstbin.txt:
13690         * docs/design/part-gstbus.txt:
13691         * docs/design/part-gstpipeline.txt:
13692         * docs/design/part-messages.txt:
13693         * gst/gstbus.c:
13694         * gst/gstmessage.c:
13695         Docs updates
13696
13697 2005-03-21  Wim Taymans  <wim@fluendo.com>
13698
13699         * gst/gstbus.c: (gst_bus_post):
13700         Fix copy-and-paste error.
13701
13702 2005-03-21  Wim Taymans  <wim@fluendo.com>
13703
13704         * check/Makefile.am:
13705         * gst/Makefile.am:
13706         * gst/elements/Makefile.am:
13707         * gst/elements/gstelements.c:
13708         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13709         (gst_fakesink_event), (gst_fakesink_chain):
13710         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13711         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13712         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13713         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13714         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13715         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13716         (gst_fakesrc_loop), (gst_fakesrc_activate),
13717         (gst_fakesrc_change_state):
13718         * gst/elements/gstfakesrc.h:
13719         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13720         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13721         (gst_filesrc_open_file), (gst_filesrc_loop),
13722         (gst_filesrc_activate), (gst_filesrc_change_state),
13723         (filesrc_find_peek), (filesrc_find_suggest),
13724         (gst_filesrc_type_find):
13725         * gst/elements/gstidentity.c: (gst_identity_finalize),
13726         (gst_identity_class_init), (gst_identity_init),
13727         (gst_identity_proxy_getcaps), (identity_queue_push),
13728         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13729         (gst_identity_getrange), (gst_identity_chain),
13730         (gst_identity_sink_loop), (gst_identity_src_loop),
13731         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13732         (gst_identity_set_property), (gst_identity_get_property),
13733         (gst_identity_change_state):
13734         * gst/elements/gstidentity.h:
13735         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13736         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13737         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13738         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13739         (gst_tee_sink_activate):
13740         * gst/elements/gsttee.h:
13741         * gst/gst.c: (gst_register_core_elements), (init_post):
13742         * gst/gst.h:
13743         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13744         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13745         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13746         (gst_bin_change_state):
13747         * gst/gstbin.h:
13748         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13749         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13750         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13751         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13752         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13753         (bus_watch_callback), (bus_watch_destroy),
13754         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13755         (poll_timeout), (gst_bus_poll):
13756         * gst/gstbus.h:
13757         * gst/gstcaps.h:
13758         * gst/gstdata.h:
13759         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13760         (gst_element_post_message), (gst_element_message_full),
13761         (gst_element_get_state_func), (gst_element_get_state),
13762         (gst_element_abort_state), (gst_element_commit_state),
13763         (gst_element_lost_state), (gst_element_set_state),
13764         (gst_element_pads_activate), (gst_element_change_state),
13765         (gst_element_dispose), (gst_element_set_manager_func),
13766         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13767         (gst_element_set_manager), (gst_element_get_manager),
13768         (gst_element_set_bus), (gst_element_get_bus),
13769         (gst_element_set_scheduler), (gst_element_get_scheduler):
13770         * gst/gstelement.h:
13771         * gst/gstevent.c: (gst_event_new_segment_seek),
13772         (gst_event_new_flush):
13773         * gst/gstevent.h:
13774         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13775         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13776         (gst_message_new_eos), (gst_message_new_error),
13777         (gst_message_new_warning), (gst_message_new_tag),
13778         (gst_message_new_state_changed), (gst_message_new_application),
13779         (gst_message_get_structure), (gst_message_parse_tag),
13780         (gst_message_parse_state_changed), (gst_message_parse_error),
13781         (gst_message_parse_warning):
13782         * gst/gstmessage.h:
13783         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13784         (gst_real_pad_set_property), (gst_pad_set_active),
13785         (gst_pad_is_active), (gst_pad_set_blocked_async),
13786         (gst_pad_set_blocked), (gst_pad_is_blocked),
13787         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13788         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13789         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13790         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13791         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13792         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13793         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13794         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13795         (gst_pad_set_caps), (gst_pad_configure_sink),
13796         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13797         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13798         (gst_real_pad_dispose), (gst_real_pad_finalize),
13799         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13800         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13801         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13802         * gst/gstpad.h:
13803         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13804         (pipeline_bus_handler), (gst_pipeline_change_state),
13805         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13806         * gst/gstpipeline.h:
13807         * gst/gstprobe.h:
13808         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13809         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13810         (gst_queue_link_src), (gst_queue_bufferalloc),
13811         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13812         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13813         (gst_queue_loop), (gst_queue_handle_src_event),
13814         (gst_queue_handle_src_query), (gst_queue_src_activate),
13815         (gst_queue_change_state):
13816         * gst/gstqueue.h:
13817         * gst/gstscheduler.c: (gst_scheduler_init),
13818         (gst_scheduler_dispose), (gst_scheduler_create_task),
13819         (gst_scheduler_factory_create):
13820         * gst/gstscheduler.h:
13821         * gst/gststructure.c: (gst_structure_get_type),
13822         (gst_structure_copy_conditional):
13823         * gst/gststructure.h:
13824         * gst/gsttaginterface.h:
13825         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13826         (gst_task_init), (gst_task_dispose), (gst_task_create),
13827         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13828         (gst_task_pause):
13829         * gst/gsttask.h:
13830         * gst/gstthread.c:
13831         * gst/gstthread.h:
13832         * gst/gsttypes.h:
13833         * gst/schedulers/Makefile.am:
13834         * gst/schedulers/cothreads_compat.h:
13835         * gst/schedulers/entryscheduler.c:
13836         * gst/schedulers/faircothreads.c:
13837         * gst/schedulers/faircothreads.h:
13838         * gst/schedulers/fairscheduler.c:
13839         * gst/schedulers/gstbasicscheduler.c:
13840         * gst/schedulers/gstoptimalscheduler.c:
13841         * gst/schedulers/gthread-cothreads.h:
13842         * gst/schedulers/threadscheduler.c:
13843         (gst_thread_scheduler_task_get_type),
13844         (gst_thread_scheduler_task_class_init),
13845         (gst_thread_scheduler_task_init),
13846         (gst_thread_scheduler_task_start),
13847         (gst_thread_scheduler_task_stop),
13848         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13849         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13850         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13851         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13852         (plugin_init):
13853         * libs/gst/Makefile.am:
13854         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13855         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13856         (gst_file_pad_parent_set):
13857         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13858         (gst_dp_event_from_packet):
13859         * tests/complexity.c: (main):
13860         * tests/mass_elements.c: (main):
13861         * testsuite/states/locked.c: (message_received), (main):
13862         * testsuite/states/parent.c: (main):
13863         * tools/gst-inspect.c: (print_element_flag_info),
13864         (print_implementation_info), (print_pad_info):
13865         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13866         (main):
13867         * tools/gst-md5sum.c: (event_loop), (main):
13868         * tools/gst-typefind.c: (main):
13869         * tools/gst-xmlinspect.c: (print_element_info):
13870         Next big merge.
13871         Added GstBus for mainloop integration.
13872         Added GstMessage for sending notifications on the bus.
13873         Added GstTask as an abstraction for pipeline entry points.
13874         Removed GstThread.
13875         Removed Schedulers.
13876         Simplified GstQueue for multithreaded core.
13877         Made _link threadsafe, removed old capsnego.
13878         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13879         Added pad blocking functions.
13880         Reworked scheduling functions in GstPad to prepare for
13881         scheduling updates soon.
13882         Moved events out of data stream.
13883         Simplified GstEvent types.
13884         Added return values to push/pull.
13885         Removed clocking from GstElement.
13886         Added prototypes for state change function for next merge.
13887         Removed iterate from bins and state change management.
13888         Fixed some elements, disabled others for now.
13889         Fixed -inspect and -launch.
13890         Added check for GstBus.
13891
13892 2005-03-10  Wim Taymans  <wim@fluendo.com>
13893
13894         * docs/design/part-MT-refcounting.txt:
13895         * docs/design/part-clocks.txt:
13896         * docs/design/part-gstelement.txt:
13897         * docs/design/part-gstobject.txt:
13898         * docs/design/part-standards.txt:
13899         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13900         (gst_bin_remove_func), (gst_bin_remove):
13901         * gst/gstbin.h:
13902         * gst/gstbuffer.c:
13903         * gst/gstcaps.h:
13904         * testsuite/clock/clock1.c: (main):
13905         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13906         (main):
13907         * testsuite/dlopen/loadgst.c: (do_test):
13908         * testsuite/refcounting/bin.c: (add_remove_test1),
13909         (add_remove_test2), (main):
13910         * testsuite/refcounting/element.c: (main):
13911         * testsuite/refcounting/element_pad.c: (main):
13912         * testsuite/refcounting/pad.c: (main):
13913         * tools/gst-launch.c: (sigint_handler_sighandler):
13914         * tools/gst-typefind.c: (main):
13915         Doc updates.
13916         Added doc about clock.
13917         removed gst_bin_iterate_recurse_up(), marked methods
13918         for removal.
13919         Fix more testsuites.
13920
13921 2005-03-09  Wim Taymans  <wim@fluendo.com>
13922
13923         * gst/gstpad.c: (gst_pad_get_direction),
13924         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13925         (gst_pad_collect_valist):
13926         * testsuite/bins/interface.c: (main):
13927         * testsuite/caps/audioscale.c: (test_caps):
13928         * testsuite/caps/caps.c: (test1), (test2), (test3):
13929         * testsuite/caps/deserialize.c: (main):
13930         * testsuite/caps/enumcaps.c: (main):
13931         * testsuite/caps/filtercaps.c: (main):
13932         * testsuite/caps/intersect2.c: (main):
13933         * testsuite/caps/random.c: (main):
13934         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13935         * testsuite/caps/sets.c: (check_caps):
13936         * testsuite/caps/simplify.c: (check_caps), (main):
13937         * testsuite/caps/subtract.c: (check_caps):
13938         Fix _pad_get_direction wrt ghostpads.
13939         Fix caps testsuite.
13940
13941 2005-03-09  Wim Taymans  <wim@fluendo.com>
13942
13943         * check/Makefile.am:
13944         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13945         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13946         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13947         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13948         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13949         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13950         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13951         (bin_element_is_sink), (gst_bin_iterate_sinks),
13952         (gst_bin_iterate_all_by_interface):
13953         * gst/gstbin.h:
13954         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13955         (gst_element_change_state), (gst_element_dispose),
13956         (gst_element_finalize), (gst_element_set_loop_function):
13957         * gst/gstelement.h:
13958         * gst/gstiterator.c: (find_custom_fold_func):
13959         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13960         (gst_pad_collectv), (gst_pad_collect_valist),
13961         (gst_pad_template_new):
13962         * gst/gstpipeline.c: (gst_pipeline_class_init),
13963         (gst_pipeline_dispose), (gst_pipeline_set_property),
13964         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13965         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13966         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13967         * gst/gstutils.h:
13968         * gst/schedulers/entryscheduler.c:
13969         * gst/schedulers/gstbasicscheduler.c:
13970         (gst_basic_scheduler_cothreaded_chain),
13971         (gst_basic_scheduler_chain_add_element):
13972         * testsuite/bins/interface.c: (main):
13973         Added GstBin test.
13974         Added GstSystemClock test.
13975         Implemented clock distribution code in GstBin.
13976         Implemented iterate sinks method for future use.
13977         Rearranged gstelement.h
13978         Fix GstIterator comparison bug.
13979         Moved some code to GstPipeline, mostly clocking related.
13980
13981 2005-03-09  Wim Taymans  <wim@fluendo.com>
13982
13983         * configure.ac:
13984         * gst/gst_private.h:
13985         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13986         (gst_bin_remove_func), (gst_bin_remove),
13987         (gst_bin_get_by_name_recurse_up):
13988         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13989         (gst_clock_id_compare_func), (gst_clock_id_wait),
13990         (gst_clock_id_wait_async), (gst_clock_init),
13991         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13992         * gst/gstelement.h:
13993         * gst/gstinfo.c: (_gst_debug_init):
13994         * gst/gstobject.h:
13995         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13996         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13997         * gst/gstpad.h:
13998         Bump version number, we're now 0.9.0
13999         Add future debugging category.
14000         Fix NULL _unref() in _get_by_name_recurse_up
14001         Rearrange gstpad.h.
14002         Update some docs.
14003
14004 2005-03-08  Wim Taymans  <wim@fluendo.com>
14005
14006         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14007         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14008         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14009         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14010         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14011         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14012         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14013         * gst/elements/gstidentity.c: (gst_identity_class_init):
14014         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14015         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14016         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14017         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14018         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14019         (gst_tee_link):
14020         * gst/gstelement.c: (gst_element_class_init),
14021         (gst_element_base_class_init), (gst_element_init),
14022         (gst_element_get_random_pad), (gst_element_wait_state_change),
14023         (gst_element_change_state), (gst_element_dispose),
14024         (gst_element_finalize), (gst_element_set_loop_function):
14025         * gst/gstelement.h:
14026         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14027         * gst/gstthread.c: (gst_thread_class_init),
14028         (gst_thread_release_children_locks), (gst_thread_change_state):
14029         * gst/schedulers/gstbasicscheduler.c:
14030         (gst_basic_scheduler_loopfunc_wrapper),
14031         (gst_basic_scheduler_chain_wrapper),
14032         (gst_basic_scheduler_src_wrapper),
14033         (gst_basic_scheduler_remove_element):
14034         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14035         Remove threadsafe properties. Fix elements because GObject
14036         complains when installing a property before declaring a
14037         set/get_property handler.
14038         Rearrange gstelement.h file, use STATE macros for state locks.
14039         Free mutexes in the finalize method instead of dispose.
14040
14041 2005-03-08  Wim Taymans  <wim@fluendo.com>
14042
14043         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14044         * gst/gstthread.c: (gst_thread_release_children_locks):
14045         Added parentage check.
14046         Fix build og GstThread again.
14047
14048 2005-03-08  Wim Taymans  <wim@fluendo.com>
14049
14050         * docs/design/part-MT-refcounting.txt:
14051         * docs/design/part-conventions.txt:
14052         * docs/design/part-gstobject.txt:
14053         * docs/design/part-relations.txt:
14054         * docs/design/part-standards.txt:
14055         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14056         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14057         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14058         (gst_bin_iterate_all_by_interface):
14059         * gst/gstbuffer.h:
14060         * gst/gstclock.h:
14061         * gst/gstelement.c: (gst_element_class_init),
14062         (gst_element_change_state), (gst_element_set_loop_function):
14063         * gst/gstelement.h:
14064         * gst/gstiterator.c:
14065         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14066         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14067         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14068         (gst_object_set_parent), (gst_object_unparent),
14069         (gst_object_check_uniqueness):
14070         * gst/gstobject.h:
14071         Docs updates, clean up some headers.
14072
14073 2005-03-07  Wim Taymans  <wim@fluendo.com>
14074
14075         * check/.cvsignore:
14076         * check/Makefile.am:
14077         * check/gst-libs/.cvsignore:
14078         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14079         * check/gst/.cvsignore:
14080         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14081         (START_TEST), (gstbus_suite), (main):
14082         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14083         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14084         (gst_data_suite), (main):
14085         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14086         (add_fold_func), (gstiterator_suite), (main):
14087         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14088         (thread_name_object), (thread_name_object_default),
14089         (gst_object_name_compare), (gst_object_suite), (main):
14090         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14091         (gst_pad_suite), (main):
14092         * check/gstcheck.c: (gst_check_log_message_func),
14093         (gst_check_log_critical_func), (gst_check_init):
14094         * check/gstcheck.h:
14095         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14096         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14097         Added checks.
14098
14099 2005-03-07  Wim Taymans  <wim@fluendo.com>
14100
14101         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14102         (gst_list_iterator_next), (gst_list_iterator_resync),
14103         (gst_list_iterator_free), (gst_iterator_new_list),
14104         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14105         (gst_iterator_free), (gst_iterator_push), (filter_next),
14106         (filter_resync), (filter_uninit), (filter_free),
14107         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14108         (gst_iterator_foreach), (find_custom_fold_func),
14109         (gst_iterator_find_custom):
14110         * gst/gstiterator.h:
14111         Added missing files.
14112
14113 2005-03-07  Wim Taymans  <wim@fluendo.com>
14114
14115         * Makefile.am:
14116         * configure.ac:
14117         * docs/design/part-MT-refcounting.txt:
14118         * docs/design/part-conventions.txt:
14119         * docs/design/part-gstobject.txt:
14120         * docs/design/part-relations.txt:
14121         * examples/mixer/mixer.c: (main):
14122         * examples/thread/thread.c: (eos), (main):
14123         * gst/Makefile.am:
14124         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14125         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14126         (gst_spider_plug_from_srcpad):
14127         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14128         (gst_spider_identity_change_state),
14129         (gst_spider_identity_sink_loop_type_finding):
14130         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14131         * gst/elements/gstidentity.c: (gst_identity_init):
14132         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14133         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14134         * gst/elements/gsttypefindelement.c: (free_entry):
14135         * gst/gst.c:
14136         * gst/gst.h:
14137         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14138         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14139         (gst_bin_set_index), (gst_bin_set_element_sched),
14140         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14141         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14142         (gst_bin_iterate_elements), (iterate_child_recurse),
14143         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14144         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14145         (compare_interface), (gst_bin_get_by_interface),
14146         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14147         * gst/gstbin.h:
14148         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14149         (gst_buffer_default_free), (gst_buffer_default_copy),
14150         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14151         (gst_buffer_create_sub):
14152         * gst/gstbuffer.h:
14153         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14154         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14155         (gst_caps_unref), (gst_static_caps_get),
14156         (gst_caps_remove_and_get_structure), (gst_caps_append),
14157         (gst_caps_append_structure), (gst_caps_remove_structure),
14158         (gst_caps_copy_nth), (gst_caps_set_simple),
14159         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14160         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14161         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14162         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14163         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14164         (gst_caps_structure_figure_out_union),
14165         (gst_caps_switch_structures), (gst_caps_do_simplify),
14166         (gst_caps_replace), (gst_caps_from_string),
14167         (gst_caps_copy_conditional):
14168         * gst/gstcaps.h:
14169         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14170         (_gst_clock_id_free), (gst_clock_id_unref),
14171         (gst_clock_id_compare_func), (gst_clock_id_wait),
14172         (gst_clock_id_wait_async), (gst_clock_class_init),
14173         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14174         (gst_clock_get_time), (gst_clock_set_time_adjust),
14175         (gst_clock_set_property), (gst_clock_get_property):
14176         * gst/gstclock.h:
14177         * gst/gstcompat.h:
14178         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14179         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14180         * gst/gstdata.h:
14181         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14182         (gst_element_requires_clock), (gst_element_provides_clock),
14183         (gst_element_set_clock), (gst_element_clock_wait),
14184         (gst_element_wait), (gst_element_set_time_delay),
14185         (gst_element_is_indexable), (gst_element_add_pad),
14186         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14187         (pad_compare_name), (gst_element_get_static_pad),
14188         (gst_element_request_pad), (gst_element_get_request_pad),
14189         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14190         (gst_element_class_get_pad_template_list),
14191         (gst_element_class_get_pad_template), (gst_element_error_func),
14192         (gst_element_get_random_pad), (gst_element_get_event_masks),
14193         (gst_element_send_event), (gst_element_seek),
14194         (gst_element_get_query_types), (gst_element_query),
14195         (gst_element_get_formats), (gst_element_convert),
14196         (gst_element_is_locked_state), (gst_element_set_locked_state),
14197         (gst_element_sync_state_with_parent), (gst_element_change_state),
14198         (gst_element_finalize), (gst_element_yield),
14199         (gst_element_interrupt), (gst_element_set_scheduler),
14200         (gst_element_get_scheduler), (gst_element_set_loop_function):
14201         * gst/gstelement.h:
14202         * gst/gstevent.h:
14203         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14204         (gst_format_get_by_nick), (gst_format_get_details),
14205         (gst_format_iterate_definitions):
14206         * gst/gstformat.h:
14207         * gst/gstindex.c: (gst_index_gtype_resolver):
14208         * gst/gstinfo.c:
14209         * gst/gstinfo.h:
14210         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14211         (gst_mem_chunk_free):
14212         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14213         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14214         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14215         (gst_object_dispatch_properties_changed),
14216         (gst_object_set_name_default), (gst_object_set_name),
14217         (gst_object_get_name), (gst_object_set_name_prefix),
14218         (gst_object_get_name_prefix), (gst_object_set_parent),
14219         (gst_object_get_parent), (gst_object_unparent),
14220         (gst_object_check_uniqueness), (gst_object_save_thyself),
14221         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14222         (gst_object_set_property), (gst_object_get_property),
14223         (gst_object_get_path_string):
14224         * gst/gstobject.h:
14225         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14226         (gst_real_pad_init), (gst_real_pad_get_property),
14227         (gst_pad_custom_new), (gst_pad_get_direction),
14228         (gst_pad_set_active), (gst_pad_is_active),
14229         (gst_pad_set_event_function), (gst_pad_is_linked),
14230         (gst_pad_link_free), (gst_pad_link_intersect),
14231         (gst_pad_link_fixate), (gst_pad_set_caps),
14232         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14233         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14234         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14235         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14236         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14237         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14238         (gst_pad_realize), (gst_pad_get_allowed_caps),
14239         (gst_real_pad_dispose), (gst_real_pad_finalize),
14240         (gst_pad_collectv), (gst_pad_collect_valist),
14241         (gst_pad_template_dispose), (gst_pad_template_new),
14242         (gst_pad_get_internal_links):
14243         * gst/gstpad.h:
14244         * gst/gstpipeline.c: (gst_pipeline_dispose),
14245         (gst_pipeline_change_state):
14246         * gst/gstpipeline.h:
14247         * gst/gstplugin.c:
14248         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14249         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14250         * gst/gstpluginfeature.h:
14251         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14252         * gst/gstquery.c: (_gst_query_type_initialize),
14253         (gst_query_type_register), (gst_query_type_get_by_nick),
14254         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14255         * gst/gstquery.h:
14256         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14257         * gst/gstscheduler.c: (gst_scheduler_add_element),
14258         (gst_scheduler_factory_create):
14259         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14260         (gst_structure_free), (gst_structure_set_name),
14261         (gst_structure_id_set_value), (gst_structure_set_value),
14262         (gst_structure_set_valist), (gst_structure_remove_field),
14263         (gst_structure_remove_fields),
14264         (gst_structure_remove_fields_valist),
14265         (gst_structure_remove_all_fields), (gst_structure_foreach),
14266         (gst_structure_map_in_place),
14267         (gst_caps_structure_fixate_field_nearest_int),
14268         (gst_caps_structure_fixate_field_nearest_double):
14269         * gst/gststructure.h:
14270         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14271         (gst_system_clock_init), (gst_system_clock_dispose),
14272         (gst_system_clock_async_thread),
14273         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14274         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14275         * gst/gstsystemclock.h:
14276         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14277         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14278         * gst/gsttaginterface.c:
14279         * gst/gstthread.c: (gst_thread_dispose),
14280         (gst_thread_release_children_locks), (gst_thread_change_state),
14281         (gst_thread_main_loop):
14282         * gst/gsttrashstack.h:
14283         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14284         * gst/gsttypes.h:
14285         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14286         (gst_element_request_pad), (gst_element_get_pad_from_template),
14287         (gst_element_request_compatible_pad),
14288         (gst_element_get_compatible_pad_filtered),
14289         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14290         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14291         (gst_element_link_many), (gst_element_link),
14292         (gst_element_link_pads), (gst_element_unlink_pads),
14293         (gst_element_unlink_many), (gst_element_unlink),
14294         (gst_pad_can_link_filtered), (gst_pad_can_link),
14295         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14296         (gst_object_default_error), (gst_bin_add_many),
14297         (gst_bin_remove_many), (gst_element_populate_std_props),
14298         (gst_element_class_install_std_props), (gst_buffer_merge),
14299         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14300         (link_fold_func), (gst_pad_proxy_setcaps):
14301         * gst/gstutils.h:
14302         * gst/gstvalue.c: (gst_value_deserialize_string):
14303         * gst/parse/grammar.y:
14304         * gst/schedulers/gstbasicscheduler.c:
14305         (gst_basic_scheduler_cothreaded_chain),
14306         (gst_basic_scheduler_chain_recursive_add),
14307         (gst_basic_scheduler_pad_link):
14308         * gst/schedulers/gstoptimalscheduler.c:
14309         (get_group_schedule_function),
14310         (gst_opt_scheduler_state_transition),
14311         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14312         * libs/gst/bytestream/bytestream.c:
14313         * libs/gst/dataprotocol/dataprotocol.c:
14314         (gst_dp_header_from_buffer):
14315         * po/nb.po:
14316         * po/ru.po:
14317         * tests/threadstate/threadstate2.c: (eos):
14318         * tools/gst-compprep.c: (main):
14319         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14320         (print_pad_info), (print_children_info):
14321         * tools/gst-launch.c: (idle_func), (main):
14322         * tools/gst-md5sum.c: (idle_func), (main):
14323         * tools/gst-xmlinspect.c: (print_element_info):
14324         First THREADED backport attempt, focusing on adding locks and
14325         making sure the API is threadsafe. Needs more work. More docs
14326         follow this week.
14327
14328 2005-02-24  Andy Wingo  <wingo@pobox.com>
14329
14330         * tests/bench-complexity.scm:
14331         * tests/complexity.gnuplot: New files, good for running complexity
14332         benchmarks.
14333
14334         * tests/Makefile.am:
14335         * tests/complexity.c: New test, sets up N elements, at each level
14336         teeing into M streams per element. Eeeenteresting.
14337
14338         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14339         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14340         running bench-mass_elements.scm.
14341
14342         * tests/bench-mass_elements.scm: New script, runs mass_elements
14343         for various numbers of identities, outputting the results to a
14344         file. Requires guile 1.6. Just for testing.
14345
14346 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14347
14348         * gst/schedulers/fairscheduler.c:
14349           compile with debug disabled
14350
14351 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14352
14353         * configure.ac:
14354           hunting season on 0.9 is now OPEN