Fixed long standing mem-leak
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gstelement.c: (gst_element_class_init),
4         (gst_element_set_state), (activate_pads),
5         (gst_element_save_thyself):
6         * tools/gst-compprep.c: (main):
7         * tools/gst-inspect.c: (print_element_properties_info):
8         * tools/gst-xmlinspect.c: (print_element_properties):
9           Fixed long standing mem-leak
10
11 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12
13         * check/gst/gstbin.c: (GST_START_TEST):
14         * gst/gstbin.c: (bin_bus_handler):
15         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17         (gst_message_new_warning), (gst_message_new_tag),
18         (gst_message_new_state_changed), (gst_message_new_segment_start),
19         (gst_message_new_segment_done), (gst_message_new_custom):
20         * gst/gstmessage.h:
21         * tools/gst-launch.c: (event_loop):
22         * tools/gst-md5sum.c: (event_loop):
23           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
24           that applications can sensibly post custom messages with references
25           to their own objects.
26
27 2005-08-24  Andy Wingo  <wingo@pobox.com>
28
29         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
30         already.
31
32 2005-08-24  Wim Taymans  <wim@fluendo.com>
33
34         * gst/base/gstbasetransform.c: (gst_base_transform_init),
35         (gst_base_transform_transform_caps),
36         (gst_base_transform_transform_size),
37         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
38         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
39         (gst_base_transform_handle_buffer):
40         * gst/base/gstbasetransform.h:
41         Many fixes and new features added by Thomas. Can now also do
42         transforms with variable sizes and a custom fixate_caps function.
43
44 2005-08-24  Wim Taymans  <wim@fluendo.com>
45
46         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
47         Some debugging.
48
49         * gst/gstclock.h:
50         Cast to ClockTime before formatting to time.
51
52         * gst/gstutils.h:
53         Cleanups.
54
55 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
56
57         * check/gst-libs/controller.c: (GST_START_TEST),
58         (gst_controller_suite):
59         * docs/gst/tmpl/gstcaps.sgml:
60         * docs/gst/tmpl/gstghostpad.sgml:
61         * docs/gst/tmpl/gstquery.sgml:
62         * docs/gst/tmpl/gstutils.sgml:
63         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
64         (gst_object_sink_values), (gst_object_get_value_arrays),
65         (gst_object_get_value_array):
66           gracefully handle helper method calls to objects that are not beeing
67           controlled, added test case for that          
68
69 2005-08-23  Wim Taymans  <wim@fluendo.com>
70
71         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
72         (gst_event_new_newsegment), (gst_event_parse_newsegment),
73         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
74         (gst_event_parse_qos), (gst_event_new_seek),
75         (gst_event_parse_seek):
76         * gst/gstevent.h:
77         Some more debugging output and doc cleanups.
78
79         * gst/gstqueue.c: (gst_queue_handle_sink_event):
80         Fix possible deadlock.
81
82 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
83
84         * docs/gst/gstreamer-docs.sgml:
85         * docs/gst/gstreamer-sections.txt:
86         * docs/gst/gstreamer.types:
87         * docs/gst/tmpl/.cvsignore:
88         * gst/gstbin.h:
89         * gst/gstbus.c:
90         * gst/gstelement.c:
91         * gst/gstevent.h:
92           added about 100 symbols from gstreamer-unused.txt to the right sections
93           fixed more broken comments
94           added GstBus to docs
95
96 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
97
98         * docs/gst/gstreamer-sections.txt:
99         * docs/gst/tmpl/.cvsignore:
100         * docs/gst/tmpl/gstbin.sgml:
101         * docs/gst/tmpl/gstbuffer.sgml:
102         * gst/base/gstbasesrc.c:
103         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
104         * gst/gstbuffer.c:
105         * gst/gstbuffer.h:
106         * tools/gst-launch.1.in:
107           inlined more doc comments, added missing comments and fixed comments
108           fixed typos
109
110 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
111
112         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
113           some debugging
114         * gst/gstcaps.h:
115           whitespace fixes
116         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
117           more debugging
118         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
119         * gst/gststructure.h:
120           add a fixate function for booleans; add a FIXME that these func
121           names should probably be gst_structure_fixate_*
122
123 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
124
125         * docs/gst/gstreamer-docs.sgml:
126         * docs/gst/gstreamer-sections.txt:
127         * gst/Makefile.am:
128         * gst/gstbin.c: (gst_bin_get_type),
129         (gst_bin_child_proxy_get_child_by_index),
130         (gst_bin_child_proxy_get_children_count),
131         (gst_bin_child_proxy_init):
132         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
133         (gst_child_proxy_get_child_by_index),
134         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
135         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
136         (gst_child_proxy_get), (gst_child_proxy_set_property),
137         (gst_child_proxy_set_valist), (gst_child_proxy_set),
138         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
139         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
140         * gst/gstchildproxy.h:
141         * gst/parse/grammar.y:
142         * tools/gst-inspect.c: (print_interfaces),
143         (print_element_properties_info), (print_element_info):
144          ported gstchildproxy over from 0.8
145          ported gst-inspect fixes and enhancements over from 0.8
146
147 2005-08-22  Wim Taymans  <wim@fluendo.com>
148
149         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
150         (gst_base_transform_handle_buffer):
151         Also call the transform function if we have ANY caps.
152
153         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
154         Fix debug info.
155
156 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
157
158         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
159           Don't pretend to handle seek events if the source is not seekable
160
161 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
162
163         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
164           Remove extra parameter to debug output
165
166         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
167         (gst_base_src_do_seek), (gst_base_src_activate_push):
168           Fix seek event handling.
169
170         * gst/gstpipeline.c: (gst_pipeline_change_state):
171         * gst/gstqueue.c: (gst_queue_handle_sink_event),
172         (gst_queue_src_activate_push):
173           Don't start the src pad task on FLUSH_STOP if the pad
174           isn't linked.
175           Debug changes.
176
177 2005-08-22  Wim Taymans  <wim@fluendo.com>
178
179         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
180         Added check for gst_static_caps_get() refcounting.
181
182 2005-08-22  Wim Taymans  <wim@fluendo.com>
183
184         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
185         Make _static_caps_get() refcounting sane.
186         
187         * gst/gstelement.c: (gst_element_set_state):
188         Add g_return_val_if_fail() to protect against segfaults.
189
190 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
191
192         * docs/gst/tmpl/gstevent.sgml:
193         * gst/gstevent.c:
194         * gst/gstevent.h:
195           inlined remaining docs, added missing doc comments
196
197 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
198
199         * check/gst/gstbin.c: (GST_START_TEST):
200           since we don't know when preroll is done, use refcount range
201           check for the sink
202         * gst/check/gstcheck.h:
203           add macro for checking refcount range
204
205 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
206
207         * check/Makefile.am:
208           clean up environment for when registry gets built versus
209           when actual tests are run; valgrind seems to not report
210           leaks if GST_PLUGIN_PATH is set to some specific values
211         * check/gst/gstbin.c: (GST_START_TEST):
212           add more refcounting checks; maybe this exposes a
213           preroll lock bug ?
214         * common/check.mak:
215         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
216         * gst/check/gstcheck.h:
217         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
218         (gst_bin_change_state):
219         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
220           add/fix debugging/whitespace
221
222 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
223
224         * check/gst/gstevent.c: (event_probe), (test_event),
225         (GST_START_TEST):
226          Er, don't call gst_bin_watch_for_state_change you idiot.
227
228 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
229
230         * check/Makefile.am:
231           Use CHECK_CFLAGS and CHECK_LIBS
232         * check/gst/gstevent.c: (event_probe), (test_event),
233         (GST_START_TEST):
234           Don't leak events.
235         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
236         (gst_base_src_start), (gst_base_src_stop),
237         (gst_base_src_activate_push), (gst_base_src_activate_pull),
238         (gst_base_src_change_state):
239           Sprinkle gst_base_src_stop liberally around error paths to fix
240           problems reusing a source after failed state changes.
241         * gst/base/gsttypefindhelper.c: (helper_find_peek),
242         (helper_find_suggest), (gst_type_find_helper):
243           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
244         * gst/gstevent.h:
245         * docs/gst/tmpl/gstevent.sgml:
246           Migrate part of the docs from the SGML file. Wait for ensonic to
247           tell me how I did it wrong ;)
248         * tools/gst-typefind.c: (main):
249           Extra robustness to state changes between files.
250
251 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
252
253         * check/Makefile.am:
254           don't valgrind the controller test - it's leaking - Stefan, HELP
255         * gst/check/gstcheck.c: (gst_check_message_error),
256         (gst_check_chain_func), (gst_check_setup_element),
257         (gst_check_teardown_element), (gst_check_setup_src_pad),
258         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
259         (gst_check_teardown_sink_pad):
260         * gst/check/gstcheck.h:
261           add a bunch of methods to set up elements, and src and sink pads
262         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
263         * check/elements/identity.c: (setup_identity), (cleanup_identity),
264         (GST_START_TEST):
265           use them
266         * gst/gstmessage.c:
267         * gst/gsttag.h:
268           whitespace/doc fixes
269
270 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
271
272         * gst/gstelement.h:
273           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
274           be handled by the application and not always printed as well
275
276 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
277
278         * check/Makefile.am:
279           set GST_TOOLS_DIR
280         * gst/check/gstcheck.c: (gst_check_message_error):
281         * gst/check/gstcheck.h:
282           add a fail_unless_equals_int
283           add fail_unless for error messages
284
285 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * check/Makefile.am:
288         * check/gst.supp:
289         * common/Makefile.am:
290         * common/check.mak:
291         * common/gst.supp:
292           factor out some of the common stuff so we can use it
293
294 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
295
296         * check/Makefile.am:
297         * check/gst/gstiterator.c: (GST_START_TEST):
298         * check/gst/gstsystemclock.c: (GST_START_TEST),
299         (gst_systemclock_suite):
300         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
301         * gst/gstclock.c:
302           valgrind more tests
303
304 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
305
306         * check/elements/.cvsignore:
307         * check/elements/gstfakesrc.c:
308           rename to name of element
309         * check/elements/identity.c: (chain_func), (event_func),
310         (setup_identity), (cleanup_identity), (GST_START_TEST),
311         (identity_suite), (main):
312           add a test for identity
313         * check/Makefile.am:
314         * pkgconfig/Makefile.am:
315         * pkgconfig/gstreamer-check.pc.in:
316         * pkgconfig/gstreamer-check-uninstalled.pc.in:
317         * gst/check:
318         * gst/Makefile.am:
319         * configure.ac:
320           move the check stuff to a library that gets installed
321         * check/gst-libs/controller.c: (GST_START_TEST):
322         * check/gst-libs/gdp.c:
323         * check/gst/gst.c: (GST_START_TEST):
324         * check/gst/gstbin.c:
325         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
326         * check/gst/gstbus.c:
327         * check/gst/gstcaps.c: (GST_START_TEST):
328         * check/gst/gstelement.c:
329         * check/gst/gstghostpad.c:
330         * check/gst/gstiterator.c:
331         * check/gst/gstmessage.c:
332         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
333         * check/gst/gstobject.c:
334         * check/gst/gstpad.c: (GST_START_TEST):
335         * check/gst/gststructure.c: (GST_START_TEST):
336         * check/gst/gstsystemclock.c: (GST_START_TEST),
337         (gst_systemclock_suite):
338         * check/gst/gsttag.c: (gst_tag_suite):
339         * check/gst/gstvalue.c:
340         * check/pipelines/cleanup.c:
341         * check/pipelines/simple_launch_lines.c:
342         * check/states/sinks.c:
343           change include statement
344
345         * docs/gst/gstreamer-sections.txt:
346         * docs/gst/tmpl/gstpad.sgml:
347           document more pad stuff
348         * gst/gstminiobject.c: (gst_mini_object_ref),
349         (gst_mini_object_unref):
350           debug refcounting
351
352 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
353
354         * docs/gst/tmpl/gst.sgml:
355         * gst/gst.c:
356           eliminate another tmpl file, fix spelling in the long-description
357
358 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
359
360         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
361         (test_event), (timediff), (gstevents_suite):
362           Should fix build on 64-bit arch's
363
364 2005-08-18  Andy Wingo  <wingo@pobox.com>
365
366         Make sure that when a pipeline goes to PLAYING, that data has
367         actually hit the sink.
368
369         * check/states/sinks.c (test_sink): A sink that doesn't get any
370         data shouldn't return SUCCESS for going to either PLAYING or
371         PAUSED. Test also the return values on the way back down.
372
373         * gst/gstelement.c (gst_element_set_state): When changing the
374         state of an element currently changing state asynchronously, go to
375         lost-state after commiting the pending state. Makes future calls
376         to get_state continue to return ASYNC.
377
378         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
379         ASYNC when going to PLAYING if we still don't have preroll, as can
380         happen with live sources.
381
382 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
383
384         * docs/pwg/advanced-types.xml:
385           Hack long paragraph into 2 chunks as a workaround for buggy
386           jadetex version in sid and breezy that loops infinitely and
387           eats all RAM.
388
389 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
390
391         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
392         (test_event), (timediff), (gstevents_suite):
393           Provide more error margin in clock measurements to allow for 
394           g_get_current_time inaccuracies.
395
396 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
397
398         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
399         (test_event), (timediff), (gstevents_suite):
400            Fix error message output so I might be able to tell why the
401            test works here but fails on the build farm.
402
403 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
404
405         * check/Makefile.am:
406         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
407         (test_event), (timediff), (gstevents_suite), (main):
408           I wrote a test!
409
410         * docs/design/part-seeking.txt:
411           Spelling correction
412
413         * docs/gst/tmpl/gstevent.sgml:
414         * docs/gst/tmpl/gstfakesrc.sgml:
415           Docs updates.
416
417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
418           Treat a buffer-without-newsegment the same as a receiving 
419           a newsegment not in time format, and disable syncing to the clock
420           with a warning.
421
422         * gst/gstbus.c: (gst_bus_set_sync_handler):
423           Assert if anyone tries to replace the existing sync_handler for bus, 
424           as only the owner should be setting it.
425
426         * gst/gstevent.h:
427           Have a fixed set of custom event enums with events identified by
428           their structure name (as in 0.8), rather than a free-for-all
429           allowing collisions between enum values from different plugins.
430
431         * gst/gstpad.c: (gst_pad_class_init):
432           Docs change.
433           
434         * gst/gstqueue.c: (gst_queue_handle_sink_event):
435           Handle out-of-band downstream events from the sending thread.
436
437 2005-08-17  Andy Wingo  <wingo@pobox.com>
438
439         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
440         play-timeout==0 to mean no timeout at all. In that case, don't
441         bother with a get_state or a warning, just return directly, even
442         if it's ASYNC.
443
444         * gst/base/gstbasetransform.c: Debug changes.
445
446         * gst/gstutils.h:
447         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
448         ensure bins post state change messages. A bit of a hack but I can't
449         think of a way to avoid it.
450
451         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
452
453 2005-08-16  Andy Wingo  <wingo@pobox.com>
454
455         * gst/base/gstadapter.h:
456         * gst/base/gstadapter.c (gst_adapter_take): New function, like
457         peek() but you own the data. Not terribly efficient atm.
458
459 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
460
461         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
462         (gst_element_found_tags):
463         * gst/gstutils.h:
464           Add two utility functions for tag handling.
465
466 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
467
468         * docs/manual/advanced-dataaccess.xml:
469         * docs/manual/basics-helloworld.xml:
470           Fix docs to use _bin_add() before _link(), which fixes the examples
471           with recent core versions (reported by Madhan Raj M
472           <raj_madan@rediffmail.com>, #313199).
473
474 2005-08-16  Wim Taymans  <wim@fluendo.com>
475
476         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
477         Added subtract checks.
478
479         * docs/design/part-events.txt:
480         Some more docs about newsegment
481
482         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
483         Fix FIXME
484
485         * gst/gstcaps.c: (gst_caps_to_string):
486         Add comments, cleanups.
487         
488         * gst/gstelement.c: (gst_element_save_thyself):
489         cleanups
490         
491         * gst/gstvalue.c: (gst_value_collect_int_range),
492         (gst_string_unwrap), (gst_value_union_int_int_range),
493         (gst_value_union_int_range_int_range),
494         (gst_value_intersect_int_int_range),
495         (gst_value_intersect_int_range_int_range),
496         (gst_value_intersect_double_double_range),
497         (gst_value_intersect_double_range_double_range),
498         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
499         (gst_value_subtract_int_range_int),
500         (gst_value_subtract_double_range_double),
501         (gst_value_subtract_double_range_double_range),
502         (gst_value_subtract_from_list), (gst_value_subtract_list),
503         (gst_value_can_compare), (gst_value_compare_fraction):
504         Cleanups, add comments, remove unneeded asserts.
505
506 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
507
508         * tools/gst-launch.c: (event_loop):
509           don't convert NULL structures to strings
510
511 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
512
513         * docs/gst/gstreamer-sections.txt:
514           made some defines private
515         * docs/gst/tmpl/gstconfig.sgml:
516         * docs/gst/tmpl/gstqueue.sgml:
517         * docs/gst/tmpl/gsttaglist.sgml:
518         * docs/gst/tmpl/gsttypes.sgml:
519         * docs/gst/tmpl/gstutils.sgml:
520         * docs/pwg/appendix-porting.xml:
521         * gst/base/gstbasesink.h:
522         * gst/base/gstbasesrc.c:
523         * gst/base/gstbasesrc.h:
524         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
525         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
526         * gst/gstelement.c: (gst_element_class_init):
527         * gst/gstpad.c: (gst_pad_class_init):
528         * gst/gstqueue.c: (gst_queue_class_init):
529         * gst/gstxml.c: (gst_xml_class_init):
530           documented all undocumented signal inline
531         * libs/gst/controller/gst-controller.h:
532           added padding
533
534 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
535
536         * docs/pwg/appendix-porting.xml:
537           Document _set_link_function -> _set_setcaps_function.
538
539 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
540
541         * check/Makefile.am:
542           add a .check target for running the check
543         * check/gst-libs/controller.c: (GST_START_TEST):
544           cosmetic fixups
545         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
546           complete checks for gstbuffer; would be nice if I could get the
547           gcov stuff to work so I can see if I actually completed gstbuffer.c
548         * check/gstcheck.h:
549           add ASSERT_BUFFER_REFCOUNT
550
551 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
552
553         * docs/gst/gstreamer-sections.txt:
554         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
555         * gst/gsttag.h:
556           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
557           spew out a warning if a tag that is already registered
558           is re-registered, unless it is re-registered with a 
559           different type (#308438).
560
561 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
562
563         * docs/pwg/appendix-porting.xml:
564         * docs/pwg/building-state.xml:
565           Add some paragraphs about state changes in 0.9 to the PWG
566           and the porting guide, in particular about the new meaning
567           of GST_STATE_PAUSED and how to write state change functions
568           with concurrent access by multiple threads in mind.
569
570 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
571
572         * docs/gst/gstreamer-docs.sgml:
573         * docs/libs/gstreamer-libs-docs.sgml:
574           added deprecation and since indexes
575         * libs/gst/controller/gst-controller.c:
576         * libs/gst/controller/gst-helper.c:
577           added since tags
578
579
580 2005-08-11  Wim Taymans  <wim@fluendo.com>
581
582         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
583         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
584         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
585         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
586         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
587         (gst_ghost_pad_set_target):
588         Actually implement (re)setting the target on a ghostpad
589         as described in the docs.
590
591 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
592
593         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
594           Check whether GST_DEBUG_NO_COLOR environment variable is
595           set and disable coloured debug output if that is the case.
596
597 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
598
599         * gst/base/gsttypefindhelper.c: (helper_find_peek),
600         (gst_type_find_helper):
601           The memory returned by gst_type_find_peek() needs to
602           stay valid until the end of a typefind function, and
603           typefind functions may keep results from different 
604           offsets around, so we can't just unref the buffer from
605           the previous _peek(), but have to save all buffers 
606           returned by _peek() until typefinding is done and only
607           free them then.
608
609 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
610
611         * docs/gst/gstreamer-sections.txt:
612         * gst/gstutils.h:
613           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
614
615 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
616
617         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
618           Fix a pretty good memleak.
619
620 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
621
622         * gst/gstiterator.h:
623           Fix wrong include and 'make distcheck'.
624
625 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
626
627         * gst/gstbin.c: (bin_bus_handler):
628           Use gst_element_post_message() instead.
629
630 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
631
632         * gst/base/gstadapter.h:
633         * gst/base/gstbasesink.h:
634         * gst/base/gstbasesrc.h:
635         * gst/base/gstbasetransform.h:
636         * gst/base/gstcollectpads.h:
637         * gst/base/gstpushsrc.h:
638         * gst/gstiterator.h:
639           Add padding to our base elements' class and instance structs and
640           to GstIterator (you will need to rebuild all plugins and apps!)
641
642 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
643
644         * gst/gstbin.c: (bin_bus_handler):
645           Make default message forwarding from child->bus to bin->bus
646           threadsafe and make it not emit warnings if the parent has no bus.
647
648 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
649
650         * gst/gstelement.c: (activate_pads):
651           On paused->ready, set pad->caps to NULL, as is the documented
652           behaviour in this state change. Fixes playback of series of
653           media files when visualization is enabled in Totem.
654
655 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
656
657         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
658           Allow NULL as filter-caps (which means "any").
659
660 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
661
662         * docs/libs/gstreamer-libs-sections.txt:
663         * libs/gst/controller/gst-controller.c:
664         * libs/gst/controller/gst-controller.h:
665         * libs/gst/controller/gst-helper.c:
666           adding more entries to the docs and fix small doc-bugs
667
668 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
669
670         * docs/gst/gstreamer-docs.sgml:
671         * docs/gst/gstreamer-sections.txt:
672         * docs/gst/gstreamer.types:
673         * docs/gst/tmpl/gstbasesink.sgml:
674         * docs/gst/tmpl/gstbasesrc.sgml:
675         * docs/gst/tmpl/gstbasetransform.sgml:
676         * docs/gst/tmpl/gstfakesrc.sgml:
677         * gst/base/gstcollectpads.c:
678         * gst/base/gstcollectpads.h:
679         * libs/gst/controller/gst-controller.c:
680         * libs/gst/controller/gst-controller.h:
681         * libs/gst/controller/gst-helper.c:
682         * libs/gst/controller/gst-interpolation.c:
683         * libs/gst/controller/lib.c:
684           added long/short desc for controller docs
685           added collectpads base class docs
686           added correct includes to base-class docs
687
688 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
689
690         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
691         (gst_test_mono_source_set_property),
692         (gst_test_mono_source_class_init), (GST_START_TEST),
693         (gst_controller_suite):
694         * docs/gst/gstreamer-docs.sgml:
695         * docs/gst/gstreamer-sections.txt:
696         * docs/gst/gstreamer.types:
697         * docs/libs/gstreamer-libs-docs.sgml:
698         * docs/libs/gstreamer-libs-sections.txt:
699         * gst/base/gstadapter.c:
700         * libs/gst/controller/gst-controller.c:
701         (gst_controlled_property_new), (gst_controlled_property_free),
702         (gst_controller_new_valist),
703         (gst_controller_remove_properties_valist),
704         (gst_controller_sink_values), (_gst_controller_finalize):
705         * libs/gst/controller/gst-controller.h:
706         * libs/gst/controller/gst-helper.c:
707         (gst_object_control_properties), (gst_object_uncontrol_properties),
708         (gst_object_get_controller), (gst_object_set_controller),
709         (gst_object_sink_values), (gst_object_get_value_arrays),
710         (gst_object_get_value_array):
711           more tests (and fixes) for the controller
712           more docs for the controller
713           integrated companies docs for the adapter 
714
715 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
718         (GST_START_TEST), (fakesrc_suite):
719           add tests for sizetype
720
721 2005-08-04  Andy Wingo  <wingo@pobox.com>
722
723         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
724         fixes buffer_alloc proxying among other things.
725
726         * gst/base/gstbasetransform.c:
727         * gst/base/gstbasetransform.h:
728         Revert patch to gstbasetransform from 7-28 removing
729         delay_configure.
730
731         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
732         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
733         Semantics changed, should return not the size of the output buffer
734         but the byte size of a buffer with a given caps.
735
736         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
737         debug object.
738         (gst_base_transform_configure_caps): Don't set out_size here: (in,
739         out) are not the pad caps until setcaps finishes.
740         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
741         not-in-place case as well. Deal with changing from in-place to
742         not-in-place within calling pad_alloc_buffer. Still a bit
743         concerned about the overhead here...
744
745 2005-08-03  Andy Wingo  <wingo@pobox.com>
746
747         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
748         fixating is an error.
749
750 2005-08-04  Edward Hervey  <edward@fluendo.com>
751
752         * gst/base/gstadapter.h: 
753         Added gst_adapter_get_type() to the header
754
755 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
756
757         * check/Makefile.am:
758         * check/gst-libs/controller.c:
759         * libs/gst/controller/gst-controller.c:
760         (gst_controller_new_valist):
761           added check test suite for the controller
762         * gst/base/gstpushsrc.c:
763           fixed a doc typo
764
765 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
766
767         * docs/gst/Makefile.am:
768         * docs/gst/gstreamer-docs.sgml:
769         * docs/gst/gstreamer-sections.txt:
770         * docs/gst/gstreamer.types:
771         * docs/gst/tmpl/gstfakesrc.sgml:
772         * gst/base/README:
773         * gst/base/gstbasesink.c:
774         * gst/base/gstbasesink.h:
775         * gst/base/gstbasesrc.c:
776         * gst/base/gstbasesrc.h:
777         * gst/base/gstbasetransform.c:
778         * gst/base/gstpushsrc.c:
779         * gst/base/gstpushsrc.h:
780           add short/long description docs to base classes
781           add pushsrc to the docs
782           remove consolidated doc fragments
783
784 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
785
786         * configure.ac:
787         * docs/libs/Makefile.am:
788         * docs/libs/gstreamer-libs-docs.sgml:
789         * docs/libs/gstreamer-libs-sections.txt:
790         * docs/libs/gstreamer-libs.types:
791         * examples/Makefile.am:
792         * examples/controller/.cvsignore:
793         * examples/controller/Makefile.am:
794         * examples/controller/audio-example.c: (main):
795         * libs/gst/Makefile.am:
796         * libs/gst/controller/.cvsignore:
797         * libs/gst/controller/Makefile.am:
798         * libs/gst/controller/gst-controller.c:
799         (on_object_controlled_property_changed), (gst_timed_value_compare),
800         (gst_timed_value_find),
801         (gst_controlled_property_set_interpolation_mode),
802         (gst_controlled_property_new), (gst_controlled_property_free),
803         (gst_controller_find_controlled_property),
804         (gst_controller_new_valist), (gst_controller_new),
805         (gst_controller_remove_properties_valist),
806         (gst_controller_remove_properties), (gst_controller_set),
807         (gst_controller_set_from_list), (gst_controller_unset),
808         (gst_controller_get), (gst_controller_get_all),
809         (gst_controller_sink_values), (gst_controller_get_value_arrays),
810         (gst_controller_get_value_array),
811         (gst_controller_set_interpolation_mode),
812         (_gst_controller_finalize), (_gst_controller_init),
813         (_gst_controller_class_init), (gst_controller_get_type):
814         * libs/gst/controller/gst-controller.h:
815         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
816         (g_object_uncontrol_properties), (g_object_get_controller),
817         (g_object_set_controller), (g_object_sink_values),
818         (g_object_get_value_arrays), (g_object_get_value_array):
819         * libs/gst/controller/gst-interpolation.c:
820         (gst_controlled_property_find_timed_value_node),
821         (interpolate_none_get), (interpolate_trigger_get),
822         (interpolate_trigger_get_value_array):
823         * libs/gst/controller/lib.c: (gst_controller_init):
824         * pkgconfig/Makefile.am:
825         * pkgconfig/gstreamer-control-uninstalled.pc.in:
826         * pkgconfig/gstreamer-control.pc.in:
827         * testsuite/Makefile.am:
828         * testsuite/controller/.cvsignore:
829         * testsuite/controller/Makefile.am:
830         * testsuite/controller/interpolator.c: (main):
831           added controller code
832           removed dparam pc files
833
834 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
835         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
836         (gst_collectpads_stop):
837           Broadcast the condition when shutting down, to make sure we wake all
838           threads up. Shut down pads on finalize, for safety.
839
840 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
841         * gst/base/gstbasetransform.c: (gst_base_transform_init),
842         (gst_base_transform_handle_buffer),
843         (gst_base_transform_change_state):
844           Handle PAUSED->READY->PAUSED transition after negotiation
845           occurred already.
846         * gst/gstmessage.c: (gst_message_init):
847           Extra piece of debug for new messages.
848
849 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
850
851         * configure.ac:
852         * docs/gst/tmpl/gstbasesrc.sgml:
853         * docs/gst/tmpl/gstelement.sgml:
854         * docs/gst/tmpl/gstevent.sgml:
855         * docs/gst/tmpl/gstfakesrc.sgml:
856         * docs/gst/tmpl/gstformat.sgml:
857         * docs/gst/tmpl/gstghostpad.sgml:
858         * docs/gst/tmpl/gstpad.sgml:
859         * docs/gst/tmpl/gstquery.sgml:
860         * docs/gst/tmpl/gststructure.sgml:
861         * docs/gst/tmpl/gsttaglist.sgml:
862         * docs/gst/tmpl/gstvalue.sgml:
863         * docs/libs/gstreamer-libs-docs.sgml:
864         * docs/libs/gstreamer-libs-sections.txt:
865         * docs/libs/gstreamer-libs.types:
866         * libs/gst/Makefile.am:
867         * libs/gst/control/.cvsignore:
868         * libs/gst/control/Makefile.am:
869         * libs/gst/control/control.c:
870         * libs/gst/control/control.h:
871         * libs/gst/control/dparam.c:
872         * libs/gst/control/dparam.h:
873         * libs/gst/control/dparam_smooth.c:
874         * libs/gst/control/dparam_smooth.h:
875         * libs/gst/control/dparamcommon.h:
876         * libs/gst/control/dparammanager.c:
877         * libs/gst/control/dparammanager.h:
878         * libs/gst/control/dplinearinterp.c:
879         * libs/gst/control/dplinearinterp.h:
880         * libs/gst/control/unitconvert.c:
881         * libs/gst/control/unitconvert.h:
882         * testsuite/Makefile.am:
883         * testsuite/dynparams/.cvsignore:
884         * testsuite/dynparams/Makefile.am:
885         * testsuite/dynparams/dparamstest.c:
886         * tools/Makefile.am:
887         * tools/gst-inspect.c: (print_element_info), (main):
888         * tools/gst-xmlinspect.c: (print_element_info), (main):
889           deactivate and remove dparams (libgstcontrol)
890
891 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
892
893         * gst/elements/gsttypefindelement.c:
894         (gst_type_find_element_have_type), (gst_type_find_element_init),
895         (stop_typefinding), (gst_type_find_element_handle_event),
896         (gst_type_find_element_chain), (gst_type_find_element_getrange):
897         * gst/elements/gsttypefindelement.h:
898           Set caps on all outgoing buffers, not just the first one.
899
900 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
901
902         * gst/elements/gsttypefindelement.c:
903         (gst_type_find_element_have_type),
904         (gst_type_find_element_check_set_buffer_caps),
905         (gst_type_find_element_init), (stop_typefinding),
906         (gst_type_find_element_handle_event),
907         (gst_type_find_element_chain), (gst_type_find_element_getrange):
908         * gst/elements/gsttypefindelement.h:
909           Set caps on first outgoing buffer when we've found the type.
910
911 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
912
913         * docs/gst/gstreamer-docs.sgml:
914         * docs/gst/gstreamer-sections.txt:
915         * docs/gst/tmpl/gstscheduler.sgml:
916         * docs/gst/tmpl/gstschedulerfactory.sgml:
917           Remove some old cruft from docs.
918
919 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * gst/gstpad.h:
922           Fix inline docs for GstPadLinkReturn.
923           
924         * gst/gststructure.c: (gst_structure_has_name):
925         * gst/gststructure.h:
926         * docs/gst/gstreamer-sections.txt:
927           New API: gst_structure_has_name().
928
929 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * configure.ac:
932           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
933           and _LARGEFILE_SOURCE in config.h as required. Do not 
934           export those flags in our .pc files any longer (#142209).
935
936           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
937
938         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
939         (gst_file_sink_do_seek), (gst_file_sink_event),
940         (gst_file_sink_get_current_offset), (gst_file_sink_render):
941           Redo seek/tell calls with large file support in mind; add some
942           debugging messages; add log message that tells us when large
943           file support is unavailable or not enabled for some reason.
944
945         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
946           Add log message that tells us when large file support 
947           is unavailable or not enabled for some reason.
948
949 2005-07-29  Wim Taymans  <wim@fluendo.com>
950
951         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
952         Added test for removing an element with ghostpad from a bin.
953         Fixed test as current implementation does the right thing.
954
955         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
956         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
957         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
958         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
959         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
960         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
961         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
962         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
963         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
964         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
965         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
966         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
967         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
968         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
969         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
970         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
971         * gst/gstghostpad.h:
972         Clean up ghostpads, remove properties for internal stuff.
973         Make threadsafe.
974         Fix refcounting.
975         Prepare for switching targets, not all use cases work yet.
976
977 2005-07-29  Wim Taymans  <wim@fluendo.com>
978
979         * docs/design/part-gstghostpad.txt:
980         Small update.
981
982         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
983         (gst_bin_remove_func):
984         Unlinking pads while holding the bin LOCK is not a good
985         idea.
986
987         * gst/gstpad.c: (gst_pad_class_init),
988         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
989         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
990         No prob setting template after creating the pad.
991
992 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
993
994         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
995         (gst_bus_peek), (gst_bus_source_dispatch),
996         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
997         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
998           gst_bus_poll may be called from other threads. Handle
999           this nicely by not making poll_data disappear off the
1000           stack once gst_bus_poll returns.
1001           gst_bus_peek now increments the refcount on the returned
1002           message.
1003
1004 2005-07-29  Wim Taymans  <wim@fluendo.com>
1005
1006         * docs/design/part-gstghostpad.txt:
1007         Overview of current GhostPad datastructures and use
1008         cases for changing the target.
1009
1010 2005-07-28  Wim Taymans  <wim@fluendo.com>
1011
1012         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1013         Added checks for hierarchy consistency whan adding linked
1014         elements to bins.
1015
1016         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1017         Added check to test element scheduling without bin/pipeline.
1018
1019         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1020         First add elements to bin, then link.
1021         
1022         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1023         (gst_bin_remove_func):
1024         Unlink pads from elements added/removed from bin to maintain
1025         hierarchy consistency.
1026
1027 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1028
1029         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1030         (gst_base_transform_handle_buffer):
1031         * gst/base/gstbasetransform.h:
1032           Remove broken delay_configure (fixes renegotiation of software
1033           scaling pipelines); remove some leftover printf()s.
1034
1035 2005-07-28  Wim Taymans  <wim@fluendo.com>
1036
1037         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1038         Added some more tests for wrong hierarchy
1039
1040         * docs/design/part-overview.txt:
1041         Some updates.
1042
1043         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1044         Cleanups.
1045
1046         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1047         (gst_element_dispose):
1048         Some more cleanups.
1049
1050         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1051         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1052         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1053         (gst_pad_set_caps), (gst_pad_send_event):
1054         Check for correct hierarchy when linking pads. Moving to
1055         strict requirement for ghostpads when linking elements in
1056         different bins.
1057
1058         * gst/gstpad.h:
1059         Clean ups. Added WRONG_HIERARCHY return value.
1060
1061 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1062
1063         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1064           Better debug if no transform is possible.
1065
1066 2005-07-27  Wim Taymans  <wim@fluendo.com>
1067
1068         * docs/random/wtay/network-transp:
1069         Some old doc I had.
1070
1071 2005-07-27  Wim Taymans  <wim@fluendo.com>
1072
1073         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1074         (gst_dp_event_from_packet):
1075         Fix serialization of seek events.
1076
1077 2005-07-27  Wim Taymans  <wim@fluendo.com>
1078
1079         * check/gst-libs/gdp.c: (GST_START_TEST):
1080         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1081         Fix compilation and fix event serialization.
1082
1083 2005-07-27  Wim Taymans  <wim@fluendo.com>
1084
1085         * CHANGES-0.9:
1086         * docs/design/part-TODO.txt:
1087         * docs/design/part-events.txt:
1088         Some docs updates
1089
1090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1091         (gst_base_sink_event), (gst_base_sink_do_sync),
1092         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1093         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1094         (gst_base_src_do_seek), (gst_base_src_event_handler),
1095         (gst_base_src_loop):
1096         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1097         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1098         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1099         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1100         (gst_base_transform_set_passthrough),
1101         (gst_base_transform_is_passthrough):
1102         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1103         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1104         Event updates.
1105
1106         * gst/gstbuffer.h:
1107         Use faster casts.
1108
1109         * gst/gstelement.c: (gst_element_seek):
1110         * gst/gstelement.h:
1111         Update gst_element_seek.
1112
1113         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1114         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1115         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1116         (gst_event_new_eos), (gst_event_new_newsegment),
1117         (gst_event_parse_newsegment), (gst_event_new_tag),
1118         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1119         (gst_event_parse_qos), (gst_event_new_seek),
1120         (gst_event_parse_seek), (gst_event_new_navigation):
1121         * gst/gstevent.h:
1122         Make GstEvent use GstStructure. Add parsing code, make sure the
1123         API is sufficiently generic.
1124         Mark possible directions of events and serialization.
1125
1126         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1127         (_gst_message_copy), (gst_message_new_segment_start),
1128         (gst_message_new_segment_done), (gst_message_new_custom),
1129         (gst_message_parse_segment_start),
1130         (gst_message_parse_segment_done):
1131         Small cleanups.
1132
1133         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1134         (gst_pad_set_caps), (gst_pad_send_event):
1135         Update for new events. 
1136         Catch events sent in wrong directions.
1137
1138         * gst/gstqueue.c: (gst_queue_link_src),
1139         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1140         (gst_queue_handle_src_query):
1141         Event updates.
1142
1143         * gst/gsttag.c:
1144         * gst/gsttag.h:
1145         Remove event code from this file.
1146
1147         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1148         (gst_dp_event_from_packet):
1149         Event updates.
1150
1151 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1152
1153         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1154         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1155         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1156           Make debugging actually useful.
1157
1158 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1159
1160         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1161         (gst_pad_fixate_caps):
1162           Implement default fixation once again, so that gst_pad_fixate()
1163           actually does anything at all. This probably needs to be some
1164           sort of a last resort, and use profile-based fixation first, but
1165           since that doesn't exist yet, this is the best we have. Fixes
1166           visualization in Totem.
1167
1168 2005-07-22  Wim Taymans  <wim@fluendo.com>
1169
1170         * docs/design/part-events.txt:
1171         Small update.
1172
1173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1174         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1175         (gst_base_sink_activate_pull):
1176         Some more comments.
1177
1178         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1179         (gst_fake_src_create):
1180         Fix handoff marshall.
1181
1182         * gst/elements/gstidentity.c: (gst_identity_class_init),
1183         (gst_identity_transform_ip):
1184         We're a real inplace element.
1185
1186         * gst/gstbus.c: (gst_bus_post):
1187         Added some comments.
1188
1189         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1190         * tests/muxing/case1.c: (main):
1191         * tests/sched/dynamic-pipeline.c: (main):
1192         * tests/sched/interrupt1.c: (main):
1193         * tests/sched/interrupt2.c: (main):
1194         * tests/sched/interrupt3.c: (main):
1195         * tests/sched/runxml.c: (main):
1196         * tests/sched/sched-stress.c: (main):
1197         * tests/seeking/seeking1.c: (event_received), (main):
1198         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1199         (main):
1200         * tests/threadstate/threadstate3.c: (main):
1201         * tests/threadstate/threadstate4.c: (main):
1202         * tests/threadstate/threadstate5.c: (main):
1203         Fix the tests.
1204
1205 2005-07-21  Wim Taymans  <wim@fluendo.com>
1206
1207         * docs/design/part-seeking.txt:
1208         Some small additions.
1209
1210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1211         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1212         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1213         * gst/base/gstbasesink.h:
1214         discont values are gint64, handle the math correctly.
1215
1216         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1217         Make the basesrc report error if the source pad is not linked.
1218
1219         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1220         (gst_queue_loop), (gst_queue_handle_src_query),
1221         (gst_queue_src_activate_push):
1222         Make queue collect data even if the srcpad is not linked.
1223         Start pushing out data as soon as it is linked.
1224
1225         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1226         * gst/gstutils.h:
1227         Added gst_flow_get_name() to ease error reporting.
1228
1229 2005-07-20  Wim Taymans  <wim@fluendo.com>
1230
1231         * gst/gstmessage.c: (gst_message_new_segment_start),
1232         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1233         (gst_message_parse_segment_done):
1234         * gst/gstmessage.h:
1235         Added a bunch of messages for advanced seeking.
1236
1237         * gst/parse/grammar.y:
1238         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1239         (gst_dpman_state_changed):
1240         Fix some new-pad -> pad-added signals
1241
1242 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1243
1244         * docs/manual/appendix-porting.xml:
1245         * docs/pwg/appendix-porting.xml:
1246           Document new-pad/state-change signal renames and the FixedList
1247           type rename.
1248
1249 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1250
1251         * docs/manual/advanced-autoplugging.xml:
1252         * docs/manual/basics-helloworld.xml:
1253         * docs/manual/basics-pads.xml:
1254         * docs/random/ds/0.9-suggested-changes:
1255         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1256         * gst/gstelement.h:
1257         * gst/gstevent.h:
1258         * gst/gstformat.h:
1259         * gst/gstquery.h:
1260         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1261         (gst_structure_parse_array), (gst_structure_parse_value):
1262         * gst/gstvalue.c: (gst_type_is_fixed),
1263         (gst_value_list_prepend_value), (gst_value_list_append_value),
1264         (gst_value_list_get_size), (gst_value_list_get_value),
1265         (gst_value_transform_array_string), (gst_value_serialize_array),
1266         (gst_value_deserialize_array), (gst_value_intersect_array),
1267         (gst_value_is_fixed), (_gst_value_initialize):
1268         * gst/gstvalue.h:
1269           GstElement::new-pad -> pad-added, GstElement::state-change ->
1270           state-changed, GstValueFixedList -> GstValueArray, add format and
1271           flags as their own arguments in gst_element_seek() (should improve
1272           "bindeability"), remove function generators since they don't work
1273           under a whole bunch of compilers (they were deprecated already
1274           anyway).
1275
1276 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1277
1278         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1279         (_gst_debug_register_funcptr):
1280         * gst/gstinfo.h:
1281           Fix illegal cast on some platforms (#309253).
1282
1283 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1284
1285         * gst/gstmessage.c: (gst_message_new_custom):
1286         * gst/gstmessage.h:
1287           Add _new_custom, make _new_application a macro to _new_custom.
1288
1289 2005-07-20  Wim Taymans  <wim@fluendo.com>
1290
1291         * gst/base/gstbasesrc.c: (gst_base_src_init),
1292         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1293         * gst/base/gstbasesrc.h:
1294         Add a gboolean to decide when to push out a discont.
1295
1296         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1297         (gst_queue_loop), (gst_queue_handle_src_query),
1298         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1299         (gst_queue_set_property), (gst_queue_get_property):
1300         Some cleanups.
1301
1302         * tests/threadstate/threadstate1.c: (main):
1303         Make a thread test compile and run... very silly..
1304
1305
1306 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1307
1308         * docs/manual/appendix-porting.xml:
1309           Mention removal of libgstgconf-0.9.la and existence of gconf
1310           elements.
1311
1312 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1313
1314         * docs/pwg/advanced-clock.xml:
1315         * docs/pwg/appendix-porting.xml:
1316         * docs/pwg/intro-preface.xml:
1317         * docs/pwg/other-base.xml:
1318         * docs/pwg/other-manager.xml:
1319         * docs/pwg/other-nton.xml:
1320         * docs/pwg/other-ntoone.xml:
1321         * docs/pwg/other-oneton.xml:
1322         * docs/pwg/pwg.xml:
1323           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1324           demuxer), remove n-to-n (was never written), fix some code examples
1325           and links and update the porting section to include all this.
1326
1327 2005-07-19  Wim Taymans  <wim@fluendo.com>
1328
1329         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1330         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1331         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1332         (gst_queue_src_activate_push), (gst_queue_change_state),
1333         (gst_queue_get_property):
1334         * gst/gstqueue.h:
1335         Propagate GstFlowReturn more intelligently upstream and output
1336         an ERROR/EOS when streaming stopped due to fatal error.
1337
1338 2005-07-19  Wim Taymans  <wim@fluendo.com>
1339
1340         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1341         Don't block forever for the state change to complete, the
1342         pipeline already did with a sensible timeout.
1343
1344 2005-07-19  Wim Taymans  <wim@fluendo.com>
1345
1346         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1347         Make sure we never call the create function is we
1348         got deactivated.
1349
1350 2005-07-19  Andy Wingo  <wingo@pobox.com>
1351
1352         * gst/parse/parse.l: Attempt to solve bug #172815.
1353
1354 2005-07-19  Wim Taymans  <wim@fluendo.com>
1355
1356         * docs/design/part-clocks.txt:
1357         * docs/design/part-events.txt:
1358         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1359         Small docs updates.
1360         Only update the seeking values when we are not
1361         busy streaming.
1362
1363 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1364
1365         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1366           Oops, ignore the result of gst_pad_push_event here.
1367
1368 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1369
1370         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1371         (gst_base_src_activate_push):
1372           Send discont event from the loop function, as pads
1373           aren't activated yet in the activate_push handler.
1374
1375         * gst/gstbin.c: (bin_bus_handler):
1376           Don't leak element name.
1377
1378 2005-07-18  Andy Wingo  <wingo@pobox.com>
1379
1380         * configure.ac: Use AS_LIBTOOL_TAGS.
1381
1382 2005-07-18  Wim Taymans  <wim@fluendo.com>
1383
1384         * docs/gst/gstreamer.types:
1385         Remove deleted types.
1386
1387 2005-07-18  Wim Taymans  <wim@fluendo.com>
1388
1389         * check/elements/gstfakesrc.c: (GST_START_TEST):
1390         * configure.ac:
1391         * gst/Makefile.am:
1392         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1393         (init_popt_callback):
1394         * gst/gst.h:
1395         * gst/gst_private.h:
1396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1397         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1398         * gst/gstbin.h:
1399         * gst/gstbus.h:
1400         * gst/gstconfig.h.in:
1401         * gst/gstelement.c: (gst_element_class_init),
1402         (gst_element_set_base_time), (gst_element_get_base_time),
1403         (iterator_fold_with_resync), (gst_element_change_state),
1404         (gst_element_dispose), (gst_element_get_bus):
1405         * gst/gstelement.h:
1406         * gst/gstelementfactory.h:
1407         * gst/gsterror.c: (_gst_core_errors_init):
1408         * gst/gsterror.h:
1409         * gst/gstevent.h:
1410         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1411         * gst/gstindex.c:
1412         * gst/gstinfo.c: (_gst_debug_init):
1413         * gst/gstmessage.c: (_gst_message_copy):
1414         * gst/gstmessage.h:
1415         * gst/gstminiobject.h:
1416         * gst/gstobject.c:
1417         * gst/gstobject.h:
1418         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1419         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1420         * gst/gstpad.h:
1421         * gst/gstparse.h:
1422         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1423         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1424         (gst_pipeline_get_last_stream_time):
1425         * gst/gstpipeline.h:
1426         * gst/gstpluginfeature.h:
1427         * gst/gstquery.h:
1428         * gst/gstscheduler.c:
1429         * gst/gstscheduler.h:
1430         * gst/gststructure.h:
1431         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1432         (gst_task_finalize), (gst_task_func), (gst_task_create),
1433         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1434         (gst_task_stop), (gst_task_pause):
1435         * gst/gsttask.h:
1436         * gst/gsttypefind.h:
1437         * gst/gsttypes.h:
1438         * gst/registries/gstlibxmlregistry.c: (load_feature),
1439         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1440         * gst/registries/gstxmlregistry.c:
1441         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1442         * gst/schedulers/threadscheduler.c:
1443         * libs/gst/control/dparammanager.h:
1444         * tools/gst-inspect.c: (print_element_list),
1445         (print_plugin_features), (print_element_features):
1446         * tools/gst-xmlinspect.c: (print_element_list),
1447         (print_plugin_info), (main):
1448         Removed plugable schedulers.
1449         Removed Scheduler/Manager from elements.
1450         Removed gsttypes.h, rearranged includes.
1451         Removed dependency pad<->element, element<>pipeline, and
1452         various others,  fix includes.
1453         implement gst_pad_get_parent() with gst_object_get_parent()
1454         Make GstTask sefcontained.
1455         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1456         timeout.
1457         Fix endless loop in iterator_fold_with_resync.
1458
1459
1460 2005-07-18  Wim Taymans  <wim@fluendo.com>
1461
1462         * gst/Makefile.am:
1463         * gst/gstarch.h:
1464         Remove old file.
1465
1466 2005-07-18  Wim Taymans  <wim@fluendo.com>
1467
1468         * gst/Makefile.am:
1469         No more cothreads.h
1470
1471 2005-07-18  Wim Taymans  <wim@fluendo.com>
1472
1473         * gst/cothreads.c:
1474         * gst/cothreads.h:
1475         Let's remove these.
1476
1477 2005-07-18  Wim Taymans  <wim@fluendo.com>
1478
1479         * docs/design/part-dynamic.txt:
1480         * docs/design/part-events.txt:
1481         * docs/design/part-seeking.txt:
1482         Some more docs in the works.
1483
1484         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1485         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1486         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1487         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1488         (gst_base_transform_handle_buffer),
1489         (gst_base_transform_sink_activate_push),
1490         (gst_base_transform_src_activate_pull),
1491         (gst_base_transform_set_passthrough),
1492         (gst_base_transform_is_passthrough):
1493         Refcounting fixes.
1494
1495         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1496         Cleanups.
1497
1498         * gst/gstevent.c: (gst_event_finalize):
1499         Set SRC to NULL.
1500
1501         * gst/gstutils.c: (gst_element_unlink),
1502         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1503         (gst_pad_proxy_setcaps):
1504         * gst/gstutils.h:
1505         Add _get_parent_element() to get a pads parent as an element.
1506
1507 2005-07-18  Wim Taymans  <wim@fluendo.com>
1508
1509         * check/gst/gstbin.c: (GST_START_TEST):
1510         Remove bogus test.
1511
1512 2005-07-18  Wim Taymans  <wim@fluendo.com>
1513
1514         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1515         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1516         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1517         (gst_base_sink_event), (gst_base_sink_do_sync),
1518         (gst_base_sink_chain), (gst_base_sink_loop),
1519         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1520         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1521         Refcounting fixes.
1522         Fix logic for returning ASYNC when not prerolled.
1523
1524 2005-07-18  Wim Taymans  <wim@fluendo.com>
1525
1526         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1527         Fix nasty refcount bug.
1528
1529 2005-07-16 Philippe Khalaf <burger@speedy.org>
1530         * gst/elements/gstfdsrc.c:
1531         * gst/elements/gstfdsrc.h:
1532         * gst/elements/gstelements.c:
1533         * gst/elements/Makefile.am:
1534         Ported fdsrc to 0.9.
1535
1536 2005-07-16  Wim Taymans  <wim@fluendo.com>
1537
1538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1539         (gst_base_sink_do_sync):
1540         Fix compile error.
1541
1542 2005-07-16  Wim Taymans  <wim@fluendo.com>
1543
1544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1545         (gst_base_sink_event), (gst_base_sink_get_times),
1546         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1547         * gst/base/gstbasesink.h:
1548         Store and use discont values when syncing buffers as described
1549         in design docs.
1550         
1551         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1552         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1553         (gst_base_src_activate_push):
1554         Push discont event when starting.
1555
1556         * gst/elements/gstidentity.c: (gst_identity_transform):
1557         Small cleanups.
1558
1559         * gst/gstbin.c: (gst_bin_change_state):
1560         Small cleanups in base_time  distribution.
1561
1562         * gst/gstelement.c: (gst_element_set_base_time),
1563         (gst_element_get_base_time), (gst_element_change_state):
1564         * gst/gstelement.h:
1565         Added methods for the base_time of the element.
1566         Some MT fixes.
1567
1568         * gst/gstpipeline.c: (gst_pipeline_send_event),
1569         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1570         (gst_pipeline_get_last_stream_time):
1571         * gst/gstpipeline.h:
1572         MT fixes.
1573         Handle seeking as described in design doc, remove stream_time
1574         hack.
1575         Cleanups clock and stream_time selection code. Added accessors
1576         for the stream_time.
1577         
1578
1579 2005-07-16  Andy Wingo  <wingo@pobox.com>
1580
1581         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1582         (#305291).
1583
1584 2005-07-16  Wim Taymans  <wim@fluendo.com>
1585
1586         * check/gst/gstbin.c: (GST_START_TEST):
1587         Make elements silent as the deep_notify refs the
1588         parent, which might make the test fail.
1589
1590         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1591         Don't hold the lock for too long.
1592
1593 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1594
1595         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1596           Don't unref the caps we passed to gst_caps_make_writable() after
1597           passing them. gst_caps_make_writable() will do that for us.
1598
1599 2005-07-15  Andy Wingo  <wingo@pobox.com>
1600
1601         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1602         (#157311).
1603
1604         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1605         own marshalling function for the handoff signal. Properly type the
1606         buffer as a buffer. Fixes some warnings. Should do a more general
1607         solution.
1608         (gst_identity_class_init): Plug into the right marshaller.
1609
1610 2005-07-15  Wim Taymans  <wim@fluendo.com>
1611
1612         * docs/design/part-TODO.txt:
1613         * docs/design/part-clocks.txt:
1614         * docs/design/part-element-sink.txt:
1615         * docs/design/part-events.txt:
1616         * docs/design/part-gstpipeline.txt:
1617         Updated docs, mostly DISCONT related.
1618
1619 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1620
1621         * docs/pwg/building-pads.xml:
1622           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1623
1624 2005-07-15  Andy Wingo  <wingo@pobox.com>
1625
1626         * tools/gst-typefind.c: Update, add copyright block.
1627
1628         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1629         Normalize and truncate caps before fixation.
1630
1631         * gst/gstcaps.h:
1632         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1633         discards all but the first structure from its argument.
1634
1635 2005-07-15  Wim Taymans  <wim@fluendo.com>
1636
1637         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1638         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1639         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1640         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1641         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1642         (gst_base_transform_chain), (gst_base_transform_change_state),
1643         (gst_base_transform_set_passthrough),
1644         (gst_base_transform_is_passthrough):
1645         * gst/base/gstbasetransform.h:
1646         Make passthrough work using the bufferpools.
1647         Changed API a bit, subclasses have to write into a buffer
1648         provided by the base class.
1649         More debug info in nego functions.
1650         
1651         * gst/elements/gstidentity.c: (gst_identity_init),
1652         (gst_identity_transform):
1653         Port to new base class.
1654
1655 2005-07-15  Wim Taymans  <wim@fluendo.com>
1656
1657         * gst/gstmessage.c: (gst_message_new_state_changed):
1658         * tools/gst-launch.c: (event_loop), (main):
1659         Totally dump messages in -launch with the -m option.
1660         Fix message name for State messages,
1661
1662 2005-07-14  Wim Taymans  <wim@fluendo.com>
1663
1664         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1665         Post error messages on errors.
1666
1667 2005-07-14  Wim Taymans  <wim@fluendo.com>
1668
1669         * gst/gstcaps.c: (gst_caps_do_simplify):
1670         Remove debug info.
1671
1672         * gst/gsterror.h:
1673         Define error for stream stopped.
1674
1675         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1676         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1677         Do proper return values.
1678
1679         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1680         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1681         (gst_pad_get_range):
1682         Better return values.
1683
1684         * gst/gstpad.h:
1685         Reorganise return values, add macro to check for fatal errors.
1686
1687         * gst/gstqueue.c: (gst_queue_chain):
1688         Return proper GstFlowReturn values,
1689
1690 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1691
1692         * docs/gst/gstreamer-sections.txt:
1693         * docs/gst/gstreamer.types:
1694         * docs/gst/tmpl/gst.sgml:
1695         * docs/gst/tmpl/gstbasesink.sgml:
1696         * docs/gst/tmpl/gstbasesrc.sgml:
1697         * docs/gst/tmpl/gstbasetransform.sgml:
1698         * docs/gst/tmpl/gstbin.sgml:
1699         * docs/gst/tmpl/gstbuffer.sgml:
1700         * docs/gst/tmpl/gstcaps.sgml:
1701         * docs/gst/tmpl/gstclock.sgml:
1702         * docs/gst/tmpl/gstcompat.sgml:
1703         * docs/gst/tmpl/gstconfig.sgml:
1704         * docs/gst/tmpl/gstelement.sgml:
1705         * docs/gst/tmpl/gstelementdetails.sgml:
1706         * docs/gst/tmpl/gstelementfactory.sgml:
1707         * docs/gst/tmpl/gstenumtypes.sgml:
1708         * docs/gst/tmpl/gsterror.sgml:
1709         * docs/gst/tmpl/gstevent.sgml:
1710         * docs/gst/tmpl/gstfakesink.sgml:
1711         * docs/gst/tmpl/gstfakesrc.sgml:
1712         * docs/gst/tmpl/gstfilesink.sgml:
1713         * docs/gst/tmpl/gstfilesrc.sgml:
1714         * docs/gst/tmpl/gstfilter.sgml:
1715         * docs/gst/tmpl/gstformat.sgml:
1716         * docs/gst/tmpl/gstghostpad.sgml:
1717         * docs/gst/tmpl/gstimplementsinterface.sgml:
1718         * docs/gst/tmpl/gstindex.sgml:
1719         * docs/gst/tmpl/gstindexfactory.sgml:
1720         * docs/gst/tmpl/gstinfo.sgml:
1721         * docs/gst/tmpl/gstiterator.sgml:
1722         * docs/gst/tmpl/gstmacros.sgml:
1723         * docs/gst/tmpl/gstmemchunk.sgml:
1724         * docs/gst/tmpl/gstminiobject.sgml:
1725         * docs/gst/tmpl/gstobject.sgml:
1726         * docs/gst/tmpl/gstpad.sgml:
1727         * docs/gst/tmpl/gstpadtemplate.sgml:
1728         * docs/gst/tmpl/gstparse.sgml:
1729         * docs/gst/tmpl/gstpipeline.sgml:
1730         * docs/gst/tmpl/gstplugin.sgml:
1731         * docs/gst/tmpl/gstpluginfeature.sgml:
1732         * docs/gst/tmpl/gstquery.sgml:
1733         * docs/gst/tmpl/gstqueue.sgml:
1734         * docs/gst/tmpl/gstregistry.sgml:
1735         * docs/gst/tmpl/gstregistrypool.sgml:
1736         * docs/gst/tmpl/gstscheduler.sgml:
1737         * docs/gst/tmpl/gstschedulerfactory.sgml:
1738         * docs/gst/tmpl/gststructure.sgml:
1739         * docs/gst/tmpl/gstsystemclock.sgml:
1740         * docs/gst/tmpl/gsttaglist.sgml:
1741         * docs/gst/tmpl/gsttagsetter.sgml:
1742         * docs/gst/tmpl/gsttrace.sgml:
1743         * docs/gst/tmpl/gsttrashstack.sgml:
1744         * docs/gst/tmpl/gsttypefind.sgml:
1745         * docs/gst/tmpl/gsttypefindfactory.sgml:
1746         * docs/gst/tmpl/gsttypes.sgml:
1747         * docs/gst/tmpl/gsturihandler.sgml:
1748         * docs/gst/tmpl/gsturitype.sgml:
1749         * docs/gst/tmpl/gstutils.sgml:
1750         * docs/gst/tmpl/gstvalue.sgml:
1751         * docs/gst/tmpl/gstversion.sgml:
1752         * docs/gst/tmpl/gstxml.sgml:
1753         * docs/libs/tmpl/gstcontrol.sgml:
1754         * docs/libs/tmpl/gstdataprotocol.sgml:
1755         * docs/libs/tmpl/gstdparam.sgml:
1756         * docs/libs/tmpl/gstdplinint.sgml:
1757         * docs/libs/tmpl/gstdpman.sgml:
1758         * docs/libs/tmpl/gstdpsmooth.sgml:
1759         * docs/libs/tmpl/gstgetbits.sgml:
1760         * docs/libs/tmpl/gstunitconvert.sgml:
1761         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1762         (gst_push_src_base_init), (gst_push_src_class_init),
1763         (gst_push_src_init), (gst_push_src_create):
1764         * gst/base/gstpushsrc.h:
1765         * gst/elements/gstelements.c:
1766         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1767         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1768         (gst_fake_sink_init), (gst_fake_sink_set_property),
1769         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1770         (gst_fake_sink_event), (gst_fake_sink_preroll),
1771         (gst_fake_sink_render), (gst_fake_sink_change_state):
1772         * gst/elements/gstfakesink.h:
1773         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1774         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1775         (gst_fake_src_base_init), (gst_fake_src_class_init),
1776         (gst_fake_src_init), (gst_fake_src_event_handler),
1777         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1778         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1779         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1780         (gst_fake_src_create_buffer), (gst_fake_src_create),
1781         (gst_fake_src_start), (gst_fake_src_stop):
1782         * gst/elements/gstfakesrc.h:
1783         * gst/elements/gstfilesink.c: (_do_init),
1784         (gst_file_sink_base_init), (gst_file_sink_class_init),
1785         (gst_file_sink_init), (gst_file_sink_dispose),
1786         (gst_file_sink_set_location), (gst_file_sink_set_property),
1787         (gst_file_sink_get_property), (gst_file_sink_open_file),
1788         (gst_file_sink_close_file), (gst_file_sink_query),
1789         (gst_file_sink_event), (gst_file_sink_render),
1790         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1791         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1792         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1793         * gst/elements/gstfilesink.h:
1794         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1795         (gst_file_src_class_init), (gst_file_src_init),
1796         (gst_file_src_finalize), (gst_file_src_set_location),
1797         (gst_file_src_set_property), (gst_file_src_get_property),
1798         (gst_file_src_map_region), (gst_file_src_map_small_region),
1799         (gst_file_src_create_mmap), (gst_file_src_create_read),
1800         (gst_file_src_create), (gst_file_src_is_seekable),
1801         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1802         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1803         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1804         (gst_file_src_uri_handler_init):
1805         * gst/elements/gstfilesrc.h:
1806           more autistic cleanliness in functions/names/defines
1807
1808 2005-07-13  Andy Wingo  <wingo@pobox.com>
1809
1810         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1811         source couldn't negotiate.
1812
1813         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1814         connections again.
1815
1816         * gst/gstutils.h:
1817         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1818         function. I am channeling Hades. Put your boots on suckers!!!
1819
1820 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1821
1822         * testsuite/caps/Makefile.am:
1823         * testsuite/caps/value_compare.c:
1824         * testsuite/caps/value_intersect.c:
1825         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1826           move two testsuite apps over to the check dir
1827
1828 2005-07-12  Wim Taymans  <wim@fluendo.com>
1829
1830         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1831         Added more debug info in the negotiate process.
1832
1833         * gst/gstmessage.h:
1834         Prepare for segment playback.
1835
1836         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1837         Better debugging.
1838
1839         * gst/gstutils.c:
1840         Some more docs.
1841
1842         * tools/gst-launch.c: (main):
1843         NULL pipeline on errors.
1844
1845 2005-07-12  Andy Wingo  <wingo@pobox.com>
1846
1847         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1848         not it comes from a malloc region. Make sure our copy gets freed.
1849
1850 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1851
1852         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1853         * check/gst/gstmessage.c: (GST_START_TEST):
1854         * check/gst/gststructure.c: (GST_START_TEST),
1855         (gst_structure_suite), (main):
1856           more testing
1857         * gst/gstelement.c: (gst_element_message_full):
1858           clean up GError and debug string now that they get copied
1859         * gst/gstmessage.c: (gst_message_new_error),
1860         (gst_message_new_warning), (gst_message_parse_error),
1861         (gst_message_parse_warning):
1862           use GST_TYPE_G_ERROR for structure_new, and take copies of
1863           arguments, so that we don't mess up refcounting
1864
1865 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1866
1867         * check/Makefile.am:
1868           add per-test valgrind targets
1869         * check/gst-libs/gdp.c: (GST_START_TEST),
1870         (gst_data_protocol_suite), (main):
1871           clean up
1872
1873 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1874
1875         * check/Makefile.am:
1876           instate more valgrindable tests
1877         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1878         (GST_START_TEST), (fakesrc_suite):
1879         * check/gst/gstpad.c: (GST_START_TEST):
1880         * check/gst/gststructure.c: (GST_START_TEST):
1881           fix test leaks
1882         * docs/gst/tmpl/gstminiobject.sgml:
1883         * gst/gstpad.c: (gst_pad_finalize):
1884           fix the static mutex leak
1885
1886 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1887
1888         * check/Makefile.am:
1889           add two more tests for valgrinding
1890         * check/gst/gstvalue.c: (GST_START_TEST):
1891           test refcount of deserialized buffer, found a leak
1892         * docs/gst/gstreamer-docs.sgml:
1893         * docs/gst/gstreamer-sections.txt:
1894         * docs/gst/gstreamer.types:
1895         * docs/gst/tmpl/gstminiobject.sgml:
1896           add miniobject to docs
1897         * gst/gstminiobject.c:
1898           add some docs
1899         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1900         (gst_string_unwrap):
1901           fix a hard-to-find invalid write for one of the tests
1902           fix a leak for deserialized buffers
1903
1904 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1905
1906         * docs/pwg/advanced-events.xml:
1907         * docs/pwg/advanced-request.xml:
1908         * docs/pwg/advanced-scheduling.xml:
1909         * docs/pwg/appendix-porting.xml:
1910         * docs/pwg/building-boiler.xml:
1911         * docs/pwg/intro-preface.xml:
1912         * docs/pwg/other-ntoone.xml:
1913           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1914           of example code and explanation for pad activation, loop() and
1915           getrange() functions and a bit more. Remove old comments pointing
1916           to loop-functions.
1917         * examples/pwg/Makefile.am:
1918           Add loop/getrange examples.
1919
1920 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1921
1922         * configure.ac:
1923           check for valgrind binary + some fixes
1924         * check/gst.supp:
1925           valgrind suppressions for the tests
1926         * check/Makefile.am:
1927           add a valgrind: target that valgrinds the unit tests
1928         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1929         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1930         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1931         * check/gst/gstghostpad.c:
1932           added some cleanup
1933         * check/gst/gstdata.c:
1934           removed
1935         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1936         (thread_unref), (gst_mini_object_suite), (main):
1937           added
1938         * gst/gst.c: (gst_deinit):
1939         * gst/gst.h:
1940           add a method to clean up.
1941         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1942         (gst_system_clock_obtain):
1943           allow for disposing the system clock.
1944         * tools/gst-launch.c: (main):
1945           deinit
1946
1947 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * docs/gst/tmpl/gstbasesrc.sgml:
1950         * docs/gst/tmpl/gstfakesrc.sgml:
1951         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1952         (gst_base_src_init), (gst_base_src_set_property),
1953         (gst_base_src_get_property), (gst_base_src_get_range),
1954         (gst_base_src_start):
1955         * gst/base/gstbasesrc.h:
1956           add num-buffers property
1957         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1958         (gst_fakesrc_init), (gst_fakesrc_set_property),
1959         (gst_fakesrc_get_property), (gst_fakesrc_create),
1960         (gst_fakesrc_start):
1961           remove num-buffers property
1962
1963 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1964
1965         * docs/gst/gstreamer-sections.txt:
1966         * docs/gst/tmpl/gstbasesink.sgml:
1967         * docs/gst/tmpl/gstbasesrc.sgml:
1968         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1969         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1970         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1971         (gst_base_sink_set_property), (gst_base_sink_get_property),
1972         (gst_base_sink_handle_object), (gst_base_sink_event),
1973         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1974         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1975         (gst_base_sink_loop), (gst_base_sink_deactivate),
1976         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1977         (gst_base_sink_change_state):
1978         * gst/base/gstbasesink.h:
1979         * gst/base/gstbasesrc.h:
1980         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1981         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1982         (gst_filesink_init):
1983           more macro splitting
1984
1985 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1986
1987         * gst/gstelement.c: (gst_element_get_bus):
1988           add debug
1989         * tools/gst-launch.c: (check_intr), (event_loop):
1990           fix bus leaks
1991
1992 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1993
1994         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1995           fix a caps leak
1996
1997 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1998
1999         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2000         (gst_base_src_finalize):
2001           add finalize method and clean up properly
2002         * gst/gstpipeline.c: (gst_pipeline_dispose):
2003           add debug
2004
2005 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2006
2007         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2008         (gst_bin_suite):
2009           add more things to check
2010         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2011         * gst/gstelement.c:
2012           more debug
2013
2014 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2015
2016         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2017         (GST_START_TEST), (fakesrc_suite):
2018         * check/gst-libs/gdp.c: (GST_START_TEST):
2019         * check/gst/gst.c: (GST_START_TEST):
2020         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2021         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2022         * check/gst/gstbus.c: (GST_START_TEST):
2023         * check/gst/gstcaps.c: (GST_START_TEST):
2024         * check/gst/gstdata.c: (GST_START_TEST):
2025         * check/gst/gstelement.c: (GST_START_TEST):
2026         * check/gst/gstghostpad.c: (GST_START_TEST):
2027         * check/gst/gstiterator.c: (GST_START_TEST):
2028         * check/gst/gstmessage.c: (GST_START_TEST):
2029         * check/gst/gstobject.c: (GST_START_TEST):
2030         * check/gst/gstpad.c: (GST_START_TEST):
2031         * check/gst/gststructure.c: (GST_START_TEST):
2032         * check/gst/gstsystemclock.c: (GST_START_TEST),
2033         (gst_systemclock_suite):
2034         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2035         * check/gst/gstvalue.c: (GST_START_TEST):
2036         * check/pipelines/cleanup.c: (GST_START_TEST):
2037         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2038         * check/states/sinks.c: (GST_START_TEST):
2039         * check/gstcheck.c: (gst_check_init):
2040         * check/gstcheck.h:
2041           add debugging category
2042           use GST_START_TEST now, so we add a debug line
2043
2044 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2045
2046         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2047           add test for state change message on a bin
2048         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2049           add another test
2050         * gst/gstbin.c: (gst_bin_init):
2051         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2052         * gst/gstelement.c: (gst_element_post_message),
2053         (gst_element_set_state):
2054         * gst/gstelementfactory.c: (gst_element_factory_create):
2055         * gst/gstmessage.c: (gst_message_new):
2056         * gst/gstscheduler.c:
2057           various debugging additions and cleanups
2058
2059 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2060
2061         * check/Makefile.am:
2062         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2063         (main):
2064           adding tests for elements
2065         * gst/gstelement.c: (gst_element_dispose):
2066
2067 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2068
2069         * gst/registries/gstlibxmlregistry.c: (load_feature):
2070           plug more leaks.  A simple gst_init() now is leakfree, yay.
2071
2072 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2073
2074         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2075         (gst_xml_registry_load):
2076           plug another memleak
2077
2078 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2079
2080         * configure.ac:
2081           use GST_SET_ERROR_CFLAGS
2082         * docs/faq/cvs.xml:
2083           change to ERROR_CFLAGS
2084
2085 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2086
2087         * configure.ac:
2088           make GST_ERROR_CFLAGS overridable and re-enable Werror
2089         * docs/faq/cvs.xml:
2090           add a note about error CFLAGS
2091         * docs/gst/tmpl/gstfakesrc.sgml:
2092         * gst/elements/gstfakesrc.c:
2093           comment out some unused code
2094         * gst/gst.c: (split_and_iterate):
2095         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2096         (load_feature):
2097           plug some memleaks
2098
2099 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2100
2101         * common/Makefile.am:
2102         * common/gtk-doc.mak:
2103         * docs/gst/Makefile.am:
2104           factor out gtk-doc.mak
2105
2106 2005-07-07  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2109         (gst_thread_scheduler_dispose):
2110         Unlock the STREAM_LOCK completely.
2111
2112 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2113
2114         * check/Makefile.am:
2115         * check/elements/.cvsignore:
2116         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2117         (START_TEST), (fakesrc_suite), (main):
2118         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2119         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2120         (gst_fakesrc_create), (gst_fakesrc_start):
2121         * gst/elements/gstfakesrc.h:
2122           adding a first element test
2123
2124 2005-07-07  Andy Wingo  <wingo@pobox.com>
2125
2126         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2127         debug message.
2128
2129 2005-07-07  Wim Taymans  <wim@fluendo.com>
2130
2131         * gst/gstquery.c:
2132         * gst/gstquery.h:
2133         Remove old types
2134
2135 2005-07-07  Wim Taymans  <wim@fluendo.com>
2136
2137         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2138         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2139         Allow subclasses to implement their own negotiation.
2140
2141 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2142
2143         * docs/design/part-gstbin.txt:
2144         * docs/design/part-gstpipeline.txt:
2145           Update design notes to reflect the movement of
2146           responsibility for bus handling from GstPipeline to
2147           GstBin
2148
2149 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2150
2151         * configure.ac:
2152           Remove unnecessary queue2/3/4 examples.
2153
2154 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2155
2156         * examples/Makefile.am:
2157         * examples/helloworld/helloworld.c: (event_loop), (main):
2158         * examples/queue/queue.c: (event_loop), (main):
2159         * examples/queue2/queue2.c: (main):
2160           Update a couple of the examples to work again.
2161
2162         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2163         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2164          Spelling corrections and extra debug.
2165         
2166         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2167         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2168         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2169         * gst/gstbin.h:
2170         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2171         (gst_pipeline_change_state):
2172         * gst/gstpipeline.h:
2173           Move the bus handler for children to the GstBin, and create a
2174           separate bus for receiving messages from children to the one the
2175           bus sends 'upwards' on.
2176
2177 2005-07-06  Wim Taymans  <wim@fluendo.com>
2178
2179         * gst/base/README:
2180         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2181         (gst_base_sink_handle_object), (gst_base_sink_loop),
2182         (gst_base_sink_change_state):
2183         * gst/base/gstbasesink.h:
2184         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2185         (gst_base_src_init), (gst_base_src_setcaps),
2186         (gst_base_src_getcaps), (gst_base_src_loop),
2187         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2188         (gst_base_src_start), (gst_base_src_change_state):
2189         * gst/base/gstbasesrc.h:
2190         Make basesrc negotiate.
2191         Handle the case where preroll fails in basesink.
2192         Update README.
2193
2194 2005-07-06  Wim Taymans  <wim@fluendo.com>
2195
2196         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2197         Implement the fixate function.
2198         Clean up acceptcaps.
2199
2200 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2201
2202         * docs/pwg/building-filterfactory.xml:
2203         * docs/pwg/pwg.xml:
2204           Remove never-written filter-factory chapter; I'll add the various
2205           base classes to part 4 ("other element types") later on.
2206
2207 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2208
2209         * docs/pwg/advanced-negotiation.xml:
2210         * docs/pwg/building-boiler.xml:
2211         * docs/pwg/building-pads.xml:
2212         * docs/pwg/pwg.xml:
2213         * examples/pwg/Makefile.am:
2214           Add a chapter on caps negotiation, simplify the original code
2215           samples a bit w.r.t. caps negotiation, add link to the advanced
2216           section. Add a bunch of examples showing different use cases of
2217           different types of caps negotiation. Upstream renegotiation isn't
2218           fully documented yet since nobody knows how that works.
2219
2220 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2221
2222         * check/gst/gstpad.c:
2223         * check/gstcheck.c:
2224         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2225           if pad has no parent, return NULL as list of internal links
2226
2227 2005-07-05  Andy Wingo  <wingo@pobox.com>
2228
2229         * gst/elements/gstfilesrc.c:
2230         * gst/elements/gstfakesrc.c: 
2231         * gst/base/gstpushsrc.c:
2232         * gst/base/gstbasesrc.h: 
2233         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2234         
2235 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * Makefile.am:
2238           better report generation target (lcov needs a patch)
2239
2240 2005-07-05  Andy Wingo  <wingo@pobox.com>
2241
2242         * gst/elements, testsuite: Null if we got it...
2243
2244 2005-07-05  Wim Taymans  <wim@fluendo.com>
2245
2246         * configure.ac:
2247         * libs/gst/dataprotocol/Makefile.am:
2248         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2249         * libs/gst/dataprotocol/dataprotocol.h:
2250         * pkgconfig/Makefile.am:
2251         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2252         * pkgconfig/gstreamer-dataprotocol.pc.in:
2253         Ported dataprotol to 0.9. 
2254         Added pkgconfig files.
2255
2256 2005-07-05  Andy Wingo  <wingo@pobox.com>
2257
2258         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2259         Default to returning TRUE for the case when tranform_caps returns
2260         a fixed caps, like for identity or volume.
2261
2262         * check/gst/gstbus.c (pound_bus_with_messages): 
2263         * check/gst/gstmessage.c (START_TEST): 
2264         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2265         message API change.
2266
2267         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2268         logic weaks here: always run transform_caps, trying passthrough
2269         operation only if the original caps intersects with the transform.
2270
2271         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2272         source and sink caps.
2273
2274         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2275         Intersect the peer caps with the pad template before going into
2276         transform_caps.
2277         (gst_base_transform_transform_caps): More debugging.
2278
2279         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2280         src argument.
2281
2282 2005-07-04  Edward Hervey  <edward@fluendo.com>
2283
2284         * gst/gstutils.c:
2285         * gst/gstutils.h:
2286         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2287         in bindings.
2288
2289 2005-07-04  Andy Wingo  <wingo@pobox.com>
2290
2291         * check/gst/gstpad.c: Only set explicit caps on pads.
2292
2293 2005-07-01  Andy Wingo  <wingo@pobox.com>
2294
2295         * tests/network-clock.scm: Commentary update.
2296
2297         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2298         Didn't really make sense, not implementable with basetransform,
2299         etc.
2300         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2301         attempt at implementing the sync property, needs an unlock method.
2302
2303         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2304         New func, by default returns the same caps (the identity
2305         transformation).
2306         (gst_base_transform_getcaps): Uses transform_caps to return
2307         something sensible.
2308         (gst_base_transform_setcaps): Complicated logic to get caps on
2309         both pads, even if they are different, and to call set_caps once
2310         for every time both pads get their caps set.
2311         (gst_base_transform_handle_buffer): Give the ref to the transform
2312         function. Allows in-place modification of the buffer.
2313
2314         * gst/base/gstbasetransform.h (transform_caps): New class method.
2315         Given caps on one side, what can I do on the other.
2316         (set_caps): Take two caps, one for each side of the element.
2317
2318         * gst/gstpad.h:
2319         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2320         caps in place. This is safe because we can check the mutability of
2321         the caps, and a good idea because fixate functions are just called
2322         as a matter of last resort. (Not actually implemented.)
2323         (gst_pad_set_caps): If the caps we're setting is actually the same
2324         as the existing pad caps, just update the pointer without calling
2325         setcaps. Assert that caps is either NULL or fixed, as per the
2326         docs.
2327
2328         * gst/gstghostpad.c: Update for fixate changes.
2329
2330 2005-07-02  Andy Wingo  <wingo@pobox.com>
2331
2332         * gst/gstcaps.c:
2333         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2334         two refcounts makes it immutable, which is enough. Doc more.
2335
2336 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2337
2338         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2339           Put the mini_object into GValue as a mini_object,
2340           not a gpointer, since that's how we declared
2341           the signal.
2342
2343 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2344
2345         * examples/pwg/Makefile.am:
2346           Fix buildbot again.
2347
2348 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2349
2350         * docs/pwg/building-testapp.xml:
2351           Add extra check.
2352         * examples/pwg/Makefile.am:
2353           Fix buildbot.
2354
2355 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2356
2357         * configure.ac:
2358         * examples/Makefile.am:
2359         * examples/pwg/Makefile.am:
2360         * examples/pwg/extract.pl:
2361           Enable building the PWG examples.
2362         * docs/pwg/advanced-interfaces.xml:
2363           Add URI interface stub.
2364         * docs/pwg/advanced-types.xml:
2365         * docs/pwg/other-autoplugger.xml:
2366         * docs/pwg/appendix-porting.xml:
2367         * docs/pwg/pwg.xml:
2368           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2369         * docs/pwg/building-boiler.xml:
2370         * docs/pwg/building-chainfn.xml:
2371         * docs/pwg/building-pads.xml:
2372         * docs/pwg/building-props.xml:
2373         * docs/pwg/building-state.xml:
2374         * docs/pwg/building-testapp.xml:
2375           Update the building-*.xml parts for 0.9 changes. All examples
2376           code blocks compile in examples/pwg/*.
2377
2378 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2379
2380         * docs/manual/advanced-autoplugging.xml:
2381         * docs/manual/appendix-checklist.xml:
2382         * docs/manual/appendix-integration.xml:
2383         * docs/manual/highlevel-components.xml:
2384           Fix playbin/decodebin examples, update docs a bit, mention bus
2385           instead of signals in various places, mention kmplayer and
2386           kaffeine since they have a working GStreamer backend in the KDE
2387           section.
2388
2389 2005-06-30  Wim Taymans  <wim@fluendo.com>
2390
2391         * CHANGES-0.9:
2392         * docs/design/draft-ghostpads.txt:
2393         * docs/design/draft-push-pull.txt:
2394         * docs/design/draft-query.txt:
2395         * docs/design/part-TODO.txt:
2396         * docs/design/part-query.txt:
2397         Added CHANGES-0.9 doc, updated status of other docs.
2398         
2399         * gst/gstquery.h:
2400         Remove "hmm" macro
2401
2402 2005-06-30  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2405         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2406         (gst_base_sink_change_state):
2407         * gst/base/gstbasesink.h:
2408         Some tweaks, only EOS and a buffer complete a preroll.
2409
2410 2005-06-30  Andy Wingo  <wingo@pobox.com>
2411
2412         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2413         activate_push down to the internal pad as well.
2414
2415 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2416
2417         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2418
2419         * gst/gsttaginterface.c:
2420           Some documentation fixes (#307394 and #307397).
2421
2422 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2423
2424         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2425
2426         * gst/gstvalue.c: (gst_value_intersect_list):
2427           Fix memleak (#309125).
2428
2429 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2430
2431         * docs/manual/advanced-dataaccess.xml:
2432           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2433         * docs/manual/basics-pads.xml:
2434           Add reference for filtered caps to above chapter.
2435
2436 2005-06-30  Wim Taymans  <wim@fluendo.com>
2437
2438         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2439         (gst_bin_change_state):
2440         Probes are gone.
2441         Lame attempt at making the state change function a bit
2442         more readable.
2443
2444 2005-06-30  Wim Taymans  <wim@fluendo.com>
2445
2446         * docs/design/part-clocks.txt:
2447         * docs/design/part-element-sink.txt:
2448         * docs/design/part-events.txt:
2449         * docs/design/part-preroll.txt:
2450         * docs/design/part-states.txt:
2451         Some more tweeks and additions to the docs.
2452
2453 2005-06-30  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2456         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2457         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2458         (gst_pad_check_pull_range), (gst_pad_get_range),
2459         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2460         * gst/gstpad.h:
2461         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2462         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2463         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2464         (gst_pad_remove_buffer_probe):
2465         Removed atomic operations, use existing LOCK.
2466         Move exception handling out of main code path.
2467
2468 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2469
2470         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2471         (silly_return_true_function), (gst_pad_class_init),
2472         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2473         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2474         (gst_pad_send_event):
2475           Fix accumulator, add default value by using _emitv() instead
2476           of _emit() for signal emission.
2477
2478 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2479
2480         * docs/manual/advanced-dataaccess.xml:
2481         * examples/manual/Makefile.am:
2482           Add probe example.
2483         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2484           Make work (??).
2485
2486 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2487
2488         * gst/elements/gstfilesink.c: (gst_filesink_render):
2489           Simplify code so that we don't have to handle short
2490           writes and return GST_FLOW_ERROR if an error occured.
2491
2492 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2493
2494         * docs/gst/gstreamer-docs.sgml:
2495           Remove probes more.
2496
2497 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2498
2499         * docs/gst/gstreamer-sections.txt:
2500         * docs/gst/tmpl/gstpad.sgml:
2501         * docs/gst/tmpl/gstprobe.sgml:
2502         * gst/Makefile.am:
2503         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2504         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2505         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2506         (gst_pad_push_event), (gst_pad_send_event):
2507         * gst/gstpad.h:
2508         * gst/gstutils.c: (gst_pad_add_data_probe),
2509         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2510         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2511         (gst_pad_remove_buffer_probe):
2512         * gst/gstutils.h:
2513           Remove old probes, add new g-signal-based probes and some utility
2514           functions.
2515
2516 2005-06-29  Edward Hervey  <edward@fluendo.com>
2517
2518         * gst/gstelementfactory.c:
2519         * gst/gstutils.h:
2520         * gst/gstutils.c:
2521         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2522         the definition to the header file.
2523
2524 2005-06-29  Andy Wingo  <wingo@pobox.com>
2525
2526         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2527         plugins from the source directory.
2528
2529 2005-06-29  Wim Taymans  <wim@fluendo.com>
2530
2531         * docs/gst/tmpl/gstbuffer.sgml:
2532         * docs/gst/tmpl/gstclock.sgml:
2533         Some fixings for blantently wrong text.
2534
2535 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * check/Makefile.am:
2538         * gst/gst.c: (add_path_func), (init_pre):
2539         * gst/gstregistry.c: (gst_registry_add_path):
2540           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2541           only scan the GST_PLUGIN_PATH locations, and not add
2542           system locations
2543
2544 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2545
2546         * docs/gst/gstreamer-sections.txt:
2547         * docs/gst/tmpl/gstbasesrc.sgml:
2548         * gst/gstelement.c:
2549         * gst/gstelement.h:
2550         * gst/gstevent.c:
2551         * gst/gstutils.c:
2552           doc fixes
2553
2554 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2555
2556         * docs/manual/advanced-autoplugging.xml:
2557           Fix autoplugging example.
2558
2559 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2560
2561         * docs/manual/advanced-autoplugging.xml:
2562         * docs/manual/mime-world.fig:
2563           Try to get autoplugging working, fix type detection. Fix text
2564           in hello-world image.
2565
2566 2005-06-29  Wim Taymans  <wim@fluendo.com>
2567
2568         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2569         (gst_base_sink_change_state):
2570         Small debug line.
2571
2572         * gst/gstclock.h:
2573         map SIGNAL and BROADCAST to the right function.
2574
2575         * gst/gstobject.h:
2576         Remove redundant braces.
2577
2578         * gst/gstpad.c: (gst_pad_set_caps):
2579         Don't call setcaps function when reseting caps to NULL.
2580
2581         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2582         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2583         (gst_system_clock_id_unschedule):
2584         Use BROADCAST as this is what we do.
2585
2586 2005-06-29  Wim Taymans  <wim@fluendo.com>
2587
2588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2589         We are actually prerolling before commiting the state
2590         change. 
2591
2592 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2593
2594         * docs/manual/advanced-clocks.xml:
2595         * docs/manual/advanced-interfaces.xml:
2596         * docs/manual/advanced-metadata.xml:
2597         * docs/manual/advanced-position.xml:
2598         * docs/manual/advanced-schedulers.xml:
2599         * docs/manual/advanced-threads.xml:
2600         * docs/manual/appendix-porting.xml:
2601         * docs/manual/basics-bins.xml:
2602         * docs/manual/basics-bus.xml:
2603         * docs/manual/basics-elements.xml:
2604         * docs/manual/basics-helloworld.xml:
2605         * docs/manual/basics-pads.xml:
2606         * docs/manual/highlevel-components.xml:
2607         * docs/manual/manual.xml:
2608         * docs/manual/thread.fig:
2609           Update (until threads/scheduling) Application Development Manual;
2610           remove GstThread, add GstBus, add simple porting checklist, add
2611           documentation for tag writing, clocks, make all examples until this
2612           part compile and run.
2613         * examples/manual/Makefile.am:
2614           Update from changes to Application Development Manual; add bus
2615           example, remove thread example.
2616
2617 2005-06-28  Wim Taymans  <wim@fluendo.com>
2618
2619         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2620         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2621         (gst_bus_source_dispatch):
2622         Add debugging messages.
2623         Make internal methods static.
2624         Handle the case where the bus is flushed in the handler.
2625         
2626         * gst/gstelement.c: (gst_element_get_bus):
2627         Fix refcount in _get_bus();
2628
2629         * gst/gstpipeline.c: (gst_pipeline_change_state),
2630         (gst_pipeline_get_clock_func):
2631         Clock refcounting fixes.
2632         Handle the case where preroll timed out more gracefully.
2633         
2634         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2635         Clean up the internal thread in dispose. This is needed
2636         for subclasses that actually get disposed.
2637         
2638         * gst/schedulers/threadscheduler.c:
2639         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2640         (gst_thread_scheduler_dispose):
2641         Free thread pool in dispose.
2642
2643 2005-06-28  Andy Wingo  <wingo@pobox.com>
2644
2645         * tests/network-clock-utils.scm (debug, print-event): New utils.
2646
2647         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2648         (*packet-loss*): Unified loss probability.
2649         (network-time): Report out-of-band events.
2650
2651         * tests/plot-data: Add support for out-of-band events. Hack it
2652         into this script instead of passing it down the pipe; should fix
2653         this later.
2654
2655 2005-06-28  Wim Taymans  <wim@fluendo.com>
2656
2657         * docs/gst/gstreamer.types:
2658         * docs/gst/tmpl/gstbasesrc.sgml:
2659         * docs/gst/tmpl/gstpad.sgml:
2660         Docs fixes.
2661
2662 2005-06-28  Wim Taymans  <wim@fluendo.com>
2663
2664         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2665         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2666         (gst_proxy_pad_do_fixatecaps):
2667         Correctly proxy the check_pull_range function.
2668
2669 2005-06-28  Andy Wingo  <wingo@pobox.com>
2670
2671         * tests/network-clock.scm: Removed need for slib.
2672         
2673 2005-06-28  Wim Taymans  <wim@fluendo.com>
2674
2675         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2676         (gst_basesink_preroll_queue_flush):
2677         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2678         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2679         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2680         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2681         (gst_proxy_pad_set_property):
2682         * gst/gstpad.c:
2683         * gst/gstpad.h:
2684         * gst/gstqueue.c: (gst_queue_init):
2685         The deprecated pad loop function is removed now.
2686
2687 2005-06-28  Andy Wingo  <wingo@pobox.com>
2688
2689         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2690         New parameters, simulate network packet loss.
2691
2692         * tests/network-clock-utils.scm: Initialize the RNG.
2693
2694 2005-06-28  Wim Taymans  <wim@fluendo.com>
2695
2696         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2697         (gst_basesink_event), (gst_basesink_deactivate):
2698         Flushing the preroll queue always needs to unlock the waiters.
2699
2700 2005-06-28  Edward Hervey  <edward@fluendo.com>
2701
2702         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2703         Wheen a seek was successful on a pipeline, set the stream_time to the
2704         seek offset in order to have a synchronized stream_time.
2705
2706 2005-06-28  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2709         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2710         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2711         (gst_proxy_pad_do_fixatecaps):
2712         Call wrapper function instead of just calling the function
2713         pointers. This takes care of any locking and whatmore.
2714
2715 2005-06-28  Wim Taymans  <wim@fluendo.com>
2716
2717         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2718         (gst_pad_pull_range):
2719         * gst/gstpad.h:
2720         CONNECTED -> LINKED.
2721
2722 2005-06-28  Andy Wingo  <wingo@pobox.com>
2723
2724         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2725         source-munging commit!!!
2726
2727         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2728         (gst_object_sink): Take gpointer arguments, not GstObject --
2729         avoids casts. Like GLib.
2730
2731         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2732         activate.
2733
2734 2005-06-27  Andy Wingo  <wingo@pobox.com>
2735
2736         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2737         remaining buffer.
2738
2739         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2740         returns a sorted copy of the trace list.
2741         (gst_alloc_trace_print_live): New API, only prints traces with
2742         live objects. Sort the list.
2743         (gst_alloc_trace_print_all): Sort the list.
2744         (gst_alloc_trace_print): Align columns.
2745
2746         * gst/elements/gstttypefindelement.c:
2747         * gst/elements/gsttee.c:
2748         * gst/base/gstbasesrc.c:
2749         * gst/base/gstbasesink.c:
2750         * gst/base/gstbasetransform.c:
2751         * gst/gstqueue.c: Adapt for pad activation changes.
2752
2753         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2754         sched.
2755         (gst_pipeline_dispose): Drop ref on sched.
2756
2757         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2758         (gst_pad_activate_default): Push mode by default.
2759         (pre_activate_switch, post_activate_switch): New stubs, things to
2760         do before and after switching activation modes on pads.
2761         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2762         the pad's activate function to choose which mode to activate.
2763         Shortcut on deactivation and call the right function directly.
2764         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2765         mode.
2766         (gst_pad_activate_push): New API, same for push mode.
2767         (gst_pad_set_activate_function) 
2768         (gst_pad_set_activatepull_function) 
2769         (gst_pad_set_activatepush_function): Setters for new API.
2770
2771         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2772         Trace all miniobjects.
2773         (gst_mini_object_make_writable): Unref the arg if we copy, like
2774         gst_caps_make_writable.
2775
2776         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2777
2778         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2779         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2780         Adapt for new pad API.
2781
2782         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2783
2784         * gst/gstelement.h:
2785         * gst/gstelement.c (gst_element_iterate_src_pads) 
2786         (gst_element_iterate_sink_pads): New API functions.
2787         
2788         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2789         should fold into gstiterator.c in some form.
2790         (gst_element_pads_activate): Simplified via use of fold and
2791         delegation of decisions to gstpad->activate.
2792
2793         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2794         help in debugging.
2795
2796         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2797         class once in init, like gstmessage. Didn't run into this issue
2798         but it seems correct. Don't initialize a trace, gstminiobject does
2799         that.
2800
2801         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2802         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2803         to the bus.
2804         (assert_live_count): New util function, uses alloc traces to check
2805         cleanup.
2806
2807         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2808         To be modified when unlink drops the internal pad.
2809
2810 2005-06-27  Wim Taymans  <wim@fluendo.com>
2811
2812         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2813         (gst_bin_change_state):
2814         Cleanup the get_state() function a little, make sure it
2815         iterates the same set of elements.
2816         Added stub iterate_state_order().
2817
2818 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2819
2820         * docs/gst/gstreamer-docs.sgml:
2821         * docs/gst/gstreamer-sections.txt:
2822         * docs/gst/gstreamer.types:
2823         * docs/gst/tmpl/gstbasesink.sgml:
2824         * docs/gst/tmpl/gstbasesrc.sgml:
2825         * docs/gst/tmpl/gstbasetransform.sgml:
2826         * docs/gst/tmpl/gstelement.sgml:
2827         * docs/gst/tmpl/gstiterator.sgml:
2828         * gst/base/gstbasesrc.c:
2829         * gst/base/gstbasesrc.h:
2830         * gst/base/gstbasetransform.h:
2831         * gst/gstelement.c:
2832         * gst/gstiterator.h:
2833           adding basetransform and iterator docs
2834
2835 2005-06-27  Andy Wingo  <wingo@pobox.com>
2836
2837         * docs/design/part-activation.txt: Notes on how activation should
2838         work -- not quite implemented yet.
2839
2840 2005-06-25  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2843         At least get the chain function correct, needs more
2844         fixing.
2845
2846 2005-06-25  Wim Taymans  <wim@fluendo.com>
2847
2848         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2849         (gst_basesink_handle_object), (gst_basesink_event),
2850         (gst_basesink_do_sync), (gst_basesink_handle_event),
2851         (gst_basesink_change_state):
2852         * gst/gsttask.h:
2853         Right, two problems here: ghostpads don't take locks and
2854         glib _rec_mutex_lock_full() with depth==0 still locks.
2855         Catch illegal locking and g_warn them.
2856
2857 2005-06-25  Wim Taymans  <wim@fluendo.com>
2858
2859         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2860         Have to check for completion now...
2861
2862 2005-06-25  Wim Taymans  <wim@fluendo.com>
2863
2864         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2865         (gst_basesink_handle_object), (gst_basesink_event),
2866         (gst_basesink_do_sync), (gst_basesink_handle_event),
2867         (gst_basesink_change_state):
2868         * gst/gstpad.h:
2869         Unlock STREAM_LOCK whatever the recursion was.
2870
2871 2005-06-25  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2874         (gst_basesink_preroll_queue_empty),
2875         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2876         (gst_basesink_event), (gst_basesink_do_sync),
2877         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2878         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2879         (gst_basesink_change_state):
2880         Reworked the base sink, handle event and buffer serialisation
2881         correctly and removed possible deadlock.
2882         Handle EOS correctly.
2883
2884 2005-06-25  Wim Taymans  <wim@fluendo.com>
2885
2886         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2887         (gst_pipeline_change_state):
2888         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2889         Allow elements to post EOS in the state change function.
2890         Fix up -launch, make it exit the poll loop when the
2891         pipeline actually changed state.
2892         Fix up warning parsing in -launch.
2893
2894 2005-06-25  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2897         (gst_tee_sink_activate):
2898         Core takes STREAM_LOCK for us now.
2899
2900 2005-06-25  Wim Taymans  <wim@fluendo.com>
2901
2902         * gst/gstelement.c: (gst_element_get_state_func),
2903         (gst_element_set_state):
2904         * gst/gstelement.h:
2905         * gst/gstmessage.c: (gst_message_parse_error),
2906         (gst_message_parse_warning):
2907         Keep track of current target state while performing a state
2908         change so that subclasses can do something interesting.
2909         Fix parsing of warning/error messages when GError is NULL.
2910
2911 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2912
2913         * docs/gst/Makefile.am:
2914         * docs/gst/gstreamer-docs.sgml:
2915         * docs/gst/gstreamer-sections.txt:
2916         * docs/gst/gstreamer.types:
2917         * docs/gst/tmpl/gstbasesink.sgml:
2918         * docs/gst/tmpl/gstbasesrc.sgml:
2919         * docs/gst/tmpl/gstbin.sgml:
2920         * docs/gst/tmpl/gstcompat.sgml:
2921         * docs/gst/tmpl/gstfakesink.sgml:
2922         * docs/gst/tmpl/gstfakesrc.sgml:
2923         * docs/gst/tmpl/gstfilesink.sgml:
2924         * docs/gst/tmpl/gstfilesrc.sgml:
2925         * docs/gst/tmpl/gstindex.sgml:
2926         * docs/manual/appendix-quotes.xml:
2927         * gst/base/gstbasesrc.h:
2928         * gst/elements/gstfakesrc.h:
2929         * gst/gstmessage.h:
2930           start pulling in base classes and elements in our docs
2931
2932 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2933
2934         * docs/gst/Makefile.am:
2935         * docs/libs/Makefile.am:
2936           fixed make distcheck with gtk-doc 1.3
2937
2938 2005-06-23  Wim Taymans  <wim@fluendo.com>
2939
2940         * gst/gstelement.c: (gst_element_get_state_func),
2941         (gst_element_set_state), (gst_element_change_state):
2942         When the state did not change, also report NO_PREROLL
2943         when it matters.
2944
2945 2005-06-23  Wim Taymans  <wim@fluendo.com>
2946
2947         * gst/gstpad.c: (gst_pad_event_default):
2948         * gst/gstqueue.c: (gst_queue_loop):
2949         No unsafe task pausing please.
2950
2951 2005-06-23  Wim Taymans  <wim@fluendo.com>
2952
2953         * gst/schedulers/threadscheduler.c:
2954         (gst_thread_scheduler_task_start),
2955         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2956         Ref the task before pushing it on the threadpool. This
2957         makes sure that we have a ref when the threadfunction is
2958         actually called.
2959
2960 2005-06-23  Andy Wingo  <wingo@pobox.com>
2961
2962         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2963         offset is greater than the file's size.
2964
2965         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2966         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2967         * gst/gstobject.c (gst_object_class_init): Make the class lock
2968         recursive. Wim won't let me drop deep_notify. Decodebin works
2969         again, whoopdy doo.
2970
2971         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2972         internal pad, and hacks accordingly. Doesn't do it on the target
2973         pad because we change its caps. Probably catches all cases of
2974         interest tho.
2975         (gst_ghost_pad_set_property): Connect to notify::caps as
2976         appropritate.
2977
2978         * tests/network-clock.scm (plot-simulation): Pipe data to the
2979         elite python skript.
2980
2981         * tests/network-clock-utils.scm (define-parameter): New macro,
2982         defines a parameter that can be set via the command line.
2983         (set-parameter!, parse-parameter-arguments): Command line args
2984         parser.
2985
2986         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2987         stdin.
2988
2989 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2990
2991         * gst/elements/gsttypefindelement.c:
2992         (gst_type_find_element_handle_event):
2993           Don't restart typefinding on a discont.
2994         * gst/gstelement.c: (gst_element_set_state):
2995           Debug spelling fix.
2996         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2997           Allow changing mode of an active pad.
2998           Debug output fixes.
2999         * gst/registries/gstlibxmlregistry.c: (load_feature):
3000           Don't cast a static pad template to a normal pad template.
3001
3002 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3003
3004         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3005         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3006           remove gst_strtoll completely, since it didn't actually do
3007           anything more than what g_ascii_strtoull already does.
3008           check for range errors when deserializing
3009           do a cast for the unsigned cases; but further fixing needs
3010           a decision on what the interpretation of "(int)" and
3011           deserialization should be for values that fall outside the
3012           type's boundaries (ie, refuse, or interpret as casting)
3013
3014 2005-06-23  Wim Taymans  <wim@fluendo.com>
3015
3016         * check/Makefile.am:
3017         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3018         * docs/design/part-live-source.txt:
3019         * docs/design/part-states.txt:
3020         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3021         (gst_basesrc_set_live), (gst_basesrc_is_live),
3022         (gst_basesrc_get_range), (gst_basesrc_activate),
3023         (gst_basesrc_change_state):
3024         * gst/base/gstbasesrc.h:
3025         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3026         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3027         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3028         * gst/gstelement.c: (gst_element_get_state_func),
3029         (gst_element_set_state):
3030         * gst/gstelement.h:
3031         * gst/gsttypes.h:
3032         * tools/gst-launch.c: (event_loop), (main):
3033         Added support for live sources and other elements that
3034         cannot do preroll.
3035         Updated design docs, added live-source design doc.
3036         Implemented live source functionality in basesrc
3037         Fix error condition in _bin_get_state()
3038         Implement live source handling in -launch.
3039         Added check for live sources.
3040         Fixed case in GstBin where elements were changed state
3041         multiple times.
3042
3043
3044 2005-06-23  Andy Wingo  <wingo@pobox.com>
3045
3046         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3047         borken refcounting.
3048
3049         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3050         gst_caps_replace takes care of this for us.
3051
3052         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3053         gst_pad_set_caps on the target, not just its setcaps() function.
3054
3055         * tests/network-clock.scm: 
3056         * tests/network-clock-utils.scm: A network clock simulator.
3057         Something of an algorithmic testbed before doing something in C.
3058
3059 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3060
3061         * check/Makefile.am:
3062         * check/gst/capslist.h:
3063           copy over from 0.8, and add two with bitmasks specified with
3064           (int) 0xFF...
3065         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3066           add test to parse everything from capslist.h
3067         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3068         (main):
3069           add test for structure deserialization
3070         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3071           add tests for deserialization of strings to int types
3072         * gst/gststructure.c: (gst_structure_nth_field_name):
3073         * gst/gststructure.h:
3074           add a way to get the name of a field referenced by index
3075         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3076           instead of checking if the resulting long long lies between
3077           min and max, we check if the long long would fit into
3078           a number of bytes for the final type.
3079           This fixes cases where a string represents 2^32 - 1, which
3080           when cast to int would be the (valid) -1, but is bigger than
3081           G_MAXINT
3082
3083 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3084
3085         * gst/parse/grammar.y:
3086           add a log line for type deserialization
3087
3088 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3089
3090         * check/gst/gstvalue.c: (START_TEST):
3091         * gst/gstvalue.c: (gst_value_deserialize):
3092           return long long, not int, so gint64 deserialization actually
3093           works.  Is there any flag that makes the compiler check this ?
3094           Fixes #308559
3095
3096 2005-06-22  Wim Taymans  <wim@fluendo.com>
3097
3098         * gst/gstbuffer.h:
3099         Added convenience macros for setting buffers in GValue.
3100
3101 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * check/gst/.cvsignore:
3104         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3105           add a test deserializing int64, and comment part out because
3106           it fails, yay !
3107
3108 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3109
3110         * check/Makefile.am:
3111         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3112         * testsuite/Makefile.am:
3113         * testsuite/caps/Makefile.am:
3114         * testsuite/caps/value_serialize.c:
3115         * testsuite/test_gst_init.c:
3116           move a value_serialize test over
3117
3118 2005-06-20  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gstpad.c:
3121         Small doc updates.
3122         
3123         * gst/gstvalue.c: (gst_value_compare_buffer),
3124         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3125         (gst_value_compare_flags), (gst_value_serialize_flags),
3126         (gst_value_deserialize_flags), (_gst_value_initialize):
3127         Fix serialisation of buffers, they are not boxed types anymore
3128
3129 2005-06-20  Wim Taymans  <wim@fluendo.com>
3130
3131         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3132         Testcase to show error in buffer-on-caps serialisation.
3133
3134 2005-06-20  Andy Wingo  <wingo@pobox.com>
3135
3136         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3137         will be adding to later.
3138
3139         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3140         if its socks fill with rocks.
3141         (gst_system_clock_obtain): Set the name on object construction.
3142         Avoid double-checked locking.
3143
3144 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3145
3146         * gst/gsturi.c: (gst_element_make_from_uri):
3147           Fix potential endless loop.
3148
3149 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * check/Makefile.am:
3152           add gsttag
3153         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3154         (main):
3155           move over from testsuite dir and clean up
3156         * configure.ac:
3157         * gst/gsttag.c:
3158         * testsuite/Makefile.am:
3159         * testsuite/tags/.cvsignore:
3160         * testsuite/tags/Makefile.am:
3161         * testsuite/tags/merge.c:
3162           remove testsuite/tags
3163
3164 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3165
3166         * docs/gst/gstreamer-sections.txt:
3167         * docs/gst/tmpl/gstenumtypes.sgml:
3168         * win32/gstenumtypes.c:
3169           clean up documentation build a little
3170
3171 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3172
3173         * check/gstcheck.h:
3174           add macros for checking refcounts on objects and caps
3175         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3176           add some more unit tests
3177         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3178         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3179           fix leaked refcounts (I hope :)) so unittest works
3180         * gst/gstpad.h:
3181           whitespace removal
3182
3183 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * configure.ac: back to HEAD
3186
3187 === release 0.9.1 ===
3188
3189 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * NEWS:
3192         * RELEASE:
3193           updated
3194
3195 2005-06-17  Andy Wingo  <wingo@pobox.com>
3196
3197         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3198         assert; it's always possible that the pad gets deactivated in
3199         between the checks in gstpad.c and the implementation. Rely on
3200         finish_preroll() to return a FLUSHING or similar instead of on the
3201         assert.
3202         
3203         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3204         clock and post an EOS message if we come out of finish_preroll in
3205         the playing state.
3206
3207 2005-06-16  David Schleef  <ds@schleef.org>
3208
3209         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3210         (gst_capsfilter_set_property): Allow NULL as possible value
3211         for filter_caps property, indicating GST_CAPS_ANY.
3212
3213 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3214
3215         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3216           fix debug output
3217         * gst/schedulers/Makefile.am:
3218           use libgst prefix
3219         * gstreamer.spec.in:
3220           fix spec for it
3221
3222 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3223
3224         * gstreamer.spec.in:
3225           clean up
3226
3227 2005-06-08  Andy Wingo  <wingo@pobox.com>
3228
3229         * gst/gstutils.c: RPAD fixes all around.
3230         (gst_element_link_pads): Refcounting fixes.
3231
3232         * tools/gst-inspect.c:
3233         * tools/gst-xmlinspect.c:
3234         * parse/grammar.y:
3235         * gst/base/gsttypefindhelper.c:
3236         * gst/base/gstbasesink.c:
3237         * gst/gstqueue.c: RPAD fixes.
3238
3239         * gst/gstghostpad.h:
3240         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3241         pads. The tricky thing is they provide both source and sink
3242         interfaces, since they proxy the internal pad for the external
3243         pad, and vice versa. Implement with lower-level ProxyPad objects,
3244         with the interior proxy pad as a child of the exterior ghost pad.
3245         Should write a doc on this.
3246         
3247         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3248         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3249         gst_object API.
3250         
3251         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3252         pads are real pads. No ghost pads in this file. Not documenting
3253         the myriad s/RPAD/PAD/ and REALIZE fixes.
3254         (gst_pad_class_init): Add properties for "direction" and
3255         "template". Both are construct-only, so they can't change during
3256         the life of the pad. Fixes properly deriving from GstPad.
3257         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3258         derived objects, just set properties when creating the objects via
3259         g_object_new.
3260         (gst_pad_get_parent): Implement as a function, return NULL if the
3261         parent is not an element.
3262         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3263         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3264         
3265         * gst/gstobject.c (gst_object_class_init): Make name a construct
3266         property. Don't set it in the object init.
3267
3268         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3269         with UNKNOWN direction.
3270         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3271         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3272         (gst_element_remove_pad): Remove ghost-pad special cases.
3273         (gst_element_pads_activate): Remove rpad cruft.
3274
3275         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3276         catch the pad's-parent-not-an-element case.
3277
3278         * gst/gst.h: Include gstghostpad.h.
3279
3280         * gst/gst.c (init_post): No more real, ghost pads.
3281
3282         * gst/Makefile.am: Add gstghostpad.[ch].
3283
3284         * check/Makefile.am:
3285         * check/gst/gstbin.c:
3286         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3287         into a bin creates ghost pads, and that the refcounts are right.
3288         Partly moved from gstbin.c.
3289
3290 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3291
3292         * check/gst-libs/.cvsignore:
3293         * check/gst/.cvsignore:
3294         * check/pipelines/.cvsignore:
3295           ignore more
3296         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3297         (START_TEST), (cleanup_suite), (main):
3298           add some tests related to cleanup after running pipelines
3299
3300 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3301
3302         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3303           add a testsuite for GstBuffer
3304
3305 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3306
3307         * gst/gstminiobject.h:
3308           add defines for accessing the refcount
3309
3310 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3311
3312         * Makefile.am: added support for html unit test coverage reports
3313
3314 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3315
3316         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3317           Free existing caps if the capsfilter changes. Add a FIXME about
3318           setting those caps on the pads.
3319
3320         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3321           Before adding a ghost pad to a parent bin, check that there isn't
3322           already one for the element on the bin. Prevents infinite recursion
3323           when using decodebin in parse pipelines. Andy says he'll rewrite the
3324           way this works anyway, so ignore the hack.
3325
3326 2005-06-02  Andy Wingo  <wingo@pobox.com>
3327
3328         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3329         file size, pass it on to the type find helper.
3330
3331         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3332         segment_start and segment_end properly according to the seek
3333         method. Segment_end is still a bit flaky because offset can be
3334         negative for CUR and END cases, but it takes -1 as an "unset"
3335         value.
3336
3337 2005-06-02  Wim Taymans  <wim@fluendo.com>
3338
3339         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3340         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3341         (gst_basesink_activate):
3342         * gst/base/gstbasesink.h:
3343         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3344         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3345         (gst_pad_query), (gst_pad_start_task):
3346         * gst/gstpad.h:
3347         * gst/gstqueue.c: (gst_queue_bufferalloc),
3348         (gst_queue_handle_sink_event), (gst_queue_chain):
3349         Bufferalloc: return GstFlowReturn to more accuratly report
3350         why allocation failed.
3351
3352 2005-06-02  Wim Taymans  <wim@fluendo.com>
3353
3354         * gst/gstpipeline.c: (gst_pipeline_send_event):
3355         Take snapshot of state without blocking.
3356
3357 2005-06-02  Wim Taymans  <wim@fluendo.com>
3358
3359         * docs/design/part-TODO.txt:
3360         * docs/design/part-caps.txt:
3361         * docs/design/part-clocks.txt:
3362         * docs/design/part-negotiation.txt:
3363         * docs/design/part-preroll.txt:
3364         Small doc updates 
3365
3366 2005-05-30  Wim Taymans  <wim@fluendo.com>
3367
3368         * gst/elements/gstidentity.c: (gst_identity_event),
3369         (gst_identity_transform), (gst_identity_get_property):
3370         Protect last_message property as it is accessed from
3371         multiple threads.
3372
3373 2005-05-30  Wim Taymans  <wim@fluendo.com>
3374
3375         * gst/gstelement.c: (gst_element_init),
3376         (gst_element_pads_activate), (gst_element_change_state):
3377         Slicker pad activation code.
3378
3379 2005-05-30  Wim Taymans  <wim@fluendo.com>
3380
3381         * gst/Makefile.am:
3382         * gst/gstelement.h:
3383         * gst/gstelementfactory.h:
3384         * gst/gsttypes.h:
3385         Move elementfactory methods to separate .h file.
3386
3387 2005-05-30  Wim Taymans  <wim@fluendo.com>
3388
3389         * docs/design/part-overview.txt:
3390         * gst/gstsystemclock.h:
3391         Small typo fixes, doc updates.
3392
3393 2005-05-30  Wim Taymans  <wim@fluendo.com>
3394
3395         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3396         (init_popt_callback):
3397         Remove cpu-opt flag.
3398
3399 2005-05-30  Wim Taymans  <wim@fluendo.com>
3400
3401         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3402         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3403         * gst/gstbuffer.h:
3404         Avoid typechecking in places where not needed.
3405         Added accessor for malloc_data.
3406
3407 2005-05-30  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3410         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3411         (gst_pad_configure_sink), (gst_pad_configure_src),
3412         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3413         (gst_pad_start_task):
3414         Propagate errors from _set_caps() in configure_src/sink
3415         functions instead of returning TRUE.
3416         FLUSH events can travel up and downstream
3417
3418
3419 2005-05-30  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3422         (gst_basesink_activate):
3423         Handle EOS in preroll.
3424
3425 2005-05-30  Wim Taymans  <wim@fluendo.com>
3426
3427         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3428         (gst_queue_loop), (gst_queue_handle_src_event):
3429         Remove old pieces of code
3430         Flushing the queue in an upstream event is a very bad idea.
3431
3432 2005-05-26  Andy Wingo  <wingo@pobox.com>
3433
3434         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3435         gst_value_set_mini_object so as to add a ref on the object (which
3436         will be removed when the value is unset).
3437
3438         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3439         arg type in ::handoff.
3440
3441         * gst/gstelement.c (gst_element_change_state): Also deactivate
3442         pads in READY->NULL, just in case the element didn't make it to
3443         PAUSED. Wingo tested, Wim approved.
3444
3445 2005-05-26  Wim Taymans  <wim@fluendo.com>
3446
3447         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3448         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3449         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3450         A flushing pad cannot be used to alloc_buffer from.
3451
3452 2005-05-26  Wim Taymans  <wim@fluendo.com>
3453
3454         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3455         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3456         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3457         (gst_bus_create_watch), (gst_bus_add_watch_full):
3458         * gst/gstbus.h:
3459         Implement a real GSource and use g_main_context_wakeup() to
3460         signal new messages instead of the socketpair.
3461
3462 2005-05-25  Wim Taymans  <wim@fluendo.com>
3463
3464         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3465         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3467         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3468         (gst_pad_send_event), (gst_pad_start_task):
3469         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3470         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3471         (gst_queue_sink_activate), (gst_queue_src_activate),
3472         (gst_queue_change_state):
3473         * gst/gstqueue.h:
3474         Fix state changes for non sinks. We now change sinks, then elements
3475         with unconnected srcpads, then the rest.
3476         More efficient queue unlocking in flush and state changes.
3477         Set the pad activate mode even if it does not have an activate
3478         function.
3479
3480 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3481
3482         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3483           Don't go in pull mode for non-seekable sources.
3484         * gst/elements/gsttypefindelement.h:
3485         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3486         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3487         (free_entry), (stop_typefinding),
3488         (gst_type_find_element_handle_event), (find_peek),
3489         (gst_type_find_element_chain), (do_pull_typefind),
3490         (gst_type_find_element_change_state):
3491           Allow typefinding (w/o seeking) in push-mode, simplified version
3492           of what was in 0.8.
3493         * gst/gstutils.c: (gst_buffer_join):
3494         * gst/gstutils.h:
3495           gst_buffer_join() from 0.8.
3496
3497 2005-05-25  Wim Taymans  <wim@fluendo.com>
3498
3499         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3500         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3501         (gst_pad_send_event), (gst_pad_start_task):
3502         Disable attempt at mode switching until it is figured out.
3503
3504 2005-05-25  Wim Taymans  <wim@fluendo.com>
3505
3506         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3507         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3508         (gst_basesink_finish_preroll), (gst_basesink_chain),
3509         (gst_basesink_loop), (gst_basesink_activate),
3510         (gst_basesink_change_state):
3511         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3512         (gst_basesrc_get_range), (gst_basesrc_loop),
3513         (gst_basesrc_activate):
3514         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3515         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3516         (gst_real_pad_init), (gst_real_pad_set_property),
3517         (gst_real_pad_get_property), (gst_pad_set_active),
3518         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3519         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3520         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3521         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3522         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3523         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3524         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3525         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3526         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3527         (gst_pad_stop_task):
3528         * gst/gstpad.h:
3529         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3530         (gst_queue_loop), (gst_queue_src_activate):
3531         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3532         (gst_task_get_state):
3533         * gst/gsttask.h:
3534         * gst/schedulers/threadscheduler.c:
3535         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3536         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3537         in task function.
3538         Remove ACTIVE pad flag, use FLUSHING everywhere
3539         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3540         functions.
3541         Add locks around IS_FLUSHING when reading.
3542         Take STREAM lock in chain(), get_range() functions so plugins
3543         don't need to take it anymore.
3544         
3545
3546
3547 2005-05-25  Wim Taymans  <wim@fluendo.com>
3548
3549         * tools/gst-launch.c: (event_loop):
3550         Unref message after using its contents instead of
3551         before.
3552
3553 2005-05-24  Wim Taymans  <wim@fluendo.com>
3554
3555         * docs/design/draft-ghostpads.txt:
3556         * docs/design/draft-push-pull.txt:
3557         * docs/design/draft-query.txt:
3558         * docs/design/part-overview.txt:
3559         Docs updates, added general overview doc.
3560
3561 2005-05-21  David Schleef  <ds@schleef.org>
3562
3563         * docs/gst/tmpl/old/GstBin.sgml:
3564         * docs/gst/tmpl/old/GstBuffer.sgml:
3565         * docs/gst/tmpl/old/GstCaps.sgml:
3566         * docs/gst/tmpl/old/GstClock.sgml:
3567         * docs/gst/tmpl/old/GstCompat.sgml:
3568         * docs/gst/tmpl/old/GstData.sgml:
3569         * docs/gst/tmpl/old/GstElement.sgml:
3570         * docs/gst/tmpl/old/GstEvent.sgml:
3571         * docs/gst/tmpl/old/GstIndex.sgml:
3572         * docs/gst/tmpl/old/GstStructure.sgml:
3573         * docs/gst/tmpl/old/GstTag.sgml:
3574         * docs/gst/tmpl/old/cothreads.sgml:
3575         * docs/gst/tmpl/old/cothreads_compat.sgml:
3576         * docs/gst/tmpl/old/gettext.sgml:
3577         * docs/gst/tmpl/old/gobject2gtk.sgml:
3578         * docs/gst/tmpl/old/grammar.tab.sgml:
3579         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3580         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3581         * docs/gst/tmpl/old/gst_private.sgml:
3582         * docs/gst/tmpl/old/gstaggregator.sgml:
3583         * docs/gst/tmpl/old/gstarch.sgml:
3584         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3585         * docs/gst/tmpl/old/gstbufferstore.sgml:
3586         * docs/gst/tmpl/old/gstdata_private.sgml:
3587         * docs/gst/tmpl/old/gstdisksink.sgml:
3588         * docs/gst/tmpl/old/gstdisksrc.sgml:
3589         * docs/gst/tmpl/old/gstelementfactory.sgml:
3590         * docs/gst/tmpl/old/gstextratypes.sgml:
3591         * docs/gst/tmpl/old/gstfakesink.sgml:
3592         * docs/gst/tmpl/old/gstfakesrc.sgml:
3593         * docs/gst/tmpl/old/gstfdsink.sgml:
3594         * docs/gst/tmpl/old/gstfdsrc.sgml:
3595         * docs/gst/tmpl/old/gstfilesink.sgml:
3596         * docs/gst/tmpl/old/gstfilesrc.sgml:
3597         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3598         * docs/gst/tmpl/old/gstidentity.sgml:
3599         * docs/gst/tmpl/old/gstindexfactory.sgml:
3600         * docs/gst/tmpl/old/gstmarshal.sgml:
3601         * docs/gst/tmpl/old/gstmd5sink.sgml:
3602         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3603         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3604         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3605         * docs/gst/tmpl/old/gstpipefilter.sgml:
3606         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3607         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3608         * docs/gst/tmpl/old/gstshaper.sgml:
3609         * docs/gst/tmpl/old/gstspider.sgml:
3610         * docs/gst/tmpl/old/gstspideridentity.sgml:
3611         * docs/gst/tmpl/old/gststatistics.sgml:
3612         * docs/gst/tmpl/old/gsttee.sgml:
3613         * docs/gst/tmpl/old/gsttimecache.sgml:
3614         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3615         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3616         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3617         * docs/gst/tmpl/old/types.sgml:
3618           I didn't intend to add these or check them in.
3619
3620 2005-05-19  David Schleef  <ds@schleef.org>
3621
3622         * configure.ac: Use -no-common everywhere.  In a sane world, it
3623           would be the default in libtool, because without it, you can't
3624           build DLLs on Windows.
3625         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3626         * docs/gst/gstreamer-sections.txt:
3627         * docs/gst/tmpl/gstcpu.sgml:
3628         * docs/gst/tmpl/gstdata.sgml:
3629         * docs/gst/tmpl/gstthread.sgml:
3630
3631 2005-05-19  David Schleef  <ds@schleef.org>
3632
3633         * gst/gstminiobject.c: (gst_value_set_mini_object),
3634         (gst_value_take_mini_object), (gst_value_get_mini_object):
3635         * gst/gstminiobject.h: Add GValue set/get functions.
3636
3637 2005-05-19  Wim Taymans  <wim@fluendo.com>
3638
3639         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3640         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3641         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3642         * gst/gstbuffer.h:
3643         * gst/gstbus.c: (gst_bus_post):
3644         * gst/gstelement.c: (gst_element_get_random_pad):
3645         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3646         Make subbufer unref the parent in finalize.
3647         some more debugging info.
3648
3649
3650 2005-05-19  Wim Taymans  <wim@fluendo.com>
3651
3652         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3653         (gst_basesink_init), (gst_basesink_finalize),
3654         (gst_basesink_activate), (gst_basesink_change_state):
3655         Don't free preroll queue too early.
3656
3657 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3658
3659         * gst/Makefile.am:
3660         * gst/ROADMAP:
3661           Hi, I'm outdated. Please shoot me.
3662
3663 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3664
3665         * gst/gstpipeline.c: (gst_pipeline_send_event):
3666           Do not access variables after they have been deleted.
3667
3668 2005-05-19  Wim Taymans  <wim@fluendo.com>
3669
3670         * tools/gst-inspect.c: (print_plugin_features):
3671         A plugin feature does unfortunatly not use the
3672         object name yet...
3673
3674 2005-05-18  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3677         Port _span() functions to new subbuffers.
3678
3679 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3680
3681         * gst/gstbin.c: (gst_bin_add_func):
3682           Fix clock settery in bins when adding kids after the clock has
3683           been selected.
3684
3685 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3686
3687         * gst/elements/gstidentity.c: (gst_identity_class_init):
3688           Workaround until signals support GstMiniObject.
3689
3690 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3691
3692         * gst/gstbuffer.c:
3693         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3694
3695 2005-05-18  Wim Taymans  <wim@fluendo.com>
3696
3697         * gst/base/Makefile.am:
3698         * gst/base/gstadapter.c: (gst_adapter_base_init),
3699         (gst_adapter_class_init), (gst_adapter_init),
3700         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3701         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3702         (gst_adapter_flush), (gst_adapter_available),
3703         (gst_adapter_available_fast):
3704         * gst/base/gstadapter.h:
3705         Ported and added adapter to the base classes.
3706
3707 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3708
3709         * gst/gst.c:
3710         * gst/gstmessage.c:
3711           Make sure the class is reffed/unreffed once before threads can be
3712           used.  Fixes #304551.
3713
3714 2005-05-17  Wim Taymans  <wim@fluendo.com>
3715
3716         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3717         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3718         * gst/gstminiobject.c: (gst_mini_object_get_type),
3719         (gst_mini_object_free):
3720         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3721         (gst_pad_push), (gst_pad_push_event):
3722         * gst/gstqueue.c: (gst_queue_change_state):
3723         Don't queue buffers in basesink when we are flushing.
3724         Unref buffer when flushing in basesink.
3725         Flush queue when going to READY
3726         Unref buffer when _push() returns an error.
3727         Don't free MiniObject instance when refcount is incremented
3728         in _finalize() so that we can recover objects.
3729
3730 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3731
3732         * docs/manual/advanced-schedulers.xml:
3733         * docs/manual/appendix-checklist.xml:
3734         * docs/pwg/advanced-clock.xml:
3735         * docs/pwg/advanced-interfaces.xml:
3736         * docs/pwg/advanced-request.xml:
3737         * docs/pwg/advanced-types.xml:
3738         * docs/pwg/intro-preface.xml:
3739         * examples/plugins/example.c: (gst_example_get_type),
3740         (gst_example_class_init), (gst_example_chain),
3741         (gst_example_set_property), (gst_example_get_property),
3742         (gst_example_change_state), (plugin_init):
3743         * examples/plugins/example.h:
3744           small doc fixes
3745
3746 2005-05-17  Wim Taymans  <wim@fluendo.com>
3747
3748         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3749         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3750         * gst/gstqueue.c: (gst_queue_change_state):
3751         Clear queue when going to READY.
3752         Remove IN_SETCAPS flag too.
3753
3754 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3755
3756         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3757           Remove implicit cast from gboolean to GstElementStateReturn;
3758           make sure we still return failure in paused => ready case if
3759           the parent class fails to change state and our own stop 
3760           vfunc succeeds.
3761
3762 2005-05-17  Wim Taymans  <wim@fluendo.com>
3763
3764         * tools/gst-launch.c: (event_loop):
3765         Message was unreffed too soon.
3766
3767 2005-05-16  Andy Wingo  <wingo@pobox.com>
3768
3769         * gst/gstbin.c (sink_iterator_filter): Err... um...
3770
3771         * check/gst/gstbin.c (test_ghost_pads): New test for the
3772         ghosting-if-elements-not-in-same-bin behavior.
3773
3774 2005-05-16  David Schleef  <ds@schleef.org>
3775
3776         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3777         accessing refcount directly.
3778
3779 2005-05-15  David Schleef  <ds@schleef.org>
3780
3781         * check/Makefile.am: remove GstData checks
3782         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3783         * gst/Makefile.am: add miniobject, remove data
3784         * gst/gst.h: add miniobject, remove data
3785         * gst/gstdata.c: remove
3786         * gst/gstdata.h: remove
3787         * gst/gstdata_private.h: remove
3788         * gst/gsttypes.h: remove GstEvent and GstMessage
3789         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3790         * gst/gstmarshal.list: change BOXED -> OBJECT
3791
3792         Implement GstMiniObject.
3793         * gst/gstminiobject.c:
3794         * gst/gstminiobject.h:
3795
3796         Modify to be subclasses of GstMiniObject.
3797         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3798         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3799         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3800         (gst_subbuffer_get_type), (gst_subbuffer_init),
3801         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3802         (gst_buffer_span):
3803         * gst/gstbuffer.h:
3804         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3805         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3806         (_gst_event_copy), (gst_event_new):
3807         * gst/gstevent.h:
3808         * gst/gstmessage.c: (_gst_message_initialize),
3809         (gst_message_get_type), (gst_message_class_init),
3810         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3811         (gst_message_new), (gst_message_new_error),
3812         (gst_message_new_warning), (gst_message_new_tag),
3813         (gst_message_new_state_changed), (gst_message_new_application):
3814         * gst/gstmessage.h:
3815         * gst/gstprobe.c: (gst_probe_perform),
3816         (gst_probe_dispatcher_dispatch):
3817         * gst/gstprobe.h:
3818         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3819         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3820         (_gst_query_copy), (gst_query_new):
3821
3822         Update elements for GstData -> GstMiniObject changes
3823         * gst/gstquery.h:
3824         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3825         (gst_queue_chain), (gst_queue_loop):
3826         * gst/elements/gstbufferstore.c:
3827         (gst_buffer_store_add_buffer_func),
3828         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3829         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3830         (gst_fakesink_render):
3831         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3832         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3833         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3834         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3835         (gst_filesrc_create_read):
3836         * gst/elements/gstidentity.c: (gst_identity_class_init):
3837         * gst/elements/gsttypefindelement.c:
3838         (gst_type_find_element_src_event), (free_entry_buffers),
3839         (gst_type_find_element_handle_event):
3840         * libs/gst/dataprotocol/dataprotocol.c:
3841         (gst_dp_header_from_buffer):
3842         * libs/gst/dataprotocol/dataprotocol.h:
3843         * libs/gst/dataprotocol/dp-private.h:
3844
3845 2005-05-15  David Schleef  <ds@schleef.org>
3846
3847         * gst/elements/gstelements.c: Don't include headers that were
3848         just removed.
3849
3850 2005-05-15  David Schleef  <ds@schleef.org>
3851
3852         * gst/elements/Makefile.am: Remove some elements that don't
3853         need to be in the core (or even exist at all).
3854         * gst/elements/gstaggregator.c:
3855         * gst/elements/gstaggregator.h:
3856         * gst/elements/gstmd5sink.c:
3857         * gst/elements/gstmd5sink.h:
3858         * gst/elements/gstmultifilesrc.c:
3859         * gst/elements/gstmultifilesrc.h:
3860         * gst/elements/gstpipefilter.c:
3861         * gst/elements/gstpipefilter.h:
3862         * gst/elements/gstshaper.c:
3863         * gst/elements/gstshaper.h:
3864         * gst/elements/gststatistics.c:
3865         * gst/elements/gststatistics.h:
3866         * po/POTFILES.in: Remove above files.
3867
3868 2005-05-14  Andy Wingo  <wingo@pobox.com>
3869
3870         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3871         so as to get the refs right.
3872         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3873         unreffing objects that don't pass the filter.
3874
3875         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3876         gst_element_set_bus.
3877         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3878         normal cases, this will destroy the bus.
3879
3880         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3881         object.
3882
3883         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3884         has no sinks.
3885
3886 2005-05-13  Andy Wingo  <wingo@pobox.com>
3887
3888         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3889         gst_pad_link, call pad_link_maybe_ghosting,
3890         (pad_link_maybe_ghosting): Links pads, making sure that the
3891         elements being linked are in the same bin.
3892         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3893         Helpers for pad_link_maybe_ghosting.
3894
3895 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3896
3897         * configure.ac:
3898           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3899
3900 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3901
3902         * docs/design/part-element-source.txt:
3903           Mention GstPushSrc
3904
3905 2005-05-12  Wim Taymans  <wim@fluendo.com>
3906
3907         * gst/base/gstbasesink.c: (gst_basesink_init),
3908         (gst_basesink_activate):
3909         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3910         (gst_basesrc_is_seekable):
3911         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3912         (bin_element_is_sink), (gst_bin_change_state):
3913         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3914         * gst/gstelement.h:
3915         Identify sinks by their flag to avoid overly complicated
3916         checks (fow now).
3917         Do state changes even for elements not reachable from the
3918         sinks.
3919         BaseSink is a sink now :)
3920         Some more debugging info in the basesrc.
3921
3922
3923 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3924
3925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3926           Implement _query on a bin, similar to _send_event.
3927
3928 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3929
3930         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3931           Discont event offset format should be GST_FORMAT_BYTES,
3932           not GST_FORMAT_TIME.
3933
3934 2005-05-12  Wim Taymans  <wim@fluendo.com>
3935
3936         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3937         Same fix as Ronald's but without the signal. 
3938
3939 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3940
3941         * gst/gstutils.c: (gst_element_query_position):
3942           No, an element is not a pad.
3943
3944 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3945
3946         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3947         (gst_bin_get_state):
3948           If a child is removed from a bin while we remove the child from
3949           the bin and while we're retrieving its state, signal this to the
3950           get_state function so we abort the wait (instead of waiting for
3951           a timeout) and can immediately re-iterate over all other elements.
3952
3953 2005-05-12  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/base/Makefile.am:
3956         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3957         (gst_basesrc_start):
3958         * gst/base/gstbasesrc.h:
3959         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3960         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3961         (gst_pushsrc_init), (gst_pushsrc_create):
3962         * gst/base/gstpushsrc.h:
3963         Added is_seekable to BaseSrc
3964         Added simple PushSrc.
3965
3966 2005-05-11  Wim Taymans  <wim@fluendo.com>
3967
3968         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3969         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3970         (gst_element_link_pads), (gst_element_query_position),
3971         (gst_element_query_convert), (intersect_caps_func),
3972         (gst_pad_query_position), (gst_pad_query_convert):
3973         Fix refcounting in utils function.
3974         No point in trying to activate a pad when it's added, it could
3975         be added from the state change function and then we deadlock, the
3976         element has to decide what to do.
3977
3978 2005-05-10  Andy Wingo  <wingo@pobox.com>
3979
3980         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3981         *all* the arguments.
3982
3983         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3984         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3985         lock (according to the docs -- if this is wrong change the docs).
3986
3987         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3988         flush messages in the NULL state.
3989
3990         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3991         message immediately and return.
3992         (gst_bus_set_flushing): New function. If a bus is flushing, it
3993         flushes out any queued messages and immediately unrefs new
3994         messages. This is so when an element goes to NULL, all of the
3995         unhandled messages coming from it can be freed, and their
3996         references to the element dropped. In other words: message source
3997         ref considered harmful :P
3998
3999         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4000         we're finished with it.
4001
4002         * gst/gstmessage.c (gst_message_new_state_changed): 
4003
4004 2005-05-10  Wim Taymans  <wim@fluendo.com>
4005
4006         * gst/gstvalue.c: (gst_value_compare_flags),
4007         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4008         (_gst_value_initialize):
4009         Added flags serialize/deserialize/compare code.
4010
4011 2005-05-09  Andy Wingo  <wingo@pobox.com>
4012
4013         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4014         Intersect the peer's caps with our caps.
4015
4016 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4017
4018         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4019         * gst/elements/gsttypefindelement.c: (find_peek):
4020           Handle negative offsets better. Fixes decodebin.
4021
4022 2005-05-09  Wim Taymans  <wim@fluendo.com>
4023
4024         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4025         (gst_base_transform_event):
4026         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4027         Implement accept_caps.
4028         Fix silly lock/unlock mismatch in base class.
4029
4030 2005-05-09  Wim Taymans  <wim@fluendo.com>
4031
4032         * docs/design/draft-push-pull.txt:
4033         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4034         * gst/elements/gstfilesink.c: (gst_filesink_init),
4035         (gst_filesink_query):
4036         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4037         (gst_type_find_handle_src_query), (find_element_get_length):
4038         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4039         * gst/gstelement.h:
4040         * gst/gstmessage.c:
4041         * gst/gstmessage.h:
4042         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4043         (gst_real_pad_get_caps_unlocked),
4044         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4045         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4046         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4047         (gst_real_pad_dispose), (gst_real_pad_finalize),
4048         (gst_pad_load_and_link), (gst_pad_save_thyself),
4049         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4050         (gst_pad_check_pull_range), (gst_pad_pull_range),
4051         (gst_pad_template_get_type), (gst_pad_template_class_init),
4052         (gst_pad_template_init), (gst_pad_template_dispose),
4053         (name_is_valid), (gst_static_pad_template_get),
4054         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4055         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4056         (gst_pad_get_element_private), (gst_pad_start_task),
4057         (gst_pad_pause_task), (gst_pad_stop_task),
4058         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4059         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4060         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4061         (gst_ghost_pad_new):
4062         * gst/gstpad.h:
4063         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4064         (gst_query_new_position), (gst_query_set_position),
4065         (gst_query_parse_position), (gst_query_new_convert),
4066         (gst_query_set_convert), (gst_query_parse_convert):
4067         * gst/gstquery.h:
4068         * gst/gstqueryutils.c:
4069         * gst/gstqueryutils.h:
4070         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4071         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4072         (gst_queue_handle_src_query):
4073         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4074         (gst_element_query_position), (gst_element_query_convert),
4075         (intersect_caps_func), (gst_pad_query_position),
4076         (gst_pad_query_convert):
4077         * gst/gstutils.h:
4078         * tools/gst-inspect.c: (print_pad_info):
4079         * tools/gst-xmlinspect.c: (print_element_info):
4080         Remove old query functions. Ported old code.
4081         Added position/convert helper functions to gstutils.
4082         Reordered gstpad.c code, grouping relevant things.
4083         Remove gst_message_new(), always need to speficy a specific
4084         message.
4085
4086
4087 2005-05-09  Andy Wingo  <wingo@pobox.com>
4088
4089         * gst/gstiterator.h: Add some includes.
4090
4091         * gst/gstqueryutils.h: Include more headers.
4092
4093         * gst/gstpad.h:
4094         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4095         some uses of gst_pad_query.
4096
4097         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4098         NULL out parameters.
4099         (gst_query_new_position): New proc, allocates a new position
4100         query.
4101
4102         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4103         gstqueryutils.c to the build.
4104
4105         * gst/gststructure.c (gst_structure_set_valist): Implement with
4106         the generic G_VALUE_COLLECT.
4107         
4108 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4109
4110         * gst/Makefile.am: (gst_headers):
4111         Added gstqueryutils.h to the list of headers to install, that was
4112         a 'nachty' move wingo :)
4113
4114 2005-05-06  Andy Wingo  <wingo@pobox.com>
4115
4116         * gst/gstquery.h
4117         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4118         GstData, init a memchunk.
4119         (standard_definitions): Add a few query types, deprecate a few.
4120         (gst_query_get_type): New proc.
4121         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4122         implementation.
4123         (gst_query_new_application, gst_query_get_structure): New public
4124         procs.
4125
4126         * docs/design/draft-query.txt: Removed LINKS from the query types,
4127         because all the rest can be dispatched to other pads -- seemed
4128         ugly to have a query that couldn't be dispatched. internal_links
4129         is fine as a pad method.
4130
4131         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4132         in gstpad.c, but maintain binary compatibility for the moment.
4133         Will fix before 0.9 is out.
4134
4135         * gst/gstqueryutils.c: 
4136         * gst/gstqueryutils.h: New files, implement 3 methods for each
4137         query type: parse_query, parse_response, and set. Probably need an
4138         allocator as well.
4139
4140         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4141
4142         * gst/elements/gstfilesink.c (gst_filesink_query2):
4143         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4144         query_types, and formats methods.
4145
4146         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4147         (gst_pad_set_query2_function): New functions.
4148         (gst_real_pad_init): Set query2_default as the default query2
4149         function. Basically just dispatches to internally linked pads.
4150
4151         Needs review!
4152         
4153         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4154         without using the atomic operations. Only one thread can possibly
4155         be accessing the data at this point. Changed so as to avoid
4156         gst_atomic operations.
4157
4158 2005-05-06  Wim Taymans  <wim@fluendo.com>
4159
4160         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4161         Also set caps if we use the fallback buffer alloc.
4162
4163 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         * docs/gst/Makefile.am:
4166         * docs/gst/gstreamer-docs.sgml:
4167         * docs/gst/gstreamer-sections.txt:
4168         * docs/gst/tmpl/gstatomic.sgml:
4169         * docs/gst/tmpl/gstmemchunk.sgml:
4170         * testsuite/elements/struct_i386.h:
4171         * win32/GStreamer.vcproj:
4172         * win32/Makefile:
4173           Purge GstAtomic stuff from docs and win32 makefiles as well
4174
4175 2005-05-06  Wim Taymans  <wim@fluendo.com>
4176
4177         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4178         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4179         * gst/gstpad.c: (gst_pad_peer_get_caps):
4180         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4181         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4182         (gst_queue_src_activate), (gst_queue_change_state):
4183         * gst/gstqueue.h:
4184         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4185         (intersect_caps_func):
4186         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4187         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4188         Some fixes for the peer_get_caps() change.
4189
4190 2005-05-06  Wim Taymans  <wim@fluendo.com>
4191
4192         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4193         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4194         (gst_basesink_activate):
4195         Actually do something with error codes returned from the push
4196         functions.
4197
4198 2005-05-06  Wim Taymans  <wim@fluendo.com>
4199
4200         * docs/design/part-element-sink.txt:
4201         * docs/design/part-element-source.txt:
4202         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4203         (gst_basesink_event), (gst_basesink_activate):
4204         * gst/base/gstbasesink.h:
4205         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4206         (gst_basesrc_activate):
4207         * gst/base/gstbasesrc.h:
4208         * gst/gstelement.c: (gst_element_pads_activate):
4209         Some more documentation.
4210         Fixed scheduling decision in _pads_activate().
4211
4212 2005-05-05  Andy Wingo  <wingo@pobox.com>
4213
4214         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4215         the test suite.
4216
4217 2005-05-05  Wim Taymans  <wim@fluendo.com>
4218
4219         * gst/base/Makefile.am:
4220         * gst/base/gstbasesink.h:
4221         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4222         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4223         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4224         (gst_collectpads_class_init), (gst_collectpads_init),
4225         (gst_collectpads_finalize), (gst_collectpads_new),
4226         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4227         (find_pad), (gst_collectpads_remove_pad),
4228         (gst_collectpads_is_active), (gst_collectpads_collect),
4229         (gst_collectpads_collect_range), (gst_collectpads_start),
4230         (gst_collectpads_stop), (gst_collectpads_peek),
4231         (gst_collectpads_pop), (gst_collectpads_available),
4232         (gst_collectpads_read), (gst_collectpads_flush),
4233         (gst_collectpads_chain):
4234         * gst/base/gstcollectpads.h:
4235         * gst/elements/Makefile.am:
4236         * gst/elements/gstelements.c:
4237         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4238         (gst_fakesink_get_times), (gst_fakesink_event),
4239         (gst_fakesink_preroll), (gst_fakesink_render):
4240         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4241         (gst_filesink_init), (gst_filesink_set_location),
4242         (gst_filesink_open_file), (gst_filesink_close_file),
4243         (gst_filesink_pad_query), (gst_filesink_event),
4244         (gst_filesink_render), (gst_filesink_change_state):
4245         * gst/elements/gstfilesink.h:
4246         Added object to help in making collect pad based elements.
4247         Ported filesink.
4248         Make event function in sink baseclass return gboolean.
4249
4250 2005-05-05  Wim Taymans  <wim@fluendo.com>
4251
4252         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4253         (gst_bin_get_by_name):
4254         * gst/gstbuffer.h:
4255         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4256         (gst_clock_finalize):
4257         * gst/gstdata.c: (gst_data_replace):
4258         * gst/gstdata.h:
4259         * gst/gstelement.c: (gst_element_request_pad),
4260         (gst_element_pads_activate):
4261         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4262         (gst_object_unref):
4263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4264         (gst_pad_set_checkgetrange_function),
4265         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4266         (gst_pad_check_pull_range), (gst_pad_pull_range),
4267         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4268         (gst_pad_pause_task), (gst_pad_stop_task):
4269         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4270         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4271         Fix name lookup in GstBin.
4272         Added _data_replace() function and _buffer_replace()
4273         Use finalize method to clean up clock.
4274         Fix refcounting on request pads.
4275         Fix pad schedule mode error.
4276         Some more object refcounting debug info,
4277
4278
4279 2005-05-04  Andy Wingo <wingo@pobox.com>
4280
4281         * check/Makefile.am:
4282         * docs/gst/tmpl/gstatomic.sgml:
4283         * docs/gst/tmpl/gstplugin.sgml:
4284         * gst/base/gstbasesink.c: (gst_basesink_activate):
4285         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4286         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4287         (gst_basesrc_query), (gst_basesrc_set_property),
4288         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4289         (gst_basesrc_activate):
4290         * gst/base/gstbasesrc.h:
4291         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4292         (gst_base_transform_src_activate):
4293         * gst/elements/gstelements.c:
4294         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4295         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4296         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4297         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4298         (gst_type_find_element_checkgetrange),
4299         (gst_type_find_element_activate):
4300         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4301         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4302         (gst_caps_load_thyself):
4303         * gst/gstelement.c: (gst_element_pads_activate),
4304         (gst_element_save_thyself), (gst_element_restore_thyself):
4305         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4306         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4307         * gst/gstpad.h:
4308         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4309         (gst_xml_parse_file), (gst_xml_parse_memory),
4310         (gst_xml_get_element), (gst_xml_make_element):
4311         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4312         (_file_index_id_save_xml), (gst_file_index_commit):
4313         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4314         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4315         (load_paths):
4316         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4317         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4318         * tools/gst-complete.c: (main):
4319         * tools/gst-compprep.c: (main):
4320         * tools/gst-inspect.c: (print_element_properties_info):
4321         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4322         * tools/gst-xmlinspect.c: (print_element_properties):
4323         GCC 4 fixen.
4324         
4325 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4326
4327         * gst/gstplugin.c: (gst_plugin_check_module),
4328         (gst_plugin_check_file), (gst_plugin_load_file):
4329             apply patch from #172526 to make register work on MacOSX
4330
4331 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4332
4333         * docs/gst/tmpl/gstconfig.sgml:
4334         * gst/gstconfig.h.in:
4335           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4336         * testsuite/debug/printf_extension.c: (main):
4337           Do not use GST_PTR_FORMAT on pointers to types with
4338           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4339         * testsuite/elements/property.h:
4340           use correct printf format
4341
4342 2005-05-02  Wim Taymans  <wim@fluendo.com>
4343
4344         * docs/design/draft-push-pull.txt:
4345         * docs/design/draft-query.txt:
4346         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4347         (gst_basesrc_start):
4348         Added draft for new query API.
4349         Added draft for better selecting scheduling methods.
4350         Make basesrc ignore length if the subclass does not support
4351         it.
4352
4353 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4354
4355         * gst/Makefile.am:
4356           possible fixes for automake-1.5 - _LIBADD is reserved
4357
4358 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4359
4360         * docs/faq/Makefile.am:
4361         * docs/manual/Makefile.am:
4362         * docs/manuals.mak:
4363         * docs/pwg/Makefile.am:
4364         * gst/Makefile.am:
4365           possible fixes for automake-1.5
4366
4367 2005-04-28  Wim Taymans  <wim@fluendo.com>
4368
4369         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4370         (gst_basesink_pad_getcaps), (gst_basesink_init),
4371         (gst_basesink_do_sync):
4372         * gst/gstclock.c: (gst_clock_entry_new):
4373         * gst/gstevent.c: (gst_event_discont_get_value):
4374         * gst/gstpipeline.c: (pipeline_bus_handler),
4375         (gst_pipeline_change_state):
4376         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4377         Better debugging of clocking info.
4378         Allow NULL values when getting discont values.
4379
4380 2005-04-27  Wim Taymans  <wim@fluendo.com>
4381
4382         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4383         * check/gst/gstpad.c: (gst_pad_suite):
4384         Increase timeout for checks.
4385
4386 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4387
4388         * check/Makefile.am:
4389           fix the broken rule for cleanup.  Apparently this rule is
4390           only needed on FC2, so maybe this warrants further autotool
4391           inspection.
4392
4393 2005-04-26  Wim Taymans  <wim@fluendo.com>
4394
4395         * gst/gsttrashstack.h:
4396         Ooohh. a nasty one! After having a failed pop() from the stack,
4397         it's possible that the stack is empty. In that case, don't
4398         follow the NULL pointer.
4399
4400 2005-04-25  Wim Taymans  <wim@fluendo.com>
4401
4402         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4403         (gst_pad_set_checkgetrange_function),
4404         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4405         (gst_pad_check_pull_range), (gst_pad_pull_range),
4406         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4407         (gst_pad_pause_task), (gst_pad_stop_task):
4408         * gst/gstplugin.c: (gst_plugin_load):
4409         * gst/gstplugin.h:
4410         Remove gst_library_load as it does more harm than good with
4411         the new g_module flags.
4412         Revert bogus caps template check in pad linking, pad caps
4413         are important when linking not the template, which is more
4414         general than the current caps.
4415
4416 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4417
4418         * gst/autoplug/.cvsignore:
4419         * gst/autoplug/Makefile.am:
4420         * gst/autoplug/gstsearchfuncs.c:
4421         * gst/autoplug/gstsearchfuncs.h:
4422         * gst/autoplug/gstspider.c:
4423         * gst/autoplug/gstspider.h:
4424         * gst/autoplug/gstspideridentity.c:
4425         * gst/autoplug/gstspideridentity.h:
4426         * gst/autoplug/spidertest.c:
4427           Die, spider, die.
4428
4429 2005-04-25  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4432         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4433         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4434         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4435         * gst/gstpad.h:
4436         Added stubs for unimplemented functions. 
4437
4438 2005-04-24  David Schleef  <ds@schleef.org>
4439
4440         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4441         please fix.
4442
4443 2005-04-24  David Schleef  <ds@schleef.org>
4444
4445         Convert everything from GstAtomicInt to g_atomic_int_*, and
4446         remove gstatomic.
4447         * gst/Makefile.am:
4448         * gst/gstatomic.c:
4449         * gst/gstatomic.h:
4450         * gst/gstatomic_impl.h:
4451         * gst/gstbuffer.c:
4452         * gst/gstcaps.c:
4453         * gst/gstcaps.h:
4454         * gst/gstclock.c:
4455         * gst/gstclock.h:
4456         * gst/gstdata.c:
4457         * gst/gstdata.h:
4458         * gst/gstdata_private.h:
4459         * gst/gstevent.c:
4460         * gst/gstinfo.c:
4461         * gst/gstinfo.h:
4462         * gst/gstmessage.c:
4463         * gst/gstobject.c:
4464         * gst/gstobject.h:
4465         * gst/gststructure.c:
4466         * gst/gststructure.h:
4467         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4468         * gst/gstutils.h:
4469
4470 2005-04-24  David Schleef  <ds@schleef.org>
4471
4472         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4473         make the regressions tests work.  Remove some code that is no
4474         longer true.
4475         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4476         Disable warning for pads without templates.
4477
4478 2005-04-24  David Schleef  <ds@schleef.org>
4479
4480         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4481         functions that handle filtered links.
4482         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4483         removed functions.
4484         * gst/gstutils.c: Fix/remove utility functions that handle
4485         filtered caps.
4486         * gst/gstutils.h:
4487         * gst/gstvalue.c: Add serialization/deserialization of caps
4488         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4489         requires fixing so that the filter caps notation creates
4490         a capsfilter element and sets the filter_caps property.  I
4491         think everyone probably wants to keep the shorthand notation.
4492         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4493         * docs/gst/tmpl/gstpad.sgml:
4494
4495         * gst/elements/gstelements.c: Register capsfilter element.
4496         * gst/Makefile.am: fix spacing
4497         * docs/random/ds/0.9-suggested-changes: random
4498
4499 2005-04-23  David Schleef  <ds@schleef.org>
4500
4501         * gst/elements/Makefile.am:
4502         * gst/elements/gstcapsfilter.c: New element that acts like an
4503         identity, but filters caps.  Will eventually replace filtered
4504         caps in pad linking.
4505         * gst/gstutils.c: (gst_element_create_all_pads): New function
4506         to create all the ALWAYS pads that are registered with an
4507         element class.  This functionality should eventually be
4508         merged in with GstElement initialization.
4509         * gst/gstutils.h:
4510         * testsuite/trigger/README: part of trigger test code that should
4511         have been checked in a long time ago.
4512
4513 2005-04-23  David Schleef  <ds@schleef.org>
4514
4515         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4516         needed with new versions of libtool (nobody will confirm this),
4517         and hard to carry around.
4518         * gst/autoplug/Makefile.am:
4519         * gst/base/Makefile.am:
4520         * gst/elements/Makefile.am:
4521         * gst/indexers/Makefile.am:
4522         * gst/schedulers/Makefile.am:
4523         * libs/gst/bytestream/Makefile.am:
4524         * libs/gst/control/Makefile.am:
4525         * libs/gst/dataprotocol/Makefile.am:
4526         * libs/gst/getbits/Makefile.am:
4527
4528 2005-04-21  Wim Taymans  <wim@fluendo.com>
4529
4530         * docs/design/draft-push-pull.txt:
4531         * docs/design/part-MT-refcounting.txt:
4532         * docs/design/part-TODO.txt:
4533         * docs/design/part-caps.txt:
4534         * docs/design/part-events.txt:
4535         * docs/design/part-gstbus.txt:
4536         * docs/design/part-gstpipeline.txt:
4537         * docs/design/part-messages.txt:
4538         * docs/design/part-push-pull.txt:
4539         * docs/design/part-query.txt:
4540         Some more docs.
4541
4542 2005-04-21  Wim Taymans  <wim@fluendo.com>
4543
4544         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4545         (gst_message_new), (gst_message_new_error),
4546         (gst_message_new_warning), (gst_message_new_tag),
4547         (gst_message_new_state_changed), (gst_message_new_application),
4548         (gst_message_get_structure):
4549         * gst/gstmessage.h:
4550         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4551         (gst_structure_copy_conditional):
4552         Use parent refcount in GstMessage to ensure GstStructure
4553         consistency.
4554         Cleaned up headers a bit.
4555         
4556
4557 2005-04-20  Wim Taymans  <wim@fluendo.com>
4558
4559         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4560         (gst_basesink_pad_getcaps), (gst_basesink_init),
4561         (gst_basesink_chain_unlocked):
4562         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4563         (gst_type_find_helper):
4564         * gst/elements/gsttypefindelement.c:
4565         (gst_type_find_element_have_type), (gst_type_find_element_init),
4566         (stop_typefinding), (gst_type_find_element_handle_event),
4567         (find_suggest), (gst_type_find_element_chain),
4568         (gst_type_find_element_checkgetrange),
4569         (gst_type_find_element_getrange), (do_typefind),
4570         (gst_type_find_element_activate):
4571         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4572         (gst_buffer_default_free), (gst_buffer_default_copy),
4573         (gst_buffer_set_caps):
4574         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4575         (gst_caps_replace):
4576         * gst/gstmessage.c: (gst_message_new),
4577         (gst_message_new_state_changed):
4578         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4579         (gst_pad_set_checkgetrange_function),
4580         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4581         (gst_pad_set_caps), (gst_pad_check_pull_range),
4582         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4583         * gst/gstpad.h:
4584         * gst/gsttypefind.c: (gst_type_find_register):
4585         Make gst_caps_replace() work like other _replace() functions.
4586         Use _caps_replace() where possible.
4587         Make sure _message_new() initialises its field.
4588         Add gst_static_pad_template_get_caps()
4589
4590
4591 2005-04-18  Andy Wingo  <wingo@pobox.com>
4592
4593         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4594         on the peer, not the pad. I think that was a typo. Pass an extra
4595         arg to see if random access is possible. Activate the pads as
4596         PULL_RANGE if possible.
4597
4598         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4599
4600         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4601         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4602         to PROP_....
4603
4604 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4605
4606         * docs/faq/using.xml:
4607           Add note on gstreamer-properties (#154996).
4608
4609 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4610
4611         * docs/random/bbb/optional-properties:
4612           Some analysis on optional properties.
4613
4614 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4615
4616         * docs/gst/tmpl/gstelementfactory.sgml:
4617         * gst/gstelement.h:
4618         * gst/gstelementfactory.c: (gst_element_factory_init),
4619         (gst_element_factory_cleanup), (gst_element_register),
4620         (__gst_element_factory_add_static_pad_template),
4621         (gst_element_factory_get_static_pad_templates),
4622         (gst_element_factory_can_src_caps),
4623         (gst_element_factory_can_sink_caps):
4624         * gst/registries/Makefile.am:
4625         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4626         (gst_xml_registry_class_init), (gst_xml_registry_init),
4627         (gst_xml_registry_new), (gst_xml_registry_set_property),
4628         (gst_xml_registry_get_property), (get_time), (make_dir),
4629         (gst_xml_registry_get_perms_func),
4630         (plugin_times_older_than_recurse), (plugin_times_older_than),
4631         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4632         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4633         (add_to_char_array), (read_string), (read_uint), (read_enum),
4634         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4635         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4636         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4637         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4638         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4639         (gst_xml_registry_rebuild):
4640         * gst/registries/gstlibxmlregistry.h:
4641         * tools/gst-compprep.c: (main):
4642         * tools/gst-inspect.c: (print_pad_templates_info):
4643         * tools/gst-xmlinspect.c: (print_element_info):
4644           Use libxml2 for registry parsing, use staticpadtemplates in
4645           elementfactories. Makes gst_init() +/- 10x faster.
4646
4647 2005-04-12  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/base/Makefile.am:
4650         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4651         (gst_basesink_pad_getcaps), (gst_basesink_init),
4652         (gst_basesink_event), (gst_basesink_change_state):
4653         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4654         (gst_basesrc_init), (gst_basesrc_query),
4655         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4656         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4657         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4658         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4659         (gst_basesrc_stop), (gst_basesrc_activate),
4660         (gst_basesrc_change_state):
4661         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4662         (helper_find_suggest), (gst_type_find_helper):
4663         * gst/base/gsttypefindhelper.h:
4664         * gst/elements/Makefile.am:
4665         * gst/elements/gstelements.c:
4666         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4667         (gst_fakesink_get_times), (gst_fakesink_event),
4668         (gst_fakesink_preroll), (gst_fakesink_render):
4669         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4670         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4671         (gst_fakesrc_get_property), (gst_fakesrc_create),
4672         (gst_fakesrc_start), (gst_fakesrc_stop):
4673         * gst/elements/gstfakesrc.h:
4674         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4675         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4676         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4677         (gst_filesrc_create_read), (gst_filesrc_create),
4678         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4679         (gst_filesrc_start):
4680         * gst/elements/gsttypefindelement.c:
4681         (gst_type_find_element_have_type), (gst_type_find_element_init),
4682         (start_typefinding), (stop_typefinding), (push_buffer_store),
4683         (gst_type_find_element_handle_event),
4684         (gst_type_find_element_chain),
4685         (gst_type_find_element_checkgetrange),
4686         (gst_type_find_element_getrange), (do_typefind),
4687         (gst_type_find_element_activate),
4688         (gst_type_find_element_change_state):
4689         * gst/elements/gsttypefindelement.h:
4690         * gst/gstpipeline.c: (pipeline_bus_handler):
4691         Added typefind helper.
4692         Small preroll fix in the base sink.
4693         Disable typefind code in basesrc.
4694         Crude port of typefindelement.
4695         Fakesrc cleanups.
4696
4697
4698 2005-04-11  Wim Taymans  <wim@fluendo.com>
4699
4700         * check/gst/gstbus.c: (gstbus_suite):
4701         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4702         * check/gstcheck.h:
4703           Fix up the timeout so that the test does not fail.
4704
4705 2005-04-06  Wim Taymans  <wim@fluendo.com>
4706
4707         * gst/base/README:
4708         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4709         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4710         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4711         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4712         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4713         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4714         (gst_basesrc_stop), (gst_basesrc_activate),
4715         (gst_basesrc_change_state), (basesrc_find_peek),
4716         (basesrc_find_suggest), (gst_basesrc_type_find):
4717         * gst/base/gstbasesrc.h:
4718         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4719         (gst_filesrc_class_init), (gst_filesrc_init),
4720         (gst_filesrc_finalize), (gst_filesrc_set_location),
4721         (gst_filesrc_set_property), (gst_filesrc_get_property),
4722         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4723         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4724         (gst_filesrc_create_read), (gst_filesrc_create),
4725         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4726         * gst/elements/gstfilesrc.h:
4727         * gst/gstelement.c: (gst_element_get_state_func),
4728         (gst_element_lost_state), (gst_element_pads_activate):
4729         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4730         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4731         (gst_pad_pull_range):
4732         * gst/gstpad.h:
4733         More work on the generic source base class, implement seeking,
4734         query.
4735         Make filesrc extend the base source class.
4736         Added gst_pad_set_checkgetrange_function to GstPad.
4737
4738 2005-04-06  Andy Wingo  <wingo@pobox.com>
4739
4740         * pkgconfig/gstreamer-base.pc.in:
4741         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4742
4743         * pkgconfig/Makefile.am:
4744         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4745
4746 2005-04-04  Wim Taymans  <wim@fluendo.com>
4747
4748         * gst/base/Makefile.am:
4749         * gst/base/README:
4750         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4751         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4752         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4753         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4754         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4755         (gst_basesrc_base_init), (gst_basesrc_class_init),
4756         (gst_basesrc_init), (gst_basesrc_get_formats),
4757         (gst_basesrc_get_query_types), (gst_basesrc_query),
4758         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4759         (gst_basesrc_set_property), (gst_basesrc_get_property),
4760         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4761         (gst_basesrc_loop), (gst_basesrc_activate),
4762         (gst_basesrc_change_state):
4763         * gst/base/gstbasesrc.h:
4764         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4765         (gst_fakesrc_class_init), (gst_fakesrc_init),
4766         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4767         (gst_fakesrc_get_property), (gst_fakesrc_create):
4768         * gst/elements/gstfakesrc.h:
4769         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4770         (gst_filesrc_open_file), (gst_filesrc_loop),
4771         (gst_filesrc_activate), (filesrc_find_peek),
4772         (gst_filesrc_type_find):
4773         Made base source class, make fakesrc extend it.
4774         Add comments to basesink class.
4775         Some filesrc cleanup.
4776
4777 2005-03-31  David Schleef  <ds@schleef.org>
4778
4779         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4780         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4781         expected to link against libgstreamer.
4782         * gst/base/Makefile.am: link against libgstreamer
4783         * gst/elements/Makefile.am: same
4784
4785 2005-03-31  Andy Wingo  <wingo@pobox.com>
4786
4787         * tests/instantiate/Makefile.am:
4788         * tests/instantiate/caps.c: Add test to test speed of caps copy
4789         and free.
4790
4791         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4792         GMemChunk to be fair.
4793
4794         * gst/gsttrashstack.h: Remove warning about using the fallback
4795         trash stack implementation, it's still faster than malloc.
4796
4797 2005-03-30  Andy Wingo  <wingo@pobox.com>
4798
4799         * tests/complexity.c: Add a copyright.
4800
4801 2005-03-31  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4804         (gst_base_transform_class_init), (gst_base_transform_init),
4805         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4806         (gst_base_transform_get_property),
4807         (gst_base_transform_sink_activate),
4808         (gst_base_transform_src_activate),
4809         (gst_base_transform_change_state):
4810         * gst/base/gstbasetransform.h:
4811         * gst/elements/gstidentity.c: (gst_identity_class_init),
4812         (gst_identity_event), (gst_identity_check_perfect),
4813         (gst_identity_transform), (gst_identity_start),
4814         (gst_identity_stop):
4815         Added start/stop methods to transform base class so subclasses 
4816         don't need to deal with state changes even.
4817
4818 2005-03-31  Wim Taymans  <wim@fluendo.com>
4819
4820         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4821         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4822         * gst/gstevent.h:
4823         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4824         (gst_pad_pull_range):
4825         Added rate to the discont event to prepare for variable speed
4826         and reverse playback.
4827
4828 2005-03-29  David Schleef  <ds@schleef.org>
4829
4830         * configure.ac:
4831         * testsuite/trigger/Makefile.am:
4832         * testsuite/trigger/trigger.c: A little example program to show
4833         how trigger-based elements can work.
4834
4835 2005-03-29  Wim Taymans  <wim@fluendo.com>
4836
4837         * gst/base/Makefile.am:
4838         * gst/base/README:
4839         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4840         (gst_basesink_base_init), (gst_basesink_class_init),
4841         (gst_basesink_pad_getcaps), (gst_basesink_init),
4842         (gst_basesink_activate), (gst_basesink_change_state):
4843         * gst/base/gstbasesink.h:
4844         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4845         (gst_base_transform_base_init), (gst_base_transform_finalize),
4846         (gst_base_transform_class_init), (gst_base_transform_init),
4847         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4848         (gst_base_transform_event), (gst_base_transform_getrange),
4849         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4850         (gst_base_transform_set_property),
4851         (gst_base_transform_get_property),
4852         (gst_base_transform_sink_activate),
4853         (gst_base_transform_src_activate),
4854         (gst_base_transform_change_state):
4855         * gst/base/gstbasetransform.h:
4856         * gst/elements/gstidentity.c: (gst_identity_finalize),
4857         (gst_identity_class_init), (gst_identity_init),
4858         (gst_identity_event), (gst_identity_check_perfect),
4859         (gst_identity_transform), (gst_identity_set_property),
4860         (gst_identity_get_property), (gst_identity_change_state):
4861         * gst/elements/gstidentity.h:
4862         * gst/gstelement.c: (gst_element_get_state_func),
4863         (gst_element_lost_state), (gst_element_pads_activate):
4864         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4865         (gst_pad_check_pull_range), (gst_pad_pull_range):
4866         * gst/gstpad.h:
4867         Simplify pad activation.
4868         Added function to check if pull_range can be performed.
4869         Error out when pulling inactive or flushing pads.
4870         Removed const from refcounted types as it does not make sense.
4871         Simplify pad templates in basesink
4872         Added base class for simple 1-to-1 transforms.
4873         Make identity subclass the base transform.
4874
4875 2005-03-29  Andy Wingo  <wingo@pobox.com>
4876
4877         * docs/libs/gstreamer-libs-overrides.txt: 
4878         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4879         really don't understand what's going on, but like whatever. I want
4880         green buildbot!
4881
4882         * docs/gst/Makefile.am:
4883         * docs/libs/Makefile.am: Dist the overrides files.
4884
4885         * check/Makefile.am (clean-local): Remove .libs directories.
4886
4887         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4888         elements to EXTRA_DIST, so po/ files are happy.
4889
4890         * po/POTFILES.in: Er, remove it here.
4891
4892         * po/POTFILES: Remove gstspider.c.
4893
4894         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4895
4896         * docs/libs/gstreamer-libs-docs.sgml: 
4897         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4898         bytestream.
4899
4900         * tests/complexity.c (main): Set the length of the preroll queue
4901         on the sinks to prevent a lockup.
4902
4903         * libs/gst/dataprotocol/Makefile.am: 
4904         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4905         the same as the one in check/gst-libs/gdp.c.
4906
4907         * po/, docs/gst/: Commit automatic changes to docs and po files.
4908
4909         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4910         the versioned libgstbase.
4911
4912         * check/Makefile.am: Depend on an unversioned gst-register, seems
4913         to make autoconf happier.
4914
4915         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4916
4917 2005-03-28  Wim Taymans  <wim@fluendo.com>
4918
4919         * configure.ac:
4920         * docs/design/part-gstelement.txt:
4921         * docs/design/part-negotiation.txt:
4922         * docs/design/part-preroll.txt:
4923         * docs/design/part-scheduling.txt:
4924         * docs/design/part-states.txt:
4925         * gst/Makefile.am:
4926         * gst/base/Makefile.am:
4927         * gst/base/README:
4928         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4929         (gst_basesink_base_init), (gst_basesink_class_init),
4930         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4931         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4932         (gst_basesink_set_pad_functions),
4933         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4934         (gst_basesink_set_property), (gst_basesink_get_property),
4935         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4936         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4937         (gst_basesink_preroll_queue_push),
4938         (gst_basesink_preroll_queue_empty),
4939         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4940         (gst_basesink_event), (gst_basesink_get_times),
4941         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4942         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4943         (gst_basesink_loop), (gst_basesink_activate),
4944         (gst_basesink_change_state):
4945         * gst/base/gstbasesink.h:
4946         * gst/elements/Makefile.am:
4947         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4948         (gst_fakesink_class_init), (gst_fakesink_init),
4949         (gst_fakesink_set_property), (gst_fakesink_get_property),
4950         (gst_fakesink_get_times), (gst_fakesink_event),
4951         (gst_fakesink_preroll), (gst_fakesink_render),
4952         (gst_fakesink_change_state):
4953         * gst/elements/gstfakesink.h:
4954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4955         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4956         * gst/gstelement.c: (gst_element_add_pad),
4957         (gst_element_get_state_func), (gst_element_abort_state),
4958         (gst_element_commit_state), (gst_element_lost_state),
4959         (gst_element_set_state), (gst_element_pads_activate):
4960         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4961         * gst/gstpipeline.c: (gst_pipeline_send_event),
4962         (gst_pipeline_change_state):
4963         Added state change code.
4964         Added/updated docs.
4965         Added sink base class, make fakesink extend the base class.
4966         Small cleanups in GstPipeline.
4967
4968 2005-03-26  David Schleef  <ds@schleef.org>
4969
4970         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4971         is broken and should be implemented in a different library.
4972         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4973         * gst/gst.h: remove gstcpu.h
4974         * gst/gstcpu.c: remove
4975         * gst/gstcpu.h: remove
4976         * gst/Makefile.am.future: Remove this file.  It's ancient.
4977
4978 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4979
4980         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4981         (gst_bin_send_event):
4982           Add default event/set_manager handlers. The set_manager handler
4983           takes care that the manager is distributed over kids that were
4984           already in the bin before the manager was set. The event handler
4985           is a utility virtual function that sends the event over all sinks,
4986           so that gst_element_send_event (bin, event); has the expected
4987           behaviour.
4988         * gst/gstpad.c: (gst_pad_event_default):
4989           Re-install default event handling for discontinuities, so that
4990           seeking works without requiring hacks in applications or extra
4991           code in sinks.
4992         * gst/gstpipeline.c: (gst_pipeline_class_init),
4993         (gst_pipeline_send_event):
4994           Half hack, half utility: set a pipeline to PAUSED for seek events,
4995           since that is the only way we can guarantee a/v sync. Means that
4996           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4997           and it "just works".
4998
4999 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5000
5001         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5002           Lock/unlock mismatch.
5003
5004 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5005
5006         * docs/faq/gst-uninstalled:
5007           add gst-plugins-base
5008         * docs/gst/Makefile.am:
5009           don't error out until docs are fixed
5010         * docs/gst/gstreamer.types:
5011           remove thread
5012
5013 2005-03-22  Wim Taymans  <wim@fluendo.com>
5014
5015         * check/Makefile.am:
5016         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5017         * gst/gststructure.c: (gst_structure_set_valist),
5018         (gst_structure_copy_conditional):
5019         Activated more tests.
5020         Added message test.
5021         Added G_TYPE_POINTER to GstStructure.
5022         
5023
5024 2005-03-22  Wim Taymans  <wim@fluendo.com>
5025
5026         * docs/design/part-TODO.txt:
5027         * docs/design/part-events.txt:
5028         * docs/design/part-gstbin.txt:
5029         * docs/design/part-gstbus.txt:
5030         * docs/design/part-gstpipeline.txt:
5031         * docs/design/part-messages.txt:
5032         * gst/gstbus.c:
5033         * gst/gstmessage.c:
5034         Docs updates
5035
5036 2005-03-21  Wim Taymans  <wim@fluendo.com>
5037
5038         * gst/gstbus.c: (gst_bus_post):
5039         Fix copy-and-paste error.
5040
5041 2005-03-21  Wim Taymans  <wim@fluendo.com>
5042
5043         * check/Makefile.am:
5044         * gst/Makefile.am:
5045         * gst/elements/Makefile.am:
5046         * gst/elements/gstelements.c:
5047         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5048         (gst_fakesink_event), (gst_fakesink_chain):
5049         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5050         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5051         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5052         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5053         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5054         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5055         (gst_fakesrc_loop), (gst_fakesrc_activate),
5056         (gst_fakesrc_change_state):
5057         * gst/elements/gstfakesrc.h:
5058         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5059         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5060         (gst_filesrc_open_file), (gst_filesrc_loop),
5061         (gst_filesrc_activate), (gst_filesrc_change_state),
5062         (filesrc_find_peek), (filesrc_find_suggest),
5063         (gst_filesrc_type_find):
5064         * gst/elements/gstidentity.c: (gst_identity_finalize),
5065         (gst_identity_class_init), (gst_identity_init),
5066         (gst_identity_proxy_getcaps), (identity_queue_push),
5067         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5068         (gst_identity_getrange), (gst_identity_chain),
5069         (gst_identity_sink_loop), (gst_identity_src_loop),
5070         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5071         (gst_identity_set_property), (gst_identity_get_property),
5072         (gst_identity_change_state):
5073         * gst/elements/gstidentity.h:
5074         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5075         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5076         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5077         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5078         (gst_tee_sink_activate):
5079         * gst/elements/gsttee.h:
5080         * gst/gst.c: (gst_register_core_elements), (init_post):
5081         * gst/gst.h:
5082         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5083         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5084         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5085         (gst_bin_change_state):
5086         * gst/gstbin.h:
5087         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5088         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5089         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5090         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5091         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5092         (bus_watch_callback), (bus_watch_destroy),
5093         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5094         (poll_timeout), (gst_bus_poll):
5095         * gst/gstbus.h:
5096         * gst/gstcaps.h:
5097         * gst/gstdata.h:
5098         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5099         (gst_element_post_message), (gst_element_message_full),
5100         (gst_element_get_state_func), (gst_element_get_state),
5101         (gst_element_abort_state), (gst_element_commit_state),
5102         (gst_element_lost_state), (gst_element_set_state),
5103         (gst_element_pads_activate), (gst_element_change_state),
5104         (gst_element_dispose), (gst_element_set_manager_func),
5105         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5106         (gst_element_set_manager), (gst_element_get_manager),
5107         (gst_element_set_bus), (gst_element_get_bus),
5108         (gst_element_set_scheduler), (gst_element_get_scheduler):
5109         * gst/gstelement.h:
5110         * gst/gstevent.c: (gst_event_new_segment_seek),
5111         (gst_event_new_flush):
5112         * gst/gstevent.h:
5113         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5114         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5115         (gst_message_new_eos), (gst_message_new_error),
5116         (gst_message_new_warning), (gst_message_new_tag),
5117         (gst_message_new_state_changed), (gst_message_new_application),
5118         (gst_message_get_structure), (gst_message_parse_tag),
5119         (gst_message_parse_state_changed), (gst_message_parse_error),
5120         (gst_message_parse_warning):
5121         * gst/gstmessage.h:
5122         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5123         (gst_real_pad_set_property), (gst_pad_set_active),
5124         (gst_pad_is_active), (gst_pad_set_blocked_async),
5125         (gst_pad_set_blocked), (gst_pad_is_blocked),
5126         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5127         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5128         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5129         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5130         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5131         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5132         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5133         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5134         (gst_pad_set_caps), (gst_pad_configure_sink),
5135         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5136         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5137         (gst_real_pad_dispose), (gst_real_pad_finalize),
5138         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5139         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5140         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5141         * gst/gstpad.h:
5142         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5143         (pipeline_bus_handler), (gst_pipeline_change_state),
5144         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5145         * gst/gstpipeline.h:
5146         * gst/gstprobe.h:
5147         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5148         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5149         (gst_queue_link_src), (gst_queue_bufferalloc),
5150         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5151         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5152         (gst_queue_loop), (gst_queue_handle_src_event),
5153         (gst_queue_handle_src_query), (gst_queue_src_activate),
5154         (gst_queue_change_state):
5155         * gst/gstqueue.h:
5156         * gst/gstscheduler.c: (gst_scheduler_init),
5157         (gst_scheduler_dispose), (gst_scheduler_create_task),
5158         (gst_scheduler_factory_create):
5159         * gst/gstscheduler.h:
5160         * gst/gststructure.c: (gst_structure_get_type),
5161         (gst_structure_copy_conditional):
5162         * gst/gststructure.h:
5163         * gst/gsttaginterface.h:
5164         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5165         (gst_task_init), (gst_task_dispose), (gst_task_create),
5166         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5167         (gst_task_pause):
5168         * gst/gsttask.h:
5169         * gst/gstthread.c:
5170         * gst/gstthread.h:
5171         * gst/gsttypes.h:
5172         * gst/schedulers/Makefile.am:
5173         * gst/schedulers/cothreads_compat.h:
5174         * gst/schedulers/entryscheduler.c:
5175         * gst/schedulers/faircothreads.c:
5176         * gst/schedulers/faircothreads.h:
5177         * gst/schedulers/fairscheduler.c:
5178         * gst/schedulers/gstbasicscheduler.c:
5179         * gst/schedulers/gstoptimalscheduler.c:
5180         * gst/schedulers/gthread-cothreads.h:
5181         * gst/schedulers/threadscheduler.c:
5182         (gst_thread_scheduler_task_get_type),
5183         (gst_thread_scheduler_task_class_init),
5184         (gst_thread_scheduler_task_init),
5185         (gst_thread_scheduler_task_start),
5186         (gst_thread_scheduler_task_stop),
5187         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5188         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5189         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5190         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5191         (plugin_init):
5192         * libs/gst/Makefile.am:
5193         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5194         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5195         (gst_file_pad_parent_set):
5196         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5197         (gst_dp_event_from_packet):
5198         * tests/complexity.c: (main):
5199         * tests/mass_elements.c: (main):
5200         * testsuite/states/locked.c: (message_received), (main):
5201         * testsuite/states/parent.c: (main):
5202         * tools/gst-inspect.c: (print_element_flag_info),
5203         (print_implementation_info), (print_pad_info):
5204         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5205         (main):
5206         * tools/gst-md5sum.c: (event_loop), (main):
5207         * tools/gst-typefind.c: (main):
5208         * tools/gst-xmlinspect.c: (print_element_info):
5209         Next big merge.
5210         Added GstBus for mainloop integration.
5211         Added GstMessage for sending notifications on the bus.
5212         Added GstTask as an abstraction for pipeline entry points.
5213         Removed GstThread.
5214         Removed Schedulers.
5215         Simplified GstQueue for multithreaded core.
5216         Made _link threadsafe, removed old capsnego.
5217         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5218         Added pad blocking functions.
5219         Reworked scheduling functions in GstPad to prepare for
5220         scheduling updates soon.
5221         Moved events out of data stream.
5222         Simplified GstEvent types.
5223         Added return values to push/pull.
5224         Removed clocking from GstElement.
5225         Added prototypes for state change function for next merge.
5226         Removed iterate from bins and state change management.
5227         Fixed some elements, disabled others for now.
5228         Fixed -inspect and -launch.
5229         Added check for GstBus.
5230
5231 2005-03-10  Wim Taymans  <wim@fluendo.com>
5232
5233         * docs/design/part-MT-refcounting.txt:
5234         * docs/design/part-clocks.txt:
5235         * docs/design/part-gstelement.txt:
5236         * docs/design/part-gstobject.txt:
5237         * docs/design/part-standards.txt:
5238         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5239         (gst_bin_remove_func), (gst_bin_remove):
5240         * gst/gstbin.h:
5241         * gst/gstbuffer.c:
5242         * gst/gstcaps.h:
5243         * testsuite/clock/clock1.c: (main):
5244         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5245         (main):
5246         * testsuite/dlopen/loadgst.c: (do_test):
5247         * testsuite/refcounting/bin.c: (add_remove_test1),
5248         (add_remove_test2), (main):
5249         * testsuite/refcounting/element.c: (main):
5250         * testsuite/refcounting/element_pad.c: (main):
5251         * testsuite/refcounting/pad.c: (main):
5252         * tools/gst-launch.c: (sigint_handler_sighandler):
5253         * tools/gst-typefind.c: (main):
5254         Doc updates.
5255         Added doc about clock.
5256         removed gst_bin_iterate_recurse_up(), marked methods
5257         for removal.
5258         Fix more testsuites.
5259
5260 2005-03-09  Wim Taymans  <wim@fluendo.com>
5261
5262         * gst/gstpad.c: (gst_pad_get_direction),
5263         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5264         (gst_pad_collect_valist):
5265         * testsuite/bins/interface.c: (main):
5266         * testsuite/caps/audioscale.c: (test_caps):
5267         * testsuite/caps/caps.c: (test1), (test2), (test3):
5268         * testsuite/caps/deserialize.c: (main):
5269         * testsuite/caps/enumcaps.c: (main):
5270         * testsuite/caps/filtercaps.c: (main):
5271         * testsuite/caps/intersect2.c: (main):
5272         * testsuite/caps/random.c: (main):
5273         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5274         * testsuite/caps/sets.c: (check_caps):
5275         * testsuite/caps/simplify.c: (check_caps), (main):
5276         * testsuite/caps/subtract.c: (check_caps):
5277         Fix _pad_get_direction wrt ghostpads.
5278         Fix caps testsuite.
5279
5280 2005-03-09  Wim Taymans  <wim@fluendo.com>
5281
5282         * check/Makefile.am:
5283         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5284         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5285         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5286         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5287         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5288         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5289         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5290         (bin_element_is_sink), (gst_bin_iterate_sinks),
5291         (gst_bin_iterate_all_by_interface):
5292         * gst/gstbin.h:
5293         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5294         (gst_element_change_state), (gst_element_dispose),
5295         (gst_element_finalize), (gst_element_set_loop_function):
5296         * gst/gstelement.h:
5297         * gst/gstiterator.c: (find_custom_fold_func):
5298         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5299         (gst_pad_collectv), (gst_pad_collect_valist),
5300         (gst_pad_template_new):
5301         * gst/gstpipeline.c: (gst_pipeline_class_init),
5302         (gst_pipeline_dispose), (gst_pipeline_set_property),
5303         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5304         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5305         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5306         * gst/gstutils.h:
5307         * gst/schedulers/entryscheduler.c:
5308         * gst/schedulers/gstbasicscheduler.c:
5309         (gst_basic_scheduler_cothreaded_chain),
5310         (gst_basic_scheduler_chain_add_element):
5311         * testsuite/bins/interface.c: (main):
5312         Added GstBin test.
5313         Added GstSystemClock test.
5314         Implemented clock distribution code in GstBin.
5315         Implemented iterate sinks method for future use.
5316         Rearranged gstelement.h
5317         Fix GstIterator comparison bug.
5318         Moved some code to GstPipeline, mostly clocking related.
5319
5320 2005-03-09  Wim Taymans  <wim@fluendo.com>
5321
5322         * configure.ac:
5323         * gst/gst_private.h:
5324         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5325         (gst_bin_remove_func), (gst_bin_remove),
5326         (gst_bin_get_by_name_recurse_up):
5327         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5328         (gst_clock_id_compare_func), (gst_clock_id_wait),
5329         (gst_clock_id_wait_async), (gst_clock_init),
5330         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5331         * gst/gstelement.h:
5332         * gst/gstinfo.c: (_gst_debug_init):
5333         * gst/gstobject.h:
5334         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5335         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5336         * gst/gstpad.h:
5337         Bump version number, we're now 0.9.0
5338         Add future debugging category.
5339         Fix NULL _unref() in _get_by_name_recurse_up
5340         Rearrange gstpad.h.
5341         Update some docs.
5342
5343 2005-03-08  Wim Taymans  <wim@fluendo.com>
5344
5345         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5346         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5347         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5348         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5349         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5350         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5351         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5352         * gst/elements/gstidentity.c: (gst_identity_class_init):
5353         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5354         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5355         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5356         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5357         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5358         (gst_tee_link):
5359         * gst/gstelement.c: (gst_element_class_init),
5360         (gst_element_base_class_init), (gst_element_init),
5361         (gst_element_get_random_pad), (gst_element_wait_state_change),
5362         (gst_element_change_state), (gst_element_dispose),
5363         (gst_element_finalize), (gst_element_set_loop_function):
5364         * gst/gstelement.h:
5365         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5366         * gst/gstthread.c: (gst_thread_class_init),
5367         (gst_thread_release_children_locks), (gst_thread_change_state):
5368         * gst/schedulers/gstbasicscheduler.c:
5369         (gst_basic_scheduler_loopfunc_wrapper),
5370         (gst_basic_scheduler_chain_wrapper),
5371         (gst_basic_scheduler_src_wrapper),
5372         (gst_basic_scheduler_remove_element):
5373         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5374         Remove threadsafe properties. Fix elements because GObject
5375         complains when installing a property before declaring a
5376         set/get_property handler.
5377         Rearrange gstelement.h file, use STATE macros for state locks.
5378         Free mutexes in the finalize method instead of dispose.
5379
5380 2005-03-08  Wim Taymans  <wim@fluendo.com>
5381
5382         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5383         * gst/gstthread.c: (gst_thread_release_children_locks):
5384         Added parentage check.
5385         Fix build og GstThread again.
5386
5387 2005-03-08  Wim Taymans  <wim@fluendo.com>
5388
5389         * docs/design/part-MT-refcounting.txt:
5390         * docs/design/part-conventions.txt:
5391         * docs/design/part-gstobject.txt:
5392         * docs/design/part-relations.txt:
5393         * docs/design/part-standards.txt:
5394         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5395         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5396         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5397         (gst_bin_iterate_all_by_interface):
5398         * gst/gstbuffer.h:
5399         * gst/gstclock.h:
5400         * gst/gstelement.c: (gst_element_class_init),
5401         (gst_element_change_state), (gst_element_set_loop_function):
5402         * gst/gstelement.h:
5403         * gst/gstiterator.c:
5404         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5405         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5406         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5407         (gst_object_set_parent), (gst_object_unparent),
5408         (gst_object_check_uniqueness):
5409         * gst/gstobject.h:
5410         Docs updates, clean up some headers.
5411
5412 2005-03-07  Wim Taymans  <wim@fluendo.com>
5413
5414         * check/.cvsignore:
5415         * check/Makefile.am:
5416         * check/gst-libs/.cvsignore:
5417         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5418         * check/gst/.cvsignore:
5419         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5420         (START_TEST), (gstbus_suite), (main):
5421         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5422         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5423         (gst_data_suite), (main):
5424         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5425         (add_fold_func), (gstiterator_suite), (main):
5426         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5427         (thread_name_object), (thread_name_object_default),
5428         (gst_object_name_compare), (gst_object_suite), (main):
5429         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5430         (gst_pad_suite), (main):
5431         * check/gstcheck.c: (gst_check_log_message_func),
5432         (gst_check_log_critical_func), (gst_check_init):
5433         * check/gstcheck.h:
5434         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5435         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5436         Added checks.
5437
5438 2005-03-07  Wim Taymans  <wim@fluendo.com>
5439
5440         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5441         (gst_list_iterator_next), (gst_list_iterator_resync),
5442         (gst_list_iterator_free), (gst_iterator_new_list),
5443         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5444         (gst_iterator_free), (gst_iterator_push), (filter_next),
5445         (filter_resync), (filter_uninit), (filter_free),
5446         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5447         (gst_iterator_foreach), (find_custom_fold_func),
5448         (gst_iterator_find_custom):
5449         * gst/gstiterator.h:
5450         Added missing files.
5451
5452 2005-03-07  Wim Taymans  <wim@fluendo.com>
5453
5454         * Makefile.am:
5455         * configure.ac:
5456         * docs/design/part-MT-refcounting.txt:
5457         * docs/design/part-conventions.txt:
5458         * docs/design/part-gstobject.txt:
5459         * docs/design/part-relations.txt:
5460         * examples/mixer/mixer.c: (main):
5461         * examples/thread/thread.c: (eos), (main):
5462         * gst/Makefile.am:
5463         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5464         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5465         (gst_spider_plug_from_srcpad):
5466         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5467         (gst_spider_identity_change_state),
5468         (gst_spider_identity_sink_loop_type_finding):
5469         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5470         * gst/elements/gstidentity.c: (gst_identity_init):
5471         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5472         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5473         * gst/elements/gsttypefindelement.c: (free_entry):
5474         * gst/gst.c:
5475         * gst/gst.h:
5476         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5477         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5478         (gst_bin_set_index), (gst_bin_set_element_sched),
5479         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5480         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5481         (gst_bin_iterate_elements), (iterate_child_recurse),
5482         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5483         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5484         (compare_interface), (gst_bin_get_by_interface),
5485         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5486         * gst/gstbin.h:
5487         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5488         (gst_buffer_default_free), (gst_buffer_default_copy),
5489         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5490         (gst_buffer_create_sub):
5491         * gst/gstbuffer.h:
5492         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5493         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5494         (gst_caps_unref), (gst_static_caps_get),
5495         (gst_caps_remove_and_get_structure), (gst_caps_append),
5496         (gst_caps_append_structure), (gst_caps_remove_structure),
5497         (gst_caps_copy_nth), (gst_caps_set_simple),
5498         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5499         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5500         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5501         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5502         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5503         (gst_caps_structure_figure_out_union),
5504         (gst_caps_switch_structures), (gst_caps_do_simplify),
5505         (gst_caps_replace), (gst_caps_from_string),
5506         (gst_caps_copy_conditional):
5507         * gst/gstcaps.h:
5508         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5509         (_gst_clock_id_free), (gst_clock_id_unref),
5510         (gst_clock_id_compare_func), (gst_clock_id_wait),
5511         (gst_clock_id_wait_async), (gst_clock_class_init),
5512         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5513         (gst_clock_get_time), (gst_clock_set_time_adjust),
5514         (gst_clock_set_property), (gst_clock_get_property):
5515         * gst/gstclock.h:
5516         * gst/gstcompat.h:
5517         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5518         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5519         * gst/gstdata.h:
5520         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5521         (gst_element_requires_clock), (gst_element_provides_clock),
5522         (gst_element_set_clock), (gst_element_clock_wait),
5523         (gst_element_wait), (gst_element_set_time_delay),
5524         (gst_element_is_indexable), (gst_element_add_pad),
5525         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5526         (pad_compare_name), (gst_element_get_static_pad),
5527         (gst_element_request_pad), (gst_element_get_request_pad),
5528         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5529         (gst_element_class_get_pad_template_list),
5530         (gst_element_class_get_pad_template), (gst_element_error_func),
5531         (gst_element_get_random_pad), (gst_element_get_event_masks),
5532         (gst_element_send_event), (gst_element_seek),
5533         (gst_element_get_query_types), (gst_element_query),
5534         (gst_element_get_formats), (gst_element_convert),
5535         (gst_element_is_locked_state), (gst_element_set_locked_state),
5536         (gst_element_sync_state_with_parent), (gst_element_change_state),
5537         (gst_element_finalize), (gst_element_yield),
5538         (gst_element_interrupt), (gst_element_set_scheduler),
5539         (gst_element_get_scheduler), (gst_element_set_loop_function):
5540         * gst/gstelement.h:
5541         * gst/gstevent.h:
5542         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5543         (gst_format_get_by_nick), (gst_format_get_details),
5544         (gst_format_iterate_definitions):
5545         * gst/gstformat.h:
5546         * gst/gstindex.c: (gst_index_gtype_resolver):
5547         * gst/gstinfo.c:
5548         * gst/gstinfo.h:
5549         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5550         (gst_mem_chunk_free):
5551         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5552         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5553         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5554         (gst_object_dispatch_properties_changed),
5555         (gst_object_set_name_default), (gst_object_set_name),
5556         (gst_object_get_name), (gst_object_set_name_prefix),
5557         (gst_object_get_name_prefix), (gst_object_set_parent),
5558         (gst_object_get_parent), (gst_object_unparent),
5559         (gst_object_check_uniqueness), (gst_object_save_thyself),
5560         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5561         (gst_object_set_property), (gst_object_get_property),
5562         (gst_object_get_path_string):
5563         * gst/gstobject.h:
5564         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5565         (gst_real_pad_init), (gst_real_pad_get_property),
5566         (gst_pad_custom_new), (gst_pad_get_direction),
5567         (gst_pad_set_active), (gst_pad_is_active),
5568         (gst_pad_set_event_function), (gst_pad_is_linked),
5569         (gst_pad_link_free), (gst_pad_link_intersect),
5570         (gst_pad_link_fixate), (gst_pad_set_caps),
5571         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5572         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5573         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5574         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5575         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5576         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5577         (gst_pad_realize), (gst_pad_get_allowed_caps),
5578         (gst_real_pad_dispose), (gst_real_pad_finalize),
5579         (gst_pad_collectv), (gst_pad_collect_valist),
5580         (gst_pad_template_dispose), (gst_pad_template_new),
5581         (gst_pad_get_internal_links):
5582         * gst/gstpad.h:
5583         * gst/gstpipeline.c: (gst_pipeline_dispose),
5584         (gst_pipeline_change_state):
5585         * gst/gstpipeline.h:
5586         * gst/gstplugin.c:
5587         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5588         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5589         * gst/gstpluginfeature.h:
5590         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5591         * gst/gstquery.c: (_gst_query_type_initialize),
5592         (gst_query_type_register), (gst_query_type_get_by_nick),
5593         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5594         * gst/gstquery.h:
5595         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5596         * gst/gstscheduler.c: (gst_scheduler_add_element),
5597         (gst_scheduler_factory_create):
5598         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5599         (gst_structure_free), (gst_structure_set_name),
5600         (gst_structure_id_set_value), (gst_structure_set_value),
5601         (gst_structure_set_valist), (gst_structure_remove_field),
5602         (gst_structure_remove_fields),
5603         (gst_structure_remove_fields_valist),
5604         (gst_structure_remove_all_fields), (gst_structure_foreach),
5605         (gst_structure_map_in_place),
5606         (gst_caps_structure_fixate_field_nearest_int),
5607         (gst_caps_structure_fixate_field_nearest_double):
5608         * gst/gststructure.h:
5609         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5610         (gst_system_clock_init), (gst_system_clock_dispose),
5611         (gst_system_clock_async_thread),
5612         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5613         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5614         * gst/gstsystemclock.h:
5615         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5616         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5617         * gst/gsttaginterface.c:
5618         * gst/gstthread.c: (gst_thread_dispose),
5619         (gst_thread_release_children_locks), (gst_thread_change_state),
5620         (gst_thread_main_loop):
5621         * gst/gsttrashstack.h:
5622         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5623         * gst/gsttypes.h:
5624         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5625         (gst_element_request_pad), (gst_element_get_pad_from_template),
5626         (gst_element_request_compatible_pad),
5627         (gst_element_get_compatible_pad_filtered),
5628         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5629         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5630         (gst_element_link_many), (gst_element_link),
5631         (gst_element_link_pads), (gst_element_unlink_pads),
5632         (gst_element_unlink_many), (gst_element_unlink),
5633         (gst_pad_can_link_filtered), (gst_pad_can_link),
5634         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5635         (gst_object_default_error), (gst_bin_add_many),
5636         (gst_bin_remove_many), (gst_element_populate_std_props),
5637         (gst_element_class_install_std_props), (gst_buffer_merge),
5638         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5639         (link_fold_func), (gst_pad_proxy_setcaps):
5640         * gst/gstutils.h:
5641         * gst/gstvalue.c: (gst_value_deserialize_string):
5642         * gst/parse/grammar.y:
5643         * gst/schedulers/gstbasicscheduler.c:
5644         (gst_basic_scheduler_cothreaded_chain),
5645         (gst_basic_scheduler_chain_recursive_add),
5646         (gst_basic_scheduler_pad_link):
5647         * gst/schedulers/gstoptimalscheduler.c:
5648         (get_group_schedule_function),
5649         (gst_opt_scheduler_state_transition),
5650         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5651         * libs/gst/bytestream/bytestream.c:
5652         * libs/gst/dataprotocol/dataprotocol.c:
5653         (gst_dp_header_from_buffer):
5654         * po/nb.po:
5655         * po/ru.po:
5656         * tests/threadstate/threadstate2.c: (eos):
5657         * tools/gst-compprep.c: (main):
5658         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5659         (print_pad_info), (print_children_info):
5660         * tools/gst-launch.c: (idle_func), (main):
5661         * tools/gst-md5sum.c: (idle_func), (main):
5662         * tools/gst-xmlinspect.c: (print_element_info):
5663         First THREADED backport attempt, focusing on adding locks and
5664         making sure the API is threadsafe. Needs more work. More docs
5665         follow this week.
5666
5667 2005-02-24  Andy Wingo  <wingo@pobox.com>
5668
5669         * tests/bench-complexity.scm:
5670         * tests/complexity.gnuplot: New files, good for running complexity
5671         benchmarks.
5672
5673         * tests/Makefile.am:
5674         * tests/complexity.c: New test, sets up N elements, at each level
5675         teeing into M streams per element. Eeeenteresting.
5676
5677         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5678         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5679         running bench-mass_elements.scm.
5680
5681         * tests/bench-mass_elements.scm: New script, runs mass_elements
5682         for various numbers of identities, outputting the results to a
5683         file. Requires guile 1.6. Just for testing.
5684
5685 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5686
5687         * gst/schedulers/fairscheduler.c:
5688           compile with debug disabled
5689
5690 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5691
5692         * configure.ac:
5693           hunting season on 0.9 is now OPEN
5694
5695 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5696
5697         * docs/libs/tmpl/gstcontrol.sgml:
5698         * docs/libs/tmpl/gstdparam.sgml:
5699         * docs/libs/tmpl/gstdplinint.sgml:
5700         * docs/libs/tmpl/gstdpman.sgml:
5701         * docs/libs/tmpl/gstdpsmooth.sgml:
5702         * docs/libs/tmpl/gstunitconvert.sgml:
5703           more docs for the state of dparams
5704
5705 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5706
5707         * gst/gstelementfactory.c: (gst_element_factory_create):
5708         * gst/gstobject.c: (gst_object_init),
5709         (gst_object_set_name_default), (gst_object_set_name):
5710           name objects by default, not in gst_element_factory_create. Allows
5711           using elements created with g_object_new. (fixes #167283)
5712
5713 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5714
5715         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5716           make the time that debugging functions print relative to when
5717           gst_init was called
5718
5719 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5720
5721         * gst/gsttaginterface.c:
5722           Fix inline docs: tag setter vararg functions are NULL-terminated,
5723           GST_TAG_INVALID doesn't exist any more.
5724
5725 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5726
5727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5728         Allocate the 1 byte more memory that was forgotten!!!!!
5729         fixes memory corruption on 64bit platforms
5730
5731 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * docs/pwg/building-pads.xml:
5734         * docs/pwg/intro-basics.xml:
5735           fixed a few typos, relabeled introductionary list of types
5736         * docs/random/ensonic/dparams.txt:
5737           more notes abut dparam changes
5738         * libs/gst/control/dparam.c: (gst_dparam_attach):
5739         * libs/gst/control/dparammanager.c:
5740         * libs/gst/control/dparammanager.h:
5741           - many comments and notes on dparam implementation
5742           - new dparams are were not initialized to the default value
5743             from param spec
5744
5745 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5746
5747         submitted by: Peter Astakhov
5748
5749         * po/LINGUAS:
5750         * po/ru.po:
5751           adding Russian translation
5752
5753 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * configure.ac:
5756         * docs/gst/Makefile.am:
5757         * docs/libs/Makefile.am:
5758           make sure popt is added to gtk-doc flags.  Fixes #147782.
5759
5760 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5761
5762         * docs/faq/using.xml:
5763           Fix typo in FAQ (artssink => artsdsink)
5764
5765 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5766
5767         * tools/gst-launch.1.in:
5768           Fix typo (#166699).
5769
5770 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5771
5772         * docs/faq/using.xml:
5773           Add -v argument to fakesrc/fakesink gst-launch line,
5774           so that the promised output will actually show up.
5775
5776 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5777
5778         * gst/gstthread.c: (gst_thread_change_state):
5779           Implement state-change error handling (#166073).
5780
5781 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5782
5783         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5784           Release interrupt after handling (#166250).
5785
5786 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5787
5788         * configure.ac:
5789           back to HEAD
5790
5791 === release 0.8.9 ===
5792
5793 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * NEWS:
5796         * RELEASE:
5797         * configure.ac:
5798           releasing 0.8.9, "Like Eating Glass"
5799
5800 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         submitted by: Clytie Siddall
5803
5804         * po/vi.po: Added Vietnamese translation
5805
5806 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5807
5808         patch by: Tim Philipp-Müller
5809
5810         * configure.ac:
5811         * gst/gstpad.c:
5812           unref data when probe function returns FALSE.  Fixes #166362
5813
5814 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5815
5816         * gst/gst.c: (gst_init_get_popt_table):
5817           Fix typo (#166269).
5818
5819 2005-02-04  Andy Wingo  <wingo@pobox.com>
5820
5821         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5822         the debugging on whether the caps are compatible.
5823
5824 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5825
5826         * docs/manual/basics-elements.xml:
5827           Fix two typos.
5828
5829 2005-02-02  Wim Taymans  <wim@fluendo.com>
5830
5831         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5832         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5833         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5834         Remove some FIXMEs after analysing and commenting why they
5835         are not issues.
5836
5837 2005-02-02  Wim Taymans  <wim@fluendo.com>
5838
5839         * gst/schedulers/gstoptimalscheduler.c:
5840         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5841         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5842         (get_invalid_call), (chain_invalid_call),
5843         (get_group_schedule_function), (loop_group_schedule_function),
5844         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5845         (gst_opt_scheduler_state_transition),
5846         (gst_opt_scheduler_add_element),
5847         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5848         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5849         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5850         (gst_opt_scheduler_show):
5851         Added lock to protect scheduler data structures.
5852
5853 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5854
5855         * testsuite/threads/threadi.c: (cb_data):
5856           Fix buglet in test.
5857
5858 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5859
5860         * testsuite/threads/Makefile.am:
5861         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5862           On Wim's request, split the test in three separately-compiled
5863           tests that each test a very specific bug. Two of them still fail,
5864           will create bugs for those. threadi.c indicates why they fail.
5865
5866 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5867
5868         * gst/schedulers/gstoptimalscheduler.c:
5869         (get_group_schedule_function):
5870           Try to work with the threading mess that queue_link is.
5871
5872 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5873
5874         * gst/gstbin.c: (gst_bin_remove_func):
5875           Explicitely make an element release locks in a group when being
5876           remove from a bin.
5877         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5878           If there's no scheduler, always return immediately (similar to
5879           gst_element_interrupt).
5880
5881 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5882
5883         * gst/gstbin.c: (gst_bin_child_state_change_func):
5884           Remove a piece of code that could never be reached.
5885         * docs/gst/gstreamer-sections.txt:
5886         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5887         (gst_pad_call_get_function):
5888         * gst/gstpad.h:
5889         * testsuite/pad/Makefile.am:
5890           Fix #150546, enable tests.
5891
5892 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5893
5894         * docs/pwg/advanced-types.xml:
5895           Fix description for buffer-frames=0.
5896         * docs/gst/tmpl/gstbin.sgml:
5897         * gst/gstbin.c: (gst_bin_child_state_change_func),
5898         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5899         * gst/gstbin.h:
5900         * testsuite/threads/Makefile.am:
5901         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5902         (cb_state), (cb_play), (main):
5903           Fix non-recursive state changes to *really* change the state
5904           of the object, and not just call parent_class->state_change.
5905           Fix a lot of lockups caused by this. Fixes #132775. Add test
5906           for the problem. Also enable test to show #142588 (fixed).
5907         * gst/gstthread.c: (gst_thread_change_state),
5908         (gst_thread_child_state_change):
5909           Don't exit the thread if we go to NULL and are inside thread
5910           context. Instead, return control to the main thread context
5911           and exit from there.
5912         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5913           Don't unset virtual functions, since those may still be used.
5914           That's not necessarily correct, but suffices for now.
5915         * configure.ac:
5916         * testsuite/Makefile.am:
5917         * testsuite/pad/Makefile.am:
5918         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5919         (gst_test_sink_base_init), (gst_test_sink_chain),
5920         (gst_test_sink_init), (main):
5921         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5922         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5923         (main):
5924         * testsuite/pad/link.c: (gst_test_element_class_init),
5925         (gst_test_element_base_init), (gst_test_src_get),
5926         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5927         (gst_test_filter_loop), (gst_test_filter_init),
5928         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5929         (cb_error), (main):
5930           Add tests to show #150546. Pass, but should fail (currently
5931           disabled from the testsuite).
5932         * gst/gstscheduler.c: (gst_scheduler_dispose):
5933           Dereference child schedulers on dispose (#94464).
5934         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5935           Fix typo.
5936         * testsuite/threads/thread.c: (main):
5937           Add more debug.
5938
5939 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5940
5941         * gst/gstpad.c: (gst_pad_push):
5942           Oops, revert previous commit, broke testsuite...
5943
5944 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5945
5946         * gst/gstpad.c: (gst_pad_push):
5947           Add check that the pad on which the push is performed is not a
5948           get-based pad (#150546).
5949
5950 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5951
5952         * gst/elements/gsttypefindelement.c:
5953         (gst_type_find_element_handle_event):
5954           Fix buffer pushing if stream EOSes during typefinding.
5955
5956 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5957
5958         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5959
5960         * gst/gstvalue.c: (gst_string_wrap):
5961           Allow NULL-strings as argument (#165365).
5962
5963 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5964
5965         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5966
5967         * gst/schedulers/faircothreads.c:
5968         (gst_fair_scheduler_cothread_queue_show):
5969           Fix build without debug enabled.
5970
5971 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * docs/gst/gstreamer-sections.txt:
5974         * docs/libs/gstreamer-libs-docs.sgml:
5975         * docs/libs/gstreamer-libs-sections.txt:
5976         * docs/libs/tmpl/gstcontrol.sgml:
5977         * docs/libs/tmpl/gstdparam.sgml:
5978         * docs/libs/tmpl/gstdplinint.sgml:
5979         * docs/libs/tmpl/gstdpman.sgml:
5980         * docs/libs/tmpl/gstdpsmooth.sgml:
5981         * docs/libs/tmpl/gstputbits.sgml:
5982         * docs/libs/tmpl/gstunitconvert.sgml:
5983         * libs/gst/control/dparam.c:
5984         * libs/gst/control/dparam.h:
5985         * libs/gst/control/dparammanager.c:
5986         (gst_dpman_add_required_dparam_callback),
5987         (gst_dpman_add_required_dparam_direct),
5988         (gst_dpman_add_required_dparam_array),
5989         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5990         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5991         (gst_dpman_get_manager)
5992           restructured DParam docs
5993
5994 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5995
5996         * gst-element-check.m4:
5997           Only check for gst-inspect if we haven't already
5998           found it in previous element check runs
5999
6000 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6001
6002         * docs/gst/Makefile.am:
6003         * docs/libs/Makefile.am:
6004           fixed install rules to treat style.css as optional
6005
6006 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6007
6008         * docs/gst/Makefile.am:
6009         * docs/libs/Makefile.am:
6010           install style.css along with docs
6011         * docs/gst/tmpl/gstbin.sgml:
6012         * docs/gst/tmpl/gstclock.sgml:
6013         * docs/gst/tmpl/gstdata.sgml:
6014         * docs/gst/tmpl/gstelement.sgml:
6015         * gst/gstbin.h:
6016         * gst/gstelement.c: (gst_element_class_init):
6017         * gst/gstelement.h:
6018           fixing incomplete docs
6019
6020 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
6021
6022         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6023           Don't unref seek event twice when fflush() fails
6024           
6025 2005-01-22  David Schleef  <ds@schleef.org>
6026
6027         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6028
6029 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6030
6031         * docs/gst/Makefile.am:
6032         * docs/libs/Makefile.am:
6033           added params for deprecation guards
6034         * gst/gst.c:
6035         * gst/gst.h:
6036         * gst/gsterror.c: (_gst_resource_errors_init),
6037         (_gst_stream_errors_init):
6038         * gst/gsterror.h:
6039           documented some more enums
6040
6041 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6042         * gst/autoplug/gstspideridentity.c:
6043         Cosmetic fix - spider_find_peek should be static
6044         * gst/parse/parse.l:
6045         Applying fix for #164261
6046
6047 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6048
6049         * docs/gst/gstreamer-sections.txt:
6050         * docs/gst/tmpl/gstplugin.sgml:
6051         * docs/libs/gstreamer-libs-sections.txt:
6052         * docs/libs/tmpl/gstcontrol.sgml:
6053         * gst/gstbuffer.h:
6054         * gst/gsttag.h:
6055         * gst/gstvalue.c:
6056           added docs for the TAG defines
6057
6058 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6059
6060         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6061           Only unref entry if there is an entry.
6062
6063 2005-01-17  Wim Taymans  <wim@fluendo.com>
6064
6065         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6066         (remove_from_group), (schedule_group), (normalize_group),
6067         (gst_opt_scheduler_iterate):
6068         Also ref/unref decoupled elements before iterating the
6069         group since they are not added to the list of elements.
6070
6071 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6072
6073         * docs/manual/highlevel-components.xml:
6074           Add subtitle/streamselection as new features to playbin.
6075
6076 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * docs/manual/manual.xml:
6079           Re-enable dataaccess docs (oops).
6080
6081 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6082
6083         * docs/pwg/advanced-types.xml:
6084         * docs/random/mimetypes:
6085           Add documentation on libsndfile types (#163309), by Steve Baker
6086           <steve@stevebaker.org>.
6087         * gst/gstelement.c: (gst_element_release_request_pad):
6088           If an element has no explicit function, just remove the pad.
6089
6090 2005-01-17  Luca Ognibene  <luogni@tin.it>
6091
6092         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6093
6094         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6095           Fix memleak (#163801).
6096
6097 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6098
6099         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6100           I think this is actually more correct...
6101
6102 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6103
6104         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6105           Another workaround for memory access while destroyed in callback.
6106           Please, someone with refcount knowledge, have a look at this.
6107
6108 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6109
6110         * docs/faq/faq.xml:
6111         * docs/faq/legal.xml:
6112           move the legal Q&A here
6113
6114 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6115
6116         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6117         (gst_tee_request_new_pad):
6118           Fix negotiation.
6119
6120 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6121
6122         * docs/random/omega/caps2:
6123         * testsuite/caps/caps_strings:
6124           replace framerate aproximations by their real value
6125           (24000/1001, 30000/1001, 60000/1001)
6126           Partially fixes bug #164049
6127
6128 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6129
6130         * docs/gst/Makefile.am:
6131           don't fail on the stupid GstPoptOption
6132
6133 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6134
6135         * gst/gstpad.h:
6136         * gst/gstprobe.c:
6137           allow probes to work on ghost pads by realizing the pad
6138           probe debugging
6139
6140 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6141
6142         * docs/gst/gstreamer-sections.txt:
6143         * docs/gst/tmpl/gstpad.sgml:
6144         * gst/gstpad.c: (gst_pad_set_active_recursive):
6145         * gst/gstpad.h:
6146           Add gst_pad_set_active_recursive().
6147
6148 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6149
6150         * docs/random/release:
6151           updates
6152         * gst/gst_private.h:
6153         * gst/gstinfo.c:
6154         * gst/gstobject.c:
6155           move deep_notify logging to a new category
6156         * gst/gstprobe.c:
6157         * gst/gstprobe.h:
6158           add stuff so bindings can wrap probes
6159
6160 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6161
6162         * gst/gstplugin.c: (gst_plugin_load):
6163           Fix plugin loading if plugin/lib was already loaded. Fixes
6164           #163383
6165
6166 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6167
6168         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6169
6170         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6171           Protect plugin loading by a mutex so it's threadsafe. Fixes
6172           #163234.
6173
6174 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6175
6176         * gst/gstevent.c: (_gst_event_copy):
6177           Reference source object when copying events, since it'll be
6178           dereferenced on event dereferencing as well.
6179
6180 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6181
6182         * docs/gst/gstreamer-sections.txt:
6183         * docs/gst/tmpl/gstevent.sgml:
6184         * gst/gstevent.c: (gst_event_new_filler_stamped),
6185         (gst_event_filler_get_duration):
6186         * gst/gstevent.h:
6187           Add two new functions for filler events (which are used to
6188           synchronize streams if one of them is not having any data
6189           for a while) without interrupting the actual data-stream.
6190           Basically a no-op.
6191         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6192         (gst_queue_link_sink), (gst_queue_link_src),
6193         (gst_queue_change_state):
6194           Allow for renegotiation while filled. Required for stream
6195           switching while playing.
6196
6197 2005-01-08  Benjamin Otte  <otte@gnome.org>
6198
6199         * gst/gstelement.c: (gst_element_link_many):
6200           fix up g_return_if_fail's
6201         * po/LINGUAS:
6202         * po/de.po:
6203           add German translation, that was somehow not included
6204
6205 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6206
6207         * docs/random/mimetypes:
6208           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6209           do not add them to riff-lib as they are not common
6210
6211 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6212
6213         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6214           Check for existence of probe after performing the probe before
6215           re-accessing it to prevent segfaults caused by removal of the
6216           probe in the callback.
6217
6218 2005-01-05  David Schleef  <ds@schleef.org>
6219
6220         * testsuite/registry/Makefile.am:
6221         * testsuite/registry/gst-print-formats.c:
6222         (print_pad_templates_info), (print_element_list),
6223         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6224         (g_list_uniqify), (get_pad_templates_info),
6225         (get_element_mime_list), (print_mime_list), (main): A little
6226         program that looks through the registry to find elements of
6227         a given type.  Not particularly interesting as a test, except
6228         that there's no other test covering the same area.
6229
6230 2005-01-05  David Schleef  <ds@schleef.org>
6231
6232         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6233         (fault_handler_sigaction), (fault_spin),
6234         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6235         in signal.h-type signal handlers by not calling forbidden functions,
6236         including gst_element_set_state().
6237
6238 2005-01-05  David Schleef  <ds@schleef.org>
6239
6240         * gst/gstvalue.h: Mark _gst_reserved[] as private
6241
6242 2005-01-05  David Schleef  <ds@schleef.org>
6243
6244         * gst/gstvalue.c: Fix doc build problem.
6245
6246 2005-01-05  David Schleef  <ds@schleef.org>
6247
6248         * gst/gstvalue.c: Add some documentation
6249
6250 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6251
6252         * docs/README:
6253           another shell oneliner for empty return value docs
6254         * gst/gstcaps.c:
6255         * gst/gstvalue.c:
6256         * libs/gst/control/dparam.c:
6257           more doc fixes (parameters and return values)
6258
6259 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6260
6261         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6262
6263         * gst/gstregistry.h:
6264         * gst/registries/gstxmlregistry.c:
6265           Fix macro's for Mingw (fixes #162276).
6266
6267 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6268
6269         * docs/README:
6270           quick shell oneliner to find undocumented members
6271         * docs/gst/tmpl/gstplugin.sgml:
6272         * docs/gst/tmpl/gstscheduler.sgml:
6273         * docs/gst/tmpl/gstthread.sgml:
6274           more enumtypes cleanup
6275         * gst/gsterror.h:
6276           activated documentation comments, now someone needs to document
6277           the enums :(
6278
6279 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6280
6281         * docs/manual/manual.xml:
6282           Add dataaccess part (doh!).
6283
6284 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6285
6286         * docs/manual/advanced-autoplugging.xml:
6287           Fix typo (intiate -> initiate).
6288
6289 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6290
6291         * docs/random/bbb/streamselection:
6292           Add some notes on how to handle multi-subtitle/-audio streams.
6293
6294 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6295
6296         * docs/gst/gstreamer-docs.sgml:
6297         * docs/gst/gstreamer-sections.txt:
6298         * docs/gst/tmpl/gstenumtypes.sgml:
6299         * docs/gst/tmpl/gsterror.sgml:
6300         * docs/gst/tmpl/gstevent.sgml:
6301         * docs/gst/tmpl/gstpad.sgml:
6302         * docs/gst/tmpl/gstpadtemplate.sgml:
6303         * docs/gst/tmpl/gstthread.sgml:
6304           removed gstenumtypes section from docs and put all the enums into
6305           their sections
6306
6307 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6308
6309         * gst/gstplugin.c:
6310           document gst_library_load a bit more (riff special case + return
6311           value if already loaded)
6312         * testsuite/bytestream/filepadsink.c:
6313           plugin name is 'gstbytestream', not 'bytestream'
6314
6315 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6316
6317         * docs/random/bbb/subtitles:
6318           Add some first mind rumblings on proper subtitle support.
6319
6320 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6321
6322         * po/ca.po:
6323         * po/sv.po:
6324           updated translations
6325
6326 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6327
6328         * docs/manual/advanced-dataaccess.xml:
6329           Add section on how to use fakesrc/fakesink/identity in your
6330           application, plus section on how to embed plugins. Also mention
6331           probes.
6332         * docs/manual/appendix-checklist.xml:
6333         * docs/manual/appendix-debugging.xml:
6334         * docs/manual/appendix-gnome.xml:
6335         * docs/manual/appendix-integration.xml:
6336           Debug -> checklist, GNOME -> integration, add sections on Linux,
6337           KDE integration and add other things useful for application
6338           development.
6339         * docs/manual/manual.xml:
6340           Remove some fixmes, update some file pointers.
6341         * docs/pwg/appendix-checklist.xml:
6342           Fix typo.
6343         * docs/pwg/building-boiler.xml:
6344           Remove ugly header and add commented fixme.
6345         * docs/pwg/pwg.xml:
6346           Add fixme.
6347         * examples/manual/Makefile.am:
6348           Add example for added docs.
6349
6350 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6351
6352         * configure.ac:
6353           back to HEAD
6354
6355 === release 0.8.8 ===
6356
6357 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6358
6359         * NEWS:
6360         * RELEASE:
6361         * configure.ac:
6362           Releasing 0.8.8, "I'll Take Care Of You"
6363
6364 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6365
6366         * configure.ac:
6367           second prerelease
6368
6369 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6370
6371         patch by: Wim Taymans
6372
6373         * gst/gstbin.c:
6374           Fix for #159852 - make iterate emission threadsafe
6375
6376 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6377
6378         * docs/faq/cvs.xml:
6379           notes about new fdo account request
6380
6381 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6382
6383         * docs/gst/gstreamer-docs.sgml:
6384         * docs/gst/tmpl/gstenumtypes.sgml:
6385         * docs/gst/tmpl/gstplugin.sgml:
6386         * docs/libs/gstreamer-libs-docs.sgml:
6387           Added missing short docs. Added ids for navigation.
6388
6389 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6390
6391         * docs/manual/advanced-autoplugging.xml:
6392         * docs/manual/advanced-schedulers.xml:
6393         * docs/manual/advanced-threads.xml:
6394           Rewrites. Remove cothreads, go a bit into opt specifically,
6395           document threads and their gotchas, and do some technical stuff
6396           on autoplugging plus add some working examples. Fixes #157395.
6397         * examples/manual/Makefile.am:
6398           Add typefind/autoplugger example (one that actually works).
6399           Remove queue example since it's a duplicate of the thread one.
6400
6401 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6402
6403         * gst/gstvalue.c: (gst_value_deserialize_string):
6404           use deprecated g_value_set_string_take_ownership to keep compatible
6405           with glib 2.2
6406
6407 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6408
6409         * gst/gstvalue.c: (gst_value_deserialize_string):
6410           revert last patch, only dom a g_utf8_validate now before accepting
6411           the string - caps parsing strips " from strings so we can't rely on
6412           them
6413         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6414           disable a test that tested the above and comment it
6415
6416 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6417
6418         Patch reviewed by David Schleef  <ds@schleef.org>
6419
6420         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6421         bug #153882)
6422         * win32/gstenumtypes.h: same
6423
6424 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6425
6426         * gst/gstpad.c: (gst_pad_query):
6427           Do query on realized pad, similar to how convert/send_event handle
6428           this. Also makes sense, since this pad belongs to the function to
6429           which this query will be sent. Fixes #158163.
6430
6431 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6432
6433         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6434
6435 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6436
6437         * docs/faq/general.xml: fix pipeline to actually work
6438
6439 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6440
6441         * gst/gstvalue.c: (gst_value_deserialize_string):
6442           check that a simple string that gets deserialized does not contain
6443           invalid characters
6444         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6445           remove a test that tested a wring behaviour
6446
6447 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6448
6449         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6450
6451         * docs/manual/intro-motivation.xml:
6452           Fix typos.
6453
6454 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6455
6456         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6457
6458         * docs/gst/tmpl/gstprobe.sgml:
6459           Fix documentation of probe callback - it is supposed to return
6460           FALSE, not TRUE, to remove data from the stream (#159087).
6461
6462 2004-12-16  Daniel Gazard  <dany42@free.fr>
6463
6464         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6465
6466         * gst/gstelementfactory.c: (gst_element_factory_create):
6467           Fix compile failure if compiling without libxml2 support (#149936).
6468
6469 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6470
6471         * docs/manual/advanced-autoplugging.xml:
6472         * docs/manual/highlevel-components.xml:
6473           Move spider from autoplugging to components. Autoplugging is for
6474           internals, not for solutions. ;-).
6475
6476 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6477
6478         * docs/random/ds/0.9-suggested-changes:
6479           Make note on device/location/uri property names.
6480
6481 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6482
6483         * docs/manual/advanced-autoplugging.xml:
6484         * docs/manual/advanced-clocks.xml:
6485         * docs/manual/advanced-interfaces.xml:
6486         * docs/manual/advanced-metadata.xml:
6487         * docs/manual/advanced-position.xml:
6488         * docs/manual/advanced-schedulers.xml:
6489         * docs/manual/advanced-threads.xml:
6490         * docs/manual/appendix-gnome.xml:
6491         * docs/manual/appendix-programs.xml:
6492         * docs/manual/appendix-quotes.xml:
6493         * docs/manual/autoplugging.xml:
6494         * docs/manual/basics-bins.xml:
6495         * docs/manual/basics-data.xml:
6496         * docs/manual/basics-elements.xml:
6497         * docs/manual/basics-helloworld.xml:
6498         * docs/manual/basics-init.xml:
6499         * docs/manual/basics-pads.xml:
6500         * docs/manual/basics-plugins.xml:
6501         * docs/manual/bins-api.xml:
6502         * docs/manual/bins.xml:
6503         * docs/manual/buffers-api.xml:
6504         * docs/manual/buffers.xml:
6505         * docs/manual/clocks.xml:
6506         * docs/manual/components.xml:
6507         * docs/manual/cothreads.xml:
6508         * docs/manual/debugging.xml:
6509         * docs/manual/dparams-app.xml:
6510         * docs/manual/dynamic.xml:
6511         * docs/manual/elements-api.xml:
6512         * docs/manual/elements.xml:
6513         * docs/manual/factories.xml:
6514         * docs/manual/gnome.xml:
6515         * docs/manual/goals.xml:
6516         * docs/manual/helloworld.xml:
6517         * docs/manual/helloworld2.xml:
6518         * docs/manual/highlevel-components.xml:
6519         * docs/manual/highlevel-xml.xml:
6520         * docs/manual/init-api.xml:
6521         * docs/manual/intro-basics.xml:
6522         * docs/manual/intro-motivation.xml:
6523         * docs/manual/intro-preface.xml:
6524         * docs/manual/intro.xml:
6525         * docs/manual/links-api.xml:
6526         * docs/manual/links.xml:
6527         * docs/manual/manual.xml:
6528         * docs/manual/motivation.xml:
6529         * docs/manual/pads-api.xml:
6530         * docs/manual/pads.xml:
6531         * docs/manual/plugins-api.xml:
6532         * docs/manual/plugins.xml:
6533         * docs/manual/programs.xml:
6534         * docs/manual/queues.xml:
6535         * docs/manual/quotes.xml:
6536         * docs/manual/schedulers.xml:
6537         * docs/manual/states-api.xml:
6538         * docs/manual/states.xml:
6539         * docs/manual/threads.xml:
6540         * docs/manual/typedetection.xml:
6541         * docs/manual/win32.xml:
6542         * docs/manual/xml.xml:
6543           Try 2. This time, include a short preface as a "general
6544           introduction", also add code blocks around all code samples
6545           so they get compiled. We still need a way to tell readers
6546           the filename of the code sample. In some cases, don't show
6547           all code in the documentation, but do include it in the generated
6548           code. This allows for focussing on specific bits in the docs,
6549           while still having a full test application available.
6550         * examples/manual/Makefile.am:
6551           Fix up examples for new ADM. Add several of the new examples that
6552           were either added or were missing from the build system.
6553         * examples/manual/extract.pl:
6554           Allow nameless blocks.
6555
6556 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6557
6558         * docs/manual/elements-api.xml:
6559         * docs/manual/helloworld.xml:
6560         * examples/manual/extract.pl:
6561           fix last example.  Add example of adding code blocks that are not
6562           shown in docbook output.
6563
6564 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * docs/manual/dynamic.xml:
6567         * docs/manual/elements-api.xml:
6568         * docs/manual/gnome.xml:
6569         * docs/manual/helloworld2.xml:
6570         * docs/manual/init-api.xml:
6571         * docs/manual/queues.xml:
6572         * docs/manual/threads.xml:
6573         * docs/manual/xml.xml:
6574         * examples/manual/extract.pl:
6575           Make it possible to extract example code from separate blocks.
6576           Should make Ronald happy.
6577
6578 2004-12-15  Wim Taymans  <wim@fluendo.com>
6579
6580         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6581         (remove_from_group), (group_elements_set_visited),
6582         (normalize_group), (gst_opt_scheduler_iterate):
6583         Fix bug where a flag was not updated on a decoupled entry point 
6584         because we were just checking the group element list and decoupled
6585         elements are not in that list..
6586
6587 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6588
6589         * docs/manual/advanced-autoplugging.xml:
6590         * docs/manual/advanced-clocks.xml:
6591         * docs/manual/advanced-dparams.xml:
6592         * docs/manual/advanced-interfaces.xml:
6593         * docs/manual/advanced-metadata.xml:
6594         * docs/manual/advanced-position.xml:
6595         * docs/manual/advanced-schedulers.xml:
6596         * docs/manual/advanced-threads.xml:
6597         * docs/manual/appendix-debugging.xml:
6598         * docs/manual/appendix-gnome.xml:
6599         * docs/manual/appendix-programs.xml:
6600         * docs/manual/appendix-quotes.xml:
6601         * docs/manual/appendix-win32.xml:
6602         * docs/manual/autoplugging.xml:
6603         * docs/manual/basics-bins.xml:
6604         * docs/manual/basics-data.xml:
6605         * docs/manual/basics-elements.xml:
6606         * docs/manual/basics-helloworld.xml:
6607         * docs/manual/basics-init.xml:
6608         * docs/manual/basics-pads.xml:
6609         * docs/manual/basics-plugins.xml:
6610         * docs/manual/bins-api.xml:
6611         * docs/manual/bins.xml:
6612         * docs/manual/buffers-api.xml:
6613         * docs/manual/buffers.xml:
6614         * docs/manual/clocks.xml:
6615         * docs/manual/components.xml:
6616         * docs/manual/cothreads.xml:
6617         * docs/manual/debugging.xml:
6618         * docs/manual/dparams-app.xml:
6619         * docs/manual/dynamic.xml:
6620         * docs/manual/elements-api.xml:
6621         * docs/manual/elements.xml:
6622         * docs/manual/factories.xml:
6623         * docs/manual/gnome.xml:
6624         * docs/manual/goals.xml:
6625         * docs/manual/helloworld.xml:
6626         * docs/manual/helloworld2.xml:
6627         * docs/manual/highlevel-components.xml:
6628         * docs/manual/highlevel-xml.xml:
6629         * docs/manual/init-api.xml:
6630         * docs/manual/intro-motivation.xml:
6631         * docs/manual/intro-preface.xml:
6632         * docs/manual/intro.xml:
6633         * docs/manual/links-api.xml:
6634         * docs/manual/links.xml:
6635         * docs/manual/manual.xml:
6636         * docs/manual/motivation.xml:
6637         * docs/manual/pads-api.xml:
6638         * docs/manual/pads.xml:
6639         * docs/manual/plugins-api.xml:
6640         * docs/manual/plugins.xml:
6641         * docs/manual/programs.xml:
6642         * docs/manual/queues.xml:
6643         * docs/manual/quotes.xml:
6644         * docs/manual/schedulers.xml:
6645         * docs/manual/states-api.xml:
6646         * docs/manual/states.xml:
6647         * docs/manual/threads.xml:
6648         * docs/manual/typedetection.xml:
6649         * docs/manual/win32.xml:
6650         * docs/manual/xml.xml:
6651           First try at rewriting the ADM. Needs lotsamore work, but some
6652           parts might already be somewhat useful.
6653         * docs/pwg/advanced-interfaces.xml:
6654           Remove properties interface, it never actually existed (except for
6655           on my HD...).
6656
6657 2004-12-13  David Schleef  <ds@schleef.org>
6658
6659         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6660         be NULL (bug #160220).
6661
6662 2004-12-13  David Schleef  <ds@schleef.org>
6663
6664         * configure.ac: remove all mmx stuff, because it's not used.
6665         * docs/random/ds/0.9-suggested-changes: additional notes
6666         * include/Makefile.am: we don't use these anymore
6667         * include/mmx.h: remove
6668         * include/sse.h: remove
6669
6670 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6671
6672         * docs/random/mimetypes:
6673           Add FOURCC code for h264 codec (VSSH)
6674           Add alternate FOURCC codes for h263 related codecs
6675
6676 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * docs/manual/programs.xml:
6679           Added more gst-launch examples.
6680
6681 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6682
6683         * gst/gstqueue.c: (gst_queue_handle_src_query):
6684           Check for availability again.
6685
6686 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6687
6688         * gst/gstcaps.c: (gst_caps_compare_structures):
6689           Simple caps go first. This has the nice side-effect of fixing an
6690           obscure warning.
6691
6692 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6693
6694         * gst/gstversion.h.in:
6695           Protect header.
6696
6697 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6698
6699         * gst/schedulers/gstoptimalscheduler.c:
6700         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6701         (gst_opt_scheduler_get_wrapper):
6702           When we're recursing into a chain run, only run the directly
6703           related group, not all queued ones. This will fix a possible
6704           deadlock in chains with more than two groups.
6705
6706 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6707
6708         * autogen.sh:
6709           remove patch if autopoint fails
6710
6711 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6712
6713         * docs/gst/gstreamer-sections.txt:
6714           Document Thomas' addition, fix build, make Luis the sheriff happy.
6715
6716 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6717
6718         * gst/gstplugin.c:
6719         * gst/gstplugin.h:
6720           add accessor for version field
6721
6722 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         submitted by: Luca Ferretti <elle.uca@infinito.it>
6725
6726         * po/LINGUAS:
6727         * po/it.po:
6728           New tranlation added: Italian
6729
6730 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6731
6732         * gst/gstpad.c: (gst_pad_is_negotiated),
6733         (gst_pad_get_negotiated_caps):
6734           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6735           it doesn't actually check the contents), so be sure to hand it
6736           a RealPad else we'll crash.
6737
6738 2004-12-03  Wim Taymans  <wim@fluendo.com>
6739
6740         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6741         (gst_queue_link), (gst_queue_handle_src_query):
6742         Reverted to 1.110 until this makes the testsuite and various
6743         apps work.
6744
6745 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6746
6747         * docs/upload.mak: fix included CVS conflict strings
6748
6749 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6750
6751         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6752
6753         * gst/gstelement.c: (gst_element_error_full):
6754           Use g_error_new_literal because error text may have
6755           percentage signs in it. Fixes #160019.
6756
6757 2004-12-01  Benjamin Otte  <otte@gnome.org>
6758
6759         * gst/elements/gstbufferstore.c:
6760         (gst_buffer_store_add_buffer_func):
6761           don't try to make subbuffers bigger than they can be. (fixes
6762           #159970)
6763
6764 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6765
6766         * docs/gst/gstreamer-sections.txt:
6767         * docs/gst/tmpl/gstvalue.sgml:
6768           Add new function to docs to fix build.
6769
6770 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6771
6772         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6773         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6774         (_gst_pad_default_fixate_foreach):
6775         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6776         * gst/gstvalue.h:
6777           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6778           in some cases (arrays), the fixedness depends on the content.
6779         * gst/gstqueue.c: (gst_queue_handle_src_query):
6780           Check for availability before doing something.
6781
6782 2004-11-29  Wim Taymans  <wim@fluendo.com>
6783
6784         * testsuite/threads/Makefile.am:
6785         * testsuite/threads/signals.c: (gst_test_get_type),
6786         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6787         (gst_test_set_property), (gst_test_get_property),
6788         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6789         (gst_test_do_prop), (run_thread), (main):
6790         Added a bunch of testcases that show threadsafety bugs in glib.
6791
6792 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6793
6794         * docs/manual/programs.xml:
6795           Added a first batch of gst-launch examples, as provided by Ronald
6796           and others from the devel-mlist
6797
6798 2004-11-28  Benjamin Otte  <otte@gnome.org>
6799
6800         * gst/gstelement.c: (gst_element_negotiate_pads):
6801           simplify
6802         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6803         (gst_value_serialize_string), (gst_value_deserialize_string):
6804           add unwrapping of previously wrapped strings. Fix bug in wrapping
6805           while at it.
6806         * testsuite/caps/value_serialize.c: (test1),
6807         (test_string_serialization), (test_string_deserialization), (main):
6808           add tests for string (de)serialization
6809
6810 2004-11-26  Wim Taymans  <wim@fluendo.com>
6811
6812         * testsuite/threads/159566.c: (object_deep_notify), (main):
6813         * testsuite/threads/Makefile.am:
6814         Added testsuite to show bug #159566
6815
6816 2004-11-25  Wim Taymans  <wim@fluendo.com>
6817
6818         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6819         (gst_thread_child_state_change), (gst_thread_main_loop):
6820         Ref the thread object in the GThread mainloop. Break out of the
6821         thread mainloop if it holds the last ref. This properly exits
6822         the threads when disposing the thread from its own context. It
6823         also avoids possible deadlocks in the dispose function.
6824
6825 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6826
6827         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6828         it is necessary to wait.
6829
6830 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6831
6832         * docs/pwg/building-boiler.xml:
6833           Make description somewhat clearer.
6834
6835 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6836
6837         * docs/upload.mak:
6838           Apparently docs changed location on FDO's server.
6839
6840 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6841
6842         * docs/pwg/appendix-checklist.xml:
6843           Add some random notes on things to check when writing an element.
6844           This list can be extended as people see fit.
6845
6846 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6847
6848         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6849         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6850         pad. The queue will now wait until it is empty and forward the new
6851         caps to the source.
6852         * gst/gstbin.c (gst_bin_set_element_sched)
6853         (gst_bin_unset_element_sched): Make sure that all elements and
6854         links are registered and unregistered with the scheduler exactly
6855         once. This elaborates on a fix by Benjamin Otte, but
6856         guarantees that decoupled elements are also registered.
6857
6858 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6859
6860         * docs/manual/quotes.xml:
6861           add a quote
6862         * configure.ac:
6863         * gst/gst.c:
6864         * gst/gstinfo.c:
6865           add LIBDIR and move init message higher up so it's at the start
6866
6867 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6868
6869         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6870         * gstreamer.spec.in: add fair
6871
6872 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6873
6874         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6875         * gst/elements/gstidentity.c: (gst_identity_class_init):
6876           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6877           <teuf@gnome.org> (#157263).
6878         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6879         (gst_type_find_handle_src_query):
6880           Subtract size of internally stored data from position queries.
6881
6882 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6883
6884         * gst/schedulers/fairscheduler.c:
6885         * gst/schedulers/faircothreads.c:
6886         * gst/schedulers/faircothreads.h:
6887         New cothread based scheduler: Fair scheduler.
6888         * gst/schedulers/gthread-cothreads.h: 
6889         Add the standard #if around the whole file.
6890         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6891         compilation of the functions defined in this file. This is
6892         necessary to be able to use this file as a normal header.
6893         * gst/schedulers/Makefile.am: Add compiling support for fair
6894         scheduler.
6895         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6896         scheduler cothreads layer from documentation generation.
6897
6898 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6899
6900         * gst/autoplug/gstspideridentity.c:
6901         (gst_spider_identity_sink_loop_type_finding):
6902           Don't crash if that function is not implemented.
6903
6904 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6905
6906         * docs/pwg/advanced-types.xml:
6907           Another typo.
6908
6909 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6910
6911         * docs/pwg/intro-preface.xml:
6912           Hm, ok, so the brackets weren't really useful...
6913         * docs/pwg/other-ntoone.xml:
6914           Fix embarassing typo.
6915
6916 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6917
6918         * docs/pwg/intro-preface.xml:
6919           Rewrite preface.
6920
6921 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6922
6923         * docs/pwg/advanced-scheduling.xml:
6924         * docs/pwg/advanced-tagging.xml:
6925         * docs/pwg/advanced-types.xml:
6926         * docs/pwg/building-boiler.xml:
6927         * docs/pwg/building-chainfn.xml:
6928         * docs/pwg/building-signals.xml:
6929         * docs/pwg/building-state.xml:
6930         * docs/pwg/building-testapp.xml:
6931         * docs/pwg/intro-basics.xml:
6932         * docs/pwg/other-manager.xml:
6933         * docs/pwg/other-source.xml:
6934           Typo fixes.
6935         * docs/pwg/other-manager.xml:
6936           Add some first content. No example code yet.
6937         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6938           Remove double newlines.
6939
6940 2004-11-04  Wim Taymans  <wim@fluendo.com>
6941
6942         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6943         (remove_from_group), (normalize_group), (group_migrate_connected),
6944         (gst_opt_scheduler_iterate):
6945         * testsuite/schedulers/.cvsignore:
6946         * testsuite/schedulers/Makefile.am:
6947         * testsuite/schedulers/queue_link.c: (main):
6948         Added testcase for scheduler segfault.
6949         Fix scheduler segfault when removing a decoupled
6950         entry point as the last element from a group.
6951
6952 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6953
6954         * gst/gstmarshal.list: add missing marshaller, fixes build
6955
6956 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6957
6958         * docs/random/signal: added notes about using BOXED for GstBuffer
6959         signal marshallers, not POINTER
6960
6961 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6962
6963         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6964         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6965         POINTER=>BOXED changes to marshal GstBuffers
6966
6967 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6968
6969         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6970         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6971
6972 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6973
6974         * docs/gst/gstreamer-sections.txt:
6975         * docs/gst/tmpl/gstcaps.sgml:
6976         * docs/gst/tmpl/gsterror.sgml:
6977         * docs/gst/tmpl/gstinfo.sgml:
6978         * docs/gst/tmpl/gstmacros.sgml:
6979         * docs/gst/tmpl/gstutils.sgml:
6980         * docs/random/ensonic/interfaces.txt:
6981         * gst/gstinfo.h:
6982           added some more docs, removed two obsolete defines
6983
6984 2004-11-02  Kjartan Maraas <as at gnome.org>
6985
6986         reviewed by: Wim Taymans, Ronald Bultje.
6987
6988         * gst/cothreads.c: (cothread_create):
6989         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6990         (gst_bin_child_state_change_func):
6991         * gst/gstbuffer.c: (gst_buffer_span):
6992         * gst/gstelement.c: (gst_element_get_index),
6993         (gst_element_get_event_masks), (gst_element_get_query_types),
6994         (gst_element_get_formats):
6995         * gst/gsterror.c: (_gst_core_errors_init),
6996         (_gst_library_errors_init), (_gst_resource_errors_init),
6997         (_gst_stream_errors_init):
6998         * gst/gstobject.c: (gst_object_default_deep_notify):
6999         * gst/gstpad.c: (gst_pad_get_event_masks),
7000         (gst_pad_get_internal_links_default):
7001         * gst/gstplugin.c: (gst_plugin_register_func),
7002         (gst_plugin_get_module):
7003         * gst/gststructure.c: (gst_structure_get_string),
7004         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7005         (gst_structure_to_abbr):
7006         * gst/gstutils.c: (gst_print_element_args):
7007         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7008         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7009         Aplied part of patch #157127: Cleanup of issues reported by 
7010         sparse.
7011         Also do not try to use cothreads when there is no cothread
7012         context yet.
7013
7014 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7015
7016         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7017         (gst_opt_scheduler_iterate):
7018         Applied patch #154061. Running a pipeline in which an element 
7019         calls GST_ELEMENT_ERROR in the chain function, the opt 
7020         scheduler doesn't unref the chain so it never gets freed.
7021
7022 2004-11-02  Wim Taymans  <wim@fluendo.com>
7023
7024         * gst/gststructure.c: (gst_structure_get_abbrs),
7025         (gst_structure_from_abbr), (gst_structure_to_abbr):
7026         Remove that ugly if-then thing in the code that converts
7027         between strings and types.
7028
7029 2004-11-02  Wim Taymans  <wim@fluendo.com>
7030
7031         * gst/gstscheduler.c: (gst_scheduler_add_element),
7032         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7033         Aplied clock distribution patch, this should fix bug
7034         #148787.
7035
7036 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7037
7038         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7039
7040         * po/LINGUAS:
7041         * po/nb.po:
7042           Added Norwegian Bokmaal translation
7043
7044 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7045
7046         * tools/gst-inspect.c: (print_signal_info):
7047           print signal arguments as pointers if they are
7048
7049 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7050
7051         * docs/pwg/building-boiler.xml:
7052           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7053
7054 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7055
7056         * gst/parse/parse.l:
7057         * testsuite/parse/parse1.c: (main):
7058         Since parse can do 'element name=a:b' make 'a:b.' work as
7059         well. 
7060         Added testcase to verify fix.
7061
7062 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7063
7064         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7065         Use the realpad when printing the direction.
7066         Add extra \n when printing extensions of typefind factories.
7067
7068 2004-10-13  David Schleef  <ds@schleef.org>
7069
7070         * examples/manual/Makefile.am: $< isn't portable in Makefile
7071         rules.
7072
7073 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7074
7075         * docs/gst/tmpl/gstobject.sgml:
7076         * docs/gst/tmpl/gstplugin.sgml:
7077         * docs/gst/tmpl/gstpluginfeature.sgml:
7078         * docs/gst/tmpl/gstregistry.sgml:
7079         * docs/gst/tmpl/gstversion.sgml:
7080         * gst/gstbin.c:
7081           more api documentation
7082         * gst/gstplugin.c: (gst_plugin_register_func),
7083         (gst_plugin_check_file), (gst_plugin_load_file):
7084           better error signaling and logging
7085
7086 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7087
7088         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7089           Subtract current queue contents from position queries.
7090
7091 2004-10-11  Johan Dahlin  <johan@gnome.org>
7092
7093         * gst/gsturi.c (gst_uri_get_location): unescape string
7094         (gst_uri_construct): escape string.
7095
7096 2004-10-11  Benjamin Otte  <otte@gnome.org>
7097
7098         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7099         (gst_pad_try_set_caps_nonfixed):
7100           allow renegotiation of unconnected pads (as inside spider). Simply
7101           return OK if unconnected - mimic try_set_caps there.
7102
7103 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7104
7105         * gst/gstbin.c: (gst_bin_sync_children_state):
7106           Add missing break.
7107
7108 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7109
7110         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7111         Set element to EOS before sending EOS event
7112
7113 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7114
7115         * gst/elements/gsttypefindelement.c:
7116         (gst_type_find_element_handle_event):
7117         Handle EOS events when doing the transition from
7118         typefind to data passing. This should fix the
7119         infinite loops in short files.
7120
7121 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7122
7123         * gst/gstthread.c: (gst_thread_change_state),
7124         (gst_thread_child_state_change):
7125         Make sure no iteration happens while performing
7126         the state change as it could mess up the internal
7127         consistency of the thread state.
7128
7129 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7130
7131         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7132         (gst_thread_change_state), (gst_thread_child_state_change):
7133         Do not try to grab the iterate lock in the state change method
7134         when we are in the same thread as the iterate or else we
7135         could deadlock. Some other cleanups.
7136
7137 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7138
7139         * configure.ac:
7140           bump nano to cvs
7141
7142 === release 0.8.7 ===
7143
7144 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7145
7146         * configure.ac:
7147         * NEWS:
7148         * RELEASE:
7149         * configure.ac:
7150           releasing 0.8.7, "A Cruise"
7151
7152 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7153
7154         * docs/random/mimetypes:
7155         Add an entry for Sony ATRAC3 audio format with mime-type
7156         used by rmdemux et riff-read
7157
7158 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7159
7160         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7161         Push the buffer store instead of clearing it in case that
7162         the stream is not seekable.
7163
7164 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7165
7166         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7167         (gst_thread_main_loop):
7168         Lock the iteration and the state change so that automatic
7169         negotiation and fixation does not happen at the same time
7170         as the in stream negotiation.
7171
7172 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7173
7174         * configure.ac:
7175           bump nano to cvs
7176
7177 === release 0.8.6 ===
7178
7179 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7180
7181         * configure.ac:
7182         * NEWS:
7183         * RELEASE:
7184         * configure.ac:
7185           releasing 0.8.6, "Narc"
7186
7187 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7188
7189         * configure.ac:
7190           prerel bump
7191
7192 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7193
7194         patch by: Steve Lhomme
7195
7196         * gst/elements/gstfakesrc.c:
7197         * gst/elements/gstidentity.c:
7198         * gst/gstthread.c:
7199           Fix for #153881
7200
7201 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7202
7203         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7204         Fix threadsafety of the crc checking function.
7205
7206 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7207
7208         patch by: Ronald Bultje
7209
7210         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7211         (gst_type_find_element_handle_event),
7212         (gst_type_find_element_chain):
7213         * gst/elements/gsttypefindelement.h:
7214          #153657.
7215          Filter out discont event from seekable sources when typefind
7216          asks them to seek.  Fixes typefind with demuxers for
7217          avi, asf and matroska.
7218
7219 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7220
7221         * docs/gst/gstreamer-sections.txt:
7222         * gst/gstcaps.c:
7223         * gst/gstcaps.h:
7224         * gst/gstpad.c:
7225           Revert preferred caps: (#147789)
7226
7227 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7228
7229         * win32/dirent.c:
7230           fix a memory leak
7231
7232 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7233
7234         * configure.ac:
7235           bump for prerelease
7236
7237 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7238
7239         * docs/Makefile.am:
7240         * docs/manual/elements-api.xml:
7241           restructure so that common stuff is shown first
7242         * docs/manual/init-api.xml:
7243           convert to examples
7244         * docs/manual/manual.xml:
7245         * docs/manuals.mak:
7246         * docs/url.entities:
7247           link to API on the website, possibly override later in build
7248         * examples/manual/.cvsignore:
7249           ignore more
7250         * examples/manual/Makefile.am:
7251           add more examples
7252         * examples/manual/extract.pl:
7253           error out on failure
7254
7255 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7256
7257         * docs/gst/tmpl/gstthread.sgml:
7258         * docs/manual/init-api.xml:
7259         * examples/manual/Makefile.am:
7260           convert two code bits to examples
7261
7262 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7263
7264         * gst/gstelement.c: (gst_element_change_state):
7265           Well, actually, I was about to remove this insane assert when
7266           I noticed Wim already did that. A warning is nice so we can
7267           fix actual ugs (using --g-fatal-warnings and backtraces), so
7268           I added that instead.
7269
7270 2004-09-06  Wim Taymans  <wim@fluendo.com>
7271
7272         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7273         (gst_element_threadsafe_properties_post_run),
7274         (gst_element_set_state), (gst_element_change_state):
7275         Added extra refcounting around various places. 
7276
7277 2004-09-06  Wim Taymans  <wim@fluendo.com>
7278
7279         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7280         Fix debug info.
7281
7282 2004-09-06  Wim Taymans  <wim@fluendo.com>
7283
7284         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7285         (remove_from_group):
7286         Some more debug info.
7287
7288 2004-09-03  Wim Taymans  <wim@fluendo.com>
7289
7290         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7291         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7292         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7293         (gst_fakesrc_get), (gst_fakesrc_change_state):
7294         * gst/elements/gstfakesrc.h:
7295         * gst/elements/gstidentity.c: (gst_identity_class_init),
7296         (gst_identity_init), (gst_identity_chain),
7297         (gst_identity_set_property), (gst_identity_get_property),
7298         (gst_identity_change_state):
7299         * gst/elements/gstidentity.h:
7300         Added datarate properties to limit the datarate.
7301
7302 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7303
7304         * gst/autoplug/gstspider.c: (plugin_init):
7305           don't set a rank. We don't want to autoplug by inserting spiders.
7306
7307 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7308
7309         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7310         (gst_spider_identity_plug):
7311           add a template for spider's sink
7312         * gst/gst.c: (gst_register_core_elements):
7313           queue's rank should be NULL, we don't want spider to add it.
7314
7315 2004-08-18  David Schleef  <ds@schleef.org>
7316
7317         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7318         * docs/libs/Makefile.am: same
7319         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7320         * docs/random/ds/0.9-planning: random additions
7321         * docs/random/ds/0.9-suggested-changes: same
7322         * gst/gstxml.h: remove vestigal GstXMLNs definition
7323
7324         Preferred caps: (#147789)
7325         * docs/gst/gstreamer-sections.txt: Add symbols
7326         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7327         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7328         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7329         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7330         (gst_caps_get_preferred), (gst_caps_set_preferred),
7331         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7332         (gst_caps_use_preferred): Handle caps preferences
7333         * gst/gstcaps.h: Add caps preferences
7334         * gst/gstpad.c: (gst_pad_link_get_preferred),
7335         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7336         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7337         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7338         negotiation.
7339
7340 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7341
7342         * gst/autoplug/gstspideridentity.c:
7343         (gst_spider_identity_request_new_pad):
7344         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7345         (gst_aggregator_init):
7346         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7347         (gst_fakesink_init):
7348         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7349         (gst_fakesrc_init):
7350         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7351         (gst_fdsink_init):
7352         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7353         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7354         (gst_filesink_init):
7355         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7356         (gst_filesrc_init):
7357         * gst/elements/gstidentity.c: (gst_identity_base_init),
7358         (gst_identity_init):
7359         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7360         (gst_multifilesrc_init):
7361         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7362         (gst_pipefilter_init):
7363         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7364         (gst_statistics_init):
7365         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7366         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7367           s/gst_pad_new/&_from_template/
7368           register pad templates in the base_init function
7369           add static pad template definitions
7370
7371 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7372
7373         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7374         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7375         * testsuite/refcounting/pad.c: (main):
7376         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7377           s/gst_pad_new/&_from_template/
7378           prepare deprecation of gst_pad_new
7379
7380 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7381
7382         patch by: Luca Ognibene <skaboy81@virgilio.it>
7383
7384         * gst/gstcaps.c:
7385         * gst/gstelement.c:
7386         * gst/gstpad.c:
7387         * gst/gstxml.c:
7388           fix memleaks.  Fixes #150001
7389
7390 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7391
7392         * docs/random/ds/0.9-suggested-changes:
7393           add notes - mostly about pad templates
7394
7395 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7396
7397         * win32/GStreamer.vcproj:
7398           temporary locale files are .gmo not .mo
7399
7400 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7401
7402         * configure.ac: bump nano to cvs
7403
7404 === release 0.8.5 ===
7405
7406 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7407
7408         * configure.ac:
7409           releasing 0.8.5, "Stuttgart"
7410         * NEWS:
7411         * RELEASE:
7412         * configure.ac:
7413         * docs/random/release:
7414           updates for release
7415
7416 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7417
7418         patch by: Wim Taymans (wim@fluendo.com)
7419
7420         * gst/gstbuffer.c:
7421         * gst/gstindex.h:
7422         * libs/gst/dataprotocol/dataprotocol.c:
7423           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7424
7425 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7426
7427         * Makefile.am:
7428         * win32/MANIFEST:
7429           add win32 dir to the build.  Fixes #149981.
7430
7431 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7432
7433         * configure.ac:
7434           bump libtool versioning
7435         * gst/gststructure.c:
7436           mark function as static
7437         * po/af.po:
7438         * po/az.po:
7439         * po/ca.po:
7440         * po/cs.po:
7441         * po/en_GB.po:
7442         * po/fr.po:
7443         * po/nl.po:
7444         * po/sq.po:
7445         * po/sr.po:
7446         * po/sv.po:
7447         * po/tr.po:
7448         * po/uk.po:
7449           translations update
7450         * win32/README.txt:
7451           trademark protection
7452
7453 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7454
7455         * configure.ac:
7456           fix GST_ORIGIN
7457           set GST_PACKAGE to source, and distinguish between release and other
7458         * tools/gst-inspect.c:
7459           print out plugin an element factory is part of so we see this info
7460
7461 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7462
7463         * docs/gst/gstreamer-sections.txt:
7464         * docs/gst/tmpl/gstbuffer.sgml:
7465         * docs/gst/tmpl/gstschedulerfactory.sgml:
7466           reorder docs a little, make GstBuffer's more sensible.
7467         * gst/gstbuffer.h:
7468           API: added GST_BUFFER_FLAG_DELTA_UNIT
7469         * gst/gstscheduler.c:
7470           comment API addition
7471
7472 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7473
7474         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7475           work with non-regular files that can be mmapped (like /dev/zero)
7476         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7477           get rid of typefinds that require a seek when we can't seek instead
7478           of trying them over and over again
7479         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7480           return non-zero failure value when the pipeline was interrupted or
7481           an error occurred
7482
7483 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7484
7485         * win32/config.h:
7486         * win32/GStreamer.vcproj:
7487           compile and install the locales
7488
7489 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7490
7491         * gst/gstvalue.c:
7492           fix a possible memory leak under Windows
7493
7494 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7495
7496         * win32/GStreamer.vcproj:
7497           fix a memory leak that occured under Windows
7498         * win32/gstreamer.def:
7499           add gst_scheduler_register
7500
7501 2004-08-11  Benjamin Otte  <otte@gnome.org>
7502
7503         * docs/gst/gstreamer-sections.txt:
7504         * gst/gstscheduler.c: (gst_scheduler_register):
7505         * gst/gstscheduler.h:
7506           API:
7507           add gst_scheduler_register shortcut similar to gst_element_register
7508         * gst/schedulers/entryscheduler.c: (plugin_init):
7509         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7510         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7511           use it
7512
7513 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7514
7515         * gst/gstvalue.h:
7516           fix a memory leak that occured under Windows
7517
7518 2004-08-10  Colin Walters  <walters@redhat.com>
7519
7520         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7521         Don't use O_EXCL to open temporary registry.  It will prevent
7522         registry creation if a temporary one already exists, which
7523         is unnecessary.
7524
7525 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7526
7527         * docs/gst/gstreamer-sections.txt:
7528         * docs/gst/tmpl/gstvalue.sgml:
7529           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7530
7531 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7532
7533         * win32/gstbytestream.vcproj:
7534         * win32/gstelements.vcproj:
7535         * win32/gstgetbits.vcproj:
7536         * win32/gst-inspect.vcproj:
7537         * win32/gst-launch.vcproj:
7538         * win32/gstoptimalscheduler.vcproj:
7539         * win32/GStreamer.vcproj:
7540         * win32/gst-register.vcproj:
7541         * win32/gstspider.vcproj:
7542           update the include and lib dirs to fit standard libraries as
7543           described in the Win32 manual
7544
7545 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7546
7547         * win32/config.h:
7548         * win32/gstversion.h:
7549           enable NLS again, push the version number for the coming 0.8.5 release
7550
7551 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7552
7553         * gst/gstvalue.h:
7554           export gst_type_XXX for windows DLLs
7555
7556 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7557
7558         * docs/faq/gst-uninstalled:
7559           fix PKG_CONFIG_PATH and PYTHONPATH
7560         * gst/schedulers/Makefile.am:
7561           cleanup
7562         * libs/gst/bytestream/bytestream.c:
7563           remove newline
7564         * po/LINGUAS:
7565         * po/sq.po:
7566           adding Albanian translation (Laurent Dhima)
7567         * po/cs.po:
7568           updated
7569
7570 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         * po/ca.po:
7573         * po/sv.po:
7574           updated translations
7575
7576 2004-08-04  Benjamin Otte  <otte@gnome.org>
7577
7578         * tests/mass_elements.c: (main):
7579           allow specifying src and sink element explicitly, so I can test
7580           videotestsrc instead of fakesrc
7581
7582 2004-08-04  Benjamin Otte  <otte@gnome.org>
7583
7584         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7585         (gst_structure_id_empty_new), (gst_structure_empty_new),
7586         (gst_structure_copy):
7587           add gst_structure_id_empty_new_with_size to allow preallocating
7588           value array sizes. Use this in gst_structure_copy to get rid of
7589           reallocs.
7590           don't do quark=>string=>quark when copying structures
7591
7592 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7593
7594         * docs/manual/win32.xml:
7595         * win32/README.txt:
7596           update documentation with the clean version of dependencies
7597
7598 2004-08-03  Benjamin Otte  <otte@gnome.org>
7599
7600         * gst/schedulers/entryscheduler.c:
7601         (gst_entry_scheduler_remove_element):
7602           fix for GST_DISABLE_DEBUG
7603         * tools/gst-launch.c: (print_tag):
7604           fixes for G_DISABLE_ASSERT
7605
7606 2004-08-03  Benjamin Otte  <otte@gnome.org>
7607
7608         * gst/gst.c: (gst_register_core_elements):
7609           fix for G_DISABLE_ASSERT
7610         * gst/gstinfo.c: (__gst_in_valgrind):
7611           add for GST_DISABLE_DEBUG
7612
7613 2004-08-03  Benjamin Otte  <otte@gnome.org>
7614
7615         * gst/parse/parse.l:
7616           fix for G_DISABLE_ASSERT
7617
7618 2004-08-03  Wim Taymans  <wim@fluendo.com>
7619
7620         * gst/gstbin.c: (gst_bin_get_type),
7621         (gst_bin_child_state_change_func):
7622         * gst/gstthread.c: (gst_thread_change_state):
7623         Backported some debug logging from a reverted patch
7624         Don't try to destroy the thread twice. Added some more
7625         debugging in GstThread. Unlock and signal even if we
7626         are in the thread context.
7627
7628 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7629
7630         * po/uk.po:
7631           updated translation
7632
7633 2004-07-30  David Schleef  <ds@schleef.org>
7634
7635         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7636
7637 2004-07-29  David Schleef  <ds@schleef.org>
7638
7639         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7640         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7641
7642 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7643
7644         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7645         (gst_bin_add_func), (gst_bin_remove_func),
7646         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7647         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7648         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7649         (gst_bin_sync_children_state):
7650         * gst/gstbin.h:
7651         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7652         (gst_thread_change_state):
7653         * testsuite/states/Makefile.am:
7654           revert state change patches as agreed so we can rework them
7655           gradually
7656
7657 2004-07-29  Benjamin Otte  <otte@gnome.org>
7658
7659         * libs/gst/control/Makefile.am:
7660           link to libgstreamer (fixes Debian bug 262019, see
7661           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7662
7663 2004-07-29  Wim Taymans  <wim@fluendo.com>
7664
7665         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7666         (check_from_fraction_convert), (transform_test), (main):
7667         Make the test less pedantic about float roundoff errors.
7668
7669 2004-07-29  Benjamin Otte  <otte@gnome.org>
7670
7671         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7672         (gst_filesrc_srcpad_event):
7673           make seek events to before start/after end of file not fail, but
7674           seek to start/end instead
7675         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7676           add more output
7677
7678 2004-07-29  Benjamin Otte  <otte@gnome.org>
7679
7680         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7681           check that caps are fixed
7682         * gst/gstpad.c: (gst_pad_template_new):
7683           don't try to simplify caps, costs too much time on gst_init
7684         * gst/gstplugin.c: (gst_plugin_add_feature):
7685           G_ERROR if features are added twice
7686         * gst/gsttypefind.c: (gst_type_find_register):
7687         * gst/gstelementfactory.c: (gst_element_register):
7688           don't add features twice
7689         * docs/random/ds/0.9-suggested-changes:
7690           add note about possible gst_init optimization
7691
7692 2004-07-28  David Schleef  <ds@schleef.org>
7693
7694         * testsuite/elements/Makefile.am:
7695         * testsuite/elements/struct_i386.h:
7696         * testsuite/elements/struct_size.c: (main):  A little test
7697         to keep distcheck from working if someone changes a structure
7698         size accidentally.
7699
7700 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * docs/libs/Makefile.am:
7703         * docs/libs/gstreamer-libs-docs.sgml:
7704         * docs/libs/gstreamer-libs-sections.txt:
7705         * docs/libs/tmpl/gstbytestream.sgml:
7706         * docs/libs/tmpl/gstcontrol.sgml:
7707         * docs/libs/tmpl/gstdataprotocol.sgml:
7708         * docs/libs/tmpl/gstgetbits.sgml:
7709         * libs/gst/bytestream/Makefile.am:
7710         * libs/gst/bytestream/bytestream.c:
7711         * libs/gst/bytestream/bytestream.h:
7712         * libs/gst/control/Makefile.am:
7713         * libs/gst/dataprotocol/Makefile.am:
7714         * libs/gst/getbits/Makefile.am:
7715         * libs/gst/getbits/getbits.h:
7716           various doc and style fixes, adding bytestream to libs docs.
7717
7718 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7719
7720         * docs/gst/gstreamer-docs.sgml:
7721         * docs/libs/Makefile.am:
7722         * docs/libs/gstreamer-libs-docs.sgml:
7723         * docs/libs/gstreamer-libs-sections.txt:
7724         * libs/gst/control/dparam.c:
7725           more doc fixes.  gst-libs docs now build the same way as gst.
7726
7727 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7728
7729         * configure.ac:
7730         * testsuite/Makefile.am:
7731         * testsuite/bins/Makefile.am:
7732         * testsuite/caps/Makefile.am:
7733         * testsuite/cleanup/Makefile.am:
7734         * testsuite/clock/Makefile.am:
7735         * testsuite/debug/Makefile.am:
7736         * testsuite/dlopen/Makefile.am:
7737         * testsuite/dynparams/Makefile.am:
7738         * testsuite/elements/.cvsignore:
7739         * testsuite/elements/Makefile.am:
7740         * testsuite/enumcaps/Makefile.am:
7741         * testsuite/enumcaps/enumcaps.c:
7742         * testsuite/ghostpads/Makefile.am:
7743         * testsuite/indexers/Makefile.am:
7744         * testsuite/negotiation/Makefile.am:
7745         * testsuite/parse/Makefile.am:
7746         * testsuite/plugin/Makefile.am:
7747         * testsuite/refcounting/Makefile.am:
7748         * testsuite/schedulers/.cvsignore:
7749         * testsuite/states/Makefile.am:
7750         * testsuite/tags/Makefile.am:
7751         * testsuite/threads/Makefile.am:
7752           fold enumcaps into caps dir
7753           clean up Makefile.am's for testsuite
7754
7755 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * docs/gst/Makefile.am:
7758         * docs/libs/Makefile.am:
7759           clean up docs build.  Fixes needless rebuilding of template files.
7760
7761 2004-07-28  Wim Taymans  <wim@fluendo.com>
7762
7763         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7764         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7765         Make sure that a bin state change tries to keep the children
7766         in sync. 
7767         Added debug logging to the thread.
7768
7769 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7770
7771         * win32/GStreamer.vcproj:
7772         * win32/gstreamer.def:
7773           more exports for the plugins
7774
7775 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7776
7777         * win32/gstgetbits.vcproj:
7778         * win32/gstgetbits.def:
7779         * win32/msvc71.sln:
7780           add support for the getbits plugin
7781
7782 2004-07-27  Wim Taymans  <wim@fluendo.com>
7783
7784         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7785         (gst_value_transform_fraction_double), (_gst_value_initialize):
7786         * testsuite/caps/Makefile.am:
7787         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7788         (check_from_fraction_convert), (transform_test), (main):
7789         Added transform functions between double and fraction.
7790         Added testcase to verify transforms
7791
7792 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7793
7794         * win32/GStreamer.vcproj:
7795           rename GStreamer-0.8.lib to libgstreamer.lib
7796
7797 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7798
7799         * win32/gstelements.vcproj:
7800         * win32/gstoptimalscheduler.vcproj:
7801           fixes for the Release build
7802
7803 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7804
7805         * win32/config.h:
7806           update the version number
7807
7808 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7809
7810         * win32/GStreamer.vcproj:
7811           add gstinterface to the build
7812
7813 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7814
7815         * win32/gstreamer.def:
7816           add many definitions needed by plugins,
7817           GST_CAT_DEFAULT only available in the Debug build ?
7818
7819 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7820
7821         * gst/gstelement.c: (gst_element_set_eos_recursive):
7822           various whitespace fixes.
7823           doc fix, fixes #148497
7824
7825 2004-07-25  Benjamin Otte  <otte@gnome.org>
7826
7827         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7828           don't delay links on the sink elements, it causes unnegotiated
7829           links.
7830         * gst/elements/gsttypefindelement.c:
7831         (gst_type_find_element_base_init):
7832           add our padtemplates, we indeed do have some.
7833         * gst/elements/gsttypefindelement.c:
7834         (gst_type_find_element_handle_event),
7835         (gst_type_find_element_chain):
7836           don't push data when typefinding failed.
7837         * gst/gstpad.c: (gst_pad_link_fixate):
7838           check that no fixate function returns empty caps.
7839         * gst/gstpad.c: (gst_pad_push):
7840           check that the link is negotiated before data gets pushed.
7841         * tools/gst-register.c: (main):
7842           don't assert (fixes #148283)
7843
7844 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7845
7846         * docs/gst/gstreamer-sections.txt:
7847         * docs/gst/tmpl/gstconfig.sgml:
7848           add GST_PLUGIN_EXPORT definition
7849
7850 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7851
7852         * gst/gstplugin.h:
7853         * gst/gstconfig.h.in:
7854         * win32/gstconfig.h:
7855         * win32/gstelements.def:
7856         * win32/gstelements.vcproj:
7857         * win32/gstoptimalscheduler.def:
7858         * win32/gstoptimalscheduler.vcproj:
7859         * win32/gstspider.def:
7860         * win32/gstspider.vcproj:
7861           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7862
7863 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         * docs/gst/gstreamer-sections.txt:
7866           remove GST_CAT_DEFAULT because the type has changed
7867
7868 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7869
7870         * win32/gstbytestream.vcproj:
7871         * win32/gstelements.vcproj:
7872         * win32/gst-inspect.vcproj:
7873         * win32/gst-launch.vcproj:
7874         * win32/gstoptimalscheduler.vcproj:
7875         * win32/GStreamer.vcproj:
7876         * win32/gst-register.vcproj:
7877         * win32/gstspider.vcproj:
7878         * win32/msvc71.sln:
7879           Copy the files where needed after building, The testsuite will be
7880           built separately
7881
7882 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7883
7884         * win32/config.h:
7885         * win32/README.txt:
7886         * docs/manual/win32.xml:
7887         Fixed the plugin and GStreamer location
7888
7889 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7890
7891         * win32/gstreamer.def:
7892         More exports for the plugins
7893
7894 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7895
7896         * gst/gstinfo.h:
7897         Marc was right, we need to export literally GST_CAT_DEFAULT
7898
7899 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7900
7901         * win32/config.h:
7902         NLS crashes in gettext, disabled until this is solved
7903
7904 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7905
7906         * win32/gst-inspect.vcproj:
7907         * win32/gst-launch.vcproj:
7908         Should use NLS when available
7909
7910 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7911
7912         * gst/registries/gstxmlregistry.c:
7913         removing the file doesn't seem to be a good idea on Linux
7914
7915 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7916
7917         * gst/registries/gstxmlregistry.c:
7918         Remove the registry before renaming the tempfile (needed for Windows)
7919
7920 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7921
7922         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7923         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7924         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7925         * gst/elements/gstmultifilesrc.h:
7926         Added newmedia property so it generates newmedia events between each
7927         file when property is set, as well as fixed eos handling
7928
7929 2004-07-22  David Schleef  <ds@schleef.org>
7930
7931         * gst/gststructure.c: (gst_structure_id_empty_new),
7932         (gst_structure_empty_new):  Set type field correctly.
7933         * gst/gststructure.h: Check type field correctly.
7934         * testsuite/caps/Makefile.am:
7935         * testsuite/caps/structure.c: (test1), (main): Add a very small
7936         test for structures.
7937
7938 2004-07-22  David Schleef  <ds@schleef.org>
7939
7940         * docs/random/ds/0.9-suggested-changes: more comments
7941         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7942
7943 2004-07-22  Benjamin Otte  <otte@gnome.org>
7944
7945         * gst/gstelementfactory.c: (gst_element_register):
7946           set the factory in the class struct, so gst_element_get_factory
7947           actually works
7948         * gst/parse/grammar.y:
7949           set element to playing when it gets unlocked as we can't rely on the
7950           bin state - all elements in the bin state might still be locked in
7951           NULL)
7952
7953 2004-07-22  Benjamin Otte  <otte@gnome.org>
7954
7955         * gst/gstelement.c: (gst_element_set_state_func):
7956           make this a static function
7957
7958 2004-07-22  Wim Taymans  <wim@fluendo.com>
7959
7960         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7961         (gst_opt_scheduler_pad_link):
7962         fix 147894-2 and the group_link problem.
7963
7964 2004-07-22  Wim Taymans  <wim@fluendo.com>
7965
7966         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7967         (handoff_identity), (main):
7968         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7969         (handoff_identity), (main):
7970         * testsuite/schedulers/Makefile.am:
7971         * testsuite/schedulers/group_link.c: (main):
7972         Show bug in scheduler when linking chain and loop based element 
7973         where the chain based element was not yet in a group.
7974
7975 2004-07-21  Benjamin Otte  <otte@gnome.org>
7976
7977         * gst/.cvsignore:
7978         * gst/autoplug/.cvsignore:
7979         * gst/elements/.cvsignore:
7980         * gst/indexers/.cvsignore:
7981         * libs/gst/bytestream/.cvsignore:
7982         * libs/gst/control/.cvsignore:
7983         * libs/gst/getbits/.cvsignore:
7984         * testsuite/states/.cvsignore:
7985         * testsuite/threads/.cvsignore:
7986           keep this up to date, since I seem to be the only one who cares
7987           about not missing files on commits (editor's note: no you don't,
7988           but feel free to change them at the time you add stuff instead
7989           of later on)
7990
7991 2004-07-21  Benjamin Otte  <otte@gnome.org>
7992
7993         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7994         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7995         (gst_bin_child_state_change_func), (set_kid_state_func),
7996         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7997           make state changes work correctly and reentrant (so removing
7998           elements from bins during state changes of bins doesn't cause
7999           segfaults or even wrong states)
8000           add debugging category and debugging output to print children states
8001         * gst/gstbin.c: (gst_bin_dispose): 
8002           add some assertion checks
8003         * gst/gstbin.h:
8004         * gst/gstbin.c: (gst_bin_sync_children_state):
8005           deprecate this function - it just does gst_bin_set_state (bin,
8006           GST_STATE (bin)) 
8007         * testsuite/threads/queue.c: (main):
8008           don't use gst_bin_sync_children_state anymore
8009         * testsuite/states/Makefile.am:
8010         * testsuite/states/bin.c:
8011           test that the state changes of bins work as expected
8012         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8013           some adjustments to change states correctly, too
8014         * gst/gstthread.c: (gst_thread_change_state):
8015           don't enable/disable "threadsafe" properties, they're unused and
8016           cause random segfaults
8017         * testsuite/threads/Makefile.am:
8018           the queue check randomly passes now, ignore it
8019
8020 2004-07-21  Benjamin Otte  <otte@gnome.org>
8021
8022         * gst/gstpad.c:
8023           check if data is NULL before outputting debug info. (fixes #145100)
8024
8025 2004-07-21  Benjamin Otte  <otte@gnome.org>
8026
8027         * gst/schedulers/entryscheduler.c:
8028         (gst_entry_scheduler_loop_wrapper),
8029         (gst_entry_scheduler_chain_wrapper),
8030         (gst_entry_scheduler_get_wrapper):
8031           reset the state when the cothread starts, so we don't get assertion
8032           failures on restarting of cothreads
8033
8034 2004-07-20  Benjamin Otte  <otte@gnome.org>
8035
8036         * gst/gstelement.c: (gst_element_link_pads_filtered):
8037           use correct sinkpad, if only sinkpad is specified, but not srcpad
8038           (fixes #147889)
8039         * gst/gstelement.c: (gst_element_set_state_func),
8040         (gst_element_change_state): ref/unref the element, signal handlers
8041         could get rid of the element otherwise
8042
8043 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8044
8045         * docs/random/ds/0.9-suggested-changes:
8046           Make note about renaming fixed-list to array.
8047         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8048         (_gst_value_initialize):
8049           Add array intersections.
8050         * testsuite/caps/intersect2.c: (main):
8051           Add test for array intersections.
8052
8053 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8054
8055         * configure.ac: back to cvs
8056
8057 === release 0.8.4 ===
8058
8059 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * configure.ac:
8062           releasing 0.8.4, "Paella"
8063           bump libtool versioning
8064
8065 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8066
8067         * po/LINGUAS:
8068         * po/ca.po:
8069           adding Catalan translation (Jordi Mallach)
8070
8071 2004-07-20  Wim Taymans  <wim@fluendo.com>
8072
8073         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8074         (handoff_identity), (main):
8075         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8076         (handoff_identity), (main):
8077         * testsuite/schedulers/Makefile.am:
8078         Added failing testcase for variant of #147894
8079
8080 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         patch by: David Moore
8083
8084         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8085         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8086         (group_migrate_connected):
8087         * testsuite/schedulers/Makefile.am:
8088           fix for #142813 (Deadlock in optimal scheduler)
8089
8090 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         patch by: Wim Taymans
8093
8094         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8095         (gst_opt_scheduler_schedule_run_queue),
8096         (gst_opt_scheduler_get_wrapper), (get_group),
8097         (group_migrate_connected):
8098         * testsuite/schedulers/Makefile.am:
8099           fix for #147819 (Add some checks in the opt scheduler)
8100
8101 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8102
8103         patch by: Benjamin Otte
8104
8105         * gst/gstelementfactory.c: (__gst_element_details_set):
8106           fix for #147929: running gst-register in non-utf8 locale can cause
8107           invalid registry
8108
8109 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8110
8111         patch by: Wim Taymans
8112
8113         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8114         (group_has_element), (element_get_reachables_func),
8115         (group_migrate_connected):
8116           fix for #147894 (opt scheduler decoupled elements mismanagement)
8117         * testsuite/schedulers/Makefile.am:
8118           testsuite app now passes
8119
8120 2004-07-19  Wim Taymans  <wim@fluendo.com>
8121
8122         * testsuite/schedulers/147819.c: (handoff_identity1),
8123         (handoff_identity2), (main):
8124         * testsuite/schedulers/Makefile.am:
8125         Added testcase for bug 147819
8126
8127 2004-07-19  Wim Taymans  <wim@fluendo.com>
8128
8129         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8130         (handoff_identity), (main):
8131         * testsuite/schedulers/Makefile.am:
8132         Added testcase for bug 147894
8133
8134 2004-07-16  Wim Taymans  <wim@fluendo.com>
8135
8136         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8137         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8138         * testsuite/schedulers/Makefile.am:
8139         Added testsuite for bug 142183 in its two incarnations. Refcount
8140         is not increased for scheduled elements and threadsafe properties
8141         mutexes are not properly unlocked.
8142
8143 2004-07-16  Wim Taymans  <wim@fluendo.com>
8144
8145         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8146         (create_chain), (destroy_chain), (create_group), (destroy_group),
8147         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8148         (group_dec_link), (gst_opt_scheduler_pad_link),
8149         (group_inc_links_for_element), (group_migrate_connected):
8150         Call group_inc_link with the proper src->sink ordering -- 
8151         break this, and we break sort_chain. patch from wingo for bug
8152         147713.
8153         Partially revert patch 1.89. When adding a loop based element to 
8154         the scheduler, the links to other groups are automatically followed
8155         and incremented. This should not happen because the bin will call
8156         pad_link explicitly for those connection, resulting in them counted 
8157         twice. Results in assertion failure on pipeline cleanup.
8158
8159 2004-07-16  Wim Taymans  <wim@fluendo.com>
8160
8161         * testsuite/schedulers/143777-2.c: (main):
8162         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8163         (main):
8164         * testsuite/schedulers/Makefile.am:
8165         Added cleanup code to testcase 143777-2.
8166         Added testcase to show bug 147713, does not really show the
8167         deadlock as I can't figure out how to trigger it, but it does
8168         demonstrate bad ordering in the scheduler.
8169
8170 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8171
8172         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8173           change strndup to g_strndup.  Fixes #147707
8174
8175 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8176
8177         * po/af.po:
8178         * po/az.po:
8179         * po/cs.po:
8180         * po/en_GB.po:
8181         * po/fr.po:
8182         * po/nl.po:
8183         * po/sr.po:
8184         * po/sv.po:
8185         * po/tr.po:
8186         * po/uk.po:
8187           updated translations
8188
8189 2004-07-16  Benjamin Otte  <otte@gnome.org>
8190
8191         * gst/gstvalue.c: (gst_greatest_common_divisor):
8192           use ints and return ints, fractions only use ints, too, so this
8193           avoids accidently casting multiplications to unsigned
8194         (gst_value_lcopy_fraction): it's ints, not uint32
8195         (gst_value_set_fraction): disallow minint, multiplying and negation
8196           are broken with it
8197         (gst_value_fraction_multiply): fix to make large numbers work and get
8198         rid of the assumption that the multiplication of two ints fits an
8199         int64 - dunno if that's true for all systems
8200         * testsuite/caps/Makefile.am:
8201         * testsuite/caps/fraction-multiply-and-zero.c:
8202         (check_multiplication), (check_equal), (zero_test), (main):
8203           add tests for all the stuff above
8204         * testsuite/caps/value_compare.c: (test1):
8205           fix comment
8206         * tests/.cvsignore:
8207         * testsuite/caps/.cvsignore:
8208         * testsuite/debug/.cvsignore:
8209         * testsuite/dlopen/.cvsignore:
8210         * testsuite/states/.cvsignore:
8211           get up to date
8212
8213 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8214
8215         * docs/manual/bins-api.xml:
8216         * docs/manual/factories.xml:
8217         * docs/manual/helloworld.xml:
8218         * docs/manual/links-api.xml: 
8219           fixes for out of date info, incorrect info and grammar
8220
8221 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8222
8223         * docs/manual/pads.xml:
8224         * docs/manual/pads-api.xml: grammar fix
8225
8226 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8227
8228         * docs/manual/pads-api.xml: typo + grammar fix
8229
8230 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8231
8232         * docs/gst/gstreamer-sections.txt:
8233           add new symbols
8234         * docs/gst/tmpl/gstelement.sgml:
8235         * docs/gst/tmpl/gstpad.sgml:
8236         * docs/gst/tmpl/gsttypes.sgml:
8237         * docs/gst/tmpl/gstvalue.sgml:
8238           update docs
8239         * gst/gststructure.c: (gst_structure_set_valist),
8240         (gst_structure_from_abbr), (gst_structure_to_abbr):
8241         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8242         (gst_greatest_common_divisor), (gst_value_init_fraction),
8243         (gst_value_copy_fraction), (gst_value_collect_fraction),
8244         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8245         (gst_value_get_fraction_numerator),
8246         (gst_value_get_fraction_denominator),
8247         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8248         (gst_value_deserialize_fraction),
8249         (gst_value_transform_fraction_string),
8250         (gst_value_transform_string_fraction),
8251         (gst_value_compare_fraction), (_gst_value_initialize):
8252         * gst/gstvalue.h:
8253           adding GstFraction GValue type, get/set, and multiply
8254         * testsuite/caps/Makefile.am:
8255         * testsuite/caps/fraction.c: (test), (main):
8256         * testsuite/caps/string-conversions.c: (main):
8257         * testsuite/caps/value_compare.c: (test1), (main):
8258           add regression tests for GstFraction
8259
8260 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8261         
8262         * docs/manual/init-api.xml: Grammar fix
8263
8264 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8265
8266         * docs/manual/states.xml: Fix inconsistent information
8267
8268 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8269
8270         * gst/gstelement.c: (gst_element_set_state):
8271         * gst/gstpad.c: (gst_pad_try_set_caps):
8272         * gst/gststructure.c:
8273         * gst/gstthread.c: (gst_thread_child_state_change):
8274         * gst/gstvalue.c: (gst_value_compare_double):
8275         * gst/gstvalue.h:
8276         * testsuite/parse/parse1.c: (main):
8277           debugging additions and style cleanups
8278
8279 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8280
8281         * docs/manual/states.xml: Grammar fix
8282
8283 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8284
8285         * docs/manual/pads.xml: Grammar fix
8286
8287 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8288
8289         * docs/manual/elements.xml: Fixed image reference
8290
8291 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8292
8293         * docs/manual/goals.xml: Grammar fix
8294
8295 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8296
8297         * docs/manual/motivation.xml:
8298         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8299
8300 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8301
8302         * docs/manual/motivation.xml: Fix spelling
8303
8304 2004-07-15  Benjamin Otte  <otte@gnome.org>
8305
8306         * gst/gstelement.h: 
8307           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8308           strings.
8309         * gst/gstelement.c (gst_element_class_init):
8310           GError's are boxed, not objects
8311         * gst/gstmarshal.list:
8312           update list for the fixed error signal
8313
8314 2004-07-14  Andy Wingo  <wingo@pobox.com>
8315
8316         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8317         there all along, but the function wasn't. (guile-gstreamer's build
8318         system uses the address of the function -- I wasn't actually
8319         trying to use this.)
8320
8321 2004-07-14  Andy Wingo  <wingo@pobox.com>
8322
8323         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8324         as gst_pad_proxy_pad_link) just link to every other pad when they
8325         are called. In the case where the graph has cycles, this will mean
8326         that a call to try_set_caps will recurse. Allow this recursion
8327         and return OK, while we wait for the first try_set_caps to give a
8328         proper return value.
8329         (gst_pad_link_call_link_functions): Since this function is the
8330         only one to set the NEGOTIATING flag on a pad, if the flag is set
8331         it means that the link functions have indirectly recursed. If this
8332         happens, error out to avoid infinite recursion and an eventual
8333         SEGV.
8334         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8335         (gst_pad_proxy_getcaps): Intersect the result with the template
8336         caps to ensure that the return value is valid.
8337
8338 2004-07-14  Andy Wingo  <wingo@pobox.com>
8339
8340         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8341         one refcount, the calling function is the owner of the buffer.
8342
8343 2004-07-14  Wim Taymans  <wim@fluendo.com>
8344
8345         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8346         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8347         Fix stupid warning when an element is to be migrated but
8348         is already migrated.
8349
8350 2004-07-14  Wim Taymans  <wim@fluendo.com>
8351
8352         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8353         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8354         Make sure that a single non-loop-based element does not 
8355         end up in a group. This fixes the testsuite again.
8356
8357 2004-07-14  Wim Taymans  <wim@fluendo.com>
8358
8359         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8360         (add_to_group), (merge_groups), (schedule_group),
8361         (gst_opt_scheduler_get_wrapper), (group_elements),
8362         (group_dec_link), (gst_opt_scheduler_pad_link),
8363         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8364         (gst_opt_scheduler_iterate):
8365         move isolated groups to a new chain.
8366         Emit a warning instead of segfaulting in some error cases.
8367         Fix a bug where the link count between groups was not calculated 
8368         correctly. Fixes #144510.
8369
8370 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8371         * gst/elements/gstfilesrc.c:
8372           Binary files support under Windows now OK
8373       
8374 2004-07-13  Benjamin Otte  <otte@gnome.org>
8375
8376           compatibility fixes for Solaris 8/gcc 2.95
8377         * configure.ac:
8378           include libintl libs in LDFLAGS
8379         * gstvalue.c (gst_value_deserialize_buffer):
8380           cast isxdigit stuff to int to silence compiler warning
8381
8382 2004-07-12  Benjamin Otte  <otte@gnome.org>
8383
8384         * gst/gsttypes.h:
8385           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8386           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8387           just causes support madness
8388         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8389           make it work without this
8390         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8391         (gst_file_index_commit):
8392           glib IO channels don't want binary mode
8393         * testsuite/bytestream/filepadsink.c: (main):
8394         * testsuite/bytestream/test1.c: (read_param_file):
8395           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8396
8397 2004-07-12  Benjamin Otte  <otte@gnome.org>
8398
8399         * gst/gstelement.c: (gst_element_class_init),
8400         (gst_element_set_state), (gst_element_set_state_func):
8401           virutalize gst_element_set_state, use set_state member in class
8402           struct that was already added in 0.7 for this.
8403         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8404         (gst_bin_change_state):
8405           make gst_bin_foreach works similar to other foreach functions, plug
8406           memleaks in it. Make functions using it work with the new approach.
8407           Document gst_bin_foreach, so it can be exported if we want to
8408         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8409           use virtualized set_state to make set_state on bins set the state of
8410           all its children.
8411
8412 2004-07-12  Benjamin Otte  <otte@gnome.org>
8413
8414         * configure.ac:
8415           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8416           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8417         * gst/gstpad.c: (gst_pad_alloc_buffer):
8418           allow buffer_alloc functions to return NULL and allocate a normal
8419           buffer in that case
8420
8421 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8422         * gst/elements/gstfilesink.c:
8423         * gst/elements/gstfilesrc.c:
8424         * gst/indexers/gstfileindex.c:
8425         * gst/gsttypes.h:
8426         * testsuite/bytestream/filepadsink.c:
8427         * testsuite/bytestream/test1.c:
8428           Handle binary files under Windows
8429
8430 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8431         * docs/manual/win32.xml:
8432         * win32/config.h:
8433         * win32/gst-register.vcproj:
8434         * win32/gstreamer.def:
8435           Update to another gettext public build
8436
8437 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8438         * gst/gstplugin.c:
8439           Fix an impossible C syntax
8440         * win32/config.h:
8441           Disable i18n under Windows for the moment
8442         * win32/gst-register.vcproj:
8443           Use this configuration
8444
8445 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8446         * docs/manual/quotes.xml:
8447           Keep the quotes file alive
8448         * docs/random/ds/0.9-suggested-changes:
8449           Add the suggestion of including a 'rowstride' as part of video
8450           format caps
8451
8452 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * gst/gstelement.c: (gst_element_set_state),
8455         (gst_element_change_state):
8456           d'oh.  Set PENDING state correctly before forcing bin to change.
8457         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8458         (gst_structure_parse_fixed_list):
8459         * gst/schedulers/gstoptimalscheduler.c:
8460         (gst_opt_scheduler_state_transition):
8461         * testsuite/states/parent.c: (main):
8462           remove comment now that it's fixed.
8463
8464 2004-07-11  Benjamin Otte  <otte@gnome.org>
8465
8466         * gst/gstclock.h:
8467           GST_SECOND shouldn't cause a conversion to unsigned.
8468         * testsuite/clock/.cvsignore:
8469         * testsuite/clock/Makefile.am:
8470         * testsuite/clock/signedness.c: (main):
8471           make sure it never will again
8472
8473 2004-07-11  Andy Wingo  <wingo@pobox.com>
8474
8475         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8476         whose state is higher than the bin state, raise the bin state to
8477         ensure that bin state := highest child state.
8478         
8479 2004-07-11  Andy Wingo  <wingo@pobox.com>
8480
8481         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8482         procedure on the children of a bin. Assumes that the procedure can
8483         change the set of children.
8484         (set_kid_state_func): New static function.
8485         (gst_bin_change_state): Use gst_bin_foreach to call
8486         set_kid_state_func. Fixes a bug: if a child had a state-change
8487         handler that removes it from the bin, there would be a segfault.
8488         Hopefully it should also work in the case where the state-change
8489         handler on one child adds or removes other children. In any case,
8490         fixes should go to gst_bin_foreach.
8491
8492 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8493
8494         * gst/gstelement.c: (gst_element_set_state):
8495           compatibility fix for latest plugins release.  Change loop back
8496           to while {}
8497
8498 2004-07-09  Wim Taymans  <wim@fluendo.com>
8499
8500         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8501         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8502         (gst_thread_main_loop):
8503         Since remove is virtual in GstBin we must not assume the 
8504         elements GList to have anothing useful.
8505         Add some more logging to GstThread and be a bit more paranoid
8506         when resetting the scheduler.
8507         Set the state of the bin to NULL before removing the children.
8508
8509 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8510
8511         * testsuite/threads/Makefile.am:
8512         * testsuite/threads/threadg.c:
8513           added test to check if problem when removing all elements from a
8514           GstThread before setting GstThread state to NULL
8515
8516 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8517
8518         * docs/gst/tmpl/gstelement.sgml:
8519         * docs/gst/tmpl/gsttypes.sgml:
8520         * gst/gstbin.c: (gst_bin_change_state):
8521         * gst/gstelement.c: (gst_element_set_state),
8522         (gst_element_change_state):
8523           rework so that for bins we try to set the state on all children
8524           as well even if the bin is in the correct state already.
8525           change while to do so at least one iteration is done.
8526           For regular elements, we fall back to the previous behaviour for
8527           now since we first need a new plugins release.
8528         * testsuite/states/parent.c: (main):
8529           test for this case
8530           Fixes #123774
8531
8532 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8533
8534         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8535         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8536         (gst_queue_release_locks), (gst_queue_change_state),
8537         (gst_queue_set_property):
8538           add proper lock debugging.  Change dispose to finalize, since
8539           we're freeing mutexes and other stuff which should happen only once.
8540
8541 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8542
8543         * docs/gst/tmpl/gstelement.sgml:
8544         * docs/gst/tmpl/gstplugin.sgml:
8545         * docs/gst/tmpl/gsttypes.sgml:
8546         * docs/pwg/building-state.xml:
8547         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8548         * gst/gstelement.c: (gst_element_change_state):
8549         * gst/gstthread.c: (gst_thread_change_state):
8550           catch wrong state changes in element base class.
8551
8552 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8553
8554         * gst/gstinfo.h:
8555           clean up layout a little.
8556
8557 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8558
8559         * configure.ac:
8560         * testsuite/Makefile.am:
8561         * testsuite/states/Makefile.am:
8562         * testsuite/states/parent.c: (main):
8563           re-enable states testsuite dir.  Add test for state changes and
8564           parent behaviour
8565
8566 2004-07-09  Wim Taymans  <wim@fluendo.com>
8567
8568         * gst/schedulers/gstoptimalscheduler.c:
8569         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8570         (element_get_reachables_func), (element_get_reachables),
8571         (debug_element), (rechain_group), (group_migrate_connected),
8572         (gst_opt_scheduler_pad_unlink):
8573         Do not try to migrate decoupled elements to a new group since
8574         they are not added to groups.
8575
8576 2004-07-08  Benjamin Otte  <otte@gnome.org>
8577
8578         * gst/gstelement.c: (gst_element_error_func):
8579           make reentrant (= allow removing elements in error handler)
8580
8581 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8582
8583         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8584         (gst_pad_send_event), (gst_pad_call_chain_function):
8585           events sent to elements below PAUSED cannot be handled, so
8586           don't try to
8587
8588 2004-07-08  Wim Taymans  <wim@fluendo.com>
8589
8590         * gst/schedulers/gstoptimalscheduler.c:
8591         (chain_recursively_migrate_group), (create_group),
8592         (schedule_group), (gst_opt_scheduler_pad_link),
8593         (group_elements_set_visited), (element_get_reachables_func),
8594         (element_get_reachables), (group_can_reach_group), (debug_element),
8595         (rechain_group), (group_migrate_connected),
8596         (gst_opt_scheduler_pad_unlink):
8597         * testsuite/schedulers/Makefile.am:
8598         Implemented group splitting and rechaining.
8599         Fixes 143777 and 143777-2 in the testsuite.
8600
8601 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8602
8603         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8604           extra debugging
8605         * gst/gstevent.h:
8606         * gst/gstinfo.c: (gst_debug_log_default):
8607           print time nicely.  add thread pointer until someone figures out
8608           a completely portable way of getting at thread id's.
8609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8610         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8611         (gst_pad_call_chain_function):
8612           extra debugging
8613         * gst/schedulers/gstoptimalscheduler.c:
8614         (get_group_schedule_function), (loop_group_schedule_function),
8615         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8616         (pad_clear_queued), (gst_opt_scheduler_iterate):
8617           rename BUFPEN and friends to DATAPEN since that's what they are.
8618
8619 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8620
8621         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8622         * gst/gstbuffer.h:
8623         * gst/gstpad.c:
8624           cleanups and debugging
8625
8626 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8627
8628         * configure.ac:
8629         * gst/gstvalue.c: (gst_value_compare_enum),
8630         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8631         (gst_value_can_compare), (gst_value_compare):
8632         * testsuite/Makefile.am:
8633         * testsuite/enumcaps/Makefile.am:
8634         * testsuite/enumcaps/enumcaps.c:
8635           Fix enum serialization, deserialization, comparison in caps, add
8636           a test to ensure that this continues working in the future.
8637
8638 2004-07-06  David Schleef  <ds@schleef.org>
8639
8640         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8641         Fix memleak.
8642
8643 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8646         * gst/gstplugin.h:
8647         * gst/registries/gstxmlregistry.c:
8648         (plugin_times_older_than_recurse), (plugin_times_older_than),
8649         (gst_xml_registry_parse_padtemplate):
8650           only rebuild registry when actual plugins have a newer time than
8651           the registry.  Fixes #145520
8652
8653 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8654
8655         * docs/manual/manual.xml:
8656         * docs/manual/win32.xml:
8657           add chapter on win32 building.  fixes #142422
8658
8659 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8660
8661         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8662
8663         * gst/autoplug/gstspider.c: (gst_spider_init),
8664         (gst_spider_dispose):
8665           fix spider memleaks.  fixes #137863
8666
8667 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8668
8669         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8670
8671         * gst/schedulers/gstoptimalscheduler.c:
8672         (gst_opt_scheduler_pad_unlink):
8673           fix SIGBUS error, fixes #145338
8674
8675 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8676
8677         * gst/gstobject.c: (gst_object_replace):
8678         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8679         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8680           clean up clock lifecycle.  Fixes #109831
8681
8682 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8683
8684         * po/LINGUAS:
8685         * po/cs.po:
8686           added Czech translation (Miloslav Trmac)
8687
8688 2004-07-04  David Schleef  <ds@schleef.org>
8689
8690         * tools/Makefile.am:
8691         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8692
8693 2004-07-04  David Schleef  <ds@schleef.org>
8694
8695         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8696
8697 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8698
8699         * gst/gstbin.c: (gst_bin_restore_thyself):
8700           chain to parent restore so the bins get restored correctly
8701           in the editor
8702
8703 2004-07-03  David Schleef  <ds@schleef.org>
8704
8705         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8706         Actually do something in these functions, like before the big
8707         caps change.  (bug #145137)
8708
8709 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8710
8711         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8712         (gst_element_get_compatible_pad_filtered):
8713         * gst/gstthread.c: (gst_thread_main_loop):
8714           more debugging
8715
8716 2004-07-02  David Schleef  <ds@schleef.org>
8717
8718         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8719         * gst/gstobject.h:
8720         * gst/gstparse.h:
8721         * gst/gsttrace.h:
8722         * gst/gstxml.h:
8723
8724 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8725
8726         * gst/gstpad.c: (gst_pad_check_schedulers),
8727         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8728         (gst_pad_link_prepare):
8729           revert until testsuite is fixed
8730
8731 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8732
8733         * testsuite/Makefile.am:
8734         * testsuite/caps/filtercaps.c: (main):
8735         * testsuite/clock/clock1.c: (main):
8736         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8737           fix some more tests
8738
8739 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8740
8741         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8742         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8743         * testsuite/cleanup/cleanup4.c: (main):
8744           fix testsuite
8745
8746 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8747
8748         * libs/gst/control/control.c:
8749         * libs/gst/control/dparam.c:
8750         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8751         * libs/gst/control/dparammanager.c:
8752         * libs/gst/control/dparammanager.h:
8753         * testsuite/dynparams/Makefile.am:
8754         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8755         (gst_dptest_change_state), (gst_dptest_chain), (main):
8756           fix testcase for dparams
8757           add debugging category
8758
8759 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8760
8761         * testsuite/Rules:
8762           change path
8763
8764 2004-07-02  Benjamin Otte  <otte@gnome.org>
8765
8766         * tests/.cvsignore:
8767         * tests/Makefile.am:
8768         * tests/mass_elements.c: (gst_get_current_time), (main):
8769           add simple benchmark to test various speeds of fakesrc ! identity !
8770           identity ! ... ! fakesink.
8771           Usage: mass_elements [num_identities] [num_buffers]
8772           If not specified they default to 1000.
8773
8774 2004-07-02  Benjamin Otte  <otte@gnome.org>
8775
8776         * gst/gstpad.c: (gst_pad_check_schedulers),
8777         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8778         (gst_pad_link_prepare):
8779           check that pads that get linked belong to the same manager. The old
8780           code allowed linking elements before putting them into bins, so it
8781           worked to link them and then put them in different threads, which
8782           lead to weird behaviour.
8783           Since this effectively disallows linking elements before putting
8784           them in a bin, some applications might not work after this and error
8785           out. If these applications are too critical, we might need to revert
8786           that patch. Please test this before the next release...
8787
8788 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8789
8790         * gst/gstpad.c: (gst_pad_get_caps):
8791           throw an error if the getcaps function does not return a subset of
8792           the template caps.
8793         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8794           make disconts without position info an error in debugging
8795         * tests/spidey_bench.c: (handoff), (main):
8796           don't count first try when averaging
8797
8798 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8799
8800         * gst/gstplugin.c: (gst_plugin_load_file):
8801           figure out problem with dynamic test
8802
8803 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8804
8805         * docs/gst/Makefile.am:
8806           fix docs build
8807
8808 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * po/POTFILES.in:
8811         * po/af.po:
8812         * po/az.po:
8813         * po/en_GB.po:
8814         * po/fr.po:
8815         * po/nl.po:
8816         * po/sr.po:
8817         * po/sv.po:
8818         * po/tr.po:
8819         * po/uk.po:
8820         * tools/gst-register.c: (plugin_added_func), (main):
8821           i18n-ize -register, fix plural
8822
8823 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8824
8825         * gst/elements/gstidentity.c: (gst_identity_class_init),
8826         (gst_identity_init), (gst_identity_chain),
8827         (gst_identity_set_property), (gst_identity_get_property):
8828         * gst/elements/gstidentity.h:
8829           check for perfect stream
8830
8831 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8832
8833         * gst/elements/gstidentity.c: (gst_identity_chain):
8834           print offset_end
8835
8836 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8837
8838         * docs/gst/Makefile.am:
8839         * docs/gst/gstreamer-docs.sgml:
8840           doc fixes
8841
8842 2004-06-24  David Schleef  <ds@schleef.org>
8843
8844         * autogen.sh:  Remove call to env, since the buildbot isn't
8845         broken anymore.
8846
8847 2004-06-24  Wim Taymans  <wim@fluendo.com>
8848
8849         * gst/elements/Makefile.am:
8850         * gst/elements/gstelements.c:
8851         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8852         (gst_multifdsink_class_init), (gst_multifdsink_init),
8853         (gst_multifdsink_add), (gst_multifdsink_remove),
8854         (gst_multifdsink_clear), (gst_multifdsink_chain),
8855         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8856         * gst/elements/gstmultifdsink.h:
8857         Added an element that writes to multiple filedescriptors at once.
8858
8859 2004-06-24  Benjamin Otte  <otte@gnome.org>
8860
8861         * gst/parse/grammar.y:
8862           don't try to link elements before they have been added to bins
8863
8864 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8865
8866         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8867         (gst_file_pad_get_length):
8868         * libs/gst/bytestream/filepad.h:
8869           add 2 new functions
8870
8871 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8872
8873         * docs/gst/gstreamer-sections.txt:
8874         remove from docs, the define that Benjamin removed from gstelement.h
8875
8876 2004-06-22  Benjamin Otte  <otte@gnome.org>
8877
8878         * gst/gstelement.h:
8879           remove define that referenced a nonexisting GstElement struct member
8880
8881 2004-06-20  Benjamin Otte  <otte@gnome.org>
8882
8883         * gst/gstdata.c: (gst_data_is_writable):
8884           whoops, return values were wrong, so writable data was marked as
8885           non-writable and vice versa. (fixes #143953, spotted by Francis
8886           Labonte)
8887           Shows how rarely we need to copy data ;)
8888
8889 2004-06-20  Benjamin Otte  <otte@gnome.org>
8890
8891         * testsuite/schedulers/.cvsignore:
8892         * testsuite/schedulers/Makefile.am:
8893         * testsuite/schedulers/143777-2.c: (main):
8894           add test for opt breakage in bug #143777
8895
8896 2004-06-20  Benjamin Otte  <otte@gnome.org>
8897
8898         * gst/gstpad.c: (gst_pad_call_chain_function):
8899           check for if we were unlinked while inside the chainfunction (fixes
8900           entrygthread having issues with #143777)
8901         * testsuite/schedulers/143777.c: (main):
8902         * testsuite/schedulers/Makefile.am:
8903           add a test for that fix
8904
8905 2004-06-20  Benjamin Otte  <otte@gnome.org>
8906
8907         * gst/gstvalue.c: (gst_value_set_int_range):
8908           test that start is smaller then end
8909         * libs/gst/bytestream/Makefile.am:
8910         * libs/gst/bytestream/filepad.c: 
8911         * libs/gst/bytestream/filepad.h:
8912           add GstFilePad - a pad that behaves like a FILE*
8913         * testsuite/bytestream/.cvsignore:
8914         * testsuite/bytestream/Makefile.am:
8915         * testsuite/bytestream/filepadsink.c: 
8916           test for the GstFilePad
8917
8918 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8919
8920         * gst/elements/gstidentity.c: (gst_identity_class_init),
8921         (gst_identity_init), (gst_identity_set_clock),
8922         (gst_identity_chain), (gst_identity_set_property),
8923         (gst_identity_get_property):
8924         * gst/elements/gstidentity.h:
8925         * gst/gstclock.c: (gst_clock_id_wait):
8926           add a "sync" property to sync to the clock
8927
8928 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8929
8930         * gst/gstelementfactory.c: (gst_element_factory_create):
8931           make the freakin "elementfactory bla has no type" message more
8932           useful. So we actually can do something when someone shows up
8933           complaining about it.
8934
8935 2004-06-15  Johan Dahlin  <johan@gnome.org>
8936
8937         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8938         found. This matches the old behavior better. Thanks to Thomas for
8939         pointing out.
8940
8941 2004-06-14  David Schleef  <ds@schleef.org>
8942
8943         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8944         -fomit-frame-pointer.  Appears to generate correct code in
8945         other cases as well.
8946
8947 2004-06-14  Johan Dahlin  <johan@gnome.org>
8948
8949         * tools/gst-inspect.c (main): Add two new command line options: -a
8950         to print all elements and -n to print the name on each line. Also
8951         fix some error reporting.
8952         (main): Simplify, remove -n and always print names if -a is specified
8953
8954 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8955
8956         * win32/gstconfig.h:
8957         * win32/GSTreamer.vcproj:
8958         * win32/Makefile:
8959         * gst/gstconfig.h.in:
8960         * gst/gst.h:
8961         * gst/gstbin.h:
8962         * gst/gstelement.h:
8963         * gst/gstevent.h:
8964         * gst/gstobject.h:
8965         * gst/gstpad.h:
8966         * docs/gst/gstreamer-sections.txt:
8967         * docs/gst/tmpl/gstconfig.sgml:
8968           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8969
8970 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8971         * docs/gst/gstreamer-sections.txt:
8972         * docs/gst/tmpl/gstconfig.sgml:
8973         Add the GSTREAMER_EXPORT macro to the docs
8974
8975 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8976
8977         * tools/gst-compprep.c: (handle_xmlerror), (main):
8978         Add a check for the version that introduced SetStructuredError to fix
8979         the build on FC1
8980
8981 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8982
8983         * win32/msvc71.sln:
8984         * win32/testsuite/:
8985           prepare to compile the testsuite with MSVC
8986
8987 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8988
8989         * docs/manual/win32.xml:
8990           attempt to transform the Win32 README into an XML doc
8991
8992 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8993
8994         * gst/gst.c:
8995         * gst/gstbin.*:
8996         * gst/config.h.in:
8997         * gst/gstelement.*:
8998         * gst/gstevent.h:
8999         * gst/gstobject.*:
9000         * gst/gstpad.h:
9001         * tools/gst-register.c:
9002         * win32/gstreamer.def:
9003           extern symbols are now exported for the Windows DLL
9004
9005 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9006
9007         * gst/gstinfo.h:
9008           fix a problem to enable/disable DEBUG under MSVC
9009
9010 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9011
9012         * win32/:
9013           enable more debug code in DEBUG build
9014
9015 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9016
9017         * win32/config.h:
9018         * gst/gst-i18n-app.h:
9019           enable NLS under Windows
9020
9021 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9022         * tools/gst-compprep.c: (handle_xmlerror), (main):
9023           Make an error that baffled me a bit clearer
9024
9025 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9026
9027         * gst/gstqueue.c:
9028           don't use g_queue_get_length () because it's 2.4, use ->length
9029
9030 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9031
9032         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9033
9034         * tools/gst-inspect.c: (print_signal_info):
9035           don't free random data twice. (fixes #144185)
9036
9037 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9038
9039         * gst/gstqueue.c:
9040         * gst/gstqueue.h:
9041           fix removing from the wrong queue on event timeout
9042           fix disposing of the event queue by casting correctly
9043           add mutexes for handling the event queue
9044           someone was sleeping when fixing queue last time around :)
9045
9046 2004-06-10  Johan Dahlin  <johan@gnome.org>
9047
9048         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9049         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9050
9051 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * docs/random/gdp:
9054         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9055         * libs/gst/dataprotocol/dataprotocol.c:
9056         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9057         (gst_dp_buffer_from_header):
9058         * libs/gst/dataprotocol/dataprotocol.h:
9059         * libs/gst/dataprotocol/dp-private.h:
9060           rev version to 0.1, add buffer flags and copy them
9061
9062 2004-06-09  Johan Dahlin  <johan@gnome.org>
9063
9064         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9065         the flags from the buffer we're copying.
9066
9067 2004-06-09  Wim Taymans  <wim@fluendo.com>
9068
9069         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9070         * gst/elements/gstidentity.c: (gst_identity_init),
9071         (gst_identity_chain):
9072         Print more buffer info in fakesink.
9073         Make identity output similar to fakesink.
9074
9075 2004-06-07  Daniel Gazard  <dany42@free.fr>
9076
9077         reviewed by Benjamin Otte  <otte@gnome.org>
9078
9079         * configure.ac:
9080           fix cross compiling not working. (fixes #143741)
9081
9082 2004-06-07  Benjamin Otte  <otte@gnome.org>
9083
9084         * gst/gstelement.c: (gst_element_set_time_delay):
9085           add failure check
9086         * gst/gstinfo.h:
9087           put brackets around macro arguments of GST_TIME_ARGS, add note to
9088           move it to correct header in 0.9
9089
9090 2004-06-07  Benjamin Otte  <otte@gnome.org>
9091
9092         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9093         (gst_file_index_load), (_file_index_id_save_entries),
9094         (gst_file_index_commit), (gst_file_index_add_association),
9095         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9096         (gst_file_index_plugin_init):
9097           make debugging use a default category
9098
9099 2004-06-06  David Moore  <dcm@acm.org>
9100
9101         reviewed by Benjamin Otte  <otte@gnome.org>
9102
9103         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9104         (gst_fdsrc_change_state):
9105           reset offset counter when going READY => PAUSED. (fixes #142903)
9106
9107 2004-06-06  ed@catmur.co.uk
9108
9109         reviewed by Benjamin Otte  <otte@gnome.org>
9110
9111         * gst/registries/gstxmlregistry.c:
9112         (gst_xml_registry_rebuild_recurse):
9113           don't rely on g_dir_open to figure out if a file is a directory, use
9114           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9115           directories. (fixes #142850)
9116
9117 2004-06-06  Benjamin Otte  <otte@gnome.org>
9118
9119         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9120           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9121         * libs/gst/bytestream/adapter.c:
9122         * libs/gst/bytestream/adapter.h:
9123           fix copyright in header and typo in debugging category name
9124
9125 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9126
9127         * configure.ac:
9128           bump nano to cvs
9129
9130 === release 0.8.3 ===
9131
9132 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * configure.ac:
9135           update libtool versioning
9136           do a new release
9137         * docs/gst/tmpl/gstelement.sgml:
9138         * docs/gst/tmpl/gsttypes.sgml:
9139         * gst/gstinfo.c: (_gst_debug_init):
9140           put back GST_CAT_DATAFLOW to fix API breakage
9141
9142 2004-06-04  David Schleef  <ds@schleef.org>
9143
9144         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9145
9146 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9147
9148         * configure.ac:
9149           bump nano to cvs
9150
9151 === release 0.8.2 ===
9152
9153 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9154
9155         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9156           check GST_DEBUG environment variable which is parsed the same way
9157           as --gst-debug=
9158
9159 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9160
9161         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9162                             gstmd5sink.c gstshaper.c gsttee.c
9163                             gsttypefindelement.c
9164         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9165
9166           - removing trailing commas at end of enums
9167             it is correct C99 code but C90 compilers would complain
9168             (AIX, Forte, ...)
9169             ('should' fix #143290, at least partially)
9170
9171 2004-05-27  Wim Taymans  <wim@fluendo.com>
9172
9173         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9174         (chain_group_set_enabled), (create_group), (add_to_group),
9175         (merge_groups), (setup_group_scheduler), (group_elements),
9176         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9177         Don't try to follow the pad connections with other groups
9178         when a loop based element is added to the scheduler because
9179         the bin will inform the scheduler about the pad links a little
9180         later.
9181
9182 2004-05-27  Wim Taymans  <wim@fluendo.com>
9183
9184         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9185         (remove_from_chain), (chain_group_set_enabled),
9186         (setup_group_scheduler), (group_element_set_enabled),
9187         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9188         (gst_opt_scheduler_show):
9189         Elements without a group can do a state change as well, just wait
9190         with the setup of the scheduling function when it is added to a
9191         chain.
9192
9193 2004-05-27  Wim Taymans  <wim@fluendo.com>
9194
9195         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9196         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9197         (merge_groups), (setup_group_scheduler),
9198         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9199         (gst_opt_scheduler_show):
9200         Fixes to maintain internal consistency of the scheduler data
9201         structures. 
9202          - adding an enabled group to a chain should increment the
9203            number of enabled elements in that chain.
9204          - removing an enabled group from a chain could disable the
9205            chain.
9206          - removing a disabled group from a chain could enable the
9207            chain.
9208          - add g_assert when internal inconsistency is detected.
9209          - adding an element to a group could increase the number of
9210            links this group has with other groups.
9211          - merging two groups also merges the chains.
9212          - also show group links in the _show method.
9213            
9214
9215 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9216
9217         * gst/gstcaps.c: (gst_caps_structure_simplify):
9218           don't print error messages when there is no error
9219         * gst/gstvalue.c: (gst_value_compare_int_range):
9220           compare the second value, too
9221         * testsuite/caps/Makefile.am:
9222         * testsuite/caps/random.c: (assert_on_error), (main):
9223           add tests to make sure the two things above are checked for
9224
9225 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9226
9227         * configure.ac:
9228         * libs/gst/dataprotocol/Makefile.am:
9229         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9230         * libs/gst/dataprotocol/dataprotocol.h:
9231           wrap header in GST_ENABLE_NEW.  make code use it
9232
9233 2004-05-23  Johan Dahlin  <johan@gnome.org>
9234
9235         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9236         so verbose and print GstElement signal names all the time.
9237
9238 2004-05-22  David Schleef  <ds@schleef.org>
9239
9240         * gst/registries/gstxmlregistry.c:
9241         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9242         (bug #142957)
9243
9244 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * configure.ac:
9247           scrub cflags for glib2 so gcc doesn't complain when glib is in
9248           /usr/local
9249
9250 2004-05-21  Johan Dahlin  <johan@gnome.org>
9251
9252         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9253         __GNUC__, patch from Brian Cameron, fixes bug #142804
9254
9255 2004-05-20  David Schleef  <ds@schleef.org>
9256
9257         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9258         comparison code.  (bug #142819)
9259
9260 2004-05-20  Wim Taymans  <wim@fluendo.com>
9261
9262         * gst/gstbuffer.c: (gst_buffer_default_copy):
9263         * gst/gstbuffer.h:
9264         Added Comment to a flag.
9265         copy relevant flags in _buffer_copy.
9266
9267 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9268
9269         reviewed by: Wim Taymans <wim at fluendo dot com>
9270
9271         * gst/gstbuffer.h:
9272           add GST_BUFFER_IN_CAPS buffer flag
9273         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9274         (gst_structure_parse_any_list), (gst_structure_parse_list),
9275         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9276         * gst/gstvalue.c: (gst_value_serialize_any_list),
9277         (gst_value_transform_any_list_string),
9278         (gst_value_list_prepend_value), (gst_value_list_append_value),
9279         (gst_value_list_get_size), (gst_value_list_get_value),
9280         (gst_value_transform_list_string),
9281         (gst_value_transform_fixed_list_string),
9282         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9283         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9284         (_gst_value_initialize):
9285         * gst/gstvalue.h:
9286           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9287           < , > as a format.
9288         * testsuite/caps/string-conversions.c: (main):
9289           add regression tests for < >
9290
9291 2004-05-20  Johan Dahlin  <johan@gnome.org>
9292
9293         * docs/gst/Makefile.am (all-local): Re-add
9294
9295 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9296
9297         * docs/gst/Makefile.am:
9298         * docs/gst/gstreamer-docs.sgml:
9299         * docs/libs/Makefile.am:
9300         * docs/libs/gstreamer-libs-docs.sgml:
9301           fix distcheck issues
9302
9303 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9304
9305         * libs/gst/dataprotocol/Makefile.am:
9306           add to autotest
9307
9308 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9309
9310         * libs/gst/dataprotocol/Makefile.am:
9311         * libs/gst/dataprotocol/dataprotocol.c:
9312         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9313         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9314         * libs/gst/dataprotocol/dp-private.h:
9315           use GST macros to read/write fixed length ints
9316           add some more asserts
9317
9318 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9319
9320         * docs/libs/gstreamer-libs-docs.sgml:
9321         * docs/libs/gstreamer-libs-sections.txt:
9322           remove idct and putbits
9323         * configure.ac:
9324         * docs/libs/tmpl/gstdataprotocol.sgml:
9325         * libs/gst/Makefile.am:
9326         * libs/gst/dataprotocol/Makefile.am:
9327         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9328         (buffer_test), (caps_test), (event_test), (main):
9329         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9330         (gst_dp_dump_byte_array), (gst_dp_init),
9331         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9332         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9333         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9334         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9335         (gst_dp_validate_header), (gst_dp_validate_payload),
9336         (gst_dp_validate_packet), (plugin_init):
9337         * libs/gst/dataprotocol/dataprotocol.h:
9338         * libs/gst/dataprotocol/dp-private.h:
9339           add dataprotocol
9340
9341 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9342
9343         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9344           fix int variable deserialization and add a helper so we can actually
9345           debug this.
9346
9347 2004-05-18  David Schleef  <ds@schleef.org>
9348
9349         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9350           argv[0].  Calling yourself is probably not the best way to
9351           construct a test like this, btw.
9352
9353 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9354
9355         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9356           don't claim to be more intelligent than a scheduler when the
9357           scheduler claims the pipeline is stopped
9358         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9359         (safe_cothread_destroy),
9360         (gst_entry_scheduler_remove_all_cothreads),
9361         (gst_entry_scheduler_reset), (_remove_cothread),
9362         (gst_entry_scheduler_state_transition):
9363           hold off cothread destruction if we're not in main cothread
9364         * configure.ac:
9365         * testsuite/Makefile.am:
9366           add new test dir
9367         * testsuite/schedulers/.cvsignore:
9368         * testsuite/schedulers/Makefile.am:
9369           add tests
9370         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9371           check relinking and adding/removing elements from a running pipeline
9372         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9373           check unlinking in a running pipeline
9374         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9375           check unreffing a running pipeline
9376         * testsuite/schedulers/useless_iteration.c: (main):
9377           check iterating a pipeline that contains running threads works
9378
9379 2004-05-18  David Schleef  <ds@schleef.org>
9380
9381         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9382           is false.
9383
9384 2004-05-18  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9387         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9388         Fixed an error introduced with patch for 1.63. When setting
9389         a get based element as the entry point in a group, make sure
9390         to mark the group as GET based.
9391
9392 2004-05-18  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9395         (setup_group_scheduler), (loop_group_schedule_function),
9396         (gst_opt_scheduler_pad_link):
9397         Added some more debug info and fixed a bug where the group
9398         type was set to LOOP but it was in fact unknown.
9399
9400 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9401
9402         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9403           make resetting scheduler work twice in a row
9404
9405 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9406
9407         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9408         (CREATE_USERIALIZATION), (_gst_value_initialize),
9409         (gst_value_compare_float), (gst_value_serialize_float),
9410         (gst_value_deserialize_float), (gst_value_compare_enum),
9411         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9412           add serialization and comparison functions for long, int64, enum and
9413           float values
9414         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9415           use best serialization function in type hierarchy instead of only a
9416           matching one. This is required for enums to work.
9417         * gst/parse/grammar.y:
9418           use gst_caps_deserialize
9419         * testsuite/parse/Makefile.am:
9420           parse1 now works
9421         * testsuite/parse/parse1.c: (main):
9422           remove aggregator check, aggregator is broken, this test works now
9423           but fails because of bug #138012
9424         * testsuite/parse/parse2.c: (main):
9425           s/xvideosink/xvimagesink - this test looks a lot like we should
9426           disable it
9427
9428 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9429
9430         * gst/gstelement.c: (gst_element_class_init):
9431           whoops, store the signal id correctly
9432         * gst/schedulers/gstbasicscheduler.c:
9433         (gst_basic_scheduler_chain_wrapper):
9434           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9435           chain function isn't linked
9436
9437 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9438         * configure.ac:
9439         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9440         support until we decide where the flags should be used
9441         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9442         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9443         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9444         Output refused caps in the debug info
9445
9446 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9447
9448         * gst/elements/gstidentity.c: (gst_identity_chain):
9449           add duration debug
9450         * gst/gstinfo.c: (gst_debug_log_default):
9451           add timestamp
9452
9453 2004-05-13  Benjamin Otte  <otte@gnome.org>
9454
9455         * gst/gstpipeline.c: (gst_pipeline_dispose),
9456         (gst_pipeline_change_state):
9457           call gst_scheduler_reset on dispose (fixes #141416)
9458
9459 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9460
9461         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9462           compute mapsize correctly
9463         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9464           use correct datatypes when calling a varargs function
9465         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9466           push a DISCONT event as first thing
9467         * gst/gst_private.h:
9468         * gst/gstinfo.c: (_gst_debug_init):
9469           remove GST_DATAFLOW debugging category
9470         * gst/gstbin.c: (gst_bin_iterate):
9471           use GST_SCHEDULING category
9472         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9473         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9474         (gst_pad_call_get_function):
9475           add GST_DATAFLOW to easily track flow of buffers or events.
9476         * gst/gstqueue.c: (gst_queue_get_type),
9477         (gst_queue_handle_pending_events), (gst_queue_chain),
9478         (gst_queue_get), (gst_queue_handle_src_event):
9479           use own static debugging category GST_DATAFLOW for dataflow,
9480           use DEBUG category for showing which path events go, use LOG
9481           category for buffers.
9482
9483 2004-05-10  David Schleef  <ds@schleef.org>
9484
9485         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9486
9487 2004-05-10  David Schleef  <ds@schleef.org>
9488
9489         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9490         symbols, because otherwise we don't know what they are.  Thanks,
9491         the GStreamer team.
9492         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9493
9494 2004-05-10  David Schleef  <ds@schleef.org>
9495
9496         (from Steve Lhomme)
9497         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9498         are deleted.  Fix.
9499         * win32/Makefile.inspect:
9500         * win32/Makefile.launch:
9501         * win32/Makefile.register:
9502
9503 2004-05-10  David Schleef  <ds@schleef.org>
9504
9505         * gst/gstinfo.h: Add missing inline function.
9506         * gst/gsttrace.c: add include
9507         * gst/parse/grammar.y: remove unused code
9508         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9509         more portable.
9510         * tools/gst-register.c: wrap unistd.h
9511         
9512         More additions/fixes from Steve for the MSVC build.
9513         * win32/GStreamer.vcproj:
9514         * win32/Makefile:
9515         * win32/Makefile.inspect:
9516         * win32/Makefile.launch:
9517         * win32/Makefile.register:
9518         * win32/README.txt:
9519         * win32/gst-inspect.vcproj:
9520         * win32/gst-launch.vcproj:
9521         * win32/gst-register.vcproj:
9522         * win32/gstbytestream.def:
9523         * win32/gstbytestream.vcproj:
9524         * win32/gstconfig.h:
9525         * win32/gstelements.def:
9526         * win32/gstelements.vcproj:
9527         * win32/gstenumtypes.c:
9528         * win32/gstenumtypes.h:
9529         * win32/gstoptimalscheduler.def:
9530         * win32/gstoptimalscheduler.vcproj:
9531         * win32/gstreamer.def:
9532         * win32/gstspider.def:
9533         * win32/gstspider.vcproj:
9534         * win32/gstversion.h:
9535         * win32/msvc71.sln:
9536
9537 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9538
9539         * gst/gstelement.c: (gst_element_class_init),
9540         (gst_element_no_more_pads):
9541         * gst/gstelement.h:
9542           add gst_element_no_more_pads and the "no-more-pads" signal
9543
9544 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9545
9546         * gst/gstregistry.c: (gst_registry_add_plugin):
9547           refuse to add plugins when a plugin with same name is already
9548           registered. Fixes a bunch of "How to remove plugins?" issues.
9549           May lead to other problems though, let's test
9550
9551 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9552
9553         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9554         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9555         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9556
9557 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * tests/Makefile.am: fix am16 issue
9560
9561 2004-05-09  Benjamin Otte  <otte@gnome.org>
9562
9563         * libs/gst/bytestream/Makefile.am:
9564           we should indeed add .c files to makefiles or they won't be built
9565           (d'oh)
9566
9567 2004-05-08  Benjamin Otte  <otte@gnome.org>
9568
9569         * gst/gstpad.c: (gst_pad_proxy_fixate):
9570           really reduce the set of caps
9571
9572 2004-05-08  Benjamin Otte  <otte@gnome.org>
9573
9574         * tests/Makefile.am:
9575         * tests/spidey_bench.c: (handoff), (main):
9576           add benchmark to test how long spider needs to create a pipeline
9577
9578 2004-05-08  Benjamin Otte  <otte@gnome.org>
9579
9580         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9581           mark links as unengaged when unnegotiating instead of deactivating.
9582           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9583
9584 2004-05-08  Benjamin Otte  <otte@gnome.org>
9585
9586         * docs/manual/helloworld.xml:
9587           s/audiosink/osssink (patch by Patrick Guimond)
9588
9589 2004-05-07  David Schleef  <ds@schleef.org>
9590
9591         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9592         since it contains important stuff.
9593
9594 2004-05-07  David Schleef  <ds@schleef.org>
9595
9596         * testsuite/caps/caps.c: (test3), (main): A check for appending
9597         ANY caps.
9598
9599 2004-05-07  David Schleef  <ds@schleef.org>
9600
9601         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9602         which may contain commas.  Fixes detection of -Wa,-mregnames
9603
9604 2004-05-06  David Schleef  <ds@schleef.org>
9605
9606         Changes to handle compilers that don't have variadic macro
9607         support.  In particular, glib headers define some inlines
9608         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9609         builds.
9610         * gst/Makefile.am:
9611         * gst/cothreads.c:
9612         * gst/elements/gstfdsink.c:
9613         * gst/elements/gstfdsrc.c:
9614         * gst/elements/gstfilesink.c:
9615         * gst/elements/gstfilesrc.c:
9616         * gst/gst_private.h:
9617         * gst/gstatomic.c:
9618         * gst/gstcaps.c: (gst_caps_append):
9619         * gst/gstcpu.c: (gst_cpuid_i386):
9620         * gst/gstelement.c:
9621         * gst/gsterror.c:
9622         * gst/gstfilter.c:
9623         * gst/gstinfo.h:
9624         * gst/gstprobe.c:
9625         * gst/gstquery.c:
9626         * gst/gstregistry.c:
9627         * gst/gststructure.c:
9628         * gst/gsttaginterface.c:
9629         * gst/gsttrace.c: (gst_trace_new):
9630         * gst/gsttrashstack.c:
9631         * gst/gsturi.c:
9632         * gst/gstvalue.c:
9633         * gst/parse/grammar.y:
9634         * gst/parse/parse.l:
9635         * tools/gst-inspect.c: (main):
9636         * tools/gst-launch.c: (main):
9637         * tools/gst-xmlinspect.c: (PUT_STRING):
9638
9639 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9640
9641         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9642         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9643         * gst/elements/gstfilesrc.h:
9644           send NEW_MEDIA events correctly
9645         * gst/elements/gsttypefindelement.c: (start_typefinding),
9646         (gst_type_find_element_handle_event):
9647           restart typefinding when we get a NEW_MEDIA event
9648         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9649         (gst_bin_dispose):
9650           don't die when someone removes elements in callbacks
9651         * gst/gstelement.c: (gst_element_change_state):
9652           improve debugging
9653         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9654           we need a NEW_MEDIA event to engage a link
9655         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9656           don't g_print debugging stuff
9657         * testsuite/caps/simplify.c: (check_caps):
9658
9659 2004-05-04  Benjamin Otte  <otte@gnome.org>
9660
9661         * gst/parse/grammar.y:
9662           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9663
9664 2004-05-04  Benjamin Otte  <otte@gnome.org>
9665
9666         * testsuite/caps/renegotiate.c: (main):
9667           improve output in error case
9668
9669 2004-05-04  Benjamin Otte  <otte@gnome.org>
9670
9671         * gst/parse/grammar.y:
9672           fix assert to not trigger when there's no error argument
9673         * gst/parse/parse.l:
9674           fix definition of caps to allow more than two structures
9675         * testsuite/caps/Makefile.am:
9676         * testsuite/caps/renegotiate.c: (main):
9677           it's sinesrc and works in that case
9678
9679 2004-05-04  Wim Taymans  <wim@fluendo.com>
9680
9681         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9682         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9683         when removing an element from a group, we always need to
9684         decrement the link count that this group had with other 
9685         groups through the element.
9686         added an extra assert to catch inconsistencies when decrementing
9687         the link count.
9688
9689 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * configure.ac:
9692         * docs/gst/Makefile.am:
9693         * docs/gst/gstreamer-sections.txt:
9694         * docs/gst/tmpl/gstcompat.sgml:
9695         * examples/appreader/Makefile.am:
9696         * examples/cutter/Makefile.am:
9697         * examples/events/Makefile.am:
9698         * examples/helloworld/Makefile.am:
9699         * examples/helloworld2/Makefile.am:
9700         * examples/launch/Makefile.am:
9701         * examples/manual/Makefile.am:
9702         * examples/mixer/Makefile.am:
9703         * examples/pingpong/Makefile.am:
9704         * examples/plugins/Makefile.am:
9705         * examples/queue/Makefile.am:
9706         * examples/queue2/Makefile.am:
9707         * examples/queue3/Makefile.am:
9708         * examples/queue4/Makefile.am:
9709         * examples/retag/Makefile.am:
9710         * examples/thread/Makefile.am:
9711         * examples/typefind/Makefile.am:
9712         * examples/xml/Makefile.am:
9713         * gst/Makefile.am:
9714         * gst/autoplug/Makefile.am:
9715         * gst/elements/Makefile.am:
9716         * gst/gstcompat.h:
9717         * gst/indexers/Makefile.am:
9718         * gst/parse/Makefile.am:
9719         * gst/registries/Makefile.am:
9720         * gst/schedulers/Makefile.am:
9721         * libs/gst/bytestream/Makefile.am:
9722         * libs/gst/control/Makefile.am:
9723         * libs/gst/getbits/Makefile.am:
9724         * po/af.po:
9725         * po/az.po:
9726         * po/en_GB.po:
9727         * po/fr.po:
9728         * po/nl.po:
9729         * po/sr.po:
9730         * po/sv.po:
9731         * po/tr.po:
9732         * po/uk.po:
9733         * tests/Makefile.am:
9734         * tests/bufspeed/Makefile.am:
9735         * tests/instantiate/Makefile.am:
9736         * tests/memchunk/Makefile.am:
9737         * tests/muxing/Makefile.am:
9738         * tests/negotiation/Makefile.am:
9739         * tests/probes/Makefile.am:
9740         * tests/sched/Makefile.am:
9741         * tests/seeking/Makefile.am:
9742         * tests/threadstate/Makefile.am:
9743         * testsuite/caps/Makefile.am:
9744         * testsuite/cleanup/Makefile.am:
9745         * testsuite/dlopen/Makefile.am:
9746         * testsuite/dynparams/Makefile.am:
9747         * testsuite/plugin/Makefile.am:
9748         * testsuite/states/Makefile.am:
9749         * tools/Makefile.am:
9750           reorganize compile/link flags to be consistent
9751           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9752
9753 2004-05-04  David Schleef  <ds@schleef.org>
9754
9755         The "once more, with feeling" check-in.
9756         * testsuite/caps/Makefile.am: dist caps_strings
9757         * testsuite/caps/renegotiate.c: (main): This test triggers a
9758           segfault in the core.  Marking as failing.
9759
9760 2004-05-03  David Schleef  <ds@schleef.org>
9761
9762         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9763           by the build bots.
9764         * testsuite/caps/renegotiate.c: (main): Same.
9765
9766 2004-05-03  David Schleef  <ds@schleef.org>
9767
9768         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9769
9770 2004-05-03  David Schleef  <ds@schleef.org>
9771
9772         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9773           variable to find our source file.
9774
9775 2004-05-03  David Schleef  <ds@schleef.org>
9776
9777         * configure.ac:  Link plugins with libgstreamer and dependent
9778           libraries
9779         * testsuite/caps/Makefile.am:
9780         * testsuite/caps/caps_strings:
9781         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9782           through a file of caps strings and test each one
9783
9784 2004-05-04  Benjamin Otte  <otte@gnome.org>
9785
9786         * libs/gst/bytestream/Makefile.am:
9787         * libs/gst/bytestream/adapter.c: 
9788         * libs/gst/bytestream/adapter.h:
9789           add GstAdapter, similar to bytestream, but doesn't require ugly event
9790           handling or uglier loopbased elements
9791
9792 2004-05-03  David Schleef  <ds@schleef.org>
9793
9794         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9795         * testsuite/caps/erathostenes.c:
9796         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9797
9798 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9799
9800         * docs/pwg/pwg.xml:
9801           remove hardcoded stylesheet path (duh)
9802         * docs/random/release:
9803         * docs/gst/gstreamer-sections.txt:
9804         * gst/Makefile.am:
9805         * gst/gst.h:
9806         * gst/gst_private.h:
9807         * gst/gstcaps.c:
9808         * gst/gstevent.c:
9809         * gst/gstformat.c:
9810         * gst/gstinfo.c:
9811         * gst/gstinfo.h:
9812         * gst/gstinterface.c:
9813         * gst/gstmemchunk.c:
9814         * gst/gstprobe.c:
9815         * gst/gstquery.c:
9816         * gst/gstregistry.c:
9817         * gst/gstregistrypool.c:
9818         * gst/gststructure.c:
9819         * gst/gsttaginterface.c:
9820         * gst/gstthread.c:
9821         * gst/gsttrace.c:
9822         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9823         * gst/gsturi.c:
9824         * gst/gstvalue.c:
9825           deprecate gst_info; remove gstlog.h
9826    
9827
9828 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * Makefile.am:
9831         * po/en_GB.po:
9832         * po/sv.po:
9833         * po/uk.po:
9834           updated translations
9835
9836 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9837
9838         * gst/gstbin.c: (gst_bin_dispose):
9839           better debugging
9840
9841 2004-05-03  Johan Dahlin  <johan@gnome.org>
9842
9843         * gst/schedulers/gstoptimalscheduler.c
9844         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9845         really is a GstElement. Avoids critical when running gst-launch -v
9846         and a oggdemux/decoding pipeline.
9847
9848 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9849
9850         * docs/gst/tmpl/gstpipeline.sgml :
9851         * docs/manual/elements-api.xml :
9852                 doc fix by Patrick Guimond (Protector) from devel ML
9853                 reviewed by ronald
9854
9855 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9856
9857         * docs/gst/Makefile.am :
9858         * docs/libs/Makefile.am :
9859                 apply a patch from Arwed v. Merkatz so that gtk-doc
9860                 generated docs install (same for .devhelp file)
9861                 (fixes part 1 of #138836)
9862
9863 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9864
9865         * docs/faq/dependencies.xml: typo
9866         * docs/faq/getting.xml :
9867             - fix download URL for new gstreamer site
9868             - hide sf.net download page as latest version aren't there
9869             - fix apt URLs
9870             - fill "get via CVS" paragraph (link to dev page on the site)
9871         * docs/faq/general.xml:
9872             hide status tables as they no more exists
9873             change case on plugins license file to reflect reality
9874         * docs/faq/troubleshooting.xml:
9875             remove the wiki question/answer as there is no more wiki
9876
9877 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * gst/gsterror.h:
9880           include the headers needed for declarations used in this header
9881
9882 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9883
9884         * docs/random/uraeus/gstreamer_and_midi.txt :
9885           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9886           (fixes #132288)
9887
9888 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9889
9890         reviewed by Benjamin Otte  <otte@gnome.org>
9891
9892         * gst/schedulers/gthread-cothreads.h:
9893           free allocated data for main cothread, too when destroying context
9894           (fixes #141417)
9895
9896 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9897
9898         * docs/manual/goals.xml : remove duplicated paragraph at end 
9899         of doc page (fixes #141448)
9900
9901 2004-04-29  David Schleef  <ds@schleef.org>
9902
9903         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9904         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9905
9906 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9907
9908         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9909           fix property
9910         * gst/gstcaps.c:
9911           fix doc string
9912         * po/POTFILES.in:
9913           rename typefind source file
9914
9915 2004-04-28  David Schleef  <ds@schleef.org>
9916
9917         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9918         * win32/GStreamer.vcproj:
9919         * win32/Makefile:
9920         * win32/config.h:
9921         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9922         (_trewinddir), (_ttelldir), (_tseekdir):
9923         * win32/dirent.h:
9924         * win32/gst-inspect.vcproj:
9925         * win32/gst-launch.vcproj:
9926         * win32/gst-register.vcproj:
9927         * win32/gstbytestream.vcproj:
9928         * win32/gstelements.vcproj:
9929         * win32/gstoptimalscheduler.vcproj:
9930         * win32/gstspider.vcproj:
9931         * win32/gtchar.h:
9932         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9933         * win32/mman.h:
9934         * win32/mman.inl:
9935         * win32/msvc71.sln:
9936
9937 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9938
9939         * gst/gst.c: (init_post):
9940         * gst/gstinfo.c:
9941           remove useless _gst_progname stuff
9942         * tools/gst-inspect.c: (print_field), (print_caps):
9943           improve caps output
9944
9945 2004-04-28  David Schleef  <ds@schleef.org>
9946
9947         Disable parsing of a lot of files that aren't part of the
9948         exported API.  Move corresponding template files to old/,
9949         waiting for removal when they don't contain anything
9950         interesting.
9951         * docs/gst/Makefile.am:
9952         * docs/gst/gstreamer-sections.txt:
9953         * docs/gst/tmpl/cothreads.sgml:
9954         * docs/gst/tmpl/cothreads_compat.sgml:
9955         * docs/gst/tmpl/gettext.sgml:
9956         * docs/gst/tmpl/gobject2gtk.sgml:
9957         * docs/gst/tmpl/grammar.tab.sgml:
9958         * docs/gst/tmpl/gst-i18n-app.sgml:
9959         * docs/gst/tmpl/gst-i18n-lib.sgml:
9960         * docs/gst/tmpl/gst_private.sgml:
9961         * docs/gst/tmpl/gstaggregator.sgml:
9962         * docs/gst/tmpl/gstarch.sgml:
9963         * docs/gst/tmpl/gstatomic_impl.sgml:
9964         * docs/gst/tmpl/gstbufferstore.sgml:
9965         * docs/gst/tmpl/gstdata_private.sgml:
9966         * docs/gst/tmpl/gstdisksink.sgml:
9967         * docs/gst/tmpl/gstdisksrc.sgml:
9968         * docs/gst/tmpl/gstelementfactory.sgml:
9969         * docs/gst/tmpl/gstextratypes.sgml:
9970         * docs/gst/tmpl/gstfakesink.sgml:
9971         * docs/gst/tmpl/gstfakesrc.sgml:
9972         * docs/gst/tmpl/gstfdsink.sgml:
9973         * docs/gst/tmpl/gstfdsrc.sgml:
9974         * docs/gst/tmpl/gstfilesink.sgml:
9975         * docs/gst/tmpl/gstfilesrc.sgml:
9976         * docs/gst/tmpl/gsthttpsrc.sgml:
9977         * docs/gst/tmpl/gstidentity.sgml:
9978         * docs/gst/tmpl/gstindexfactory.sgml:
9979         * docs/gst/tmpl/gstmarshal.sgml:
9980         * docs/gst/tmpl/gstmd5sink.sgml:
9981         * docs/gst/tmpl/gstmultidisksrc.sgml:
9982         * docs/gst/tmpl/gstmultifilesrc.sgml:
9983         * docs/gst/tmpl/gstpadtemplate.sgml:
9984         * docs/gst/tmpl/gstpipefilter.sgml:
9985         * docs/gst/tmpl/gstschedulerfactory.sgml:
9986         * docs/gst/tmpl/gstsearchfuncs.sgml:
9987         * docs/gst/tmpl/gstshaper.sgml:
9988         * docs/gst/tmpl/gstspider.sgml:
9989         * docs/gst/tmpl/gstspideridentity.sgml:
9990         * docs/gst/tmpl/gststatistics.sgml:
9991         * docs/gst/tmpl/gsttee.sgml:
9992         * docs/gst/tmpl/gsttimecache.sgml:
9993         * docs/gst/tmpl/gsttypefind.sgml:
9994         * docs/gst/tmpl/gsttypefindfactory.sgml:
9995         * docs/gst/tmpl/gstxmlregistry.sgml:
9996         * docs/gst/tmpl/gthread-cothreads.sgml:
9997         * docs/gst/tmpl/old/cothreads.sgml:
9998         * docs/gst/tmpl/old/cothreads_compat.sgml:
9999         * docs/gst/tmpl/old/gettext.sgml:
10000         * docs/gst/tmpl/old/gobject2gtk.sgml:
10001         * docs/gst/tmpl/old/grammar.tab.sgml:
10002         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10003         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10004         * docs/gst/tmpl/old/gst_private.sgml:
10005         * docs/gst/tmpl/old/gstaggregator.sgml:
10006         * docs/gst/tmpl/old/gstarch.sgml:
10007         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10008         * docs/gst/tmpl/old/gstbufferstore.sgml:
10009         * docs/gst/tmpl/old/gstdata_private.sgml:
10010         * docs/gst/tmpl/old/gstdisksink.sgml:
10011         * docs/gst/tmpl/old/gstdisksrc.sgml:
10012         * docs/gst/tmpl/old/gstelementfactory.sgml:
10013         * docs/gst/tmpl/old/gstextratypes.sgml:
10014         * docs/gst/tmpl/old/gstfakesink.sgml:
10015         * docs/gst/tmpl/old/gstfakesrc.sgml:
10016         * docs/gst/tmpl/old/gstfdsink.sgml:
10017         * docs/gst/tmpl/old/gstfdsrc.sgml:
10018         * docs/gst/tmpl/old/gstfilesink.sgml:
10019         * docs/gst/tmpl/old/gstfilesrc.sgml:
10020         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10021         * docs/gst/tmpl/old/gstidentity.sgml:
10022         * docs/gst/tmpl/old/gstindexfactory.sgml:
10023         * docs/gst/tmpl/old/gstmarshal.sgml:
10024         * docs/gst/tmpl/old/gstmd5sink.sgml:
10025         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10026         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10027         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10028         * docs/gst/tmpl/old/gstpipefilter.sgml:
10029         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10030         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10031         * docs/gst/tmpl/old/gstshaper.sgml:
10032         * docs/gst/tmpl/old/gstspider.sgml:
10033         * docs/gst/tmpl/old/gstspideridentity.sgml:
10034         * docs/gst/tmpl/old/gststatistics.sgml:
10035         * docs/gst/tmpl/old/gsttee.sgml:
10036         * docs/gst/tmpl/old/gsttimecache.sgml:
10037         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10038         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10039         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10040         * docs/gst/tmpl/old/types.sgml:
10041         * docs/gst/tmpl/types.sgml:
10042
10043         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10044         gtkdoc-scan doesn't like files with the same name in different
10045         directories.
10046         * gst/elements/Makefile.am:
10047         * gst/elements/gstelements.c:
10048         * gst/elements/gsttypefind.c: 
10049         * gst/elements/gsttypefind.h:
10050         * gst/elements/gsttypefindelement.c:
10051         * gst/elements/gsttypefindelement.h:
10052
10053 2004-04-28  David Schleef  <ds@schleef.org>
10054
10055         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10056         patch (bug #141317):
10057         * gst/gst-i18n-lib.h: Allow disabling gettext.
10058         * gst/gstatomic_impl.h: disable warning when it's dumb.
10059         * gst/gstclock.c: fix include
10060         * gst/gstcompat.h: fix variadic macro
10061         * gst/gstinfo.c: fix include
10062         * gst/gstmacros.h: add defines for inlines on MSVC
10063         * gst/gstplugin.c: fix includes
10064         * gst/gstregistry.c: fix includes
10065         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10066         * gst/gstsystemclock.c: fix include
10067         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10068         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10069         * gst/registries/gstxmlregistry.c:
10070         (gst_xml_registry_parse_element_factory): fix use of non-portable
10071         functions
10072         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10073         * libs/gst/control/dparammanager.h: same
10074
10075 2004-04-28  David Schleef  <ds@schleef.org>
10076
10077         Move a bunch of unused files to old/ with names that are
10078         not case-insensitive-unique.  These files still contain some
10079         useful information that needs to be merged into gstbin.sgml,
10080         etc., so they shouldn't be deleted yet.
10081         * docs/gst/tmpl/GstBin.sgml:
10082         * docs/gst/tmpl/GstBuffer.sgml:
10083         * docs/gst/tmpl/GstCaps.sgml:
10084         * docs/gst/tmpl/GstClock.sgml:
10085         * docs/gst/tmpl/GstCompat.sgml:
10086         * docs/gst/tmpl/GstData.sgml:
10087         * docs/gst/tmpl/GstElement.sgml:
10088         * docs/gst/tmpl/GstEvent.sgml:
10089         * docs/gst/tmpl/GstIndex.sgml:
10090         * docs/gst/tmpl/GstStructure.sgml:
10091         * docs/gst/tmpl/GstTag.sgml:
10092         * docs/gst/tmpl/old/GstBin.sgml:
10093         * docs/gst/tmpl/old/GstBuffer.sgml:
10094         * docs/gst/tmpl/old/GstCaps.sgml:
10095         * docs/gst/tmpl/old/GstClock.sgml:
10096         * docs/gst/tmpl/old/GstCompat.sgml:
10097         * docs/gst/tmpl/old/GstData.sgml:
10098         * docs/gst/tmpl/old/GstElement.sgml:
10099         * docs/gst/tmpl/old/GstEvent.sgml:
10100         * docs/gst/tmpl/old/GstIndex.sgml:
10101         * docs/gst/tmpl/old/GstStructure.sgml:
10102         * docs/gst/tmpl/old/GstTag.sgml:
10103
10104 2004-04-28  David Schleef  <ds@schleef.org>
10105
10106         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10107         (gst_caps_append), (gst_caps_append_structure),
10108         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10109         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10110         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10111         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10112         (gst_caps_intersect), (gst_caps_normalize),
10113         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10114         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10115         * gst/gstcaps.h: use GST_IS_CAPS().
10116
10117 2004-04-26  David Schleef  <ds@schleef.org>
10118
10119         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10120         assembly.  gcc doesn't handle it correctly. (bug #141083)
10121         * gst/gsttrashstack.h: same
10122
10123 2004-04-25  Benjamin Otte  <otte@gnome.org>
10124
10125         * gst/gstelement.c: (gst_element_change_state):
10126           fix assertion to do an int comparison
10127
10128 2004-04-25  Benjamin Otte  <otte@gnome.org>
10129
10130         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10131           better debugging output on error
10132
10133 2004-04-25  Benjamin Otte  <otte@gnome.org>
10134
10135         * gst/gstcaps.c: (gst_caps_subtract):
10136           fix memleak
10137
10138 2004-04-23  Benjamin Otte  <otte@gnome.org>
10139
10140         * gst/gstvalue.c: (gst_value_compare_buffer),
10141         (_gst_value_initialize):
10142           add comparison function for buffers
10143
10144 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10145
10146         * docs/pwg/pwg.xml:
10147           Just found out that this so-called "ima-wav" format is really
10148           just "dvi adpcm" (according to the MS WAV documentation). So
10149           renaming it. We didn't use it yet anyway.
10150
10151 2004-04-23  Benjamin Otte  <otte@gnome.org>
10152
10153         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10154           call gst_caps_is_subset
10155
10156 2004-04-23  Benjamin Otte  <otte@gnome.org>
10157
10158         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10159         (gst_caps_is_subset):
10160           add documentation
10161
10162 2004-04-23  Benjamin Otte  <otte@gnome.org>
10163           
10164         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10165         (gst_caps_structure_subtract), (gst_caps_subtract),
10166         (gst_caps_structure_figure_out_union),
10167         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10168           fix simplifying and subtracting not working correctly with optional
10169           properties
10170           solve assorted problems that make it now simplify ebven more
10171         * docs/gst/tmpl/gstcaps.sgml:
10172         * gst/gstcaps.h:
10173           make gst_caps_do_simplify return a bool to indicate if it simplified
10174         * testsuite/caps/simplify.c: (main):
10175           add more checks. The tests is quite a bit useless right now because
10176           the core is heavily simplifying itself.
10177         * testsuite/caps/caps.h:
10178           fix caps to contain all optional properties
10179
10180 2004-04-22  Benjamin Otte  <otte@gnome.org>
10181
10182         * docs/gst/tmpl/gstcaps.sgml:
10183         * docs/gst/tmpl/gstfilesrc.sgml:
10184         * docs/gst/tmpl/gststructure.sgml:
10185         * docs/gst/tmpl/gstvalue.sgml:
10186           update for recent API changes
10187         * gst/gstcaps.c: (gst_caps_do_simplify):
10188           fix to stop trying with a freed structure
10189         * gst/gstpad.c: (gst_pad_link_fixate):
10190           simplify caps
10191         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10192           remove C++ comment
10193         * gst/gstpad.h:
10194           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10195         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10196         (gst_structure_to_string):
10197           keep the correct type when using lists of ranges
10198         * gst/gstvalue.c: (gst_value_list_prepend_value),
10199         (gst_value_list_append_value):
10200           copy the value before adding to the list (d'oh)
10201         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10202         (gst_value_subtract_int_range_int_range):
10203           handle overflows correctly
10204         * gst/gstvalue.c: (gst_value_subtract_from_list):
10205           fix memleak
10206         * testsuite/caps/caps.h:
10207           add a caps that caused segfaults
10208
10209 2004-04-22  Benjamin Otte  <otte@gnome.org>
10210
10211         * testsuite/refcounting/pad.c: (main):
10212           fix test
10213
10214 2004-04-22  Benjamin Otte  <otte@gnome.org>
10215
10216         * gst/gstcaps.c: (gst_caps_subtract):
10217           allow subtracting ANY and EMPTY from ANY caps
10218
10219 2004-04-22  Benjamin Otte  <otte@gnome.org>
10220
10221         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10222         (gst_caps_union):
10223           only simplify in functions that create new caps. Simplifying in
10224           gst_caps_append breaks tests.
10225
10226 2004-04-22  Benjamin Otte  <otte@gnome.org>
10227
10228         * gst/gstcaps.c: (gst_caps_structure_simplify):
10229           unset GValue after use
10230         * gst/gstcaps.c: (gst_caps_append), 
10231         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10232           use gst_caps_simplify (reduces registry size by 30%)
10233         * gst/gstpad.c: (gst_pad_template_new):
10234           don't allow NULL caps
10235
10236 2004-04-22  Benjamin Otte  <otte@gnome.org>
10237
10238         * docs/gst/gstreamer-sections.txt:
10239           add gst_caps_do_simplify
10240         * gst/gstcaps.c:
10241           add documentation for gst_caps_do_simplify
10242         * gst/gstvalue.h:
10243           fix typo in gst_value_register_subtract_func declaration for gst-doc
10244
10245 2004-04-22  Benjamin Otte  <otte@gnome.org>
10246
10247         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10248           fix bug when converting from empty string.
10249         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10250         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10251           use gst_caps_new_empty to allocate a new caps. Only that function
10252           allocates memory for caps now.
10253         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10254         (gst_caps_remove_structure):
10255           add ability to remove one structure (but not to header yet)
10256         * gst/gstcaps.c: (gst_caps_compare_structures),
10257         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10258         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10259         * gst/gstcaps.h:
10260           add gst_caps_do_simplify that tries to simplify a caps in place.
10261           Deprecate old gst_caps_simplify function.
10262         * testsuite/caps/caps.h:
10263           add caps.h containing a common set of caps to test against.
10264         * testsuite/caps/sets.c: (check_caps), (main):
10265           use it.
10266         * testsuite/caps/.cvsignore:
10267         * testsuite/caps/Makefile.am:
10268         * testsuite/caps/simplify.c: (check_caps), (main):
10269           add test to check correctness and efficency of caps simplification.
10270
10271 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10272
10273         reviewed by Benjamin Otte  <otte@gnome.org>
10274
10275         * gst/gstparse.c: (_gst_parse_escape):
10276           Free the GString used in _gst_parse_escape()
10277
10278 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10279
10280         * gst/gstpad.c: (gst_pad_link_negotiate):
10281           refuse to link if the link is not possible
10282         * configure.ac:
10283         * testsuite/Makefile.am:
10284         * testsuite/negotiation/.cvsignore:
10285         * testsuite/negotiation/Makefile.am:
10286         * testsuite/negotiation/pad_link.c: (main):
10287           add test that checks the above behaviour
10288
10289 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10290
10291         * docs/gst/gstreamer-sections.txt:
10292           add newly added API
10293
10294 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10297         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10298         (gst_filesrc_open_file), (gst_filesrc_close_file),
10299         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10300         * gst/elements/gstfilesrc.h:
10301           add support for non-regular files (#140734)
10302
10303 2004-04-21  Benjamin Otte  <otte@gnome.org>
10304
10305         * gst/gstpad.c: (gst_pad_link_fixate):
10306           add sophisticated error checking code to see if fixation functions
10307           did their fixation right
10308
10309 2004-04-21  Benjamin Otte  <otte@gnome.org>
10310
10311         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10312           check for ANY caps before appending/unioning
10313         * gst/gstcaps.c: (gst_caps_is_subset),
10314         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10315         (gst_caps_structure_subtract), (gst_caps_subtract):
10316         * gst/gstcaps.h:
10317           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10318           the API. deprecate gst_caps_is_equal_fixed
10319         * gst/gstpad.c: (gst_pad_try_set_caps):
10320         * gst/gstqueue.c: (gst_queue_link):
10321           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10322         * gst/gststructure.c: (gst_structure_get_name_id):
10323         * gst/gststructure.h:
10324           add function gst_structure_get_name_id
10325         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10326         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10327         (gst_value_subtract_int_range_int_range),
10328         (gst_value_subtract_double_double_range),
10329         (gst_value_subtract_double_range_double),
10330         (gst_value_subtract_double_range_double_range),
10331         (gst_value_subtract_from_list), (gst_value_subtract_list),
10332         (gst_value_can_intersect), (gst_value_subtract),
10333         (gst_value_can_subtract), (gst_value_register_subtract_func),
10334         (_gst_value_initialize):
10335         * gst/gstvalue.h:
10336           add support for subtracting values from each other. Note that
10337           subtracting means subtracting as in set theory. Required for caps
10338           stuff above.
10339         * testsuite/caps/.cvsignore:
10340         * testsuite/caps/Makefile.am:
10341         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10342         * testsuite/caps/sets.c: (check_caps), (main):
10343         * testsuite/caps/subtract.c: (check_caps), (main):
10344           add tests for subtraction and equality code.
10345
10346 2004-04-20  David Schleef  <ds@schleef.org>
10347
10348         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10349         * gst/indexers/Makefile.am:
10350         * gst/schedulers/Makefile.am:
10351         * libs/gst/bytestream/Makefile.am:
10352         * libs/gst/control/Makefile.am:
10353         * libs/gst/getbits/Makefile.am:
10354
10355 2004-04-20  David Schleef  <ds@schleef.org>
10356
10357         * common/as-libtool.mak: Fine-tune DLL building.
10358         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10359         (like gst-plugins)
10360         * examples/plugins/Makefile.am: remove plugindir
10361         * gst/autoplug/Makefile.am: DLL building fixes
10362         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10363         Windows.
10364         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10365         * gst/indexers/Makefile.am: DLL building fixes
10366         * gst/schedulers/Makefile.am: DLL building fixes.
10367         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10368         * libs/gst/control/Makefile.am: same
10369         * libs/gst/getbits/Makefile.am: same
10370         * testsuite/Makefile.am: New dlopen directory
10371         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10372         when dlopened.
10373         * testsuite/dlopen/dlopen_gst.c: (main): same
10374         * testsuite/dlopen/loadgst.c: (do_test): same
10375
10376 2004-04-20  David Schleef  <ds@schleef.org>
10377
10378         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10379         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10380
10381 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10382
10383         * gst/gstelement.c: (gst_element_wait),
10384         (gst_element_set_time_delay), (gst_element_change_state):
10385           Use GST_TIME_*
10386
10387 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10388
10389         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10390         (gst_spider_identity_plug):
10391           improve debugging messages
10392         * gst/gstbin.c: (gst_bin_remove_func):
10393           make sure the state_change function is only called with simple state
10394           transitions
10395
10396 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10399         (gst_fakesink_set_property), (gst_fakesink_chain):
10400         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10401         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10402         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10403         * gst/elements/gstidentity.c: (gst_identity_chain),
10404         (gst_identity_set_property):
10405         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10406         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10407           add warnings to _set_property for unknown arguments
10408           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10409
10410 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * Makefile.am:
10413         * docs/manuals.mak:
10414           add .po file download snippet
10415           fix a bug in the doc makefile
10416
10417 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10418
10419         * Makefile.am:
10420         * po/LINGUAS:
10421         * po/en_GB.po:
10422           Added en_GB translation (Gareth Owen)
10423
10424 2004-04-20  Johan Dahlin  <johan@gnome.org>
10425
10426         * gst/gstpad.c (_invent_event): Clean up
10427
10428 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10429
10430         * testsuite/caps/filtercaps.c: (main):
10431           fix test to test things correctly (caps are complicated)
10432
10433 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10434
10435         * testsuite/caps/Makefile.am:
10436         * testsuite/caps/filtercaps.c: (main):
10437           add test (that doesn't work right now, but should)
10438
10439 2004-04-19  David Schleef  <ds@schleef.org>
10440
10441         * configure.ac: Add test for allowing unaligned access.  Add define
10442         to put in gstconfig.h.
10443         * docs/gst/gstreamer-sections.txt: New symbols
10444         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10445         * docs/gst/tmpl/gstfilesrc.sgml:
10446         * docs/gst/tmpl/gstparse.sgml:
10447         * docs/gst/tmpl/gsttypes.sgml:
10448         * docs/gst/tmpl/gstutils.sgml:
10449         * docs/gst/tmpl/gstvalue.sgml:
10450         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10451         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10452         on most !i386/!powerpc architectures.  From Daniel Gazard
10453         <daniel.gazard@free.fr>.  (bug #140156)
10454         * po/af.po: Check in changes made by gettext.
10455         * po/az.po:
10456         * po/fr.po:
10457         * po/nl.po:
10458         * po/sr.po:
10459         * po/sv.po:
10460
10461 2004-04-20  Benjamin Otte  <otte@gnome.org>
10462
10463         * gst/schedulers/entryscheduler.c: 
10464         (gst_entry_scheduler_yield):
10465           refuse to yield when decoupled elements insist on doing that.
10466           At least it's better than crashing
10467
10468 2004-04-19  David Schleef  <ds@schleef.org>
10469
10470         * docs/libs/Makefile.am: Change sinclude to include
10471         * docs/gst/Makefile.am: same
10472         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10473
10474 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10475
10476         * po/LINGUAS:
10477         * po/uk.po:
10478           Added Ukrainian translation (Maxim V. Dziumanenko)
10479
10480 2004-04-19  Johan Dahlin  <johan@gnome.org>
10481
10482         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10483         checking here, do it before calling the function.
10484         Clean up, use for loops instead of while loops while iterating
10485         over lists.
10486
10487         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10488         in debug message.
10489         (gst_spider_create_and_plug): Improve debug message.
10490         General: Replace while loops which iterates over GLists with for
10491         loops. Which are much cleaner, improves readability, especially
10492         for gst_spider_identity_plug
10493
10494         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10495         fixes bug 140477
10496
10497 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * po/LINGUAS:
10500         * po/tr.po:
10501           Added Turkish translation (Baris Cicek)
10502
10503 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10504
10505         * docs/faq/troubleshooting.xml:
10506           Mention gst-register in the FAQ (fixes 139045).
10507
10508 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10509
10510         * docs/gst/gstreamer-sections.txt:
10511
10512 2004-04-17  Benjamin Otte  <otte@gnome.org>
10513
10514         * gst/gstelement.c: (gst_element_dispose):
10515           simplify
10516         * gst/gstpad.c: (gst_pad_call_chain_function):
10517           don't create loads of events due to bad macro usage
10518
10519 2004-04-16  David Schleef  <ds@schleef.org>
10520
10521         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10522         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10523         * gst/gstvalue.c: (gst_value_serialize_buffer),
10524         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10525         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10526         to indicate types that are fixed wrt caps or not.  Switching to
10527         this function fixes (bug #140298).
10528         * gst/gstvalue.h:
10529
10530 2004-04-16  David Schleef  <ds@schleef.org>
10531
10532         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10533         for GST_UNALIGNED_ACESS, since we essentially know which archs
10534         are ok.
10535
10536 2004-04-17  Benjamin Otte  <otte@gnome.org>
10537
10538         * docs/gst/Makefile.am:
10539           ignore gst/parse directory when building docs (fixes #140205)
10540
10541 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10542
10543         * testsuite/refcounting/mem.c: (vmsize):
10544           do error checking
10545
10546 2004-04-16  Johan Dahlin  <johan@gnome.org>
10547
10548         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10549         and gst_pad_call_get_function.
10550
10551 2004-04-15  David Schleef  <ds@schleef.org>
10552
10553         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10554         checks if we can access unaligned memory.
10555         * configure.ac: Use it.
10556
10557 2004-04-16  Benjamin Otte  <otte@gnome.org>
10558
10559         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10560         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10561         * gst/elements/gstfilesrc.h:
10562           s/seek_happened/need_discont/ and require discont before sending any
10563           data
10564
10565 2004-04-15  David Schleef  <ds@schleef.org>
10566
10567         * gst/gstvalue.c: (gst_value_serialize_buffer),
10568         (gst_value_deserialize_buffer), (_gst_value_initialize):
10569         Register these types as fundamental types. (bug #140015)
10570
10571 2004-04-16  Benjamin Otte  <otte@gnome.org>
10572
10573         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10574         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10575         (gst_pad_pull):
10576           implement enforcing discont events before buffers are passed. This
10577           allows state changes of only some elements and later correctly going
10578           on where they left off (or in short: you can now set audio sinks to
10579           NULL to release the device when the pipeline is paused)
10580         * gst/gstpad.c: (gst_pad_call_chain_function),
10581         (gst_pad_call_get_function):
10582         * gst/gstpad.h:
10583           add gst_pad_call_chain_function and gst_pad_call_get_function for
10584           scheduler interaction. They are required because of the changes
10585           above.
10586         * gst/schedulers/entryscheduler.c: (get_buffer),
10587         (gst_entry_scheduler_chain_wrapper),
10588         (gst_entry_scheduler_get_wrapper),
10589         (gst_entry_scheduler_state_transition),
10590         (gst_entry_scheduler_pad_link):
10591         * gst/schedulers/gstbasicscheduler.c:
10592         (gst_basic_scheduler_chain_wrapper),
10593         (gst_basic_scheduler_src_wrapper),
10594         (gst_basic_scheduler_chainhandler_proxy),
10595         (gst_basic_scheduler_gethandler_proxy),
10596         (gst_basic_scheduler_cothreaded_chain),
10597         (gst_basic_scheduler_chain_elements):
10598         * gst/schedulers/gstoptimalscheduler.c:
10599         (get_group_schedule_function), (pad_clear_queued),
10600         (gst_opt_scheduler_pad_link):
10601           use the new functions instead of calling get/chain-functions
10602           directly.
10603
10604 2004-04-15  David Schleef  <ds@schleef.org>
10605
10606         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10607         * docs/gst/tmpl/gstinfo.sgml: same
10608         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10609         gtk-doc put here.
10610         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10611         * examples/queue/queue.c: (main):  We iterate pipelines, not
10612         bins.  (bug #139996)
10613
10614 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10615
10616         * docs/pwg/advanced-types.xml:
10617           Add MS RLE support. Also document Qt RLE although I have no sample
10618           files for that yet. And document an extra property for ADPCM.
10619
10620 2004-04-15  David Schleef  <ds@schleef.org>
10621
10622         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10623         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10624         Windows.
10625
10626 2004-04-15  David Schleef  <ds@schleef.org>
10627
10628         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10629         symbol names to not conflict with new gstinfo.h symbols.
10630         * gst/gstinfo.h: Add inline functions for all those crazy
10631         compilers that don't know how to handle variadic macros (MSVC).
10632
10633 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * configure.ac: bump nano to 1
10636
10637 === release 0.8.1 ===
10638
10639 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10640
10641         * NEWS:
10642         * RELEASE:
10643         * configure.ac:
10644           releasing 0.8.1, "Snow Brigade"
10645
10646 2004-04-14  David Schleef  <ds@schleef.org>
10647
10648         * testsuite/Makefile.am: define tests_ignore
10649         * testsuite/Rules: Added new tests_ignore, which get compiled,
10650         but not run (generally because they're inconsistent or have
10651         heisenbugs).  Now we can ensure all the .c files compile in
10652         testsuite/.
10653         * testsuite/bins/Makefile.am: define tests_ignore
10654         * testsuite/bytestream/Makefile.am:
10655         * testsuite/caps/Makefile.am:
10656         * testsuite/clock/Makefile.am:
10657         * testsuite/debug/Makefile.am:
10658         * testsuite/debug/global.c: (gst_debug_log_one),
10659         (gst_debug_log_two): Fix compilation problem.
10660         * testsuite/dynparams/Makefile.am:
10661         * testsuite/elements/Makefile.am:
10662         * testsuite/ghostpads/Makefile.am:
10663         * testsuite/indexers/Makefile.am:
10664         * testsuite/parse/Makefile.am:
10665         * testsuite/plugin/Makefile.am:
10666         * testsuite/refcounting/Makefile.am:
10667         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10668         results, because it's not calculated correctly.
10669         * testsuite/refcounting/pad.c: (main): same
10670         * testsuite/states/Makefile.am:
10671         * testsuite/tags/Makefile.am:
10672         * testsuite/threads/Makefile.am:
10673
10674 2004-04-14  David Schleef  <ds@schleef.org>
10675
10676         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10677         generating bad code around the cpu detection asm code.
10678
10679 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10680
10681         * tools/gst-inspect.c: (print_element_info):
10682           print numeric version of rank as well, since we added some - 1
10683           rank values to elements
10684
10685 2004-04-13  David Schleef  <ds@schleef.org>
10686
10687         * configure.ac:  Disable various code when compiling for MinGW.
10688         * gst/elements/Makefile.am:
10689         * gst/elements/gstelements.c:
10690         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10691         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10692         * gst/registries/gstxmlregistry.c: (make_dir):
10693
10694 2004-04-13  David Schleef  <ds@schleef.org>
10695
10696         * gst/Makefile.am:
10697         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10698         assembly.
10699         * gst/gstcpuid_i386.s: remove
10700
10701 2004-04-13  David Schleef  <ds@schleef.org>
10702
10703         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10704         seems to think it needs to be done.
10705         * docs/gst/tmpl/gstfakesink.sgml:
10706         * docs/gst/tmpl/gstfakesrc.sgml:
10707         * docs/gst/tmpl/gstfdsink.sgml:
10708         * docs/gst/tmpl/gstfdsrc.sgml:
10709         * docs/gst/tmpl/gstfilesink.sgml:
10710         * docs/gst/tmpl/gstfilesrc.sgml:
10711         * docs/gst/tmpl/gstidentity.sgml:
10712         * docs/gst/tmpl/gstmd5sink.sgml:
10713         * docs/gst/tmpl/gstmultifilesrc.sgml:
10714         * docs/gst/tmpl/gstpipefilter.sgml:
10715         * docs/gst/tmpl/gstshaper.sgml:
10716         * docs/gst/tmpl/gstspider.sgml:
10717         * docs/gst/tmpl/gstspideridentity.sgml:
10718         * docs/gst/tmpl/gststatistics.sgml:
10719         * docs/gst/tmpl/gsttee.sgml:
10720         * docs/gst/tmpl/gsttypefind.sgml:
10721         * docs/gst/tmpl/gstutils.sgml:
10722
10723 2004-04-13  David Schleef  <ds@schleef.org>
10724
10725         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10726         and to build DLLs on Windows.
10727         * gst/Makefile.am:
10728         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10729         (gst_filesrc_open_file):
10730         * gst/schedulers/Makefile.am:
10731
10732 2004-04-13  David Schleef  <ds@schleef.org>
10733
10734         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10735         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10736         fixating lists.
10737
10738 2004-04-12  David Schleef  <ds@schleef.org>
10739
10740         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10741         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10742         to using it.
10743         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10744         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10745         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10746         * gst/gststructure.c: (gst_structure_set_valist),
10747         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10748         support for buffers.
10749         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10750         intended to be const.
10751         * gst/gsttag.h: same
10752         * gst/gstvalue.c: (gst_value_serialize_buffer),
10753         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10754         to (de)serialize buffers.
10755         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10756         * testsuite/caps/string-conversions.c: (main):
10757         * testsuite/caps/value_serialize.c: add new test
10758
10759 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10760
10761         * docs/pwg/advanced-types.xml:
10762           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10763
10764 2004-04-11  Benjamin Otte  <otte@gnome.org>
10765
10766         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10767           rename categories to basic_*
10768         * gst/schedulers/gstbasicscheduler.c: 
10769         (gst_basic_scheduler_chain_wrapper),
10770         (gst_basic_scheduler_chainhandler_proxy),
10771         (gst_basic_scheduler_gethandler_proxy),
10772         (gst_basic_scheduler_eventhandler_proxy):
10773           debugging category fixes - put common stuff in log category
10774         * gst/schedulers/gstbasicscheduler.c: 
10775         (gst_basic_scheduler_chain_elements):
10776           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10777           active and linking two active chains
10778
10779 2004-04-10  Benjamin Otte  <otte@gnome.org>
10780
10781         * docs/pwg/intro-preface.xml:
10782           fix dead links and remove reference to Wiki
10783
10784 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10785
10786         * gst/schedulers/gstbasicscheduler.c:
10787           make sure we can switch back to the main function if we're still in
10788           the main function (supposed to fix #139617)
10789         * gst/schedulers/gthread-cothreads.h:
10790           don't throw an error when switching to the same cothread
10791
10792 2004-04-09  Benjamin Otte  <otte@gnome.org>
10793
10794         * gst/gstbin.c: (gst_bin_get_type):
10795         * gst/gstclock.c: (gst_clock_get_type):
10796         * gst/gstindex.c: (gst_index_get_type):
10797         * gst/gstobject.c: (gst_object_get_type),
10798         (gst_signal_object_get_type):
10799         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10800         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10801         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10802         * gst/gstqueue.c: (gst_queue_get_type):
10803         * gst/gstregistry.c: (gst_registry_get_type):
10804         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10805         * gst/gstthread.c: (gst_thread_get_type):
10806           don't use memchunks for these objects, use malloc instead
10807
10808 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10809
10810         * docs/gst/.cvsignore:
10811         * docs/gst/Makefile.am:
10812         * docs/gst/gstreamer-sections.txt:
10813         * docs/gst/tmpl/gstaggregator.sgml:
10814         * docs/gst/tmpl/gstbuffer.sgml:
10815         * docs/gst/tmpl/gstclock.sgml:
10816         * docs/gst/tmpl/gstelement.sgml:
10817         * docs/gst/tmpl/gstfakesink.sgml:
10818         * docs/gst/tmpl/gstfakesrc.sgml:
10819         * docs/gst/tmpl/gstfdsink.sgml:
10820         * docs/gst/tmpl/gstfdsrc.sgml:
10821         * docs/gst/tmpl/gstfilesink.sgml:
10822         * docs/gst/tmpl/gstfilesrc.sgml:
10823         * docs/gst/tmpl/gstidentity.sgml:
10824         * docs/gst/tmpl/gstindex.sgml:
10825         * docs/gst/tmpl/gstinfo.sgml:
10826         * docs/gst/tmpl/gstmd5sink.sgml:
10827         * docs/gst/tmpl/gstmultifilesrc.sgml:
10828         * docs/gst/tmpl/gstpad.sgml:
10829         * docs/gst/tmpl/gstpipefilter.sgml:
10830         * docs/gst/tmpl/gstpipeline.sgml:
10831         * docs/gst/tmpl/gstpluginfeature.sgml:
10832         * docs/gst/tmpl/gstqueue.sgml:
10833         * docs/gst/tmpl/gstregistry.sgml:
10834         * docs/gst/tmpl/gstscheduler.sgml:
10835         * docs/gst/tmpl/gstshaper.sgml:
10836         * docs/gst/tmpl/gstspider.sgml:
10837         * docs/gst/tmpl/gstspideridentity.sgml:
10838         * docs/gst/tmpl/gststatistics.sgml:
10839         * docs/gst/tmpl/gstsystemclock.sgml:
10840         * docs/gst/tmpl/gsttee.sgml:
10841         * docs/gst/tmpl/gstthread.sgml:
10842         * docs/gst/tmpl/gsttypefind.sgml:
10843         * docs/gst/tmpl/gstutils.sgml:
10844           further doc build fixes
10845
10846 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10847
10848         * docs/gst/Makefile.am:
10849           make docs exit on scanning problems
10850           fix nonsrcdir build issues
10851         * docs/gst/gstreamer-sections.txt:
10852           adding stuff from -unused
10853         * gst/gstqueue.h:
10854           create GstQueueSize
10855         * gst/schedulers/cothreads_compat.h:
10856           fix cothread warnings
10857
10858 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10859
10860         * docs/gst/gstreamer-sections.txt:
10861           remove defines deprecated by Benjamin
10862
10863 2004-04-07  Benjamin Otte  <otte@gnome.org>
10864
10865         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10866           when the buffer is complete, don't check if other buffers are needed
10867         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10868           check that the offset is >0 so we don't try to read before the
10869           beginning of the file
10870         * gst/gstpad.c: (gst_pad_set_pad_template):
10871           sink the template, so we don't end up with 130k pad templates
10872
10873 2004-04-06  Benjamin Otte  <otte@gnome.org>
10874
10875         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10876           don't ref the element, adding already reffed it. And we didn't unref
10877           it later anyway... (huge memleak when you used many spider elements)
10878         * gst/gstelement.c: (gst_element_base_class_finalize):
10879         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10880         (gst_element_register):
10881         * gst/gsturi.c: (gst_element_make_from_uri):
10882           use gst_object_(un)ref instead of g_object(un)ref
10883
10884 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10885
10886         * gst/gstbuffer.h:
10887           remove macro that wouldn't work anymore because struct member has
10888           been removed.
10889         * gst/schedulers/entryscheduler.c: (schedule_forward):
10890           fix segfault for unconnected pads
10891         
10892 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10893
10894         reviewed by David Schleef <ds@schleef.org>
10895
10896         * gst/gstinfo.h:
10897           *_FORMAT modifiers should require putting a % in front of them for
10898           consistency reasons.
10899
10900 2004-04-05  Colin Walters  <walters@redhat.com>
10901
10902         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10903         space.
10904
10905 2004-04-05  Benjamin Otte  <otte@gnome.org>
10906
10907         * configure.ac:
10908         * gst/Makefile.am:
10909         * gst/gst_private.h:
10910         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10911           add support for detecting if GStreamer runs inside valgrind.
10912           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10913           print a big message in valgrind that GStreamer has detected it's
10914           running inside and might now use different code.
10915         * gst/gstmemchunk.c: (populate), (free_area),
10916         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10917         (gst_mem_chunk_free):
10918           flag memchunks for valgrind, so it can detect leaking of chunks.
10919           This allows detecting leaks of GstBuffer and GstEvent correctly
10920           inside valgrind.
10921
10922 2004-04-05  David Schleef  <ds@schleef.org>
10923
10924         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10925           jensgr@gmx.net (Jens Granseuer)
10926
10927 2004-04-05  David Schleef  <ds@schleef.org>
10928
10929         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10930         (gst_buffer_default_free), (gst_buffer_default_copy),
10931         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10932         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10933         structures in one place.
10934
10935 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10938           (GST_TIME_FORMAT, GST_TIME_ARGS)
10939
10940 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10941
10942         * testsuite/elements/Makefile.am:
10943           disable test until it stops breaking make distcheck
10944
10945 2004-04-05  Johan Dahlin  <johan@gnome.org>
10946
10947         * po/sv.po: Updated translation
10948
10949 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10950
10951         * gst/gstplugin.c: (gst_plugin_load_file):
10952           fix segfault for when original plugin was loaded statically
10953
10954 2004-04-05  Benjamin Otte  <otte@gnome.org>
10955
10956         * testsuite/debug/category.c: (main):
10957         * testsuite/debug/commandline.c: (main):
10958         * testsuite/debug/output.c: (main):
10959           fix tests to work again with debugging enabled
10960
10961 2004-04-05  Benjamin Otte  <otte@gnome.org>
10962
10963         * gst/schedulers/gstbasicscheduler.c:
10964         (gst_basic_scheduler_pad_link):
10965           fix to work with recent scheduling changes
10966
10967 2004-04-05  Benjamin Otte  <otte@gnome.org>
10968
10969         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10970         prepareChangeLog doesn't work when cvs indents):
10971           don't throw an error when no element can be scheduled, there's too
10972           many weird reasons why it doesn't work. Return STOPPED instead.
10973           decoupled elemts' schedulability doesn't depend on bufpens.
10974
10975 2004-04-04  Benjamin Otte  <otte@gnome.org>
10976
10977         * gst/schedulers/gstbasicscheduler.c:
10978         (gst_basic_scheduler_pad_select):
10979           fix uninitialized variable warnings
10980
10981 2004-04-04  Benjamin Otte  <otte@gnome.org>
10982
10983         * gst/gstpad.c: (gst_pad_collect_valist):
10984           fix uninitialized variable warning
10985         * gst/schedulers/entryscheduler.c: (schedule_forward):
10986           fix shadowed variable
10987
10988 2004-04-04  Benjamin Otte  <otte@gnome.org>
10989
10990         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10991         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10992         (gst_pad_select):
10993         * gst/gstpad.h:
10994         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10995         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10996         * gst/gstscheduler.h:
10997           implement gst_pad_collect as replacement for gst_pad_select.
10998           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10999           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11000           new pad_select, lock and unlock calls.
11001         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11002         * gst/cothreads.h:
11003         * gst/schedulers/cothreads_compat.h:
11004         * gst/schedulers/gthread-cothreads.h:
11005           remove unused cothread_lock and cothread_unlock calls
11006         * gst/schedulers/entryscheduler.c:
11007         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11008         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11009         (gst_entry_scheduler_pad_select):
11010           update to new API
11011         * gst/schedulers/gstbasicscheduler.c:
11012         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11013         (gst_basic_scheduler_pad_select):
11014           remove useless lock and unlock calls, update pad_select to new API
11015           (untested)
11016         * gst/schedulers/gstoptimalscheduler.c:
11017         (gst_opt_scheduler_class_init):
11018           remove useless select, lock and unlock function calls
11019         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11020           use gst_pad_collect instead of gst_pad_select
11021
11022 2004-04-04  Benjamin Otte  <otte@gnome.org>
11023
11024         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11025         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11026         (schedule_next_element), (print_entry):
11027           add can_schedule_pad to handle element states.
11028           add schedule_forward to select the correct entry to schedule next
11029
11030 2004-04-03  Benjamin Otte  <otte@gnome.org>
11031
11032         * gst/schedulers/entryscheduler.c: 
11033           remove unused variable, fix error inside Rb, fix compile warning in
11034           unreachable code
11035
11036 2004-04-03  Benjamin Otte  <otte@gnome.org>
11037
11038         * gst/schedulers/entryscheduler.c:
11039           completely revamp the inner workings, so it's a lot easier to
11040           understand and extend
11041
11042 2004-04-03  Andy Wingo  <wingo@pobox.com>
11043
11044         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11045         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11046         This allows better introspection of pipeline topology.
11047         (add_to_chain): Don't do trickery to put loop elements first;
11048         rather, queue a chain sort by marking the chain as dirty.
11049         (remove_from_chain): Mark the chain dirty.
11050         (sort_chain): New function. Sorts the group list so that terminal
11051         sinks are first. This means elements on the sink side will be
11052         preferentially sscheduled before elements on the src side of the
11053         pipeline.
11054         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11055         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11056         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11057         (group_inc_link): Change argument and variable names to match the
11058         new link structure member names (src and sink).
11059         (group_dec_link): Add some description
11060
11061 2004-04-03  Benjamin Otte  <otte@gnome.org>
11062
11063         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11064         * gst/gstinfo.h:
11065         * testsuite/debug/category.c: (main):
11066         * testsuite/debug/commandline.c: (main):
11067         * testsuite/debug/output.c: (main):
11068         * testsuite/debug/printf_extension.c: (main):
11069           fix to successfully build and test with --disable-gst-debug
11070           configure switch (fixes #138705)
11071
11072 2004-04-03  Benjamin Otte  <otte@gnome.org>
11073
11074         * docs/pwg/building-boiler.xml:
11075           add cvs login line and s/anonymous/anoncvs/
11076
11077 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11078
11079         reviewed by Benjamin Otte  <otte@gnome.org>
11080
11081         * gst/gststructure.c: (gst_structure_free):
11082           memleak fix: free fields array (partial fix for #134839)
11083
11084 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11085
11086         * docs/random/ds/0.9-suggested-changes:
11087           Add a note to change handoff use in fakesrc to be usable in
11088           a more generic way (fakesrc should be renamed to appsrc or so).
11089         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11090           Change signal type to scope, so we can fill the buffer in the
11091           handoff handler (that's the whole use of this signal...).
11092
11093 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11094
11095         * docs/pwg/other-ntoone.xml:
11096           Document muxers and n-to-1 elements.
11097
11098 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11099
11100         * gst/registries/gstxmlregistry.c
11101         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11102         determine if a file is a G_MODULE. The old one discards paths
11103         containing "so" somewhere in the middle. My home directory is
11104         called "soto". Go figure...
11105
11106 2004-03-31  David Schleef  <ds@schleef.org>
11107
11108         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11109         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11110         * gst/gstbuffer.h:
11111
11112 2004-03-31  David Schleef  <ds@schleef.org>
11113
11114         * gst/gstvalue.c: (gst_value_union_int_int_range),
11115         (gst_value_union_int_range_int_range), (gst_value_can_union),
11116         (gst_value_union), (_gst_value_initialize):  Add some union
11117         implementations.  We didn't have any previously.
11118         * testsuite/caps/Makefile.am:
11119         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11120         (gst_audioscale_getcaps), (test_caps), (main): A little test
11121         that is the same as the caps manipulation in audioscale.
11122
11123 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11124
11125         * docs/faq/general.xml:
11126           add entry about "does gst support format X?"
11127
11128 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11129
11130         * gst/gstthread.c:
11131           fix docs
11132         * gst/gstutils.h:
11133           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11134
11135 2004-03-30  Benjamin Otte  <otte@gnome.org>
11136
11137         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11138           set the offset of the buffer to the requested offset
11139         * gst/elements/gsttypefind.c: (stop_typefinding):
11140           revert patch 1.18 (which I unfortunately don't know the reason for).
11141           This is needed to allow downstream elements to seek. Otherwise
11142           typefind might overwrite a previous seek by downstream elements.
11143           This lead to errors with id3tag and typefind on some mp3s.
11144         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11145         (gst_entry_scheduler_iterate):
11146           be more verbose when debugging
11147
11148 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11151           make sure we don't get NULL strings
11152
11153 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * gst/gstcaps.c:
11156         * gst/gstelement.c:
11157         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11158         * gst/gstindex.c: (gst_index_resolver_get_type),
11159         (gst_index_get_type), (gst_index_factory_get_type):
11160         * gst/gstinfo.c:
11161         * gst/gstpad.c:
11162         * gst/gstplugin.c:
11163         * gst/gsturi.c: (gst_uri_handler_get_type):
11164         * gst/gstvalue.c:
11165           first batch of documentation fixes
11166
11167 2004-03-29  David Schleef  <ds@schleef.org>
11168
11169         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11170         * docs/gst/gstreamer-docs.sgml:  More hacking
11171         * docs/gst/gstreamer-sections.txt:
11172         * docs/gst/tmpl/cothreads_compat.sgml:
11173         * docs/gst/tmpl/gstcaps.sgml:
11174         * docs/gst/tmpl/gstclock.sgml:
11175         * docs/gst/tmpl/gstelement.sgml:
11176         * docs/gst/tmpl/gstevent.sgml:
11177         * docs/gst/tmpl/gstpad.sgml:
11178         * docs/gst/tmpl/gstutils.sgml:
11179         * docs/gst/tmpl/gstxml.sgml:
11180         * docs/gst/tmpl/gthread-cothreads.sgml:
11181         * docs/random/ds/0.9-suggested-changes:
11182         * gst/elements/gstfakesink.h: doc fixes
11183         * gst/elements/gstfakesrc.h: doc fixes
11184         * gst/gstcaps.c: doc fixes
11185         * gst/gstcaps.h: doc fixes
11186         * gst/gstelement.c: doc fixes
11187         * gst/gstelement.h: doc fixes
11188         * gst/gstindex.c: doc fixes
11189         * gst/gstinfo.c: doc fixes
11190         * gst/gstpad.c: doc fixes
11191         * gst/gstpad.h: doc fixes
11192         * gst/gstplugin.c: doc fixes
11193         * gst/gsttypefind.h: doc fixes
11194         * gst/gsturi.c: doc fixes
11195         * gst/gstvalue.c: doc fixes
11196
11197 2004-03-29  Colin Walters  <walters@redhat.com>
11198
11199         * gst/registries/gstxmlregistry.c (get_time)
11200         (plugin_times_older_than_recurse):
11201         Use the result of stat to determine whether a path is a file,
11202         so we don't attempt to opendir() files.
11203
11204 2004-03-29  Benjamin Otte  <otte@gnome.org>
11205
11206         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11207           print caps in debugging output when setting caps failed
11208         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11209         (schedule_next_element), (get_buffer), (run_chainhandler),
11210         (element_may_start), (gst_entry_scheduler_chain_handler),
11211         (gst_entry_scheduler_get_handler),
11212         (gst_entry_scheduler_state_transition),
11213         (gst_entry_scheduler_pad_link):
11214           make this scheduler a testcase for mandatory
11215           discont-before-first-buffer which is needed if we want to allow apps
11216           to release the sound device.
11217           add SCHED_ASSERT macro to print scheduler state before an assertion
11218           triggers.
11219
11220 2004-03-29  Benjamin Otte  <otte@gnome.org>
11221
11222         * COPYING:
11223           replace by LGPL (former COPYING.LIB). The core is completely
11224           licensed LGPL.
11225         * COPYING.LIB:
11226           remove
11227
11228 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11229
11230         * po/af.po:
11231         * po/sv.po:
11232           updated Afrikaans and Swedish
11233
11234 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11235
11236         * po/LINGUAS:
11237         * po/az.po:
11238           adding Azerbaijani (Mətin Əmirov)
11239
11240 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11241
11242         * gst/gstelement.h: 
11243         * gst/gstelement.c (gst_element_set_time_delay): New function for
11244         setting element time taking into account a hardware buffering
11245         delay.
11246         (gst_element_set_time): Now just an invocation of
11247         gst_element_set_time_delay.
11248         * gst/gstclock.h: 
11249         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11250         allowing to set event times in the future.
11251         (gst_clock_get_event_time): Now just an invocation of
11252         gst_clock_get_event_time_delay.
11253
11254 2004-03-28  Benjamin Otte  <otte@gnome.org>
11255
11256         * gst/gstbin.c: (gst_bin_set_element_sched),
11257         (gst_bin_unset_element_sched):
11258           don't add decoupled elements to schedulers - otherwise it's
11259           impossible to control if a link to a decoupled element was already
11260           removed from a scheduler or not.
11261         * gst/schedulers/cothreads_compat.h:
11262         * gst/schedulers/gthread-cothreads.h:
11263           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11264           is no "unused" warning.
11265         * gst/schedulers/Makefile.am:
11266         * gst/schedulers/entryscheduler.c:
11267           add new scheduler, based on ideas from talking to David and Martin.
11268           It's supposed to be small and correct. Currently it's also slow (but
11269           it's not noticable)
11270         * examples/retag/retag.c: (main):
11271         * testsuite/bytestream/test1.c: (main):
11272           fix missing NULLs at end of variadic functions
11273         * testsuite/elements/.cvsignore:
11274           update
11275
11276 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11277
11278         * gst/gstevent.h:
11279         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11280
11281 2004-03-25  David Schleef  <ds@schleef.org>
11282
11283         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11284         * docs/gst/tmpl/gstaggregator.sgml:
11285         * docs/gst/tmpl/gstautoplugfactory.sgml:
11286         * docs/gst/tmpl/gstbin.sgml:
11287         * docs/gst/tmpl/gstbuffer.sgml:
11288         * docs/gst/tmpl/gstbufferstore.sgml:
11289         * docs/gst/tmpl/gstfakesink.sgml:
11290         * docs/gst/tmpl/gstfakesrc.sgml:
11291         * docs/gst/tmpl/gstmd5sink.sgml:
11292         * docs/gst/tmpl/gstreamer-unused.sgml:
11293         * docs/gst/tmpl/gstsearchfuncs.sgml:
11294         * docs/gst/tmpl/gstshaper.sgml:
11295         * docs/gst/tmpl/gstspider.sgml:
11296         * docs/gst/tmpl/gsttee.sgml:
11297         * docs/gst/tmpl/gstutils.sgml:
11298         * docs/gst/tmpl/gstvalue.sgml:
11299         * docs/gst/tmpl/gstxml.sgml:
11300         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11301         and we don't support it.
11302         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11303         (gst_use_threads), (gst_has_threads): same
11304         * gst/gstthreaddummy.c: same
11305         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11306         * gst/autoplug/gstspider.h: same
11307         * gst/elements/gstaggregator.h: Remove bogus function from header
11308         * gst/elements/gstfakesink.h: same
11309         * gst/elements/gstfakesrc.h: same
11310         * gst/elements/gstmd5sink.h: same
11311         * gst/elements/gstshaper.h: same
11312         * gst/elements/gsttee.h: same
11313         * gst/gstbin.c: doc fixes
11314         * gst/gstbin.h: Remove unused definition.
11315         * gst/gstbuffer.c: doc fixes
11316         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11317         * gst/gstfilter.c: doc fixes
11318         * gst/gsttag.c: doc fixes
11319         * gst/gstvalue.c: doc fixes
11320
11321 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11322
11323         * docs/pwg/advanced-types.xml:
11324           Document typefinding.
11325         * docs/pwg/other-oneton.xml:
11326           Document one-to-n elements, demuxers and parsers.
11327
11328 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11329
11330         reviewed by: David Schleef  <ds@schleef.org>
11331
11332         * configure.ac: Check bison version (bug #127838)
11333
11334 2004-03-25  David Schleef  <ds@schleef.org>
11335
11336         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11337         * docs/gst/gstreamer-sections.txt:
11338         * docs/gst/tmpl/gstautoplug.sgml:
11339         * docs/gst/tmpl/gststaticautoplug.sgml:
11340         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11341         * docs/gst/tmpl/gstutils.sgml:
11342         * docs/gst/tmpl/gstxml.sgml:
11343
11344 2004-03-24  David Schleef  <ds@schleef.org>
11345
11346         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11347         manual being such complete crap, that I decided to do major
11348         hacking of it.  This checkin replaces any fine tuning that
11349         may have been done previously, with the benefit of actually
11350         being complete for much of the API that was changed since
11351         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11352         * docs/gst/gstreamer-sections.txt:
11353         * docs/gst/tmpl/GstBin.sgml:
11354         * docs/gst/tmpl/GstBuffer.sgml:
11355         * docs/gst/tmpl/GstCaps.sgml:
11356         * docs/gst/tmpl/GstClock.sgml:
11357         * docs/gst/tmpl/GstCompat.sgml:
11358         * docs/gst/tmpl/GstData.sgml:
11359         * docs/gst/tmpl/GstElement.sgml:
11360         * docs/gst/tmpl/GstEvent.sgml:
11361         * docs/gst/tmpl/GstIndex.sgml:
11362         * docs/gst/tmpl/GstStructure.sgml:
11363         * docs/gst/tmpl/GstTag.sgml:
11364         * docs/gst/tmpl/cothreads.sgml:
11365         * docs/gst/tmpl/cothreads_compat.sgml:
11366         * docs/gst/tmpl/gettext.sgml:
11367         * docs/gst/tmpl/grammar.tab.sgml:
11368         * docs/gst/tmpl/gst-i18n-app.sgml:
11369         * docs/gst/tmpl/gst-i18n-lib.sgml:
11370         * docs/gst/tmpl/gst.sgml:
11371         * docs/gst/tmpl/gst_private.sgml:
11372         * docs/gst/tmpl/gstaggregator.sgml:
11373         * docs/gst/tmpl/gstarch.sgml:
11374         * docs/gst/tmpl/gstatomic.sgml:
11375         * docs/gst/tmpl/gstatomic_impl.sgml:
11376         * docs/gst/tmpl/gstbin.sgml:
11377         * docs/gst/tmpl/gstbuffer.sgml:
11378         * docs/gst/tmpl/gstbufferstore.sgml:
11379         * docs/gst/tmpl/gstcaps.sgml:
11380         * docs/gst/tmpl/gstclock.sgml:
11381         * docs/gst/tmpl/gstcompat.sgml:
11382         * docs/gst/tmpl/gstconfig.sgml:
11383         * docs/gst/tmpl/gstcpu.sgml:
11384         * docs/gst/tmpl/gstdata.sgml:
11385         * docs/gst/tmpl/gstdata_private.sgml:
11386         * docs/gst/tmpl/gstelement.sgml:
11387         * docs/gst/tmpl/gstenumtypes.sgml:
11388         * docs/gst/tmpl/gsterror.sgml:
11389         * docs/gst/tmpl/gstevent.sgml:
11390         * docs/gst/tmpl/gstfakesink.sgml:
11391         * docs/gst/tmpl/gstfakesrc.sgml:
11392         * docs/gst/tmpl/gstfilesink.sgml:
11393         * docs/gst/tmpl/gstfilter.sgml:
11394         * docs/gst/tmpl/gstindex.sgml:
11395         * docs/gst/tmpl/gstinfo.sgml:
11396         * docs/gst/tmpl/gstinterface.sgml:
11397         * docs/gst/tmpl/gstlog.sgml:
11398         * docs/gst/tmpl/gstmacros.sgml:
11399         * docs/gst/tmpl/gstmarshal.sgml:
11400         * docs/gst/tmpl/gstmd5sink.sgml:
11401         * docs/gst/tmpl/gstmultifilesrc.sgml:
11402         * docs/gst/tmpl/gstobject.sgml:
11403         * docs/gst/tmpl/gstpad.sgml:
11404         * docs/gst/tmpl/gstparse.sgml:
11405         * docs/gst/tmpl/gstpipeline.sgml:
11406         * docs/gst/tmpl/gstplugin.sgml:
11407         * docs/gst/tmpl/gstpluginfeature.sgml:
11408         * docs/gst/tmpl/gstqueue.sgml:
11409         * docs/gst/tmpl/gstreamer-unused.sgml:
11410         * docs/gst/tmpl/gstregistry.sgml:
11411         * docs/gst/tmpl/gstregistrypool.sgml:
11412         * docs/gst/tmpl/gstscheduler.sgml:
11413         * docs/gst/tmpl/gstsearchfuncs.sgml:
11414         * docs/gst/tmpl/gstshaper.sgml:
11415         * docs/gst/tmpl/gstspider.sgml:
11416         * docs/gst/tmpl/gstspideridentity.sgml:
11417         * docs/gst/tmpl/gststructure.sgml:
11418         * docs/gst/tmpl/gstsystemclock.sgml:
11419         * docs/gst/tmpl/gsttag.sgml:
11420         * docs/gst/tmpl/gsttaginterface.sgml:
11421         * docs/gst/tmpl/gsttee.sgml:
11422         * docs/gst/tmpl/gstthread.sgml:
11423         * docs/gst/tmpl/gsttrace.sgml:
11424         * docs/gst/tmpl/gsttrashstack.sgml:
11425         * docs/gst/tmpl/gsttypefind.sgml:
11426         * docs/gst/tmpl/gsttypes.sgml:
11427         * docs/gst/tmpl/gsturi.sgml:
11428         * docs/gst/tmpl/gsturitype.sgml:
11429         * docs/gst/tmpl/gstutils.sgml:
11430         * docs/gst/tmpl/gstvalue.sgml:
11431         * docs/gst/tmpl/gstversion.sgml:
11432         * docs/gst/tmpl/gstxml.sgml:
11433         * docs/gst/tmpl/gstxmlregistry.sgml:
11434         * docs/gst/tmpl/gthread-cothreads.sgml:
11435         * docs/gst/tmpl/types.sgml:
11436
11437 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11438
11439         * docs/pwg/other-sink.xml:
11440         * docs/pwg/other-source.xml:
11441           Documentation on how to write source and sink elements. Other
11442           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11443           manager, autoplugger) are all still pending.
11444
11445 2004-03-25  Benjamin Otte  <otte@gnome.org>
11446
11447         * testsuite/elements/Makefile.am:
11448         * testsuite/elements/gst-compprep-check:
11449           add check to make sure gst-compprep works
11450         * testsuite/elements/gst-inspect-check.in:
11451           improve initialization output
11452         * testsuite/Makefile.am:
11453         * testsuite/gst-inspect-check:
11454           remove old file
11455
11456 2004-03-24  David Schleef  <ds@schleef.org>
11457
11458         * testsuite/elements/Makefile.am:
11459         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11460         to the testsuite.
11461
11462 2004-03-24  Benjamin Otte  <otte@gnome.org>
11463
11464         * libs/gst/control/dparam.c: (gst_dparam_attach),
11465         (gst_dparam_detach):
11466         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11467           fix lvalue casts for real
11468
11469 2004-03-24  Benjamin Otte  <otte@gnome.org>
11470
11471         * gst/schedulers/gstbasicscheduler.c:
11472         (gst_basic_scheduler_src_wrapper):
11473         * gst/schedulers/gstoptimalscheduler.c:
11474         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11475         (pad_clear_queued), (gst_opt_scheduler_add_element),
11476         (gst_opt_scheduler_remove_element):
11477           fix GStreamer to not have issues with lvalue casts anymore (fixes
11478           #136841)
11479
11480 2004-03-24  Benjamin Otte  <otte@gnome.org>
11481
11482         * gst/gstelement.c:
11483           add documentation about a gobject quirk where the object hasn't the
11484           correct class pointer set on initialization
11485         * gst/schedulers/gstbasicscheduler.c:
11486         (gst_basic_scheduler_src_wrapper):
11487           make sure to not run into an infinite loop
11488
11489 2004-03-22  Benjamin Otte  <otte@gnome.org>
11490
11491         * gst/gstutils.c: (gst_util_dump_mem):
11492         * gst/gstutils.h:
11493           first argument of gst_util_dump_mem should be const
11494
11495 2004-03-22  Johan Dahlin  <johan@gnome.org>
11496
11497         * gst/gstvalue.h: Clean up a little bit.
11498
11499 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11500
11501         reviewed by Benjamin Otte  <otte@gnome.org>
11502
11503         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11504         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11505         (gst_aggregator_class_init), (gst_aggregator_init):
11506         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11507         (gst_filesrc_dispose), (gst_filesrc_set_location):
11508         * gst/elements/gstidentity.c: (gst_identity_finalize),
11509         (gst_identity_class_init), (gst_identity_chain):
11510         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11511         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11512         (gst_statistics_class_init):
11513         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11514         (gst_tee_get_property):
11515           clean up used memory in this elements correctly on teardown (closes
11516           #137279)
11517
11518 2004-03-20  Colin Walters  <walters@redhat.com>
11519
11520         * gst/registries/gstxmlregistry.c:
11521         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11522         registry saving atomic.
11523
11524 2004-03-20  Colin Walters  <walters@redhat.com>
11525
11526         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11527         Just use
11528         access() instead of actually creating and deleting files.
11529
11530 2004-03-18  David Schleef  <ds@schleef.org>
11531
11532         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11533         (bug #137625)
11534
11535 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11536
11537         * po/sv.po: updated translation (Christian Rose)
11538
11539 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11540
11541         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11542         (gst_filesink_get_query_types), (_do_init),
11543         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11544           return FALSE silently
11545         * po/af.po: updated translation (Petri Jooste)
11546
11547 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11548
11549         * Makefile.am:
11550         * configure.ac:
11551           dist common properly
11552         * po/af.po:
11553         * po/fr.po:
11554         * po/nl.po:
11555         * po/sr.po:
11556         * po/sv.po:
11557           refreshing translations
11558
11559 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11560
11561         * po/LINGUAS:
11562         * po/sv.po:
11563         * po/af.po:
11564           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11565
11566 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11567
11568         * Makefile.am: use common/release.mak
11569
11570 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11571
11572         * docs/faq/gst-uninstalled:
11573           adding gst-monkeysaudio to the list of possible plugin dirs
11574
11575 2004-03-16  David Schleef  <ds@schleef.org>
11576
11577         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11578         (gst_init_check_with_popt_table):  Fix some gettext strings to
11579         make them easier to translate.  Required making the strings
11580         non-const.
11581
11582 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * configure.ac: bump nano to 1
11585
11586 === release 0.8.0 ===
11587
11588 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11589
11590         * configure.ac: release 0.8.0, "Executive Slacks"
11591
11592 2004-03-16  Johan Dahlin  <johan@gnome.org>
11593
11594         * gst/schedulers/gstoptimalscheduler.c
11595         (gst_opt_scheduler_pad_unlink): Remove double ;,
11596         spotted by Scott Wheeler
11597
11598 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11599
11600         * configure.ac: bump libtool version
11601
11602 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11603
11604         * gst/gstcaps.h:
11605         * gst/gststructure.h:
11606           add reserved padding
11607
11608 2004-03-15  Benjamin Otte  <otte@gnome.org>
11609
11610         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11611           set the first parameter for select call correctly.
11612           (fixes #137230)
11613
11614 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11615
11616         * *.c,*.h: don't mix tabs and spaces
11617
11618 2004-03-15  Johan Dahlin  <johan@gnome.org>
11619
11620         * gst/schedulers/gstoptimalscheduler.c
11621         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11622         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11623
11624         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11625         
11626 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11627
11628         * testsuite/Rules:
11629           fix gst-register rules
11630
11631 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11632
11633         * testsuite/Rules:
11634           use versioned gst-register
11635
11636 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11637
11638         * docs/libs/gstreamer-libs-sections.txt:
11639           remove </SUBSECTION>
11640         * gst/gstplugin.c:
11641         * gst/gstregistry.c: (gst_registry_add_plugin):
11642         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11643         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11644           add debugging and fix some comment blocks
11645
11646 2004-03-15  Johan Dahlin  <johan@gnome.org>
11647
11648         * *.h: Revert indent changes.
11649         
11650 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11653           g_error_free the g_error
11654         * tools/gst-feedback-m.m:
11655           check for other versions of gstreamer
11656         * tools/gst-indent:
11657           use sh, not bash
11658
11659 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * tools/gst-register.c: do not spill paths when registries are not
11662           writable, until we fix the "user running gst-register" case.
11663
11664 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11665
11666         * *.c, *.h: commit of gst-indent run on core
11667
11668 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11669
11670         * tools/gst-indent:
11671         * tools/Makefile.am:
11672           add our indentation style as a script
11673
11674 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11675
11676         * po/sr.po:
11677         * po/LINGUAS:
11678           added Serbian translation
11679
11680 2004-03-13  Benjamin Otte  <otte@gnome.org>
11681
11682         * gst/gstelement.c:
11683           add documentation note about gst_element_found_tags_for_pad not
11684           being usable in getfunctions. (see #137042)
11685
11686 2004-03-12  David Schleef  <ds@schleef.org>
11687
11688         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11689         change API right now!  Readd gst_caps_is_simple() macro.
11690         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11691         uninitialized variable.  I'd bet this caused crashes.
11692         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11693
11694 2004-03-12  Johan Dahlin  <johan@gnome.org>
11695
11696         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11697         * gst/gstcaps.h: Clean up
11698
11699         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11700         _gst_caps_initalize()
11701
11702         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11703         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11704
11705         * gst/gststructure.c (gst_structure_get_type): Ditto
11706
11707         * gst/gststructure.h: Ditto
11708         
11709 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11710
11711         * gst/gstqueue.c: (gst_queue_init):
11712           Reset default max. values in queues. Reason is simply to avoid
11713           braindead use. If you want wider values, use the properties. The
11714           default is supposed to always work. Wider values would make this
11715           beast a memory hog by default (250 full-PAL RGB32 video frames?
11716           That's 440 MB! No thank you).
11717
11718 2004-03-10  David Schleef  <ds@schleef.org>
11719
11720         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11721         were found.  (bug #136793)
11722
11723 2004-03-10  Johan Dahlin  <johan@gnome.org>
11724
11725         * gst/schedulers/gstoptimalscheduler.c
11726         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11727         links to elements within the same group, so we can finally remove
11728         that annoying warning. Refactor the code a little bit
11729         (group_dec_links_for_element): Split out
11730
11731 2004-03-09  David Schleef  <ds@schleef.org>
11732
11733         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11734         (bug #134863)
11735
11736 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11737
11738         * configure.ac: first bug fix due to major/minor bump
11739
11740 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11741
11742         * configure.ac: bump nano to 1
11743
11744 === release 0.7.6 ===
11745
11746 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11747
11748         * NEWS:
11749         * RELEASE:
11750         * configure.ac:
11751           releasing 0.7.6, "Almost"
11752         * po/fr.po:
11753         * po/nl.po:
11754         * tools/Makefile.am:
11755         * tools/gst-feedback-m.m:
11756           unversioned source
11757
11758 2004-03-09  Johan Dahlin  <johan@gnome.org>
11759
11760         Reviewed by: Thomas Vander Stichele
11761
11762         * gst/gstelement.c (gst_element_class_init): register second
11763         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11764         language bindings can (de)marshall correctly.
11765
11766         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11767
11768         * gst/gsterror.c (gst_g_error_get_type): New function
11769
11770         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11771         with VOID:OBJECT,OBJECT,STRING 
11772
11773 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11774
11775         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11776         Free a leaked g_timer on early returns.
11777
11778 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11779
11780         * docs/pwg/advanced-types.xml:
11781           Add cinepak description.
11782
11783 2004-03-07  David Schleef  <ds@schleef.org>
11784
11785         * docs/random/mimetypes:  Added cinepak description
11786
11787 2004-03-07  Andy Wingo  <wingo@pobox.com>
11788
11789         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11790
11791         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11792         there are no links to other groups when a group is destroyed.
11793         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11794         removed from a group, make sure the link count to elements linked
11795         to other pads is appropriately decremented. This really fixes
11796         #135672.
11797
11798         The 1.60->1.61 patch has been reapplied in light of this fix.
11799
11800         * gst/gstelement.c (gst_element_dispose): Really protect against
11801         multiple invocations this time.
11802
11803 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11804
11805         * docs/gst/gstreamer-sections.txt:
11806         * docs/gst/tmpl/gsttag.sgml:
11807           remove some deprecated functions, document some existing ones
11808         * gst/gsttag.c: (gst_tag_get_flag):
11809         * gst/gsttag.h:
11810           add accessor function
11811
11812 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11813
11814         * docs/gst/gstreamer-sections.txt:
11815         * docs/gst/tmpl/gsttag.sgml:
11816         * docs/gst/tmpl/gstxml.sgml:
11817         * gst/gsttag.c: (gst_tag_get_flag):
11818         * gst/gsttag.h:
11819
11820 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11821
11822         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11823         leak
11824
11825 2004-03-05  David Schleef  <ds@schleef.org>
11826
11827         * REQUIREMENTS: Add bison and flex.
11828         * configure.ac: Fix comment about bison.
11829         * docs/random/ds/0.9-suggested-changes: yer ma
11830         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11831
11832 2004-03-05  Benjamin Otte  <otte@gnome.org>
11833
11834         * gst/gstelement.c: (gst_element_error_full):
11835           revert recent recursive state changing commit - messing with other
11836           elements' states is evil and should be done by apps only.
11837
11838 2004-03-05  Benjamin Otte  <otte@gnome.org>
11839
11840         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11841           check for empty intersection instead of NULL caps
11842         (gst_element_get_compatible_pad_filtered):
11843           remove old workaround that is only a bug nowadays
11844
11845 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11846
11847         * gst/gstelement.c: (gst_element_error_full):
11848           make elements try to recursively change state to PAUSED on all
11849           parents after an error to suppress ensuing warnings
11850         * gst/parse/grammar.y:
11851           make it check if it was able to sync the state, and throw an error
11852           if not, so stuff like
11853           oggdemux ! vorbisdec ! osssink gets caught
11854
11855 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11856
11857         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11858           it contains lib64; use AS_AC_EXPAND to handle it properly
11859
11860 2004-03-05  David Schleef  <ds@schleef.org>
11861
11862         * gst/gstcpuid_i386.s:  Remove unused code
11863         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11864         (gst_getbits_newbuf): Remove MMX code
11865         * libs/gst/getbits/getbits.h: Remove MMX code
11866
11867 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11868
11869         * debian/.cvsignore:
11870         * debian/README.Debian:
11871         * debian/changelog:
11872         * debian/control:
11873         * debian/control.in:
11874         * debian/copyright:
11875         * debian/gstreamer-core-libs-dev.files:
11876         * debian/gstreamer-core-libs.files:
11877         * debian/gstreamer-core.files:
11878         * debian/gstreamer-core.postinst:
11879         * debian/gstreamer-core.postrm:
11880         * debian/gstreamer-doc.files:
11881         * debian/gstreamer-doc.links:
11882         * debian/gstreamer-doc.lintian:
11883         * debian/gstreamer-runtime.files:
11884         * debian/gstreamer-runtime.manpages:
11885         * debian/gstreamer-runtime.postinst:
11886         * debian/gstreamer-runtime.postrm:
11887         * debian/gstreamer-tools.files:
11888         * debian/gstreamer-tools.manpages:
11889         * debian/libgstreamer-dev.files:
11890         * debian/libgstreamer0.4.1.files:
11891         * debian/libgstreamerVERSION.files:
11892         * debian/rules:
11893         Debian package info not maintained here.
11894
11895 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11896
11897         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11898         * gst/gstbin.c: (gst_bin_class_init):
11899         * gst/gstelement.c: (gst_element_class_init):
11900         * gst/gstindex.c: (gst_index_class_init):
11901         * gst/gstobject.c: (gst_object_class_init),
11902         (gst_signal_object_class_init):
11903         * gst/gstpad.c: (gst_pad_template_class_init):
11904         * gst/gstregistry.c: (gst_registry_class_init):
11905         * gst/gsturi.c: (gst_uri_handler_base_init):
11906         * gst/gstxml.c: (gst_xml_class_init):
11907         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11908         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11909           make all signal names use dashes instead of underscore
11910
11911 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11912
11913         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11914
11915 2004-03-03  Benjamin Otte  <otte@gnome.org>
11916
11917         * gst/schedulers/gstoptimalscheduler.c:
11918           revert last commit by Andy Wingo. It causes segfaults on unreffing
11919           in Rhythmbox. (see bug #135672)
11920
11921 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11922
11923         * po/fr.po: fix typo
11924
11925 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11926
11927         * tools/gst-inspect.c: (main): 
11928         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11929
11930 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11931
11932         * configure.ac:
11933           get GLIB_ONLY and POPT flags for the nonversioned binaries
11934         * tools/Makefile.am:
11935           use them
11936
11937 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11938
11939         * gst/gst.c: (init_post):
11940           change so that GST_REGISTRY now is where the global registry gets
11941           saved, since that is where plugins now get attached to first, and
11942           spilled over to the user registry.  Note that in the case of using
11943           GST_REGISTRY env var, we don't want to affect any real registries
11944           beyond the one given by this var, and thus we don't set a user
11945           registry to spill to.  So make sure GST_REGISTRY is writable.
11946
11947 2004-03-01  David Schleef  <ds@schleef.org>
11948
11949         * AUTHORS:  Added some names.  Add yourself if you're missing.
11950
11951 2004-03-01  David Schleef  <ds@schleef.org>
11952
11953         * MAINTAINERS: Add
11954
11955 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11956
11957         * configure.ac:
11958           remove whitespace
11959         * docs/gst/tmpl/gstbuffer.sgml:
11960         * docs/gst/tmpl/gstdata.sgml:
11961         * docs/gst/tmpl/gstreamer-unused.sgml:
11962         * docs/gst/tmpl/gstxml.sgml:
11963           doc update
11964         * docs/manuals.mak:
11965           add a FIXME
11966         * docs/pwg/intro-preface.xml:
11967         * docs/pwg/pwg.xml:
11968           remove GNOME
11969         * gst/gst.c: (init_post):
11970           try GST_PLUGIN_PATH paths for the _global_registry first
11971         * gst/gstelement.h:
11972           add the error message as well, otherwise (null) debug info doesn't
11973           make much sense
11974         * tools/gst-register.c: (main):
11975           spill paths to next registry if this registry is not writable
11976         * po/fr.po:
11977         * po/nl.po:
11978           translation updates
11979
11980 2004-03-01  Johan Dahlin  <johan@gnome.org>
11981
11982         * gst/gstbuffer.c (_gst_buffer_initialize): 
11983         * gst/gstdata.c (gst_data_get_type): 
11984         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11985         instead of ref, since some applications that uses GBoxed
11986         routines depends on a function that actually returns a copy.
11987
11988 2004-02-27  Benjamin Otte  <otte@gnome.org>
11989
11990         * gst/gstbuffer.h:
11991           remove gst_buffer_free, use gst_data_unref
11992         * gst/gstdata.c: (gst_data_get_type):
11993           use refcounting in GstData GBoxed registration
11994         * gst/gstdata.h:
11995           remove gst_data_free, use gst_data_unref
11996
11997 2004-02-27  Johan Dahlin  <johan@gnome.org>
11998
11999         * gst/gstdata.c (gst_data_get_type): New function, register
12000         GstData as a GBoxed type.
12001
12002         * gst/gstdata.h (GST_TYPE_DATA): New macro
12003
12004 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12005
12006         * Makefile.am:
12007         * gstreamer.spec.in:
12008           put back RELEASE
12009         * gst/Makefile.am:
12010           clean up non-disting of built files
12011         * testsuite/debug/commandline.c:
12012           test fix for option rename
12013
12014 2004-02-26  David Schleef  <ds@schleef.org>
12015
12016         * configure.ac:  We don't really need glib-2.3.  Also remove
12017         some unneeded checks for library functions.
12018         * gst/Makefile.am:  Instead, we need to not dist files created
12019         by glib-genmarshal.
12020
12021 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * configure.ac:
12024           bump glib required version to 2.3.0 for g_value_takes_boxed
12025
12026  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12027
12028         * common/m4/gst-docs.m4
12029         change flavour text from enable to disable as enable is our default
12030         closes bug Bug 135304
12031
12032 === release 0.7.5 ===
12033  
12034  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12035  
12036         * NEWS:
12037           instate NEWS file
12038         * Makefile.am:
12039         * gstreamer.spec.in:
12040         * RELEASE:
12041           put back release
12042         * configure.ac:
12043         * docs/random/release:
12044           more updates
12045
12046 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12047
12048         * gst/gsttag.c: (_gst_tag_initialize):
12049         * po/fr.po:
12050         * po/nl.po:
12051           remove hyphen from codec tags
12052
12053 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12054
12055         * gst/parse/Makefile.am:
12056           fix dependency so that a make from a clean build works the first
12057           time
12058
12059 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12060
12061         * docs/random/release:
12062           update release strategy
12063         * po/fr.po:
12064           auto-update po file
12065         * po/nl.po:
12066           update dutch translation
12067
12068 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12069
12070         * docs/manual/debugging.xml:
12071         fix manual for new debugging system
12072
12073 2004-02-25  Andy Wingo  <wingo@pobox.com>
12074
12075         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12076         gst_pad_link_prepare. Please email the list with specific reasons
12077         for reverting.
12078
12079 2004-02-24  Andy Wingo  <wingo@pobox.com>
12080
12081         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12082         invocations.
12083
12084         * gst/schedulers/gstoptimalscheduler.c:
12085         I added a mess of prototypes at the top of the file by way of
12086         documentation. Some of the operations on chains and groups were
12087         re-organized.
12088
12089         (create_group): Added a type argument so if the group is enabled,
12090         the setup_group_scheduler knows what to do.
12091         (group_elements): Added a type argument here, too, to be passed on
12092         to create_group.
12093         (group_element_set_enabled): If an unlinked PLAYING element is
12094         added to a bin, we have to create a new group to hold the element,
12095         and this function will be called before the group is added to the
12096         chain. Thus we have a valid case for group->chain==NULL. Instead
12097         of calling chain_group_set_enabled, just set the flag on the group
12098         (the chain's status will be set when the group is added to it).
12099         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12100         Setup the group scheduler when the group is enabled, not
12101         specifically when an element goes PAUSED->PLAYING. This means
12102         PLAYING elements can be added, linked, and scheduled into a
12103         PLAYING pipeline, as was intended.
12104         (add_to_group): Don't ref the group twice. I don't know when this
12105         double-ref got in here. Removing it has the potential to cause
12106         segfaults if other parts of the scheduler are buggy. If you find
12107         that the scheduler is segfaulting for you, put in an extra ref
12108         here and see if that hacks over the underlying issue. Of course,
12109         then find out what code is unreffing a group it doesn't own...
12110         (create_group): Make the extra refcount floating, and remove it
12111         after adding the element. This means that...
12112         (unref_group): Destroy when the refcount reaches 0, not 1, like
12113         every other refcounted object in the known universe.
12114         (remove_from_group): When a group becomes empty, set it to be not
12115         active, and remove it from its chain. Don't unref it again,
12116         there's no floating reference any more.
12117         (destroy_group): We have to remove the group from the chain in
12118         remove_from_group (rather than here) to break refcounting cycles
12119         (the chain always has a ref on the group). So assert that
12120         group->chain==NULL.
12121         (ref_group_by_count): Removed, it was commented out anyway.
12122         (merge_chains): Use the remove_from_chain and add_to_chain
12123         primitives to do the reparenting, instead of rolling our own
12124         implementation.
12125         (add_to_chain): The first non-disabled group in the chain's group
12126         list will be the entry point for the chain. Because buffers can
12127         accumulate in loop elements' peer bufpens, we preferentially
12128         schedule loop groups before get groups to avoid unnecessary
12129         execution of get-based groups when the bufpens are already full.
12130         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12131         (get_group_schedule_function): Ditto.
12132         (loop_group_schedule_function): Ditto.
12133         (gst_opt_scheduler_loop_wrapper): Ditto.
12134         (gst_opt_scheduler_iterate): Ditto.
12135
12136         I understand the opt scheduler now, yippee!
12137
12138         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12139         (gst_pad_get_name, gst_pad_set_chain_function) 
12140         (gst_pad_set_get_function, gst_pad_set_event_function) 
12141         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12142         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12143         (gst_pad_set_query_function, gst_pad_get_query_types) 
12144         (gst_pad_get_query_types_default) 
12145         (gst_pad_set_internal_link_function) 
12146         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12147         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12148         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12149         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12150         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12151         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12152         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12153         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12154         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12155         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12156         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12157         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12158         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12159         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12160         argument checks, and some doc fixes.
12161
12162         (gst_pad_custom_new_from_template): Um, does anyone
12163         use these functions? Actually make a custom pad instead of a
12164         normal one.
12165         (gst_pad_try_set_caps): Transpose some checks.
12166         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12167         the pad is in negotiation.
12168         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12169         
12170         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12171
12172         * gst/gstelement.h: 
12173         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12174         on the list.
12175
12176 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12177
12178         * gst/gstbin.c: (gst_bin_add):
12179           add error for not being able to add elements
12180
12181 2004-02-22  Julien MOUTTE <julien@moutte.net>
12182
12183         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12184         audio-codec and video-codec.
12185
12186 2004-02-22  Benjamin Otte  <otte@gnome.org>
12187
12188         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12189
12190         * autogen.sh:
12191           replace test -e with test -x for mkinstalldirs to be more portable.
12192           (fixes #134816)
12193
12194 2004-02-22  Benjamin Otte  <otte@gnome.org>
12195
12196         * gst/gstpad.c:
12197           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12198           too noisy
12199         * gst/gsttag.c: (_gst_tag_initialize):
12200         * gst/gsttag.h:
12201           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12202         * libs/gst/control/dparam.c: (gst_dparam_attach):
12203         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12204           check that types for attached dparams match
12205
12206 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12207
12208         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12209         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12210         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12211           fix errors
12212
12213 2004-02-20  Andy Wingo  <wingo@pobox.com>
12214
12215         * gst/gstbin.c:
12216         * gst/gstbuffer.c:
12217         * gst/gstplugin.c:
12218         * gst/registries/gstxmlregistry.c: 
12219         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12220
12221         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12222         (gst_element_add_pad): DEBUG->INFO, some fixes.
12223         (gst_element_get_compatible_pad_template): Just see if the
12224         templates' caps intersect, not if one is a strict subset of the
12225         other. This conforms more to what gst_pad_link_intersect() does.
12226         (gst_element_class_add_pad_template): Don't memcpy the pad
12227         template, just ref it.
12228         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12229
12230         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12231         (gst_pad_link_filtered): Debug changes.
12232         (gst_pad_link_prepare): New function, consolidated from
12233         can_link_filtered and link_filtered.
12234
12235         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12236         look more like that of the functions in gstelement.c
12237
12238         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12239         object, and return the empty string if object is NULL.
12240
12241         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12242         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12243         LOG, not DEBUG. We still get flex info on debug.
12244
12245         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12246         debug string more verbose.
12247         (plugin_times_older_than): DEBUG->LOG.
12248
12249 2004-02-20  Julien MOUTTE <julien@moutte.net>
12250
12251         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12252         will emit found_tag for each stream they demux with the codec.
12253
12254 2004-02-20  Benjamin Otte  <otte@gnome.org>
12255
12256         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12257           copy navigation event correctly. Check freeing tag lists. 
12258         * gst/gstthread.c: (gst_thread_change_state):
12259           don't abort() on state changing mess - it might happen because of
12260           bugs.
12261         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12262           use boxed functions
12263         * gst/gstvalue.h:
12264           fix GST_VALUE_HOLDS_CAPS
12265
12266 2004-02-19  David Schleef  <ds@schleef.org>
12267
12268         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12269         and use it for GST_FUNCTION.  (bug #134750)
12270
12271 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12272
12273         * po/fr.po:
12274         * po/nl.po:
12275           updating translations
12276
12277 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12278
12279         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12280
12281 2004-02-18  kost@imn.htwk-leipzig.de
12282
12283         reviewed by: David Schleef  <ds@schleef.org>
12284
12285         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12286         for libgstcontrol.
12287
12288 2004-02-18  David Schleef  <ds@schleef.org>
12289
12290         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12291         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12292         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12293         * tools/gst-inspect.c: (print_element_info): Support dumping of
12294         double dparam information.
12295
12296 2004-02-17  David Schleef  <ds@schleef.org>
12297
12298         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12299         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12300         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12301         Use GST_TYPE_CAPS in signal prototype.
12302         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12303         Convert GST_TYPE_CAPS to boxed.
12304         * gst/gstelement.c: (gst_element_class_init):
12305         Use GST_TYPE_TAG_LIST in signal prototype.
12306         * gst/gstindex.c: (gst_index_class_init):
12307         * gst/gstindex.h:
12308         Add GST_TYPE_INDEX_ENTRY type.
12309         * gst/gstmarshal.list:
12310         Add necessary marshal types.
12311         * gst/gstpad.c: (gst_real_pad_class_init),
12312         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12313         (gst_pad_recover_caps_error):
12314         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12315         * gst/gststructure.c: (_gst_structure_initialize),
12316         (gst_structure_copy), (_gst_structure_copy_conditional):
12317         * gst/gststructure.h:
12318         Convert GST_TYPE_STRUCTURE to boxed.
12319         * gst/gsttag.c: (gst_tag_list_get_type):
12320         * gst/gsttag.h:
12321         Add GST_TYPE_TAG_LIST type.
12322
12323 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12324
12325         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12326         to what we agreed with david.
12327         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12328
12329 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12330
12331         * po/nl.po: update translation
12332
12333 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12334
12335         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12336           throw an error if spider is trying to play a mime type there is
12337           no decoder for
12338         * po/POTFILES.in:
12339           add gst/autoplug/gstspider.c for translation
12340
12341 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12342
12343         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12344         silently when the pad is negotiating.
12345
12346 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * docs/faq/Makefile.am:
12349           add script to run gstreamer uninstalled 
12350         * docs/faq/faq.xml:
12351         * docs/faq/developing.xml:
12352         * docs/faq/gst-uninstalled:
12353           extract script to run gstreamer uninstalled
12354         * docs/manuals.mak:
12355           add EXTRA_SOURCES variable for Makefile.am's to set to
12356           use additional SOURCE files for the doc build
12357
12358 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12359
12360         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12361
12362 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12363
12364         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12365         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12366         an error was thrown by osssink. Basically a state change failure for
12367         an element in a different scheduling group was considered as
12368         successful, which means that caps nego was going on and weird stuff
12369         happened. Like I wrote in the comment there, if someone wants to
12370         revert that please drop me a mail explaining why because I really see
12371         no point in keeping that broken behaviour there.
12372         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12373         be empty, we then return NULL which will trigger a nice error when 
12374         pulling from the pad.
12375
12376 2004-02-13  David Schleef  <ds@schleef.org>
12377
12378         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12379         (gst_dparam_get_property), (gst_dparam_set_property),
12380         (gst_dparam_do_update_default):
12381         * libs/gst/control/dparam.h:
12382         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12383         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12384         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12385         (gst_dpsmooth_do_update_double):
12386         * libs/gst/control/dparam_smooth.h:
12387         * libs/gst/control/dparammanager.c:
12388         (gst_dpman_inline_direct_update):
12389         Add support for double dparams.
12390
12391 2004-02-13  David Schleef  <ds@schleef.org>
12392
12393         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12394         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12395
12396 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12397
12398         reviewed by: David Schleef  <ds@schleef.org>
12399
12400         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12401         (gst_fdsrc_init), (gst_fdsrc_set_property),
12402         (gst_fdsrc_get_property), (gst_fdsrc_get):
12403         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12404         and sends an EOS event if file descriptor reading times out.
12405
12406 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12407
12408         * configure.ac:
12409           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12410
12411 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12412
12413         * configure.ac: pass required libxml version as argument
12414         (bug reported by Christophe Fergeau)
12415
12416 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12417   
12418         * docs/gst/gstreamer-docs.sgml:
12419         * docs/gst/tmpl/gstxml.sgml:
12420         * docs/libs/gstreamer-libs-docs.sgml:
12421           version API docs
12422
12423 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12424
12425         * gst/gstinfo.c:
12426         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12427         (gst_registry_pool_feature_filter):
12428         * gst/gstthread.c: (gst_thread_class_init):
12429         * gst/gstvalue.c:
12430           add includes exposed by building without libxml
12431         * gst/indexers/Makefile.am:
12432           do not build fileindex when LOADSAVE disabled; we should have
12433           a better libxml check later since fileindex depends on xml, not
12434           LOADSAVE or REGISTRY
12435         * libs/gst/control/Makefile.am:
12436           link with m
12437         * tools/Makefile.am:
12438           fix wrong source code for gst-xmlinspect
12439
12440 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * configure.ac:
12443           fix gcov help output
12444           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12445         * docs/random/release:
12446           some updated releasing notes
12447         * gstreamer.spec.in:
12448           more updates
12449
12450 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12451
12452         * docs/faq/faq.xml:
12453         * docs/manual/manual.xml:
12454         * docs/pwg/pwg.xml:
12455         * docs/pwg/titlepage.xml:
12456           put version in documentation
12457
12458 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * tools/Makefile.am: fix man page installation
12461
12462 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12463
12464         * configure.ac:
12465           don't check for libxml when load/save and registry disabled (#105844)
12466         * gstreamer.spec.in:
12467           sync with fedora candidate spec
12468
12469 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * po/fr.po:
12472         * po/nl.po:
12473           replace multidisksrc with multifilesrc
12474
12475 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12476
12477         * po/POTFILES.in:
12478           update to multidisksrc => multifilesrc file renaming (#134145)
12479
12480 2004-02-11  David Schleef  <ds@schleef.org>
12481
12482         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12483         * docs/gst/tmpl/gstpadtemplate.sgml: same
12484         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12485         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12486         fixing dance.
12487         * gst/gstutils.c: Remove disabled code that uses GstProps.
12488         * gst/registries/gstxmlregistry.h: same
12489         * docs/random/ds/0.9-suggested-changes: random notes
12490
12491 2004-02-11  kost@imn.htwk-leipzig.de
12492
12493         reviewed by: David Schleef  <ds@schleef.org>
12494
12495         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12496         initialisation of clock (bug #134128)
12497
12498 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12499
12500         * configure.ac:
12501         * gst/elements/Makefile.am:
12502         * gst/elements/gstelements.c:
12503         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12504         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12505         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12506         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12507         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12508         * gst/elements/gstmultifilesrc.h:
12509           rename multidisksrc to multifilesrc (part of #122200)
12510
12511 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12512
12513         * docs/manuals.mak:
12514           fix automake complaints
12515         * gst-element-check.m4:
12516           fix unquotedness
12517
12518 2004-02-11  David Schleef  <ds@schleef.org>
12519
12520         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12521         * gst/gstatomic_impl.h: Disable sparc implementation.
12522
12523 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12524
12525         * gst-element-check.m4:
12526           fix underquoted macros as reported by automake 1.8.x (#133800)
12527         * configure.ac:
12528           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12529           by autopoint (fixes #132996)
12530
12531 2004-02-10  Andy Wingo  <wingo@pobox.com>
12532
12533         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12534         way to do inheritance.
12535         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12536         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12537         Routine docs.
12538         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12539         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12540         doc.
12541         (gst_pad_unlink, gst_pad_is_linked): Docs.
12542         (gst_pad_renegotiate): A brief description of capsnego.
12543         (gst_pad_try_set_caps): Document.
12544         (gst_pad_try_set_caps_nonfixed): Document.
12545         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12546         (gst_pad_set_parent): Deprecated (although not out of the API).
12547         (gst_pad_get_parent): Deprecated, although many plugins use this.
12548         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12549         are private and will go away in 0.9.
12550         (gst_pad_perform_negotiate): Doc.
12551         (gst_pad_link_unnegotiate): I think this is meant to be static.
12552         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12553         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12554         (gst_pad_get_peer): Doc updates.
12555         (gst_pad_caps_change_notify): Doc.
12556         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12557         (gst_ghost_pad_new): Doc fixes.
12558
12559         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12560         (gst_object_check_uniqueness): 
12561
12562         * gst/gstelement.c (gst_element_add_pad) 
12563         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12564         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12565         (gst_element_get_static_pad, gst_element_get_pad_list) 
12566         (gst_element_class_get_pad_template_list) 
12567         (gst_element_class_get_pad_template): Work on the docs.
12568         (gst_element_get_pad_template_list): Uses the class method.
12569         (gst_element_get_compatible_pad_template): Docs, and consolidate
12570         some test conditions. 
12571         (gst_element_get_pad_from_template): New static function.
12572         (gst_element_request_compatible_pad): Docs, and work with
12573         non-request compatible templates. 
12574         (gst_element_get_compatible_pad_filtered): Docs and remove
12575         redundant checks.
12576         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12577         (gst_element_link_filtered, gst_element_link_many) 
12578         (gst_element_link, gst_element_link_pads) 
12579         (gst_element_unlink_many): Docs.
12580
12581 2004-02-05  Andy Wingo  <wingo@pobox.com>
12582
12583         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12584         s/pointer/boxed/.
12585
12586         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12587
12588         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12589         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12590         with the type=GST_TYPE_CAPS. This allows language bindings to know
12591         what kind of data they're dealing with.
12592
12593         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12594         to NULL when g_value_init is called. GstCaps, which rolls its own
12595         type implementation, now does the same instead of allocating empty
12596         caps.
12597         (_gst_caps_initialize, _gst_caps_collect_value,
12598         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12599         table methods. This allows G_VALUE_COLLECT to work.
12600
12601 2004-02-05  Andy Wingo  <wingo@pobox.com>
12602
12603         * configure.ac:
12604         * testsuite/Makefile.am (SUBDIRS): 
12605         * testsuite/ghostpads/Makefile.am: 
12606         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12607
12608         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12609         These two routines are the only ones that set
12610         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12611         pad template. They should be made static, depending on ABI needs.
12612         (gst_real_pad_dispose): Handle the case of ghost pads without a
12613         parent. Assert after dealing with ghost pads that the ghost pad
12614         list is empty.
12615         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12616         set after creation.
12617         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12618         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12619         functions. set_property will call add_ghost_pad/remove_ghost_pad
12620         as appropriate.
12621         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12622
12623         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12624         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12625         (gst_element_remove_pad): Handle ghost pads as well.
12626         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12627         depending on API-stability needs).
12628
12629 2004-02-05  Andy Wingo  <wingo@pobox.com>
12630
12631         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12632         of course they're const
12633
12634 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * tools/Makefile.am:
12637         * tools/gst-feedback:
12638         * tools/gst-feedback-0.7:
12639           make gst-feedback versioned too for consistency
12640
12641 2004-02-11  David Schleef  <ds@schleef.org>
12642
12643         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12644         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12645
12646 2004-02-10  Julien MOUTTE <julien@moutte.net>
12647
12648         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12649         the structure does not contain a valid tag list. Adding a safety check
12650         to remove a noisy warning in that case.
12651
12652 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12653
12654         * gst/gst.c: fix name to be in line with others
12655
12656 2004-02-09  Julien MOUTTE <julien@moutte.net>
12657
12658         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12659         not shout that loud when len is 0. Just return 0 silently.
12660
12661 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12662
12663         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12664         because data_unref has one and I prefer the debug to be symetric.
12665         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12666         were refed when added to the queue and unrefed only once when the queue
12667         was flushed. Now the flush handler unref the buffers two times : first
12668         unref for the ref added when pushing in the queue's tail and second
12669         unref to destroy the flushed buffer.
12670
12671 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12672
12673         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12674
12675 2004-02-06  David Schleef  <ds@schleef.org>
12676
12677         * docs/random/ds/0.9-suggested-changes: Random ramblings
12678         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12679         to int before printing.
12680         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12681         * gst/parse/parse.l: same.  See bug #129600
12682
12683 2004-02-06  David Schleef  <ds@schleef.org>
12684
12685         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12686         (gst_index_add_entry), (gst_index_add_associationv),
12687         (gst_index_add_association): Add gst_index_add_associationv()
12688         and clean up gst_index_add_association(). #127133
12689
12690 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12691
12692         * autogen.sh: check out common with right tag if CVS/Tag exists
12693
12694 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12695
12696         * testsuite/ghostpads/ghostpads.c: (main):
12697           fix testsuite from segfaulting
12698
12699 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12700
12701         * Makefile.am: add release target
12702         * configure.ac: bump nano to 1
12703         * docs/random/release:
12704
12705 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12706
12707         * gst/gstcaps.h:
12708         * gst/gstelement.c: (gst_element_base_class_init),
12709         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12710         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12711         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12712         (gst_real_pad_dispose):
12713         * gst/gststructure.c: (gst_structure_free),
12714         (gst_structure_from_string):
12715           put reverted patch back in
12716         * gst/gstelement.c: (gst_element_remove_pad):
12717           free explicit caps if they're set
12718         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12719           copy the structure when fixating
12720
12721 2004-02-05  David Schleef  <ds@schleef.org>
12722
12723         * gst/gstmarshal.list:
12724         * gst/gstpad.c: (gst_real_pad_class_init),
12725         (_gst_real_pad_fixate_accumulator):
12726         Revert POINTER->BOXED change in signal marshaller.
12727
12728 === release 0.7.4 ===
12729                                                                                 
12730 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12731                                                                                 
12732         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12733         * configure.ac: changed for release
12734
12735 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12736
12737         * gstreamer.spec.in:
12738           bump required version of gtk-doc
12739
12740 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12741
12742         * gst/gstcaps.h:
12743         * gst/gstelement.c: (gst_element_base_class_init),
12744         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12745         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12746         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12747         (gst_real_pad_dispose):
12748         * gst/gststructure.c: (gst_structure_free),
12749         (gst_structure_from_string):
12750           revert patch that breaks applications, reapply after release
12751           to get this fixed properly
12752
12753 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12754
12755         * gst/gsttag.c: (_gst_tag_initialize):
12756         * gst/gsttag.h:
12757           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12758
12759 2004-02-04  David Schleef  <ds@schleef.org>
12760
12761         Fix some memleaks:
12762         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12763         (gst_spider_plug_from_srcpad):
12764         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12765
12766 2004-02-04  David Schleef  <ds@schleef.org>
12767
12768         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12769         a GstRealPad before accessing its structure members.
12770
12771 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12772
12773         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12774         (gst_clock_get_speed):
12775         * gst/gstclock.h:
12776           reset padding, remove unused fields
12777
12778 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12779
12780         * gst/autoplug/gstspideridentity.c:
12781         (gst_spider_identity_sink_loop_type_finding):
12782           use get_allowed_caps, not get_caps (fixes #132519)
12783         * gst/elements/gsttypefind.c: (stop_typefinding):
12784           use correct order when sending buffers and seeking
12785
12786 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12787
12788         * configure.ac:
12789         * gst/gstelement.h:
12790         * gst/gstpad.h:
12791         * gst/gstqueue.h:
12792           upgrade libtool CURRENT, reset padding
12793
12794 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12795
12796         * configure.ac:
12797           bump to prerelease
12798           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12799
12800 2004-02-04  David Schleef  <ds@schleef.org>
12801
12802         * docs/random/ds/0.9-suggested-changes: random notes
12803         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12804         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12805         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12806         expansion.
12807         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12808         (gst_filesink_get_query_types): same
12809         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12810         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12811         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12812         to use new GST_PTR_FORMAT.
12813         * gst/gstelement.h: deprecate function factory macros
12814         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12815         These are our last variadic macros that can't be replaced with
12816         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12817         attempting to deprecate gst_element_clock_wait().
12818         * gst/gstevent.h: same
12819         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12820         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12821         * gst/gstpad.h: deprecate function factory macros similar to above.
12822
12823 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12824
12825         * configure.ac:
12826         * tools/Makefile.am:
12827         * tools/gst-run.c: (popt_callback), (hash_print_key),
12828         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12829         (get_candidates), (main):
12830           add new source file to generate non-versioned wrapper binaries
12831           for our tools.
12832
12833 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12834
12835         * gst/gstevent.c: (_gst_event_free):
12836           actually break; inside the switch statement
12837         * gst/parse/grammar.y:
12838           fix memleak where GValues weren't unset
12839
12840 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12841
12842         * gst/gststructure.c: (gst_structure_from_string):
12843           fix huge memleak
12844         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12845         (new_entry), (gst_type_find_element_chain):
12846         * gst/gstelement.c: (gst_element_base_class_init),
12847         (gst_element_class_set_details):
12848         * gst/gstpad.c: (gst_pad_can_link_filtered):
12849           fix smaller memleaks
12850         * gst/gstpad.c: (gst_real_pad_dispose):
12851           check that explicit caps are gone
12852         * gst/gststructure.c: (gst_structure_free):
12853           actually free the structure
12854         * gst/gstelement.c: (gst_element_clear_pad_caps):
12855           unset explicit caps
12856
12857 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12858
12859         * tools/Makefile.am:
12860           use AM_CFLAGS since all the CFLAGS are the same
12861           use AM_LDFAGS
12862
12863 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12864
12865         * docs/manual/gnome.xml:
12866           expand example a little
12867         * gst/gst.c: (gst_init_with_popt_table),
12868         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12869           make sure popt option displays are done with right textdomain
12870           use GstPoptOption type
12871         * gst/gst.h:
12872           create GstPoptOption type
12873
12874 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12875
12876         * gst/gsterror.c: (_gst_stream_errors_init):
12877         * gst/gsterror.h:
12878           adding error type for no codec
12879         * po/POTFILES.in:
12880           add gst-inspect
12881         * po/nl.po:
12882           update dutch translation
12883         * tools/gst-inspect.c: (print_element_list), (main):
12884           do proper internationalization
12885         * tools/gst-launch.c: (idle_func):
12886           remove commented out function call
12887
12888 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12889
12890         * docs/README:
12891           add some error fixing notes
12892         * docs/gst/gstreamer-sections.txt:
12893           remove double entries
12894         * docs/gst/tmpl/gstbin.sgml:
12895         * docs/gst/tmpl/gstclock.sgml:
12896           remove override
12897         * docs/gst/tmpl/gstelement.sgml:
12898         * docs/gst/tmpl/gstindex.sgml:
12899         * docs/gst/tmpl/gstobject.sgml:
12900         * docs/gst/tmpl/gstpadtemplate.sgml:
12901         * docs/gst/tmpl/gstreamer-unused.sgml:
12902         * docs/gst/tmpl/gsttag.sgml:
12903         * docs/gst/tmpl/gstthread.sgml:
12904         * docs/gst/tmpl/gstxml.sgml:
12905         * gst/gsttag.h:
12906           sync header prototypes with c decls
12907         * gst/gsttaginterface.c:
12908           fix doc headers
12909
12910 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12911
12912         * gst/parse/Makefile.am:
12913         * gst/gstobject.h:
12914           get rid of gstmarshal.h dependency. It's not needed.
12915         * gst/gst.h:
12916         * gst/elements/gstfakesink.c:
12917         * gst/elements/gstfakesrc.c:
12918         * gst/elements/gstidentity.c:
12919         * gst/gstbin.c:
12920         * gst/gstelement.c:
12921         * gst/gstindex.c:
12922         * gst/gstobject.c:
12923         * gst/gstpad.c:
12924         * gst/gstthread.c:
12925         * gst/gstxml.c:
12926         * libs/gst/control/dparam.c:
12927         * libs/gst/control/dparammanager.c:
12928           include gstmarshal.h.
12929         Fixes #132045
12930
12931 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12932
12933         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12934         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12935         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12936         * gst/elements/gstfilesrc.h:
12937           don't ref the filesrc when creating mmaped buffers. Don't keep a
12938           list of not-yet-destroyed buffers.
12939         * gst/gstbuffer.h:
12940           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12941
12942 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12943
12944         * gst/gst.c: (init_pre):
12945           remove textdomain
12946
12947 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12948
12949         * docs/pwg/advanced-events.xml:
12950         * docs/pwg/advanced-scheduling.xml:
12951         * docs/pwg/intro-basics.xml:
12952         * docs/pwg/other-manager.xml:
12953         * docs/pwg/other-nton.xml:
12954         * docs/pwg/other-ntoone.xml:
12955         * docs/pwg/other-oneton.xml:
12956         * docs/pwg/pwg.xml:
12957           All sort of documentation... Forgot what. Point is that I want this
12958           in before I leave. The 'other-*' will be the last section and will
12959           explain issues specific to these type of elements.
12960
12961 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12962
12963         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12964         (gst_filesrc_get_read):
12965           set all the values on buffers that we can
12966
12967 2004-02-02  David Schleef  <ds@schleef.org>
12968
12969         Change usage of isblah() to g_ascii_isblah() to be more locale
12970         independent.  (#133076)
12971         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12972         * gst/gstutils.c:
12973         * gst/parse/parse.l:
12974
12975 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12976
12977         reviewed by: David Schleef  <ds@schleef.org>
12978
12979         Fix memory leaks:
12980         * gst/gstcaps.c: (gst_caps_to_string):
12981         * gst/registries/gstxmlregistry.c:
12982         (gst_xml_registry_add_path_list_func),
12983         (gst_xml_registry_parse_padtemplate):
12984
12985 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12986
12987         * gst/gstelement.c: (gst_element_default_error):
12988           suffix error messages with period
12989
12990 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12993         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12994         * gst/gsterror.c: (gst_error_get_message):
12995           Suffix with dots
12996         * po/fr.po:
12997         * po/nl.po:
12998           Update translation files
12999
13000 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13001
13002         * gst/autoplug/gstspideridentity.c:
13003         (gst_spider_identity_sink_loop_type_finding):
13004         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13005         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13006         (gst_filesink_close_file), (gst_filesink_handle_event),
13007         (gst_filesink_chain):
13008         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13009         (gst_filesrc_get_read), (gst_filesrc_open_file):
13010         * gst/elements/gstidentity.c: (gst_identity_chain):
13011         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13012         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13013         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13014         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13015         * gst/gsterror.c: (_gst_core_errors_init),
13016         (_gst_library_errors_init), (_gst_resource_errors_init),
13017         (_gst_stream_errors_init), (gst_error_get_message):
13018         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13019         (gst_pad_recover_caps_error), (gst_pad_pull):
13020         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13021         * gst/schedulers/gstbasicscheduler.c:
13022         (gst_basic_scheduler_chainhandler_proxy),
13023         (gst_basic_scheduler_gethandler_proxy),
13024         (gst_basic_scheduler_cothreaded_chain):
13025           Suffix error messages with period.
13026           Use (NULL) instead of NULL
13027
13028 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13029
13030         * docs/gst/tmpl/gstelement.sgml:
13031         * docs/gst/tmpl/gstxml.sgml:
13032         * gst/gstelement.c: (gst_element_error_full):
13033           add element path to error
13034
13035 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13036
13037         * docs/random/mimetypes:
13038           update raw int/float info
13039         * gst/gsttag.c: (_gst_tag_initialize):
13040         * gst/gsttag.h:
13041           add GST_TAG_ENCODER
13042
13043 2004-01-30  David Schleef  <ds@schleef.org>
13044
13045         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13046           missing (#132991)
13047
13048 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13049
13050         reviewed by Benjamin Otte 
13051           parts of the patch submitted in bug #113913
13052
13053         * configure.ac:
13054           use AC_C_INLINE. Use = instead of == with test
13055         * examples/plugins/example.c:
13056         * gst/autoplug/gstspideridentity.c:
13057         * gst/elements/gstfdsrc.c:
13058         * gst/elements/gstfilesrc.c:
13059         * gst/elements/gstidentity.c:
13060         * gst/elements/gstmultidisksrc.c:
13061         * gst/elements/gststatistics.c:
13062         * gst/gstelement.c:
13063         * gst/gstobject.c:
13064         * gst/gstpad.c:
13065         * gst/gstpipeline.c:
13066         * gst/gstthread.c:
13067           don't end enums with a comma
13068         * gst/gstindex.c: (gst_index_compare_func):
13069           do explicit casting to gint
13070         * gst/gsttrace.c: (gst_trace_text_flush):
13071           #define strsize as a macro
13072
13073 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13074
13075         * docs/README:
13076         * docs/gst/gstreamer-docs.sgml:
13077         * docs/gst/gstreamer-sections.txt:
13078         * docs/gst/tmpl/gstelement.sgml:
13079         * docs/gst/tmpl/gsterror.sgml:
13080         * docs/gst/tmpl/gstinterface.sgml:
13081         * docs/gst/tmpl/gstreamer-unused.sgml:
13082         * docs/gst/tmpl/gststructure.sgml:
13083         * docs/gst/tmpl/gsttag.sgml:
13084         * docs/gst/tmpl/gsttaginterface.sgml:
13085         * docs/gst/tmpl/gstvalue.sgml:
13086         make sure all API ends up in the built docs
13087         * gst/gstinterface.c:
13088         * gst/gststructure.c: (gst_structure_id_set_value),
13089         (gst_structure_set_value), (gst_structure_id_get_value):
13090         * gst/gststructure.h:
13091         * gst/gstvalue.h:
13092         sync .h with .c declarations
13093
13094 2004-01-30  Julien Moutte  <julien@moutte.net>
13095
13096         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13097         Ronald will fix riffread.
13098
13099 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13100
13101         * docs/pwg/advanced-interfaces.xml:
13102           Added tuner interface docs.
13103
13104 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13105
13106         * docs/random/mimetypes:
13107           correct Theora information
13108         * gst/gstelement.h:
13109           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13110
13111 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13112
13113         * gst/gstelement.c: (gst_element_error_full):
13114         * gst/gstelement.h:
13115           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13116
13117 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13118
13119         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13120         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13121         again and even before DISCONT.
13122         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13123         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13124         bytestream so that it's not stopping to fill the bytestream if events
13125         different than EOS or DISCONT are received. Instead it process them so
13126         that they go downstream.
13127
13128 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13129
13130         * docs/gst/tmpl/gstelement.sgml:
13131         * docs/gst/tmpl/gstreamer-unused.sgml:
13132         * docs/gst/tmpl/gstxml.sgml:
13133         * gst/autoplug/gstspideridentity.c:
13134         (gst_spider_identity_sink_loop_type_finding):
13135         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13136         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13137         (gst_filesink_close_file), (gst_filesink_handle_event),
13138         (gst_filesink_chain):
13139         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13140         (gst_filesrc_get_read), (gst_filesrc_open_file):
13141         * gst/elements/gstidentity.c: (gst_identity_chain):
13142         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13143         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13144         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13145         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13146         * gst/gstelement.h:
13147         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13148         (gst_pad_recover_caps_error), (gst_pad_pull):
13149         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13150         * gst/schedulers/gstbasicscheduler.c:
13151         (gst_basic_scheduler_chainhandler_proxy),
13152         (gst_basic_scheduler_gethandler_proxy),
13153         (gst_basic_scheduler_cothreaded_chain):
13154           gst_element_error -> GST_ELEMENT_ERROR
13155
13156 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * docs/Makefile.am:
13159         * docs/gst/tmpl/gstelement.sgml:
13160         * docs/gst/tmpl/gstxml.sgml:
13161         * docs/manuals.mak:
13162         * docs/pwg/advanced-request.xml:
13163         * docs/pwg/advanced-scheduling.xml:
13164         * docs/pwg/advanced-tagging.xml:
13165           fix non-validating docbook using CDATA
13166           make sure make check-local gets run first to check if it validates
13167
13168 2004-01-29  Julien MOUTTE <julien@moutte.net>
13169
13170         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13171         handling (up and downstream).
13172         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13173         my_filter thing.
13174
13175 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13176
13177         * docs/pwg/advanced-tagging.xml:
13178           Add docs about tag writing.
13179
13180 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13181
13182         * docs/pwg/advanced-tagging.xml:
13183           Add a part about tag reading and application signalling... Tag
13184           writing still needs to be documented.
13185         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13186           We can set file locations in READY, too.
13187
13188 2004-01-29  Julien MOUTTE <julien@moutte.net>
13189
13190         * docs/random/ds/element-checklist: Adding some notes about src
13191         events.
13192
13193 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13194
13195         * docs/random/mimetypes:
13196           Update docs to point to correct elements for various mimetypes, and
13197           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13198           <stephane.loeuillet@tiscali.fr>.
13199
13200 2004-01-28  David Schleef  <ds@schleef.org>
13201
13202         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13203
13204 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13205
13206         * docs/random/mimetypes:
13207           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13208           undefined"
13209         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13210           make it only work in NULL.
13211         * gst/gstcaps.c:
13212           don't posion NULL caps
13213         * gst/gstelement.c: (gst_element_set_time):
13214           add debugging statement
13215         * gst/gstelement.c: (gst_element_emit_found_tag),
13216         (gst_element_found_tag_func), (gst_element_found_tags):
13217         * gst/gstelement.h:
13218           These functions take const taglists
13219         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13220           fix memleak
13221         * gst/gstpad.c: (gst_pad_event_default):
13222           make more effort on handling discont and clocks, g_warn if everything
13223           fails
13224         * gst/gststructure.c: (gst_structure_remove_fields),
13225         (gst_structure_remove_fields_valist):
13226         * gst/gststructure.h:
13227           add gst_structure_remove_fields(_valist)
13228         * gst/gsttag.c:
13229           fix doc glitch
13230
13231 2004-01-28  David Schleef  <ds@schleef.org>
13232
13233         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13234         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13235         Fix memory leakage of gst_caps_to_string().
13236
13237         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13238         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13239         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13240         (gst_spider_identity_sink_loop_type_finding):
13241         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13242         (find_suggest):
13243         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13244         (gst_pad_set_explicit_caps):
13245         * gst/parse/grammar.y:
13246
13247 2004-01-28  David Schleef  <ds@schleef.org>
13248
13249         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13250         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13251         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13252         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13253         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13254         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13255         (gst_debug_log_default), (_gst_info_printf_extension),
13256         (_gst_info_printf_extension_arginfo):  Add printf extension.
13257         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13258         * gst/gststructure.c: (gst_structure_to_string),
13259         (_gst_structure_parse_value): Use gst_value_deserialize() and
13260         remove old code.
13261         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13262         (gst_value_deserialize_boolean), (gst_strtoi),
13263         (gst_value_deserialize_int), (gst_value_deserialize_double),
13264         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13265         a bunch of deserialize functions and gst_value_deserialize.
13266         * gst/gstvalue.h: er, _de_serialize, not unserialize
13267         * testsuite/caps/string-conversions.c: (main): We don't currently
13268         handle (float) in caps, so convert these to (double).
13269         * testsuite/debug/Makefile.am: Add new test for the printf extension
13270         * testsuite/debug/printf_extension.c: (main): same
13271
13272 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13273
13274         * docs/random/company/time:
13275           Add some docs about clocking and time
13276
13277 2004-01-28  Julien MOUTTE <julien@moutte.net>
13278
13279         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13280
13281 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13282
13283         * docs/pwg/advanced-clock.xml:
13284         * docs/pwg/advanced-dparams.xml:
13285         * docs/pwg/advanced-events.xml:
13286         * docs/pwg/advanced-interfaces.xml:
13287         * docs/pwg/advanced-midi.xml:
13288         * docs/pwg/advanced-request.xml:
13289         * docs/pwg/advanced-scheduling.xml:
13290         * docs/pwg/advanced-tagging.xml:
13291         * docs/pwg/advanced-types.xml:
13292         * docs/pwg/appendix-checklist.xml:
13293         * docs/pwg/building-boiler.xml:
13294         * docs/pwg/building-chainfn.xml:
13295         * docs/pwg/building-filterfactory.xml:
13296         * docs/pwg/building-pads.xml:
13297         * docs/pwg/building-props.xml:
13298         * docs/pwg/building-signals.xml:
13299         * docs/pwg/building-state.xml:
13300         * docs/pwg/building-testapp.xml:
13301         * docs/pwg/intro-basics.xml:
13302         * docs/pwg/intro-preface.xml:
13303         * docs/pwg/other-autoplugger.xml:
13304         * docs/pwg/other-sink.xml:
13305         * docs/pwg/other-source.xml:
13306         * docs/pwg/titlepage.xml:
13307           fix up id's
13308
13309 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13310
13311         * docs/95NonPath:
13312         * docs/HACKING:
13313         * docs/README:
13314         * docs/building-the-docs-on-debian:
13315           collect relevant bits of doc info
13316
13317 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13318
13319         * docs/pwg/advanced_tagging.xml:
13320           Half-assed commit so Thomas can re-arrange document IDs here to be
13321           consistent, too.
13322
13323 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13324
13325         * docs/manual/autoplugging.xml:
13326         * docs/manual/bins-api.xml:
13327         * docs/manual/bins.xml:
13328         * docs/manual/buffers-api.xml:
13329         * docs/manual/buffers.xml:
13330         * docs/manual/clocks.xml:
13331         * docs/manual/components.xml:
13332         * docs/manual/cothreads.xml:
13333         * docs/manual/debugging.xml:
13334         * docs/manual/dparams-app.xml:
13335         * docs/manual/dynamic.xml:
13336         * docs/manual/elements-api.xml:
13337         * docs/manual/elements.xml:
13338         * docs/manual/factories.xml:
13339         * docs/manual/gnome.xml:
13340         * docs/manual/goals.xml:
13341         * docs/manual/helloworld.xml:
13342         * docs/manual/helloworld2.xml:
13343         * docs/manual/init-api.xml:
13344         * docs/manual/intro.xml:
13345         * docs/manual/links-api.xml:
13346         * docs/manual/links.xml:
13347         * docs/manual/manual.xml:
13348         * docs/manual/motivation.xml:
13349         * docs/manual/pads-api.xml:
13350         * docs/manual/pads.xml:
13351         * docs/manual/plugins-api.xml:
13352         * docs/manual/plugins.xml:
13353         * docs/manual/programs.xml:
13354         * docs/manual/queues.xml:
13355         * docs/manual/quotes.xml:
13356         * docs/manual/schedulers.xml:
13357         * docs/manual/states-api.xml:
13358         * docs/manual/states.xml:
13359         * docs/manual/threads.xml:
13360         * docs/manual/typedetection.xml:
13361         * docs/manual/xml.xml:
13362           use chapter, part, section or misc as id starts for all bits
13363
13364 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13365
13366         * docs/gst/gstreamer-sections.txt:
13367           Fix up TITLE of the sections
13368
13369 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13370
13371         * docs/pwg/advanced_interfaces.xml:
13372           Add documentation on propertyprobing.
13373         * docs/pwg/advanced_events.xml:
13374         * docs/pwg/advanced_tagging.xml:
13375         * docs/pwg/building_boiler.xml:
13376         * docs/pwg/building_filterfactory.xml:
13377         * docs/pwg/pwg.xml:
13378           Move filterfactory and tagging into their own chapter, add a chapter
13379           on events. all these are empty placeholders that will be filled in
13380           some day.
13381
13382 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13383
13384         * docs/pwg/advanced_interfaces.xml:
13385           Docs for mixer interface. Also a check for website uploading.
13386
13387 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13388
13389         * docs/HACKING:
13390         * docs/Makefile.am:
13391         * docs/faq/Makefile.am:
13392         * docs/gst/Makefile.am:
13393         * docs/gst/tmpl/gstelement.sgml:
13394         * docs/gst/tmpl/gstplugin.sgml:
13395         * docs/gst/tmpl/gstreamer-unused.sgml:
13396         * docs/libs/Makefile.am:
13397         * docs/manual/Makefile.am:
13398         * docs/manuals.mak:
13399         * docs/pwg/Makefile.am:
13400         * docs/upload.mak:
13401           Separate out upload target and make it similar for
13402           both docbook and gtk-doc docs
13403
13404 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13405
13406         * docs/manuals.mak:
13407           Fix upload target to work with freedesktop
13408
13409 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13410
13411         * docs/pwg/advanced_types.xml:
13412           Add notes on creating your own types.
13413         * docs/pwg/building_boiler.xml:
13414         * docs/pwg/building_pads.xml:
13415         * docs/pwg/building_state.xml:
13416           Add some stuff about how to retrieve values from structures, how
13417           that relates to types and change layout slightly again to be almost
13418           perfect.
13419
13420 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13421
13422         * docs/pwg/advanced_dparams.xml:
13423         * docs/pwg/advanced_scheduling.xml:
13424           Change index layout slightly.
13425
13426 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13427
13428         * docs/pwg/advanced_clock.xml:
13429         * docs/pwg/advanced_interfaces.xml:
13430         * docs/pwg/advanced_midi.xml:
13431           General placeholders for now.
13432         * docs/pwg/advanced_request.xml:
13433           Explanation about sometimes and request pads.
13434         * docs/pwg/advanced_scheduling.xml:
13435           Concept of bytestream, loopfunctions and schedulers.
13436         * docs/pwg/building_boiler.xml:
13437           Add something about plugin-init.
13438
13439 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13440
13441         * docs/pwg/building_pads.xml:
13442           Fix broken docbook
13443
13444 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13445
13446         * docs/pwg/advanced_interfaces.xml:
13447         * docs/pwg/pwg.xml:
13448           Add as a placeholder for future filling-in.
13449         * docs/pwg/basics_autoplugging.xml:
13450         * docs/pwg/basics_buffers.xml:
13451         * docs/pwg/basics_elements.xml:
13452         * docs/pwg/basics_events.xml:
13453         * docs/pwg/basics_plugins.xml:
13454         * docs/pwg/basics_types.xml:
13455           Remove, because unused (this is all in intro_basics.xml).
13456         * docs/pwg/building_signals.xml:
13457           Short intro to signals + reference to GObject docs - we really
13458           shouldn't go into these sort of things to deply because we don't
13459           use them that extensively anyway.
13460         * docs/pwg/building_state.xml:
13461           Explanation of states. Benjamin, please check.
13462         * docs/pwg/building_testapp.xml:
13463           Put everything in one page - putting only a few lines of content
13464           per page doesn't really make sense.
13465
13466           Time to get into the advanced topics. ;).
13467
13468 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13469
13470         * docs/pwg/advanced_types.xml:
13471           Finish documenting the current state of mimetypes.
13472         * docs/pwg/building_boiler.xml:
13473         * docs/pwg/building_chainfn.xml:
13474         * docs/pwg/building_pads.xml:
13475         * docs/pwg/building_props.xml:
13476         * docs/pwg/building_testapp.xml:
13477           Start documenting the "how to build a simple audio filter" part
13478           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13479           states and (maybe?) a short introduction to capsnego in the chapter
13480           on pads (building_pads.xml). Capsnego should probably be explained
13481           fully in advanced_capsnego.xml or so.
13482
13483 2004-01-26  David Schleef  <ds@schleef.org>
13484
13485         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13486         * gst/gstpad.h: Add new function to allow element to (somewhat)
13487         specify non-fixed caps on a pad.
13488         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13489         that I added a few weeks ago.
13490
13491 2004-01-26  David Schleef  <ds@schleef.org>
13492
13493         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13494           making try_set_caps() work with non-fixed caps.
13495
13496 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13497
13498         * docs/pwg/advanced_types.xml:
13499         * docs/pwg/intro_basics.xml:
13500         * docs/pwg/intro_preface.xml:
13501         * docs/pwg/pwg.xml:
13502         * docs/pwg/titlepage.xml:
13503           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13504           in here (docs/random/mimetypes), and will from there on work on both
13505           updating outdated parts and adding missing parts.
13506           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13507
13508 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13509
13510         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13511           policy is set
13512
13513 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13514
13515         * gst/gstelement.h:
13516           remove gst_element_factory_get_version. It doesn't exist anymore.
13517         * gst/gstplugin.c:
13518         * gst/gstplugin.h:
13519           remove gst_plugin_set_name and change gst_plugin_get_longname to
13520           gst_plugin_get_description to match code.
13521         * gst/gsterror.h:
13522           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13523         * gst/gstpad.c: (gst_pad_try_set_caps):
13524           make it work with nonfixed caps.
13525           Note that even in the nonfixed case the link function of the pad
13526           that tries to set caps isn't called.
13527
13528 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13529
13530         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13531           fix bug where buffer was not assembled correctly
13532         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13533           silence by default
13534         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13535           only seek if there's no more buffers that could work without seeking
13536
13537 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13538
13539         * gst/gsttag.c: (_gst_tag_initialize):
13540         * gst/gsttag.h:
13541           Add application tag (for encoding/muxing app).
13542
13543 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13544
13545         * autogen.sh:
13546           make autopoint force, and libtoolize not copy
13547         * common/m4/as-docbook.m4:
13548           added docbook xml catalog setup check
13549         * common/m4/gst-doc.m4:
13550           use docbook check
13551
13552 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13553
13554         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13555         * gst/gsttag.h:
13556           add GstTagFlag
13557
13558 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13559
13560         * docs/gst/gstreamer-sections.txt:
13561         * docs/gst/tmpl/gst.sgml:
13562         * docs/gst/tmpl/gstbuffer.sgml:
13563         * docs/gst/tmpl/gstclock.sgml:
13564         * docs/gst/tmpl/gstelement.sgml:
13565         * docs/gst/tmpl/gstreamer-unused.sgml:
13566         * docs/gst/tmpl/gstxml.sgml:
13567           sync latest API changes to docs
13568
13569 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13570
13571         * gst/gstpluginfeature.c:
13572           fix doc snippet
13573         * tools/gst-inspect.c: (print_element_list):
13574           fix output of typefind
13575           add GPL header
13576         * tools/gst-launch.c:
13577           add GPL header
13578
13579 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13580
13581         * gst/elements/Makefile.am:
13582         * gst/elements/gstelements.c:
13583         * gst/elements/gsttypefindelement.c:
13584         * gst/elements/gsttypefindelement.h:
13585         * po/POTFILES.in:
13586         * po/fr.po:
13587         * po/nl.po:
13588           renamed gsttypefindelement to gsttypefind, conserving CVS history
13589
13590 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13591
13592         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13593         * gst/gsttag.h:
13594           add some tags used in ogg as well
13595           fix _ in replaygain tags
13596
13597 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13598
13599         * gst/gsterror.h:
13600           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13601
13602 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13603
13604         * gst/gstelement.c: (gst_element_error_full):
13605         * gst/gstelement.h:
13606           change _extended to _full
13607
13608 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13609
13610         reviewed by: <delete if not using a buddy>
13611
13612         * docs/gst/tmpl/gst.sgml:
13613         * docs/gst/tmpl/gstbuffer.sgml:
13614         * docs/gst/tmpl/gstclock.sgml:
13615         * docs/gst/tmpl/gstelement.sgml:
13616         * docs/gst/tmpl/gstreamer-unused.sgml:
13617         * docs/gst/tmpl/gstxml.sgml:
13618         * gst/gstelement.c: (gst_element_error_full):
13619         * gst/gstelement.h:
13620
13621 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13622
13623         * gst/gstelement.h: fix _gst_element_error_printf prototype
13624
13625 2004-01-20  David Schleef  <ds@schleef.org>
13626
13627         * gst/gststructure.c: (gst_structure_to_string):
13628         Convert function to use gst_value_serialize().
13629         * gst/gstvalue.c: (gst_value_serialize_list),
13630         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13631         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13632         (gst_value_serialize_int), (gst_value_serialize_double),
13633         (gst_string_wrap), (gst_value_serialize_string),
13634         (gst_value_serialize), (gst_value_deserialize):
13635         * gst/gstvalue.h:
13636         Add implementations for serialize.
13637
13638 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13639
13640         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13641         we want to keep that one in the future or change xvidenc.c to use 
13642         another error.
13643
13644 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13645
13646         * gst/gstelement.c: (_gst_element_error_printf):
13647         * gst/gstelement.h:
13648           privatise function
13649
13650 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * docs/random/error:
13653           doc explaining error system
13654         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13655           cleanup
13656
13657 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13658
13659         * gst/gst-i18n-app.h:
13660         * gst/gst-i18n-lib.h:
13661           remove inclusion of config.h
13662         * po/POTFILES.in:
13663         * po/nl.po:
13664           add gst/gstelement.c
13665
13666 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13667
13668         * po/nl.po: updated Dutch translation
13669
13670 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13671
13672         * gst/gsterror.c: (_gst_core_errors_init),
13673         (_gst_library_errors_init), (_gst_resource_errors_init),
13674         (_gst_stream_errors_init):
13675         remove ending punctuation dots
13676
13677 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13678
13679         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13680         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13681         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13682         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13683         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13684         use GST_ERROR_SYSTEM
13685
13686 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13687
13688         * gst/gstelement.c: (gst_element_error_printf),
13689         (gst_element_error_extended):
13690         * gst/gstelement.h:
13691           add a helper printf function so we can have NULL values passed.
13692
13693 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13694
13695         * gst/gstelement.h:
13696           add G_STMT macros to gst_element_error, which isn't strictly
13697           necessary but people tell me to anyway.
13698
13699 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13700
13701         * gst/Makefile.am:
13702         * gst/autoplug/gstspideridentity.c:
13703         (gst_spider_identity_sink_loop_type_finding):
13704         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13705         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13706         (gst_filesink_close_file), (gst_filesink_handle_event),
13707         (gst_filesink_chain):
13708         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13709         (gst_filesrc_map_region), (gst_filesrc_get_read),
13710         (gst_filesrc_open_file):
13711         * gst/elements/gstidentity.c: (gst_identity_chain):
13712         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13713         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13714         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13715         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13716         * gst/gst.h:
13717         * gst/gst_private.h:
13718         * gst/gstelement.c: (gst_element_class_init),
13719         (gst_element_default_error), (gst_element_error_func),
13720         (gst_element_error_extended):
13721         * gst/gstelement.h:
13722         * gst/gsterror.c: (_gst_core_errors_init),
13723         (_gst_library_errors_init), (_gst_resource_errors_init),
13724         (_gst_stream_errors_init), (gst_error_get_message):
13725         * gst/gsterror.h:
13726         * gst/gstinfo.c: (_gst_debug_init):
13727         * gst/gstmarshal.list:
13728         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13729         (gst_pad_recover_caps_error), (gst_pad_pull):
13730         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13731         * gst/schedulers/gstbasicscheduler.c:
13732         (gst_basic_scheduler_chainhandler_proxy),
13733         (gst_basic_scheduler_gethandler_proxy),
13734         (gst_basic_scheduler_cothreaded_chain):
13735         * po/POTFILES.in:
13736         * po/fr.po:
13737         * po/nl.po:
13738           change error signal
13739           add error categories
13740
13741 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13742
13743         * gst/gsttag.c: (_gst_tag_initialize):
13744         * gst/gsttag.h:
13745         Add replaygain tag
13746
13747 2004-01-18  Colin Walters  <walters@verbum.org>
13748
13749         * examples/retag/retag.c: Call gst_init before processing
13750         program args.  Add g_assert to _link_many call.
13751
13752 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13753
13754         * gst/gstpad.c: (gst_pad_alloc_buffer):
13755           Return a newly allocated buffer when the pad has no peer.
13756
13757 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13758
13759         * gst/gstclock.c: (gst_clock_get_time):
13760           make it compile with gcc 2.95 again.
13761           Patch by Scott Wheeler
13762
13763 2004-01-15  David Schleef  <ds@schleef.org>
13764
13765         * gst/gstcaps.h:
13766         Added gst_caps_is_simple() macro.
13767         * testsuite/caps/caps.c: (test1):
13768         * testsuite/caps/intersect2.c: (main):
13769         * testsuite/caps/intersection.c: (main):
13770         Fixes to make 'make check' work again after removing
13771         gst_caps_is_chained().
13772
13773 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13774
13775         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13776         and additions to the MIDI document.
13777
13778 2004-01-15  David Schleef  <ds@schleef.org>
13779
13780         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13781         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13782         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13783
13784 2004-01-15  David Schleef  <ds@schleef.org>
13785
13786         * gst/gstqueue.c:
13787         * gst/gstqueue.h:
13788         Fix the spelling of "treshold" and make min_threshold actually
13789         affect the queue.
13790
13791 2004-01-15  David Schleef  <ds@schleef.org>
13792
13793         * gst/gstcaps.c:
13794         Add lots of documentation.
13795         * gst/gstcaps.h:
13796         Deprecate a few functions.
13797         * gst/gstpad.c:
13798         Removed use of deprecated functions.
13799
13800 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13801
13802         * gst/gstpad.c: (gst_pad_is_linked):
13803         * gst/gstpad.h:
13804           implement gst_pad_is_linked
13805         * gst/gstelement.h:
13806           reserve space for initiate_state_change
13807
13808 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13809
13810         * gst/autoplug/gstspideridentity.c:
13811         (gst_spider_identity_sink_loop_type_finding):
13812           break infinite loop by just returning instead of looping
13813         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13814           set event time difference correctly. Set it to 1 second instead
13815           of 100ms to be more tolerant
13816         * gst/gstelement.c: (gst_element_set_time):
13817           add debugging output
13818
13819 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13820
13821         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13822           query if buffers are inside the pool, ignore events
13823
13824 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13825
13826         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13827         (gst_clock_set_speed), (gst_clock_set_active),
13828         (gst_clock_is_active), (gst_clock_reset),
13829         (gst_clock_handle_discont):
13830         * gst/gstclock.h:
13831           deprecate old interface and disable functions that aren't in use
13832           anymore.
13833         * gst/gstelement.h:
13834         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13835         (gst_element_set_time), (gst_element_adjust_time):
13836           add concept of "element time" and functions to get/set this time.
13837         * gst/gstelement.c: (gst_element_change_state):
13838           update element time correctly.
13839         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13840           This is a debug message, not a g_critical.
13841         * gst/gstpad.c: (gst_pad_event_default):
13842           handle discontinuous events right with element time.
13843         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13844           update to clocking fixes.
13845           set clocks on elements in READY=>PAUSED. The old behaviour caused
13846           a wrong element time on the first element that started playing.
13847         * gst/schedulers/gstbasicscheduler.c:
13848         (gst_basic_scheduler_class_init):
13849         * gst/schedulers/gstoptimalscheduler.c:
13850         (gst_opt_scheduler_class_init):
13851           remove code that just implements the default behaviour.
13852         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13853           update to use new clocking functions
13854         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13855         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13856           update to test new element time.
13857         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13858           use _get_allowed_caps instead of _get_caps. This catches filtered
13859           caps correctly.
13860         * testsuite/debug/commandline.c:
13861           update for new GST_DEBUG syntax.
13862         * testsuite/threads/Makefile.am:
13863           disable a test that only works sometimes.
13864
13865 2004-01-13  Julien MOUTTE <julien@moutte.net>
13866
13867         * po/LINGUAS: Adding fr.
13868         * po/fr.po: Adding french translation.
13869
13870 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13871
13872         * gst/parse/grammar.y:
13873         * po/POTFILES.in:
13874         * po/nl.po:
13875         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13876           translate parsing error messages
13877
13878 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13879
13880         * po/POTFILES.in: adding gst-launch
13881         * po/nl.po: updated translation, all 99 strings translated
13882         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13883         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13884           fix strings for translation
13885
13886 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13887
13888         * gst/gst.c:
13889           - capitalize beginnings of popt options
13890           - fix strings for translation
13891           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13892
13893 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13894
13895         * po/README: add some notes on how to update translations
13896
13897 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * ABOUT-NLS: removed, is autogenerated from autopoint
13900         * autogen.sh: add autopoint stuff
13901         * configure.ac: fix up gettext stuff
13902         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13903         * gst/elements/gsttypefindelement.c: add header include
13904         * gst/gettext.h: add header, copy from system-installed header
13905         * gst/gst-i18n-app.h: to be included by each app having translations
13906         * gst/gst-i18n-lib.h: to be included by each lib having translations
13907         * gst/gst.c: (init_pre): fix up gettext calls
13908         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13909         * po/LINGUAS: the new way to specify translations present
13910         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13911         * po/Makevars: the variables filled in for GStreamer
13912         * po/POTFILES.in: added new files with translations
13913         * po/de.po: has new strings
13914         * po/nl.po: readded, has new strings
13915
13916 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13917
13918         * gst/gsttag.c: fix some strings marked for translation
13919
13920 2004-01-13  Iain <iain@prettypeople.org>
13921
13922         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13923         group when we add an element to it, cos we unref it when we remove one
13924
13925 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13926
13927         * testsuite/debug/commandline.c: (debug_not_reached):
13928         * testsuite/debug/output.c: (check_message):
13929           fix testsuite
13930
13931 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13932
13933         * examples/cutter/.cvsignore:
13934         * examples/helloworld/.cvsignore:
13935         * examples/launch/.cvsignore:
13936         * examples/manual/.cvsignore:
13937         * examples/mixer/.cvsignore:
13938         * examples/pingpong/.cvsignore:
13939         * examples/plugins/.cvsignore:
13940         * examples/queue/.cvsignore:
13941         * examples/queue2/.cvsignore:
13942         * examples/queue3/.cvsignore:
13943         * examples/queue4/.cvsignore:
13944         * examples/retag/.cvsignore:
13945         * examples/thread/.cvsignore:
13946         * examples/typefind/.cvsignore:
13947         * examples/xml/.cvsignore:
13948         * gst/.cvsignore:
13949         * gst/autoplug/.cvsignore:
13950         * gst/elements/.cvsignore:
13951         * gst/indexers/.cvsignore:
13952         * gst/parse/.cvsignore:
13953         * gst/registries/.cvsignore:
13954         * gst/schedulers/.cvsignore:
13955         * libs/gst/bytestream/.cvsignore:
13956         * libs/gst/control/.cvsignore:
13957         * libs/gst/getbits/.cvsignore:
13958         * tests/.cvsignore:
13959         * tests/bufspeed/.cvsignore:
13960         * tests/instantiate/.cvsignore:
13961         * tests/memchunk/.cvsignore:
13962         * tests/muxing/.cvsignore:
13963         * tests/sched/.cvsignore:
13964         * tests/seeking/.cvsignore:
13965         * tests/threadstate/.cvsignore:
13966         * testsuite/.cvsignore:
13967         * testsuite/caps/.cvsignore:
13968         * testsuite/cleanup/.cvsignore:
13969         * testsuite/dynparams/.cvsignore:
13970         * testsuite/plugin/.cvsignore:
13971         * tools/.cvsignore:
13972           update - this is huge, because it includes *.bb, *.bbg and *.da files
13973           which are generated for gcov.
13974
13975 2004-01-11  David Schleef  <ds@schleef.org>
13976
13977         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13978         a function to parse integers in ways that strto[u]l() does not.
13979
13980 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13981
13982         * tools/gst-inspect.c: (print_caps):
13983           improve output of caps a bit
13984
13985 2004-01-11  David Schleef  <ds@schleef.org>
13986
13987         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13988         inherit correct flags (READONLY and DONTKEEP).
13989
13990 2004-01-11  David Schleef  <ds@schleef.org>
13991
13992         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13993         (gst_filesrc_map_region):
13994         * gst/gstbuffer.c: (_gst_buffer_initialize),
13995         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13996         (gst_buffer_new), (gst_buffer_create_sub),
13997         (gst_buffer_is_span_fast), (gst_buffer_span):
13998         * gst/gstbuffer.h:
13999         Change GstBuffer private structure element names. (all files)
14000         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14001         (gst_queue_link):
14002         * gst/gstqueue.h:
14003         Implement getcaps/pad_link functions that handle the case where
14004         there are data in the queue.
14005
14006 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14007
14008         * gst/elements/gstbufferstore.c:
14009           initialize debugging structure correctly
14010         * gst/elements/gsttee.c: (gst_tee_set_property):
14011           g_object_notify when property was changed
14012         * gst/elements/gsttypefindelement.c:
14013         (gst_type_find_element_change_state):
14014           clear caps correctly
14015
14016 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14017
14018         * gst/gstqueue.c: (gst_queue_init):
14019           Use better defaults for when a queue should block. This
14020           gets rid of jerky playback for quite a few files.
14021           It takes more memory.
14022
14023 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14024
14025         (gst_xml_registry_parse_padtemplate):
14026           make critical message slightly more useful
14027
14028 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14029
14030         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14031         (gst_debug_message_get), (gst_debug_log_default):
14032         * gst/gstinfo.h:
14033           Change gst_debug_log(_valist) to take a const format string.
14034           Change prototype of log function and functions using those to 
14035           take a GstDebugMessage instead of a string that requires using
14036           gst_debug_message_get.
14037
14038 2004-01-08  David Schleef  <ds@schleef.org>
14039
14040         * Makefile.am:
14041         * configure.ac:
14042         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14043         and -ftest-coverage, which allows gcov to show information about
14044         testsuite coverage.
14045
14046 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14047
14048         * gst/gstutils.h:
14049           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14050           GST_PARENT_CALL_WITH_DEFAULT
14051         * gst/elements/gstaggregator.c: 
14052         * gst/elements/gstbufferstore.c: 
14053         * gst/elements/gstfakesink.c: 
14054         * gst/elements/gstfakesrc.c: 
14055         * gst/elements/gstfdsink.c: 
14056         * gst/elements/gstfdsrc.c: 
14057         * gst/elements/gstfilesink.c: 
14058         * gst/elements/gstfilesrc.c: 
14059         * gst/elements/gstidentity.c: 
14060         * gst/elements/gstmd5sink.c: 
14061         * gst/elements/gstmultidisksrc.c:
14062         * gst/elements/gstpipefilter.c: 
14063         * gst/elements/gstshaper.c:
14064         * gst/elements/gststatistics.c:
14065         * gst/elements/gsttee.c:
14066         * gst/elements/gsttypefindelement.c:
14067           use them.
14068
14069 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14070
14071         * docs/gst/gstreamer-docs.sgml: remove props
14072         * docs/gst/gstreamer-sections.txt: remove props
14073         * docs/gst/tmpl/gst.sgml:
14074         * docs/gst/tmpl/gstbin.sgml:
14075         * docs/gst/tmpl/gstbuffer.sgml:
14076         * docs/gst/tmpl/gstcaps.sgml:
14077         * docs/gst/tmpl/gstclock.sgml:
14078         * docs/gst/tmpl/gstelement.sgml:
14079         * docs/gst/tmpl/gstindex.sgml:
14080         * docs/gst/tmpl/gstobject.sgml:
14081         * docs/gst/tmpl/gstpad.sgml:
14082         * docs/gst/tmpl/gstpadtemplate.sgml:
14083         * docs/gst/tmpl/gstreamer-unused.sgml:
14084         * docs/gst/tmpl/gstthread.sgml:
14085         * docs/gst/tmpl/gstxml.sgml:
14086           sync with code reorganization
14087
14088 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14089
14090         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14091         Make the 'Could not find compatible pad' message more informative.
14092
14093 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14094                                                                                 
14095         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14096           Fix for if we pass NULL as property to location.
14097         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14098         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14099           Fix for instantiate-test (see below).
14100         * gst/gststructure.c: (_gst_structure_parse_value):
14101           Fix compile error on gcc-2.96.
14102         * configure.ac:
14103         * tests/Makefile.am:
14104         * tests/instantiate/Makefile.am:
14105         * tests/instantiate/create.c: (create_all_elements), (main):
14106           Add a test that instantiates all elements. This makes it easy to
14107           track dead code for old API/design (like setting event functions
14108           on sink pads and so on).
14109
14110 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14111
14112         * gst/gstcaps.c: (gst_caps_append_structure):
14113           Move the poisoning to allow a NULL structure
14114         * gst/gstevent.c: (_gst_event_free):
14115           When freeing a navigation event, free the structure
14116           also
14117
14118 2004-01-04  David Schleef  <ds@schleef.org>
14119
14120         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14121         Remove usage of gst_pad_proxy_fixate.
14122         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14123         (gst_caps_split_one), (gst_caps_replace):
14124         Add poisoning code.
14125         * gst/gstmarshal.list:
14126         Add pointer__pointer for fixate signal
14127         * gst/gstpad.c: (gst_real_pad_class_init),
14128         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14129         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14130         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14131         Add poisoning code. Add fixate signal on RealPad. Change
14132         set_explicit_caps() to take const GstCaps, like try_set_caps().
14133         * gst/gstpad.h:
14134         * testsuite/caps/Makefile.am:
14135         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14136
14137 2004-01-03  David Schleef  <ds@schleef.org>
14138
14139         * gst/elements/gsttypefindelement.c:
14140         (gst_type_find_element_have_type), (gst_type_find_element_init):
14141         Use gst_pad_use_explicit_caps for src pad.
14142         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14143         before using it.
14144
14145 2004-01-03  David Schleef  <ds@schleef.org>
14146
14147         * gst/gstelement.c: (gst_element_link_pads_filtered),
14148         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14149         that linking was successful.
14150         * gst/gstpad.c: (gst_pad_link_free),
14151         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14152         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14153         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14154         GstPadLinkReturn correctly between functions, and don't fail
14155         when DELAYED is used (DELAYED is very important).  Better
14156         cleanup on unlinking and unnegotiation.  Should fix some spider
14157         bugs.
14158
14159 2004-01-02  David Schleef  <ds@schleef.org>
14160
14161         * gst/gstelement.c: (gst_element_class_init),
14162         (gst_element_base_class_init): ->padtemplates should be cleared
14163         in base_init, since we need to have a fresh list for every
14164         class.  (Alternately, we chould copy the list and share the
14165         actual pad templates (not the list), but that would require
14166         changing every plugin to move pad template registration from
14167         base_init to class_init.)
14168
14169 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14170
14171         * gst/gstelement.c: (gst_element_class_add_pad_template):
14172           Refuse registering a pad template if another pad template
14173           with the same name already exists (#114715).
14174
14175 2004-01-02  David Schleef  <ds@schleef.org>
14176
14177         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14178         (gst_caps_is_equal_fixed): Add new function.
14179         * gst/gstcaps.h: ditto.
14180         * gst/gstpad.c: (gst_real_pad_class_init),
14181         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14182         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14183         check new caps against existing caps -- if they're the same, return
14184         OK without renegotiating.  caps-nego-failed signal fixed so that
14185         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14186         to save an extra caps copy.  Don't complete negotiation if a pad
14187         link function returns DELAYED.
14188
14189 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14190
14191         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14192           Fix wrong g_return_if_fail
14193
14194 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14195
14196         * gst/gstbin.c: (gst_bin_class_init):
14197         Change the marshalling of element_added/element_removed
14198         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14199         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14200
14201 2004-01-01  David Schleef  <ds@schleef.org>
14202
14203         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14204         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14205         (gst_pad_use_explicit_caps):
14206         * gst/gstpad.h:
14207         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14208         to use an internal getcaps and link fuction so that negotiation
14209         always results in the explicitly set caps.
14210         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14211         are particularly useful for decoders.
14212
14213 2003-12-31  David Schleef  <ds@schleef.org>
14214
14215         * gst/elements/gstidentity.c: (gst_identity_class_init),
14216         (gst_identity_init), (gst_identity_chain),
14217         (gst_identity_set_property), (gst_identity_get_property):
14218         * gst/elements/gstidentity.h:
14219         * gst/gstqueue.c: (gst_queue_init):
14220           Negotiation fixes.
14221
14222 2003-12-31  David Schleef  <ds@schleef.org>
14223
14224         * gst/gstcaps.c: (gst_caps_intersect),
14225         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14226           Implement gst_caps_normalize().
14227         * testsuite/caps/normalisation.c: (main):
14228           Add an additional test
14229
14230 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14231
14232         * gst/gstqueue.c: (gst_queue_init):
14233           use gst_pad_proxy_getcaps()
14234
14235 2003-12-31  David Schleef  <ds@schleef.org>
14236
14237         * gst/elements/gstshaper.c: (gst_shaper_link):
14238         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14239         * gst/gstqueue.c: (gst_queue_link):
14240           Negotiation fixes.
14241
14242 2003-12-31  David Schleef  <ds@schleef.org>
14243
14244         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14245         * gst/gstpad.h: Add functions that are useful as default pad
14246         link and fixate functions for elements.
14247
14248 2003-12-30  David Schleef  <ds@schleef.org>
14249
14250         * gst/gstpad.c: (gst_pad_link_try):
14251           Fix segfault when attempting to return to old caps
14252
14253 2003-12-29  David Schleef  <ds@schleef.org>
14254
14255         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14256         (gst_caps_structure_simplify), (gst_caps_simplify):
14257         * gst/gstcaps.h:
14258           Add simplify function
14259         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14260         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14261         * gst/gstpad.h:
14262           Copy over srcnotify, sinknotify when calling old pad_link
14263           functions.  Add new is_negotiated() function.
14264         * gst/gststructure.c: (gst_structure_copy):
14265           Fix an incredibly stupid bug that should have been noticed
14266           weeks ago.  _copy() returned the argument, not the new copy.
14267
14268 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14269
14270         * gst/gstcaps.c: (gst_caps_append):
14271           add sanity checks
14272         * gst/gstcaps.h: (gst_caps_debug):
14273           remove, it doesn't exist anymore.
14274         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14275         (gst_element_threadsafe_properties_post_run):
14276           make debugging messages not clutter up THREAD debug category
14277         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14278         (gst_element_change_state):
14279           update to new caps API
14280         * gst/gstinterface.c: (gst_implements_interface_cast):
14281           don't put vital code in g_return_if_fail
14282         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14283         (gst_pad_link_filtered):
14284           add pst_pad_try_link and use it.
14285         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14286           implement correctly, deprecate first one.
14287         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14288           add and implement.
14289         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14290           implement.
14291         (gst_pad_get_negotiated_caps):
14292           add and implement. Make GST_PAD_CAPS call this function.
14293         (gst_pad_get_caps):
14294           remove unneeded check..
14295         (gst_pad_recover_caps_error):
14296           disable, always return FALSE.
14297         (gst_real_pad_dispose):
14298           don't free caps and appfilter anymore, they're unused.
14299         * gst/gstpad.h:
14300           Reflect changes mentioned above.
14301         * gst/gstsystemclock.c: (gst_system_clock_wait):
14302           Make 'clock is way behind' a debugging message.
14303         * gst/gstthread.c: (gst_thread_change_state):
14304           Fix debugging message
14305
14306 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14307
14308         * gst/gstinfo.h:
14309           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14310         * docs/gst/tmpl/gstreamer-unused.sgml:
14311           removed all traces of cvs conflicts
14312
14313 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14314
14315         * configure.ac:
14316         * gst/schedulers/cothreads_compat.h:
14317         * libs/Makefile.am:
14318           remove last instances of wingo cothread usage
14319
14320 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14321
14322         * gst/gstplugin.c:
14323         * gst/gstversion.h.in:
14324         * gst/parse/grammar.y:
14325           change comment block from /** to /* when not gtk-doc comments
14326
14327 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * gst/gst.c: whitespace and doc style fixes
14330
14331 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14332
14333         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14334
14335 2003-12-24  Colin Walters  <walters@verbum.org>
14336
14337         * gst/elements/gsttypefindelement.c:
14338           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14339           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14340           Don't double-free caps.
14341
14342 2003-12-23  David Schleef  <ds@schleef.org>
14343
14344         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14345           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14346           Many little fixes and additions of debug statements to
14347           get rhythmbox working.
14348
14349 2003-12-23  Colin Walters  <walters@verbum.org>
14350
14351         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14352         Use GST_PAD_LINK_SUCCESSFUL.
14353
14354 2003-12-23  David Schleef  <ds@schleef.org>
14355
14356         * gst/elements/gstaggregator.c:
14357         * gst/elements/gsttee.c:
14358           Use gst_pad_proxy_getcaps().
14359         * gst/gstpad.c:
14360         * gst/gstpad.h:
14361           Add gst_pad_proxy_getcaps(), which filter elements can use
14362           as a generic getcaps implementation.
14363           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14364           was advertised.
14365
14366 2003-12-23  David Schleef  <ds@schleef.org>
14367
14368         * gst/gstpad.c:
14369           Rearrange/rewrite much of the pad negotiation code, since it
14370           resembled pasta.  This actually changes the way some
14371           negotiation works, since the previous code was inconsistent
14372           depending on how it was invoked.  Add (internal) structure
14373           GstPadLink, which is used to hold some information (more in
14374           the future) about the link between two pads.  Fixes a number
14375           of bugs, including random lossage of filter caps when the
14376           initial negotiation is delayed.  A few functions are still
14377           unimplemented.
14378         * gst/gstpad.h:
14379           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14380           these when testing GstPadLinkReturn values instead of comparing
14381           directly.
14382
14383 2003-12-23  David Schleef  <ds@schleef.org>
14384
14385         * gst/gstvalue.c: 
14386         * gst/gstvalue.h:
14387           Rearrange lots of code.  Change registration of compare function
14388           into registration of compare/serialize/deserialize functions.
14389           Doesn't include implementation of gst_value_[de]serialize(),
14390           but that should be easy.
14391
14392 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14393
14394         * docs/gst/gstreamer-sections.txt:
14395         * docs/gst/tmpl/gstprops.sgml: removed
14396         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14397           David removed props and caps code, so let's remove their docs as well.
14398           Removed all no longer existing symbols from gstreamer-sections.txt
14399           
14400 2003-12-22  Colin Walters  <walters@verbum.org>
14401
14402         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14403           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14404           of tags directly.
14405
14406 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14407
14408         * gst/elements/gstelements.c:
14409           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14410         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14411           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14412           gst_caps (peer).
14413
14414 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14415
14416         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14417         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14418         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14419         (gst_spider_identity_sink_loop_type_finding):
14420         * gst/autoplug/gstspideridentity.h:
14421           Fix autoplugging in spider element, so it works with new caps.
14422           This was mainly caused by identifying empty caps incorrectly.
14423
14424 2003-12-22  David Schleef  <ds@schleef.org>
14425
14426         * gststructure.c, gstvalue.c, gstvalue.h: Add
14427           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14428           using g_value_copy()
14429
14430 2003-12-21  David Schleef  <ds@schleef.org>
14431
14432         * many, many files: Merge CAPS branch.  This includes:
14433           - implemention of GstValue and several GstValue types
14434           - implemention of GstStructure
14435           - entire rewrite of GstCaps
14436           - removal of GstProps
14437           - many changes to GstPad to compensate for new caps paradigm
14438           - removal of GstBufferpool
14439         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14440         gstvalue.h, gst/gstcaps[2]*.[ch]:
14441           - rename gstcaps2.[ch] to gstcaps.[ch]
14442
14443 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14444
14445         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14446         (gst_queue_chain), (gst_queue_handle_src_event):
14447           implement timeout for sending events. Workaround for if the
14448           pipeline on this queue is not passing any data.
14449
14450 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14451                                                                                 
14452         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14453         * moved CVS to freedesktop.org