check/Makefile.am: clean up environment for when registry gets built versus when...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * check/Makefile.am:
4           clean up environment for when registry gets built versus
5           when actual tests are run; valgrind seems to not report
6           leaks if GST_PLUGIN_PATH is set to some specific values
7         * check/gst/gstbin.c: (GST_START_TEST):
8           add more refcounting checks; maybe this exposes a
9           preroll lock bug ?
10         * common/check.mak:
11         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12         * gst/check/gstcheck.h:
13         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14         (gst_bin_change_state):
15         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
16           add/fix debugging/whitespace
17
18 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
19
20         * check/gst/gstevent.c: (event_probe), (test_event),
21         (GST_START_TEST):
22          Er, don't call gst_bin_watch_for_state_change you idiot.
23
24 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25
26         * check/Makefile.am:
27           Use CHECK_CFLAGS and CHECK_LIBS
28         * check/gst/gstevent.c: (event_probe), (test_event),
29         (GST_START_TEST):
30           Don't leak events.
31         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
32         (gst_base_src_start), (gst_base_src_stop),
33         (gst_base_src_activate_push), (gst_base_src_activate_pull),
34         (gst_base_src_change_state):
35           Sprinkle gst_base_src_stop liberally around error paths to fix
36           problems reusing a source after failed state changes.
37         * gst/base/gsttypefindhelper.c: (helper_find_peek),
38         (helper_find_suggest), (gst_type_find_helper):
39           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
40         * gst/gstevent.h:
41         * docs/gst/tmpl/gstevent.sgml:
42           Migrate part of the docs from the SGML file. Wait for ensonic to
43           tell me how I did it wrong ;)
44         * tools/gst-typefind.c: (main):
45           Extra robustness to state changes between files.
46
47 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
48
49         * check/Makefile.am:
50           don't valgrind the controller test - it's leaking - Stefan, HELP
51         * gst/check/gstcheck.c: (gst_check_message_error),
52         (gst_check_chain_func), (gst_check_setup_element),
53         (gst_check_teardown_element), (gst_check_setup_src_pad),
54         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
55         (gst_check_teardown_sink_pad):
56         * gst/check/gstcheck.h:
57           add a bunch of methods to set up elements, and src and sink pads
58         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
59         * check/elements/identity.c: (setup_identity), (cleanup_identity),
60         (GST_START_TEST):
61           use them
62         * gst/gstmessage.c:
63         * gst/gsttag.h:
64           whitespace/doc fixes
65
66 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
67
68         * gst/gstelement.h:
69           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
70           be handled by the application and not always printed as well
71
72 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
73
74         * check/Makefile.am:
75           set GST_TOOLS_DIR
76         * gst/check/gstcheck.c: (gst_check_message_error):
77         * gst/check/gstcheck.h:
78           add a fail_unless_equals_int
79           add fail_unless for error messages
80
81 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
82
83         * check/Makefile.am:
84         * check/gst.supp:
85         * common/Makefile.am:
86         * common/check.mak:
87         * common/gst.supp:
88           factor out some of the common stuff so we can use it
89
90 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
91
92         * check/Makefile.am:
93         * check/gst/gstiterator.c: (GST_START_TEST):
94         * check/gst/gstsystemclock.c: (GST_START_TEST),
95         (gst_systemclock_suite):
96         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
97         * gst/gstclock.c:
98           valgrind more tests
99
100 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
101
102         * check/elements/.cvsignore:
103         * check/elements/gstfakesrc.c:
104           rename to name of element
105         * check/elements/identity.c: (chain_func), (event_func),
106         (setup_identity), (cleanup_identity), (GST_START_TEST),
107         (identity_suite), (main):
108           add a test for identity
109         * check/Makefile.am:
110         * pkgconfig/Makefile.am:
111         * pkgconfig/gstreamer-check.pc.in:
112         * pkgconfig/gstreamer-check-uninstalled.pc.in:
113         * gst/check:
114         * gst/Makefile.am:
115         * configure.ac:
116           move the check stuff to a library that gets installed
117         * check/gst-libs/controller.c: (GST_START_TEST):
118         * check/gst-libs/gdp.c:
119         * check/gst/gst.c: (GST_START_TEST):
120         * check/gst/gstbin.c:
121         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
122         * check/gst/gstbus.c:
123         * check/gst/gstcaps.c: (GST_START_TEST):
124         * check/gst/gstelement.c:
125         * check/gst/gstghostpad.c:
126         * check/gst/gstiterator.c:
127         * check/gst/gstmessage.c:
128         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
129         * check/gst/gstobject.c:
130         * check/gst/gstpad.c: (GST_START_TEST):
131         * check/gst/gststructure.c: (GST_START_TEST):
132         * check/gst/gstsystemclock.c: (GST_START_TEST),
133         (gst_systemclock_suite):
134         * check/gst/gsttag.c: (gst_tag_suite):
135         * check/gst/gstvalue.c:
136         * check/pipelines/cleanup.c:
137         * check/pipelines/simple_launch_lines.c:
138         * check/states/sinks.c:
139           change include statement
140
141         * docs/gst/gstreamer-sections.txt:
142         * docs/gst/tmpl/gstpad.sgml:
143           document more pad stuff
144         * gst/gstminiobject.c: (gst_mini_object_ref),
145         (gst_mini_object_unref):
146           debug refcounting
147
148 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
149
150         * docs/gst/tmpl/gst.sgml:
151         * gst/gst.c:
152           eliminate another tmpl file, fix spelling in the long-description
153
154 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
155
156         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
157         (test_event), (timediff), (gstevents_suite):
158           Should fix build on 64-bit arch's
159
160 2005-08-18  Andy Wingo  <wingo@pobox.com>
161
162         Make sure that when a pipeline goes to PLAYING, that data has
163         actually hit the sink.
164
165         * check/states/sinks.c (test_sink): A sink that doesn't get any
166         data shouldn't return SUCCESS for going to either PLAYING or
167         PAUSED. Test also the return values on the way back down.
168
169         * gst/gstelement.c (gst_element_set_state): When changing the
170         state of an element currently changing state asynchronously, go to
171         lost-state after commiting the pending state. Makes future calls
172         to get_state continue to return ASYNC.
173
174         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
175         ASYNC when going to PLAYING if we still don't have preroll, as can
176         happen with live sources.
177
178 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
179
180         * docs/pwg/advanced-types.xml:
181           Hack long paragraph into 2 chunks as a workaround for buggy
182           jadetex version in sid and breezy that loops infinitely and
183           eats all RAM.
184
185 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
186
187         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
188         (test_event), (timediff), (gstevents_suite):
189           Provide more error margin in clock measurements to allow for 
190           g_get_current_time inaccuracies.
191
192 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
193
194         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
195         (test_event), (timediff), (gstevents_suite):
196            Fix error message output so I might be able to tell why the
197            test works here but fails on the build farm.
198
199 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
200
201         * check/Makefile.am:
202         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
203         (test_event), (timediff), (gstevents_suite), (main):
204           I wrote a test!
205
206         * docs/design/part-seeking.txt:
207           Spelling correction
208
209         * docs/gst/tmpl/gstevent.sgml:
210         * docs/gst/tmpl/gstfakesrc.sgml:
211           Docs updates.
212
213         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
214           Treat a buffer-without-newsegment the same as a receiving 
215           a newsegment not in time format, and disable syncing to the clock
216           with a warning.
217
218         * gst/gstbus.c: (gst_bus_set_sync_handler):
219           Assert if anyone tries to replace the existing sync_handler for bus, 
220           as only the owner should be setting it.
221
222         * gst/gstevent.h:
223           Have a fixed set of custom event enums with events identified by
224           their structure name (as in 0.8), rather than a free-for-all
225           allowing collisions between enum values from different plugins.
226
227         * gst/gstpad.c: (gst_pad_class_init):
228           Docs change.
229           
230         * gst/gstqueue.c: (gst_queue_handle_sink_event):
231           Handle out-of-band downstream events from the sending thread.
232
233 2005-08-17  Andy Wingo  <wingo@pobox.com>
234
235         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
236         play-timeout==0 to mean no timeout at all. In that case, don't
237         bother with a get_state or a warning, just return directly, even
238         if it's ASYNC.
239
240         * gst/base/gstbasetransform.c: Debug changes.
241
242         * gst/gstutils.h:
243         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
244         ensure bins post state change messages. A bit of a hack but I can't
245         think of a way to avoid it.
246
247         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
248
249 2005-08-16  Andy Wingo  <wingo@pobox.com>
250
251         * gst/base/gstadapter.h:
252         * gst/base/gstadapter.c (gst_adapter_take): New function, like
253         peek() but you own the data. Not terribly efficient atm.
254
255 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
256
257         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
258         (gst_element_found_tags):
259         * gst/gstutils.h:
260           Add two utility functions for tag handling.
261
262 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
263
264         * docs/manual/advanced-dataaccess.xml:
265         * docs/manual/basics-helloworld.xml:
266           Fix docs to use _bin_add() before _link(), which fixes the examples
267           with recent core versions (reported by Madhan Raj M
268           <raj_madan@rediffmail.com>, #313199).
269
270 2005-08-16  Wim Taymans  <wim@fluendo.com>
271
272         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
273         Added subtract checks.
274
275         * docs/design/part-events.txt:
276         Some more docs about newsegment
277
278         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
279         Fix FIXME
280
281         * gst/gstcaps.c: (gst_caps_to_string):
282         Add comments, cleanups.
283         
284         * gst/gstelement.c: (gst_element_save_thyself):
285         cleanups
286         
287         * gst/gstvalue.c: (gst_value_collect_int_range),
288         (gst_string_unwrap), (gst_value_union_int_int_range),
289         (gst_value_union_int_range_int_range),
290         (gst_value_intersect_int_int_range),
291         (gst_value_intersect_int_range_int_range),
292         (gst_value_intersect_double_double_range),
293         (gst_value_intersect_double_range_double_range),
294         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
295         (gst_value_subtract_int_range_int),
296         (gst_value_subtract_double_range_double),
297         (gst_value_subtract_double_range_double_range),
298         (gst_value_subtract_from_list), (gst_value_subtract_list),
299         (gst_value_can_compare), (gst_value_compare_fraction):
300         Cleanups, add comments, remove unneeded asserts.
301
302 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
303
304         * tools/gst-launch.c: (event_loop):
305           don't convert NULL structures to strings
306
307 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
308
309         * docs/gst/gstreamer-sections.txt:
310           made some defines private
311         * docs/gst/tmpl/gstconfig.sgml:
312         * docs/gst/tmpl/gstqueue.sgml:
313         * docs/gst/tmpl/gsttaglist.sgml:
314         * docs/gst/tmpl/gsttypes.sgml:
315         * docs/gst/tmpl/gstutils.sgml:
316         * docs/pwg/appendix-porting.xml:
317         * gst/base/gstbasesink.h:
318         * gst/base/gstbasesrc.c:
319         * gst/base/gstbasesrc.h:
320         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
321         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
322         * gst/gstelement.c: (gst_element_class_init):
323         * gst/gstpad.c: (gst_pad_class_init):
324         * gst/gstqueue.c: (gst_queue_class_init):
325         * gst/gstxml.c: (gst_xml_class_init):
326           documented all undocumented signal inline
327         * libs/gst/controller/gst-controller.h:
328           added padding
329
330 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
331
332         * docs/pwg/appendix-porting.xml:
333           Document _set_link_function -> _set_setcaps_function.
334
335 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
336
337         * check/Makefile.am:
338           add a .check target for running the check
339         * check/gst-libs/controller.c: (GST_START_TEST):
340           cosmetic fixups
341         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
342           complete checks for gstbuffer; would be nice if I could get the
343           gcov stuff to work so I can see if I actually completed gstbuffer.c
344         * check/gstcheck.h:
345           add ASSERT_BUFFER_REFCOUNT
346
347 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
348
349         * docs/gst/gstreamer-sections.txt:
350         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
351         * gst/gsttag.h:
352           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
353           spew out a warning if a tag that is already registered
354           is re-registered, unless it is re-registered with a 
355           different type (#308438).
356
357 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
358
359         * docs/pwg/appendix-porting.xml:
360         * docs/pwg/building-state.xml:
361           Add some paragraphs about state changes in 0.9 to the PWG
362           and the porting guide, in particular about the new meaning
363           of GST_STATE_PAUSED and how to write state change functions
364           with concurrent access by multiple threads in mind.
365
366 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
367
368         * docs/gst/gstreamer-docs.sgml:
369         * docs/libs/gstreamer-libs-docs.sgml:
370           added deprecation and since indexes
371         * libs/gst/controller/gst-controller.c:
372         * libs/gst/controller/gst-helper.c:
373           added since tags
374
375
376 2005-08-11  Wim Taymans  <wim@fluendo.com>
377
378         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
379         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
380         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
381         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
382         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
383         (gst_ghost_pad_set_target):
384         Actually implement (re)setting the target on a ghostpad
385         as described in the docs.
386
387 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
388
389         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
390           Check whether GST_DEBUG_NO_COLOR environment variable is
391           set and disable coloured debug output if that is the case.
392
393 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
394
395         * gst/base/gsttypefindhelper.c: (helper_find_peek),
396         (gst_type_find_helper):
397           The memory returned by gst_type_find_peek() needs to
398           stay valid until the end of a typefind function, and
399           typefind functions may keep results from different 
400           offsets around, so we can't just unref the buffer from
401           the previous _peek(), but have to save all buffers 
402           returned by _peek() until typefinding is done and only
403           free them then.
404
405 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * docs/gst/gstreamer-sections.txt:
408         * gst/gstutils.h:
409           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
410
411 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
412
413         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
414           Fix a pretty good memleak.
415
416 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
417
418         * gst/gstiterator.h:
419           Fix wrong include and 'make distcheck'.
420
421 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
422
423         * gst/gstbin.c: (bin_bus_handler):
424           Use gst_element_post_message() instead.
425
426 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
427
428         * gst/base/gstadapter.h:
429         * gst/base/gstbasesink.h:
430         * gst/base/gstbasesrc.h:
431         * gst/base/gstbasetransform.h:
432         * gst/base/gstcollectpads.h:
433         * gst/base/gstpushsrc.h:
434         * gst/gstiterator.h:
435           Add padding to our base elements' class and instance structs and
436           to GstIterator (you will need to rebuild all plugins and apps!)
437
438 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
439
440         * gst/gstbin.c: (bin_bus_handler):
441           Make default message forwarding from child->bus to bin->bus
442           threadsafe and make it not emit warnings if the parent has no bus.
443
444 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
445
446         * gst/gstelement.c: (activate_pads):
447           On paused->ready, set pad->caps to NULL, as is the documented
448           behaviour in this state change. Fixes playback of series of
449           media files when visualization is enabled in Totem.
450
451 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
452
453         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
454           Allow NULL as filter-caps (which means "any").
455
456 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
457
458         * docs/libs/gstreamer-libs-sections.txt:
459         * libs/gst/controller/gst-controller.c:
460         * libs/gst/controller/gst-controller.h:
461         * libs/gst/controller/gst-helper.c:
462           adding more entries to the docs and fix small doc-bugs
463
464 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
465
466         * docs/gst/gstreamer-docs.sgml:
467         * docs/gst/gstreamer-sections.txt:
468         * docs/gst/gstreamer.types:
469         * docs/gst/tmpl/gstbasesink.sgml:
470         * docs/gst/tmpl/gstbasesrc.sgml:
471         * docs/gst/tmpl/gstbasetransform.sgml:
472         * docs/gst/tmpl/gstfakesrc.sgml:
473         * gst/base/gstcollectpads.c:
474         * gst/base/gstcollectpads.h:
475         * libs/gst/controller/gst-controller.c:
476         * libs/gst/controller/gst-controller.h:
477         * libs/gst/controller/gst-helper.c:
478         * libs/gst/controller/gst-interpolation.c:
479         * libs/gst/controller/lib.c:
480           added long/short desc for controller docs
481           added collectpads base class docs
482           added correct includes to base-class docs
483
484 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
485
486         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
487         (gst_test_mono_source_set_property),
488         (gst_test_mono_source_class_init), (GST_START_TEST),
489         (gst_controller_suite):
490         * docs/gst/gstreamer-docs.sgml:
491         * docs/gst/gstreamer-sections.txt:
492         * docs/gst/gstreamer.types:
493         * docs/libs/gstreamer-libs-docs.sgml:
494         * docs/libs/gstreamer-libs-sections.txt:
495         * gst/base/gstadapter.c:
496         * libs/gst/controller/gst-controller.c:
497         (gst_controlled_property_new), (gst_controlled_property_free),
498         (gst_controller_new_valist),
499         (gst_controller_remove_properties_valist),
500         (gst_controller_sink_values), (_gst_controller_finalize):
501         * libs/gst/controller/gst-controller.h:
502         * libs/gst/controller/gst-helper.c:
503         (gst_object_control_properties), (gst_object_uncontrol_properties),
504         (gst_object_get_controller), (gst_object_set_controller),
505         (gst_object_sink_values), (gst_object_get_value_arrays),
506         (gst_object_get_value_array):
507           more tests (and fixes) for the controller
508           more docs for the controller
509           integrated companies docs for the adapter 
510
511 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
512
513         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
514         (GST_START_TEST), (fakesrc_suite):
515           add tests for sizetype
516
517 2005-08-04  Andy Wingo  <wingo@pobox.com>
518
519         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
520         fixes buffer_alloc proxying among other things.
521
522         * gst/base/gstbasetransform.c:
523         * gst/base/gstbasetransform.h:
524         Revert patch to gstbasetransform from 7-28 removing
525         delay_configure.
526
527         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
528         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
529         Semantics changed, should return not the size of the output buffer
530         but the byte size of a buffer with a given caps.
531
532         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
533         debug object.
534         (gst_base_transform_configure_caps): Don't set out_size here: (in,
535         out) are not the pad caps until setcaps finishes.
536         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
537         not-in-place case as well. Deal with changing from in-place to
538         not-in-place within calling pad_alloc_buffer. Still a bit
539         concerned about the overhead here...
540
541 2005-08-03  Andy Wingo  <wingo@pobox.com>
542
543         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
544         fixating is an error.
545
546 2005-08-04  Edward Hervey  <edward@fluendo.com>
547
548         * gst/base/gstadapter.h: 
549         Added gst_adapter_get_type() to the header
550
551 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
552
553         * check/Makefile.am:
554         * check/gst-libs/controller.c:
555         * libs/gst/controller/gst-controller.c:
556         (gst_controller_new_valist):
557           added check test suite for the controller
558         * gst/base/gstpushsrc.c:
559           fixed a doc typo
560
561 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
562
563         * docs/gst/Makefile.am:
564         * docs/gst/gstreamer-docs.sgml:
565         * docs/gst/gstreamer-sections.txt:
566         * docs/gst/gstreamer.types:
567         * docs/gst/tmpl/gstfakesrc.sgml:
568         * gst/base/README:
569         * gst/base/gstbasesink.c:
570         * gst/base/gstbasesink.h:
571         * gst/base/gstbasesrc.c:
572         * gst/base/gstbasesrc.h:
573         * gst/base/gstbasetransform.c:
574         * gst/base/gstpushsrc.c:
575         * gst/base/gstpushsrc.h:
576           add short/long description docs to base classes
577           add pushsrc to the docs
578           remove consolidated doc fragments
579
580 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
581
582         * configure.ac:
583         * docs/libs/Makefile.am:
584         * docs/libs/gstreamer-libs-docs.sgml:
585         * docs/libs/gstreamer-libs-sections.txt:
586         * docs/libs/gstreamer-libs.types:
587         * examples/Makefile.am:
588         * examples/controller/.cvsignore:
589         * examples/controller/Makefile.am:
590         * examples/controller/audio-example.c: (main):
591         * libs/gst/Makefile.am:
592         * libs/gst/controller/.cvsignore:
593         * libs/gst/controller/Makefile.am:
594         * libs/gst/controller/gst-controller.c:
595         (on_object_controlled_property_changed), (gst_timed_value_compare),
596         (gst_timed_value_find),
597         (gst_controlled_property_set_interpolation_mode),
598         (gst_controlled_property_new), (gst_controlled_property_free),
599         (gst_controller_find_controlled_property),
600         (gst_controller_new_valist), (gst_controller_new),
601         (gst_controller_remove_properties_valist),
602         (gst_controller_remove_properties), (gst_controller_set),
603         (gst_controller_set_from_list), (gst_controller_unset),
604         (gst_controller_get), (gst_controller_get_all),
605         (gst_controller_sink_values), (gst_controller_get_value_arrays),
606         (gst_controller_get_value_array),
607         (gst_controller_set_interpolation_mode),
608         (_gst_controller_finalize), (_gst_controller_init),
609         (_gst_controller_class_init), (gst_controller_get_type):
610         * libs/gst/controller/gst-controller.h:
611         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
612         (g_object_uncontrol_properties), (g_object_get_controller),
613         (g_object_set_controller), (g_object_sink_values),
614         (g_object_get_value_arrays), (g_object_get_value_array):
615         * libs/gst/controller/gst-interpolation.c:
616         (gst_controlled_property_find_timed_value_node),
617         (interpolate_none_get), (interpolate_trigger_get),
618         (interpolate_trigger_get_value_array):
619         * libs/gst/controller/lib.c: (gst_controller_init):
620         * pkgconfig/Makefile.am:
621         * pkgconfig/gstreamer-control-uninstalled.pc.in:
622         * pkgconfig/gstreamer-control.pc.in:
623         * testsuite/Makefile.am:
624         * testsuite/controller/.cvsignore:
625         * testsuite/controller/Makefile.am:
626         * testsuite/controller/interpolator.c: (main):
627           added controller code
628           removed dparam pc files
629
630 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
631         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
632         (gst_collectpads_stop):
633           Broadcast the condition when shutting down, to make sure we wake all
634           threads up. Shut down pads on finalize, for safety.
635
636 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
637         * gst/base/gstbasetransform.c: (gst_base_transform_init),
638         (gst_base_transform_handle_buffer),
639         (gst_base_transform_change_state):
640           Handle PAUSED->READY->PAUSED transition after negotiation
641           occurred already.
642         * gst/gstmessage.c: (gst_message_init):
643           Extra piece of debug for new messages.
644
645 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
646
647         * configure.ac:
648         * docs/gst/tmpl/gstbasesrc.sgml:
649         * docs/gst/tmpl/gstelement.sgml:
650         * docs/gst/tmpl/gstevent.sgml:
651         * docs/gst/tmpl/gstfakesrc.sgml:
652         * docs/gst/tmpl/gstformat.sgml:
653         * docs/gst/tmpl/gstghostpad.sgml:
654         * docs/gst/tmpl/gstpad.sgml:
655         * docs/gst/tmpl/gstquery.sgml:
656         * docs/gst/tmpl/gststructure.sgml:
657         * docs/gst/tmpl/gsttaglist.sgml:
658         * docs/gst/tmpl/gstvalue.sgml:
659         * docs/libs/gstreamer-libs-docs.sgml:
660         * docs/libs/gstreamer-libs-sections.txt:
661         * docs/libs/gstreamer-libs.types:
662         * libs/gst/Makefile.am:
663         * libs/gst/control/.cvsignore:
664         * libs/gst/control/Makefile.am:
665         * libs/gst/control/control.c:
666         * libs/gst/control/control.h:
667         * libs/gst/control/dparam.c:
668         * libs/gst/control/dparam.h:
669         * libs/gst/control/dparam_smooth.c:
670         * libs/gst/control/dparam_smooth.h:
671         * libs/gst/control/dparamcommon.h:
672         * libs/gst/control/dparammanager.c:
673         * libs/gst/control/dparammanager.h:
674         * libs/gst/control/dplinearinterp.c:
675         * libs/gst/control/dplinearinterp.h:
676         * libs/gst/control/unitconvert.c:
677         * libs/gst/control/unitconvert.h:
678         * testsuite/Makefile.am:
679         * testsuite/dynparams/.cvsignore:
680         * testsuite/dynparams/Makefile.am:
681         * testsuite/dynparams/dparamstest.c:
682         * tools/Makefile.am:
683         * tools/gst-inspect.c: (print_element_info), (main):
684         * tools/gst-xmlinspect.c: (print_element_info), (main):
685           deactivate and remove dparams (libgstcontrol)
686
687 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
688
689         * gst/elements/gsttypefindelement.c:
690         (gst_type_find_element_have_type), (gst_type_find_element_init),
691         (stop_typefinding), (gst_type_find_element_handle_event),
692         (gst_type_find_element_chain), (gst_type_find_element_getrange):
693         * gst/elements/gsttypefindelement.h:
694           Set caps on all outgoing buffers, not just the first one.
695
696 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
697
698         * gst/elements/gsttypefindelement.c:
699         (gst_type_find_element_have_type),
700         (gst_type_find_element_check_set_buffer_caps),
701         (gst_type_find_element_init), (stop_typefinding),
702         (gst_type_find_element_handle_event),
703         (gst_type_find_element_chain), (gst_type_find_element_getrange):
704         * gst/elements/gsttypefindelement.h:
705           Set caps on first outgoing buffer when we've found the type.
706
707 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
708
709         * docs/gst/gstreamer-docs.sgml:
710         * docs/gst/gstreamer-sections.txt:
711         * docs/gst/tmpl/gstscheduler.sgml:
712         * docs/gst/tmpl/gstschedulerfactory.sgml:
713           Remove some old cruft from docs.
714
715 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
716
717         * gst/gstpad.h:
718           Fix inline docs for GstPadLinkReturn.
719           
720         * gst/gststructure.c: (gst_structure_has_name):
721         * gst/gststructure.h:
722         * docs/gst/gstreamer-sections.txt:
723           New API: gst_structure_has_name().
724
725 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
726
727         * configure.ac:
728           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
729           and _LARGEFILE_SOURCE in config.h as required. Do not 
730           export those flags in our .pc files any longer (#142209).
731
732           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
733
734         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
735         (gst_file_sink_do_seek), (gst_file_sink_event),
736         (gst_file_sink_get_current_offset), (gst_file_sink_render):
737           Redo seek/tell calls with large file support in mind; add some
738           debugging messages; add log message that tells us when large
739           file support is unavailable or not enabled for some reason.
740
741         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
742           Add log message that tells us when large file support 
743           is unavailable or not enabled for some reason.
744
745 2005-07-29  Wim Taymans  <wim@fluendo.com>
746
747         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
748         Added test for removing an element with ghostpad from a bin.
749         Fixed test as current implementation does the right thing.
750
751         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
752         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
753         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
754         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
755         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
756         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
757         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
758         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
759         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
760         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
761         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
762         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
763         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
764         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
765         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
766         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
767         * gst/gstghostpad.h:
768         Clean up ghostpads, remove properties for internal stuff.
769         Make threadsafe.
770         Fix refcounting.
771         Prepare for switching targets, not all use cases work yet.
772
773 2005-07-29  Wim Taymans  <wim@fluendo.com>
774
775         * docs/design/part-gstghostpad.txt:
776         Small update.
777
778         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
779         (gst_bin_remove_func):
780         Unlinking pads while holding the bin LOCK is not a good
781         idea.
782
783         * gst/gstpad.c: (gst_pad_class_init),
784         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
785         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
786         No prob setting template after creating the pad.
787
788 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
789
790         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
791         (gst_bus_peek), (gst_bus_source_dispatch),
792         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
793         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
794           gst_bus_poll may be called from other threads. Handle
795           this nicely by not making poll_data disappear off the
796           stack once gst_bus_poll returns.
797           gst_bus_peek now increments the refcount on the returned
798           message.
799
800 2005-07-29  Wim Taymans  <wim@fluendo.com>
801
802         * docs/design/part-gstghostpad.txt:
803         Overview of current GhostPad datastructures and use
804         cases for changing the target.
805
806 2005-07-28  Wim Taymans  <wim@fluendo.com>
807
808         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
809         Added checks for hierarchy consistency whan adding linked
810         elements to bins.
811
812         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
813         Added check to test element scheduling without bin/pipeline.
814
815         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
816         First add elements to bin, then link.
817         
818         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
819         (gst_bin_remove_func):
820         Unlink pads from elements added/removed from bin to maintain
821         hierarchy consistency.
822
823 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
824
825         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
826         (gst_base_transform_handle_buffer):
827         * gst/base/gstbasetransform.h:
828           Remove broken delay_configure (fixes renegotiation of software
829           scaling pipelines); remove some leftover printf()s.
830
831 2005-07-28  Wim Taymans  <wim@fluendo.com>
832
833         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
834         Added some more tests for wrong hierarchy
835
836         * docs/design/part-overview.txt:
837         Some updates.
838
839         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
840         Cleanups.
841
842         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
843         (gst_element_dispose):
844         Some more cleanups.
845
846         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
847         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
848         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
849         (gst_pad_set_caps), (gst_pad_send_event):
850         Check for correct hierarchy when linking pads. Moving to
851         strict requirement for ghostpads when linking elements in
852         different bins.
853
854         * gst/gstpad.h:
855         Clean ups. Added WRONG_HIERARCHY return value.
856
857 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
858
859         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
860           Better debug if no transform is possible.
861
862 2005-07-27  Wim Taymans  <wim@fluendo.com>
863
864         * docs/random/wtay/network-transp:
865         Some old doc I had.
866
867 2005-07-27  Wim Taymans  <wim@fluendo.com>
868
869         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
870         (gst_dp_event_from_packet):
871         Fix serialization of seek events.
872
873 2005-07-27  Wim Taymans  <wim@fluendo.com>
874
875         * check/gst-libs/gdp.c: (GST_START_TEST):
876         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
877         Fix compilation and fix event serialization.
878
879 2005-07-27  Wim Taymans  <wim@fluendo.com>
880
881         * CHANGES-0.9:
882         * docs/design/part-TODO.txt:
883         * docs/design/part-events.txt:
884         Some docs updates
885
886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
887         (gst_base_sink_event), (gst_base_sink_do_sync),
888         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
889         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
890         (gst_base_src_do_seek), (gst_base_src_event_handler),
891         (gst_base_src_loop):
892         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
893         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
894         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
895         (gst_base_transform_event), (gst_base_transform_handle_buffer),
896         (gst_base_transform_set_passthrough),
897         (gst_base_transform_is_passthrough):
898         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
899         * gst/elements/gstfilesink.c: (gst_file_sink_event):
900         Event updates.
901
902         * gst/gstbuffer.h:
903         Use faster casts.
904
905         * gst/gstelement.c: (gst_element_seek):
906         * gst/gstelement.h:
907         Update gst_element_seek.
908
909         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
910         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
911         (gst_event_new_flush_start), (gst_event_new_flush_stop),
912         (gst_event_new_eos), (gst_event_new_newsegment),
913         (gst_event_parse_newsegment), (gst_event_new_tag),
914         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
915         (gst_event_parse_qos), (gst_event_new_seek),
916         (gst_event_parse_seek), (gst_event_new_navigation):
917         * gst/gstevent.h:
918         Make GstEvent use GstStructure. Add parsing code, make sure the
919         API is sufficiently generic.
920         Mark possible directions of events and serialization.
921
922         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
923         (_gst_message_copy), (gst_message_new_segment_start),
924         (gst_message_new_segment_done), (gst_message_new_custom),
925         (gst_message_parse_segment_start),
926         (gst_message_parse_segment_done):
927         Small cleanups.
928
929         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
930         (gst_pad_set_caps), (gst_pad_send_event):
931         Update for new events. 
932         Catch events sent in wrong directions.
933
934         * gst/gstqueue.c: (gst_queue_link_src),
935         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
936         (gst_queue_handle_src_query):
937         Event updates.
938
939         * gst/gsttag.c:
940         * gst/gsttag.h:
941         Remove event code from this file.
942
943         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
944         (gst_dp_event_from_packet):
945         Event updates.
946
947 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
948
949         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
950         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
951         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
952           Make debugging actually useful.
953
954 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
955
956         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
957         (gst_pad_fixate_caps):
958           Implement default fixation once again, so that gst_pad_fixate()
959           actually does anything at all. This probably needs to be some
960           sort of a last resort, and use profile-based fixation first, but
961           since that doesn't exist yet, this is the best we have. Fixes
962           visualization in Totem.
963
964 2005-07-22  Wim Taymans  <wim@fluendo.com>
965
966         * docs/design/part-events.txt:
967         Small update.
968
969         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
970         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
971         (gst_base_sink_activate_pull):
972         Some more comments.
973
974         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
975         (gst_fake_src_create):
976         Fix handoff marshall.
977
978         * gst/elements/gstidentity.c: (gst_identity_class_init),
979         (gst_identity_transform_ip):
980         We're a real inplace element.
981
982         * gst/gstbus.c: (gst_bus_post):
983         Added some comments.
984
985         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
986         * tests/muxing/case1.c: (main):
987         * tests/sched/dynamic-pipeline.c: (main):
988         * tests/sched/interrupt1.c: (main):
989         * tests/sched/interrupt2.c: (main):
990         * tests/sched/interrupt3.c: (main):
991         * tests/sched/runxml.c: (main):
992         * tests/sched/sched-stress.c: (main):
993         * tests/seeking/seeking1.c: (event_received), (main):
994         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
995         (main):
996         * tests/threadstate/threadstate3.c: (main):
997         * tests/threadstate/threadstate4.c: (main):
998         * tests/threadstate/threadstate5.c: (main):
999         Fix the tests.
1000
1001 2005-07-21  Wim Taymans  <wim@fluendo.com>
1002
1003         * docs/design/part-seeking.txt:
1004         Some small additions.
1005
1006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1007         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1008         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1009         * gst/base/gstbasesink.h:
1010         discont values are gint64, handle the math correctly.
1011
1012         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1013         Make the basesrc report error if the source pad is not linked.
1014
1015         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1016         (gst_queue_loop), (gst_queue_handle_src_query),
1017         (gst_queue_src_activate_push):
1018         Make queue collect data even if the srcpad is not linked.
1019         Start pushing out data as soon as it is linked.
1020
1021         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1022         * gst/gstutils.h:
1023         Added gst_flow_get_name() to ease error reporting.
1024
1025 2005-07-20  Wim Taymans  <wim@fluendo.com>
1026
1027         * gst/gstmessage.c: (gst_message_new_segment_start),
1028         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1029         (gst_message_parse_segment_done):
1030         * gst/gstmessage.h:
1031         Added a bunch of messages for advanced seeking.
1032
1033         * gst/parse/grammar.y:
1034         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1035         (gst_dpman_state_changed):
1036         Fix some new-pad -> pad-added signals
1037
1038 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1039
1040         * docs/manual/appendix-porting.xml:
1041         * docs/pwg/appendix-porting.xml:
1042           Document new-pad/state-change signal renames and the FixedList
1043           type rename.
1044
1045 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1046
1047         * docs/manual/advanced-autoplugging.xml:
1048         * docs/manual/basics-helloworld.xml:
1049         * docs/manual/basics-pads.xml:
1050         * docs/random/ds/0.9-suggested-changes:
1051         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1052         * gst/gstelement.h:
1053         * gst/gstevent.h:
1054         * gst/gstformat.h:
1055         * gst/gstquery.h:
1056         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1057         (gst_structure_parse_array), (gst_structure_parse_value):
1058         * gst/gstvalue.c: (gst_type_is_fixed),
1059         (gst_value_list_prepend_value), (gst_value_list_append_value),
1060         (gst_value_list_get_size), (gst_value_list_get_value),
1061         (gst_value_transform_array_string), (gst_value_serialize_array),
1062         (gst_value_deserialize_array), (gst_value_intersect_array),
1063         (gst_value_is_fixed), (_gst_value_initialize):
1064         * gst/gstvalue.h:
1065           GstElement::new-pad -> pad-added, GstElement::state-change ->
1066           state-changed, GstValueFixedList -> GstValueArray, add format and
1067           flags as their own arguments in gst_element_seek() (should improve
1068           "bindeability"), remove function generators since they don't work
1069           under a whole bunch of compilers (they were deprecated already
1070           anyway).
1071
1072 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1073
1074         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1075         (_gst_debug_register_funcptr):
1076         * gst/gstinfo.h:
1077           Fix illegal cast on some platforms (#309253).
1078
1079 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1080
1081         * gst/gstmessage.c: (gst_message_new_custom):
1082         * gst/gstmessage.h:
1083           Add _new_custom, make _new_application a macro to _new_custom.
1084
1085 2005-07-20  Wim Taymans  <wim@fluendo.com>
1086
1087         * gst/base/gstbasesrc.c: (gst_base_src_init),
1088         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1089         * gst/base/gstbasesrc.h:
1090         Add a gboolean to decide when to push out a discont.
1091
1092         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1093         (gst_queue_loop), (gst_queue_handle_src_query),
1094         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1095         (gst_queue_set_property), (gst_queue_get_property):
1096         Some cleanups.
1097
1098         * tests/threadstate/threadstate1.c: (main):
1099         Make a thread test compile and run... very silly..
1100
1101
1102 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1103
1104         * docs/manual/appendix-porting.xml:
1105           Mention removal of libgstgconf-0.9.la and existence of gconf
1106           elements.
1107
1108 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1109
1110         * docs/pwg/advanced-clock.xml:
1111         * docs/pwg/appendix-porting.xml:
1112         * docs/pwg/intro-preface.xml:
1113         * docs/pwg/other-base.xml:
1114         * docs/pwg/other-manager.xml:
1115         * docs/pwg/other-nton.xml:
1116         * docs/pwg/other-ntoone.xml:
1117         * docs/pwg/other-oneton.xml:
1118         * docs/pwg/pwg.xml:
1119           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1120           demuxer), remove n-to-n (was never written), fix some code examples
1121           and links and update the porting section to include all this.
1122
1123 2005-07-19  Wim Taymans  <wim@fluendo.com>
1124
1125         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1126         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1127         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1128         (gst_queue_src_activate_push), (gst_queue_change_state),
1129         (gst_queue_get_property):
1130         * gst/gstqueue.h:
1131         Propagate GstFlowReturn more intelligently upstream and output
1132         an ERROR/EOS when streaming stopped due to fatal error.
1133
1134 2005-07-19  Wim Taymans  <wim@fluendo.com>
1135
1136         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1137         Don't block forever for the state change to complete, the
1138         pipeline already did with a sensible timeout.
1139
1140 2005-07-19  Wim Taymans  <wim@fluendo.com>
1141
1142         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1143         Make sure we never call the create function is we
1144         got deactivated.
1145
1146 2005-07-19  Andy Wingo  <wingo@pobox.com>
1147
1148         * gst/parse/parse.l: Attempt to solve bug #172815.
1149
1150 2005-07-19  Wim Taymans  <wim@fluendo.com>
1151
1152         * docs/design/part-clocks.txt:
1153         * docs/design/part-events.txt:
1154         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1155         Small docs updates.
1156         Only update the seeking values when we are not
1157         busy streaming.
1158
1159 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1160
1161         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1162           Oops, ignore the result of gst_pad_push_event here.
1163
1164 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1165
1166         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1167         (gst_base_src_activate_push):
1168           Send discont event from the loop function, as pads
1169           aren't activated yet in the activate_push handler.
1170
1171         * gst/gstbin.c: (bin_bus_handler):
1172           Don't leak element name.
1173
1174 2005-07-18  Andy Wingo  <wingo@pobox.com>
1175
1176         * configure.ac: Use AS_LIBTOOL_TAGS.
1177
1178 2005-07-18  Wim Taymans  <wim@fluendo.com>
1179
1180         * docs/gst/gstreamer.types:
1181         Remove deleted types.
1182
1183 2005-07-18  Wim Taymans  <wim@fluendo.com>
1184
1185         * check/elements/gstfakesrc.c: (GST_START_TEST):
1186         * configure.ac:
1187         * gst/Makefile.am:
1188         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1189         (init_popt_callback):
1190         * gst/gst.h:
1191         * gst/gst_private.h:
1192         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1193         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1194         * gst/gstbin.h:
1195         * gst/gstbus.h:
1196         * gst/gstconfig.h.in:
1197         * gst/gstelement.c: (gst_element_class_init),
1198         (gst_element_set_base_time), (gst_element_get_base_time),
1199         (iterator_fold_with_resync), (gst_element_change_state),
1200         (gst_element_dispose), (gst_element_get_bus):
1201         * gst/gstelement.h:
1202         * gst/gstelementfactory.h:
1203         * gst/gsterror.c: (_gst_core_errors_init):
1204         * gst/gsterror.h:
1205         * gst/gstevent.h:
1206         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1207         * gst/gstindex.c:
1208         * gst/gstinfo.c: (_gst_debug_init):
1209         * gst/gstmessage.c: (_gst_message_copy):
1210         * gst/gstmessage.h:
1211         * gst/gstminiobject.h:
1212         * gst/gstobject.c:
1213         * gst/gstobject.h:
1214         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1215         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1216         * gst/gstpad.h:
1217         * gst/gstparse.h:
1218         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1219         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1220         (gst_pipeline_get_last_stream_time):
1221         * gst/gstpipeline.h:
1222         * gst/gstpluginfeature.h:
1223         * gst/gstquery.h:
1224         * gst/gstscheduler.c:
1225         * gst/gstscheduler.h:
1226         * gst/gststructure.h:
1227         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1228         (gst_task_finalize), (gst_task_func), (gst_task_create),
1229         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1230         (gst_task_stop), (gst_task_pause):
1231         * gst/gsttask.h:
1232         * gst/gsttypefind.h:
1233         * gst/gsttypes.h:
1234         * gst/registries/gstlibxmlregistry.c: (load_feature),
1235         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1236         * gst/registries/gstxmlregistry.c:
1237         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1238         * gst/schedulers/threadscheduler.c:
1239         * libs/gst/control/dparammanager.h:
1240         * tools/gst-inspect.c: (print_element_list),
1241         (print_plugin_features), (print_element_features):
1242         * tools/gst-xmlinspect.c: (print_element_list),
1243         (print_plugin_info), (main):
1244         Removed plugable schedulers.
1245         Removed Scheduler/Manager from elements.
1246         Removed gsttypes.h, rearranged includes.
1247         Removed dependency pad<->element, element<>pipeline, and
1248         various others,  fix includes.
1249         implement gst_pad_get_parent() with gst_object_get_parent()
1250         Make GstTask sefcontained.
1251         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1252         timeout.
1253         Fix endless loop in iterator_fold_with_resync.
1254
1255
1256 2005-07-18  Wim Taymans  <wim@fluendo.com>
1257
1258         * gst/Makefile.am:
1259         * gst/gstarch.h:
1260         Remove old file.
1261
1262 2005-07-18  Wim Taymans  <wim@fluendo.com>
1263
1264         * gst/Makefile.am:
1265         No more cothreads.h
1266
1267 2005-07-18  Wim Taymans  <wim@fluendo.com>
1268
1269         * gst/cothreads.c:
1270         * gst/cothreads.h:
1271         Let's remove these.
1272
1273 2005-07-18  Wim Taymans  <wim@fluendo.com>
1274
1275         * docs/design/part-dynamic.txt:
1276         * docs/design/part-events.txt:
1277         * docs/design/part-seeking.txt:
1278         Some more docs in the works.
1279
1280         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1281         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1282         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1283         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1284         (gst_base_transform_handle_buffer),
1285         (gst_base_transform_sink_activate_push),
1286         (gst_base_transform_src_activate_pull),
1287         (gst_base_transform_set_passthrough),
1288         (gst_base_transform_is_passthrough):
1289         Refcounting fixes.
1290
1291         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1292         Cleanups.
1293
1294         * gst/gstevent.c: (gst_event_finalize):
1295         Set SRC to NULL.
1296
1297         * gst/gstutils.c: (gst_element_unlink),
1298         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1299         (gst_pad_proxy_setcaps):
1300         * gst/gstutils.h:
1301         Add _get_parent_element() to get a pads parent as an element.
1302
1303 2005-07-18  Wim Taymans  <wim@fluendo.com>
1304
1305         * check/gst/gstbin.c: (GST_START_TEST):
1306         Remove bogus test.
1307
1308 2005-07-18  Wim Taymans  <wim@fluendo.com>
1309
1310         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1311         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1312         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1313         (gst_base_sink_event), (gst_base_sink_do_sync),
1314         (gst_base_sink_chain), (gst_base_sink_loop),
1315         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1316         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1317         Refcounting fixes.
1318         Fix logic for returning ASYNC when not prerolled.
1319
1320 2005-07-18  Wim Taymans  <wim@fluendo.com>
1321
1322         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1323         Fix nasty refcount bug.
1324
1325 2005-07-16 Philippe Khalaf <burger@speedy.org>
1326         * gst/elements/gstfdsrc.c:
1327         * gst/elements/gstfdsrc.h:
1328         * gst/elements/gstelements.c:
1329         * gst/elements/Makefile.am:
1330         Ported fdsrc to 0.9.
1331
1332 2005-07-16  Wim Taymans  <wim@fluendo.com>
1333
1334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1335         (gst_base_sink_do_sync):
1336         Fix compile error.
1337
1338 2005-07-16  Wim Taymans  <wim@fluendo.com>
1339
1340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1341         (gst_base_sink_event), (gst_base_sink_get_times),
1342         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1343         * gst/base/gstbasesink.h:
1344         Store and use discont values when syncing buffers as described
1345         in design docs.
1346         
1347         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1348         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1349         (gst_base_src_activate_push):
1350         Push discont event when starting.
1351
1352         * gst/elements/gstidentity.c: (gst_identity_transform):
1353         Small cleanups.
1354
1355         * gst/gstbin.c: (gst_bin_change_state):
1356         Small cleanups in base_time  distribution.
1357
1358         * gst/gstelement.c: (gst_element_set_base_time),
1359         (gst_element_get_base_time), (gst_element_change_state):
1360         * gst/gstelement.h:
1361         Added methods for the base_time of the element.
1362         Some MT fixes.
1363
1364         * gst/gstpipeline.c: (gst_pipeline_send_event),
1365         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1366         (gst_pipeline_get_last_stream_time):
1367         * gst/gstpipeline.h:
1368         MT fixes.
1369         Handle seeking as described in design doc, remove stream_time
1370         hack.
1371         Cleanups clock and stream_time selection code. Added accessors
1372         for the stream_time.
1373         
1374
1375 2005-07-16  Andy Wingo  <wingo@pobox.com>
1376
1377         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1378         (#305291).
1379
1380 2005-07-16  Wim Taymans  <wim@fluendo.com>
1381
1382         * check/gst/gstbin.c: (GST_START_TEST):
1383         Make elements silent as the deep_notify refs the
1384         parent, which might make the test fail.
1385
1386         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1387         Don't hold the lock for too long.
1388
1389 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1390
1391         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1392           Don't unref the caps we passed to gst_caps_make_writable() after
1393           passing them. gst_caps_make_writable() will do that for us.
1394
1395 2005-07-15  Andy Wingo  <wingo@pobox.com>
1396
1397         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1398         (#157311).
1399
1400         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1401         own marshalling function for the handoff signal. Properly type the
1402         buffer as a buffer. Fixes some warnings. Should do a more general
1403         solution.
1404         (gst_identity_class_init): Plug into the right marshaller.
1405
1406 2005-07-15  Wim Taymans  <wim@fluendo.com>
1407
1408         * docs/design/part-TODO.txt:
1409         * docs/design/part-clocks.txt:
1410         * docs/design/part-element-sink.txt:
1411         * docs/design/part-events.txt:
1412         * docs/design/part-gstpipeline.txt:
1413         Updated docs, mostly DISCONT related.
1414
1415 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1416
1417         * docs/pwg/building-pads.xml:
1418           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1419
1420 2005-07-15  Andy Wingo  <wingo@pobox.com>
1421
1422         * tools/gst-typefind.c: Update, add copyright block.
1423
1424         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1425         Normalize and truncate caps before fixation.
1426
1427         * gst/gstcaps.h:
1428         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1429         discards all but the first structure from its argument.
1430
1431 2005-07-15  Wim Taymans  <wim@fluendo.com>
1432
1433         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1434         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1435         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1436         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1437         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1438         (gst_base_transform_chain), (gst_base_transform_change_state),
1439         (gst_base_transform_set_passthrough),
1440         (gst_base_transform_is_passthrough):
1441         * gst/base/gstbasetransform.h:
1442         Make passthrough work using the bufferpools.
1443         Changed API a bit, subclasses have to write into a buffer
1444         provided by the base class.
1445         More debug info in nego functions.
1446         
1447         * gst/elements/gstidentity.c: (gst_identity_init),
1448         (gst_identity_transform):
1449         Port to new base class.
1450
1451 2005-07-15  Wim Taymans  <wim@fluendo.com>
1452
1453         * gst/gstmessage.c: (gst_message_new_state_changed):
1454         * tools/gst-launch.c: (event_loop), (main):
1455         Totally dump messages in -launch with the -m option.
1456         Fix message name for State messages,
1457
1458 2005-07-14  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1461         Post error messages on errors.
1462
1463 2005-07-14  Wim Taymans  <wim@fluendo.com>
1464
1465         * gst/gstcaps.c: (gst_caps_do_simplify):
1466         Remove debug info.
1467
1468         * gst/gsterror.h:
1469         Define error for stream stopped.
1470
1471         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1472         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1473         Do proper return values.
1474
1475         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1476         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1477         (gst_pad_get_range):
1478         Better return values.
1479
1480         * gst/gstpad.h:
1481         Reorganise return values, add macro to check for fatal errors.
1482
1483         * gst/gstqueue.c: (gst_queue_chain):
1484         Return proper GstFlowReturn values,
1485
1486 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1487
1488         * docs/gst/gstreamer-sections.txt:
1489         * docs/gst/gstreamer.types:
1490         * docs/gst/tmpl/gst.sgml:
1491         * docs/gst/tmpl/gstbasesink.sgml:
1492         * docs/gst/tmpl/gstbasesrc.sgml:
1493         * docs/gst/tmpl/gstbasetransform.sgml:
1494         * docs/gst/tmpl/gstbin.sgml:
1495         * docs/gst/tmpl/gstbuffer.sgml:
1496         * docs/gst/tmpl/gstcaps.sgml:
1497         * docs/gst/tmpl/gstclock.sgml:
1498         * docs/gst/tmpl/gstcompat.sgml:
1499         * docs/gst/tmpl/gstconfig.sgml:
1500         * docs/gst/tmpl/gstelement.sgml:
1501         * docs/gst/tmpl/gstelementdetails.sgml:
1502         * docs/gst/tmpl/gstelementfactory.sgml:
1503         * docs/gst/tmpl/gstenumtypes.sgml:
1504         * docs/gst/tmpl/gsterror.sgml:
1505         * docs/gst/tmpl/gstevent.sgml:
1506         * docs/gst/tmpl/gstfakesink.sgml:
1507         * docs/gst/tmpl/gstfakesrc.sgml:
1508         * docs/gst/tmpl/gstfilesink.sgml:
1509         * docs/gst/tmpl/gstfilesrc.sgml:
1510         * docs/gst/tmpl/gstfilter.sgml:
1511         * docs/gst/tmpl/gstformat.sgml:
1512         * docs/gst/tmpl/gstghostpad.sgml:
1513         * docs/gst/tmpl/gstimplementsinterface.sgml:
1514         * docs/gst/tmpl/gstindex.sgml:
1515         * docs/gst/tmpl/gstindexfactory.sgml:
1516         * docs/gst/tmpl/gstinfo.sgml:
1517         * docs/gst/tmpl/gstiterator.sgml:
1518         * docs/gst/tmpl/gstmacros.sgml:
1519         * docs/gst/tmpl/gstmemchunk.sgml:
1520         * docs/gst/tmpl/gstminiobject.sgml:
1521         * docs/gst/tmpl/gstobject.sgml:
1522         * docs/gst/tmpl/gstpad.sgml:
1523         * docs/gst/tmpl/gstpadtemplate.sgml:
1524         * docs/gst/tmpl/gstparse.sgml:
1525         * docs/gst/tmpl/gstpipeline.sgml:
1526         * docs/gst/tmpl/gstplugin.sgml:
1527         * docs/gst/tmpl/gstpluginfeature.sgml:
1528         * docs/gst/tmpl/gstquery.sgml:
1529         * docs/gst/tmpl/gstqueue.sgml:
1530         * docs/gst/tmpl/gstregistry.sgml:
1531         * docs/gst/tmpl/gstregistrypool.sgml:
1532         * docs/gst/tmpl/gstscheduler.sgml:
1533         * docs/gst/tmpl/gstschedulerfactory.sgml:
1534         * docs/gst/tmpl/gststructure.sgml:
1535         * docs/gst/tmpl/gstsystemclock.sgml:
1536         * docs/gst/tmpl/gsttaglist.sgml:
1537         * docs/gst/tmpl/gsttagsetter.sgml:
1538         * docs/gst/tmpl/gsttrace.sgml:
1539         * docs/gst/tmpl/gsttrashstack.sgml:
1540         * docs/gst/tmpl/gsttypefind.sgml:
1541         * docs/gst/tmpl/gsttypefindfactory.sgml:
1542         * docs/gst/tmpl/gsttypes.sgml:
1543         * docs/gst/tmpl/gsturihandler.sgml:
1544         * docs/gst/tmpl/gsturitype.sgml:
1545         * docs/gst/tmpl/gstutils.sgml:
1546         * docs/gst/tmpl/gstvalue.sgml:
1547         * docs/gst/tmpl/gstversion.sgml:
1548         * docs/gst/tmpl/gstxml.sgml:
1549         * docs/libs/tmpl/gstcontrol.sgml:
1550         * docs/libs/tmpl/gstdataprotocol.sgml:
1551         * docs/libs/tmpl/gstdparam.sgml:
1552         * docs/libs/tmpl/gstdplinint.sgml:
1553         * docs/libs/tmpl/gstdpman.sgml:
1554         * docs/libs/tmpl/gstdpsmooth.sgml:
1555         * docs/libs/tmpl/gstgetbits.sgml:
1556         * docs/libs/tmpl/gstunitconvert.sgml:
1557         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1558         (gst_push_src_base_init), (gst_push_src_class_init),
1559         (gst_push_src_init), (gst_push_src_create):
1560         * gst/base/gstpushsrc.h:
1561         * gst/elements/gstelements.c:
1562         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1563         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1564         (gst_fake_sink_init), (gst_fake_sink_set_property),
1565         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1566         (gst_fake_sink_event), (gst_fake_sink_preroll),
1567         (gst_fake_sink_render), (gst_fake_sink_change_state):
1568         * gst/elements/gstfakesink.h:
1569         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1570         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1571         (gst_fake_src_base_init), (gst_fake_src_class_init),
1572         (gst_fake_src_init), (gst_fake_src_event_handler),
1573         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1574         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1575         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1576         (gst_fake_src_create_buffer), (gst_fake_src_create),
1577         (gst_fake_src_start), (gst_fake_src_stop):
1578         * gst/elements/gstfakesrc.h:
1579         * gst/elements/gstfilesink.c: (_do_init),
1580         (gst_file_sink_base_init), (gst_file_sink_class_init),
1581         (gst_file_sink_init), (gst_file_sink_dispose),
1582         (gst_file_sink_set_location), (gst_file_sink_set_property),
1583         (gst_file_sink_get_property), (gst_file_sink_open_file),
1584         (gst_file_sink_close_file), (gst_file_sink_query),
1585         (gst_file_sink_event), (gst_file_sink_render),
1586         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1587         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1588         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1589         * gst/elements/gstfilesink.h:
1590         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1591         (gst_file_src_class_init), (gst_file_src_init),
1592         (gst_file_src_finalize), (gst_file_src_set_location),
1593         (gst_file_src_set_property), (gst_file_src_get_property),
1594         (gst_file_src_map_region), (gst_file_src_map_small_region),
1595         (gst_file_src_create_mmap), (gst_file_src_create_read),
1596         (gst_file_src_create), (gst_file_src_is_seekable),
1597         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1598         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1599         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1600         (gst_file_src_uri_handler_init):
1601         * gst/elements/gstfilesrc.h:
1602           more autistic cleanliness in functions/names/defines
1603
1604 2005-07-13  Andy Wingo  <wingo@pobox.com>
1605
1606         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1607         source couldn't negotiate.
1608
1609         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1610         connections again.
1611
1612         * gst/gstutils.h:
1613         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1614         function. I am channeling Hades. Put your boots on suckers!!!
1615
1616 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1617
1618         * testsuite/caps/Makefile.am:
1619         * testsuite/caps/value_compare.c:
1620         * testsuite/caps/value_intersect.c:
1621         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1622           move two testsuite apps over to the check dir
1623
1624 2005-07-12  Wim Taymans  <wim@fluendo.com>
1625
1626         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1627         Added more debug info in the negotiate process.
1628
1629         * gst/gstmessage.h:
1630         Prepare for segment playback.
1631
1632         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1633         Better debugging.
1634
1635         * gst/gstutils.c:
1636         Some more docs.
1637
1638         * tools/gst-launch.c: (main):
1639         NULL pipeline on errors.
1640
1641 2005-07-12  Andy Wingo  <wingo@pobox.com>
1642
1643         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1644         not it comes from a malloc region. Make sure our copy gets freed.
1645
1646 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1649         * check/gst/gstmessage.c: (GST_START_TEST):
1650         * check/gst/gststructure.c: (GST_START_TEST),
1651         (gst_structure_suite), (main):
1652           more testing
1653         * gst/gstelement.c: (gst_element_message_full):
1654           clean up GError and debug string now that they get copied
1655         * gst/gstmessage.c: (gst_message_new_error),
1656         (gst_message_new_warning), (gst_message_parse_error),
1657         (gst_message_parse_warning):
1658           use GST_TYPE_G_ERROR for structure_new, and take copies of
1659           arguments, so that we don't mess up refcounting
1660
1661 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1662
1663         * check/Makefile.am:
1664           add per-test valgrind targets
1665         * check/gst-libs/gdp.c: (GST_START_TEST),
1666         (gst_data_protocol_suite), (main):
1667           clean up
1668
1669 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1670
1671         * check/Makefile.am:
1672           instate more valgrindable tests
1673         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1674         (GST_START_TEST), (fakesrc_suite):
1675         * check/gst/gstpad.c: (GST_START_TEST):
1676         * check/gst/gststructure.c: (GST_START_TEST):
1677           fix test leaks
1678         * docs/gst/tmpl/gstminiobject.sgml:
1679         * gst/gstpad.c: (gst_pad_finalize):
1680           fix the static mutex leak
1681
1682 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1683
1684         * check/Makefile.am:
1685           add two more tests for valgrinding
1686         * check/gst/gstvalue.c: (GST_START_TEST):
1687           test refcount of deserialized buffer, found a leak
1688         * docs/gst/gstreamer-docs.sgml:
1689         * docs/gst/gstreamer-sections.txt:
1690         * docs/gst/gstreamer.types:
1691         * docs/gst/tmpl/gstminiobject.sgml:
1692           add miniobject to docs
1693         * gst/gstminiobject.c:
1694           add some docs
1695         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1696         (gst_string_unwrap):
1697           fix a hard-to-find invalid write for one of the tests
1698           fix a leak for deserialized buffers
1699
1700 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1701
1702         * docs/pwg/advanced-events.xml:
1703         * docs/pwg/advanced-request.xml:
1704         * docs/pwg/advanced-scheduling.xml:
1705         * docs/pwg/appendix-porting.xml:
1706         * docs/pwg/building-boiler.xml:
1707         * docs/pwg/intro-preface.xml:
1708         * docs/pwg/other-ntoone.xml:
1709           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1710           of example code and explanation for pad activation, loop() and
1711           getrange() functions and a bit more. Remove old comments pointing
1712           to loop-functions.
1713         * examples/pwg/Makefile.am:
1714           Add loop/getrange examples.
1715
1716 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1717
1718         * configure.ac:
1719           check for valgrind binary + some fixes
1720         * check/gst.supp:
1721           valgrind suppressions for the tests
1722         * check/Makefile.am:
1723           add a valgrind: target that valgrinds the unit tests
1724         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1725         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1726         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1727         * check/gst/gstghostpad.c:
1728           added some cleanup
1729         * check/gst/gstdata.c:
1730           removed
1731         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1732         (thread_unref), (gst_mini_object_suite), (main):
1733           added
1734         * gst/gst.c: (gst_deinit):
1735         * gst/gst.h:
1736           add a method to clean up.
1737         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1738         (gst_system_clock_obtain):
1739           allow for disposing the system clock.
1740         * tools/gst-launch.c: (main):
1741           deinit
1742
1743 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1744
1745         * docs/gst/tmpl/gstbasesrc.sgml:
1746         * docs/gst/tmpl/gstfakesrc.sgml:
1747         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1748         (gst_base_src_init), (gst_base_src_set_property),
1749         (gst_base_src_get_property), (gst_base_src_get_range),
1750         (gst_base_src_start):
1751         * gst/base/gstbasesrc.h:
1752           add num-buffers property
1753         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1754         (gst_fakesrc_init), (gst_fakesrc_set_property),
1755         (gst_fakesrc_get_property), (gst_fakesrc_create),
1756         (gst_fakesrc_start):
1757           remove num-buffers property
1758
1759 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1760
1761         * docs/gst/gstreamer-sections.txt:
1762         * docs/gst/tmpl/gstbasesink.sgml:
1763         * docs/gst/tmpl/gstbasesrc.sgml:
1764         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1765         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1766         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1767         (gst_base_sink_set_property), (gst_base_sink_get_property),
1768         (gst_base_sink_handle_object), (gst_base_sink_event),
1769         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1770         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1771         (gst_base_sink_loop), (gst_base_sink_deactivate),
1772         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1773         (gst_base_sink_change_state):
1774         * gst/base/gstbasesink.h:
1775         * gst/base/gstbasesrc.h:
1776         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1777         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1778         (gst_filesink_init):
1779           more macro splitting
1780
1781 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1782
1783         * gst/gstelement.c: (gst_element_get_bus):
1784           add debug
1785         * tools/gst-launch.c: (check_intr), (event_loop):
1786           fix bus leaks
1787
1788 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1789
1790         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1791           fix a caps leak
1792
1793 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1794
1795         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1796         (gst_base_src_finalize):
1797           add finalize method and clean up properly
1798         * gst/gstpipeline.c: (gst_pipeline_dispose):
1799           add debug
1800
1801 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1802
1803         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1804         (gst_bin_suite):
1805           add more things to check
1806         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1807         * gst/gstelement.c:
1808           more debug
1809
1810 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1811
1812         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1813         (GST_START_TEST), (fakesrc_suite):
1814         * check/gst-libs/gdp.c: (GST_START_TEST):
1815         * check/gst/gst.c: (GST_START_TEST):
1816         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1817         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1818         * check/gst/gstbus.c: (GST_START_TEST):
1819         * check/gst/gstcaps.c: (GST_START_TEST):
1820         * check/gst/gstdata.c: (GST_START_TEST):
1821         * check/gst/gstelement.c: (GST_START_TEST):
1822         * check/gst/gstghostpad.c: (GST_START_TEST):
1823         * check/gst/gstiterator.c: (GST_START_TEST):
1824         * check/gst/gstmessage.c: (GST_START_TEST):
1825         * check/gst/gstobject.c: (GST_START_TEST):
1826         * check/gst/gstpad.c: (GST_START_TEST):
1827         * check/gst/gststructure.c: (GST_START_TEST):
1828         * check/gst/gstsystemclock.c: (GST_START_TEST),
1829         (gst_systemclock_suite):
1830         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1831         * check/gst/gstvalue.c: (GST_START_TEST):
1832         * check/pipelines/cleanup.c: (GST_START_TEST):
1833         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1834         * check/states/sinks.c: (GST_START_TEST):
1835         * check/gstcheck.c: (gst_check_init):
1836         * check/gstcheck.h:
1837           add debugging category
1838           use GST_START_TEST now, so we add a debug line
1839
1840 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1841
1842         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1843           add test for state change message on a bin
1844         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1845           add another test
1846         * gst/gstbin.c: (gst_bin_init):
1847         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1848         * gst/gstelement.c: (gst_element_post_message),
1849         (gst_element_set_state):
1850         * gst/gstelementfactory.c: (gst_element_factory_create):
1851         * gst/gstmessage.c: (gst_message_new):
1852         * gst/gstscheduler.c:
1853           various debugging additions and cleanups
1854
1855 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         * check/Makefile.am:
1858         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1859         (main):
1860           adding tests for elements
1861         * gst/gstelement.c: (gst_element_dispose):
1862
1863 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1864
1865         * gst/registries/gstlibxmlregistry.c: (load_feature):
1866           plug more leaks.  A simple gst_init() now is leakfree, yay.
1867
1868 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1869
1870         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1871         (gst_xml_registry_load):
1872           plug another memleak
1873
1874 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1875
1876         * configure.ac:
1877           use GST_SET_ERROR_CFLAGS
1878         * docs/faq/cvs.xml:
1879           change to ERROR_CFLAGS
1880
1881 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1882
1883         * configure.ac:
1884           make GST_ERROR_CFLAGS overridable and re-enable Werror
1885         * docs/faq/cvs.xml:
1886           add a note about error CFLAGS
1887         * docs/gst/tmpl/gstfakesrc.sgml:
1888         * gst/elements/gstfakesrc.c:
1889           comment out some unused code
1890         * gst/gst.c: (split_and_iterate):
1891         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1892         (load_feature):
1893           plug some memleaks
1894
1895 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1896
1897         * common/Makefile.am:
1898         * common/gtk-doc.mak:
1899         * docs/gst/Makefile.am:
1900           factor out gtk-doc.mak
1901
1902 2005-07-07  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1905         (gst_thread_scheduler_dispose):
1906         Unlock the STREAM_LOCK completely.
1907
1908 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1909
1910         * check/Makefile.am:
1911         * check/elements/.cvsignore:
1912         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1913         (START_TEST), (fakesrc_suite), (main):
1914         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1915         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1916         (gst_fakesrc_create), (gst_fakesrc_start):
1917         * gst/elements/gstfakesrc.h:
1918           adding a first element test
1919
1920 2005-07-07  Andy Wingo  <wingo@pobox.com>
1921
1922         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1923         debug message.
1924
1925 2005-07-07  Wim Taymans  <wim@fluendo.com>
1926
1927         * gst/gstquery.c:
1928         * gst/gstquery.h:
1929         Remove old types
1930
1931 2005-07-07  Wim Taymans  <wim@fluendo.com>
1932
1933         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1934         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1935         Allow subclasses to implement their own negotiation.
1936
1937 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1938
1939         * docs/design/part-gstbin.txt:
1940         * docs/design/part-gstpipeline.txt:
1941           Update design notes to reflect the movement of
1942           responsibility for bus handling from GstPipeline to
1943           GstBin
1944
1945 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1946
1947         * configure.ac:
1948           Remove unnecessary queue2/3/4 examples.
1949
1950 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1951
1952         * examples/Makefile.am:
1953         * examples/helloworld/helloworld.c: (event_loop), (main):
1954         * examples/queue/queue.c: (event_loop), (main):
1955         * examples/queue2/queue2.c: (main):
1956           Update a couple of the examples to work again.
1957
1958         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1959         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1960          Spelling corrections and extra debug.
1961         
1962         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1963         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1964         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1965         * gst/gstbin.h:
1966         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1967         (gst_pipeline_change_state):
1968         * gst/gstpipeline.h:
1969           Move the bus handler for children to the GstBin, and create a
1970           separate bus for receiving messages from children to the one the
1971           bus sends 'upwards' on.
1972
1973 2005-07-06  Wim Taymans  <wim@fluendo.com>
1974
1975         * gst/base/README:
1976         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1977         (gst_base_sink_handle_object), (gst_base_sink_loop),
1978         (gst_base_sink_change_state):
1979         * gst/base/gstbasesink.h:
1980         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1981         (gst_base_src_init), (gst_base_src_setcaps),
1982         (gst_base_src_getcaps), (gst_base_src_loop),
1983         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1984         (gst_base_src_start), (gst_base_src_change_state):
1985         * gst/base/gstbasesrc.h:
1986         Make basesrc negotiate.
1987         Handle the case where preroll fails in basesink.
1988         Update README.
1989
1990 2005-07-06  Wim Taymans  <wim@fluendo.com>
1991
1992         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1993         Implement the fixate function.
1994         Clean up acceptcaps.
1995
1996 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1997
1998         * docs/pwg/building-filterfactory.xml:
1999         * docs/pwg/pwg.xml:
2000           Remove never-written filter-factory chapter; I'll add the various
2001           base classes to part 4 ("other element types") later on.
2002
2003 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2004
2005         * docs/pwg/advanced-negotiation.xml:
2006         * docs/pwg/building-boiler.xml:
2007         * docs/pwg/building-pads.xml:
2008         * docs/pwg/pwg.xml:
2009         * examples/pwg/Makefile.am:
2010           Add a chapter on caps negotiation, simplify the original code
2011           samples a bit w.r.t. caps negotiation, add link to the advanced
2012           section. Add a bunch of examples showing different use cases of
2013           different types of caps negotiation. Upstream renegotiation isn't
2014           fully documented yet since nobody knows how that works.
2015
2016 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2017
2018         * check/gst/gstpad.c:
2019         * check/gstcheck.c:
2020         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2021           if pad has no parent, return NULL as list of internal links
2022
2023 2005-07-05  Andy Wingo  <wingo@pobox.com>
2024
2025         * gst/elements/gstfilesrc.c:
2026         * gst/elements/gstfakesrc.c: 
2027         * gst/base/gstpushsrc.c:
2028         * gst/base/gstbasesrc.h: 
2029         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2030         
2031 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2032
2033         * Makefile.am:
2034           better report generation target (lcov needs a patch)
2035
2036 2005-07-05  Andy Wingo  <wingo@pobox.com>
2037
2038         * gst/elements, testsuite: Null if we got it...
2039
2040 2005-07-05  Wim Taymans  <wim@fluendo.com>
2041
2042         * configure.ac:
2043         * libs/gst/dataprotocol/Makefile.am:
2044         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2045         * libs/gst/dataprotocol/dataprotocol.h:
2046         * pkgconfig/Makefile.am:
2047         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2048         * pkgconfig/gstreamer-dataprotocol.pc.in:
2049         Ported dataprotol to 0.9. 
2050         Added pkgconfig files.
2051
2052 2005-07-05  Andy Wingo  <wingo@pobox.com>
2053
2054         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2055         Default to returning TRUE for the case when tranform_caps returns
2056         a fixed caps, like for identity or volume.
2057
2058         * check/gst/gstbus.c (pound_bus_with_messages): 
2059         * check/gst/gstmessage.c (START_TEST): 
2060         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2061         message API change.
2062
2063         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2064         logic weaks here: always run transform_caps, trying passthrough
2065         operation only if the original caps intersects with the transform.
2066
2067         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2068         source and sink caps.
2069
2070         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2071         Intersect the peer caps with the pad template before going into
2072         transform_caps.
2073         (gst_base_transform_transform_caps): More debugging.
2074
2075         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2076         src argument.
2077
2078 2005-07-04  Edward Hervey  <edward@fluendo.com>
2079
2080         * gst/gstutils.c:
2081         * gst/gstutils.h:
2082         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2083         in bindings.
2084
2085 2005-07-04  Andy Wingo  <wingo@pobox.com>
2086
2087         * check/gst/gstpad.c: Only set explicit caps on pads.
2088
2089 2005-07-01  Andy Wingo  <wingo@pobox.com>
2090
2091         * tests/network-clock.scm: Commentary update.
2092
2093         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2094         Didn't really make sense, not implementable with basetransform,
2095         etc.
2096         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2097         attempt at implementing the sync property, needs an unlock method.
2098
2099         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2100         New func, by default returns the same caps (the identity
2101         transformation).
2102         (gst_base_transform_getcaps): Uses transform_caps to return
2103         something sensible.
2104         (gst_base_transform_setcaps): Complicated logic to get caps on
2105         both pads, even if they are different, and to call set_caps once
2106         for every time both pads get their caps set.
2107         (gst_base_transform_handle_buffer): Give the ref to the transform
2108         function. Allows in-place modification of the buffer.
2109
2110         * gst/base/gstbasetransform.h (transform_caps): New class method.
2111         Given caps on one side, what can I do on the other.
2112         (set_caps): Take two caps, one for each side of the element.
2113
2114         * gst/gstpad.h:
2115         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2116         caps in place. This is safe because we can check the mutability of
2117         the caps, and a good idea because fixate functions are just called
2118         as a matter of last resort. (Not actually implemented.)
2119         (gst_pad_set_caps): If the caps we're setting is actually the same
2120         as the existing pad caps, just update the pointer without calling
2121         setcaps. Assert that caps is either NULL or fixed, as per the
2122         docs.
2123
2124         * gst/gstghostpad.c: Update for fixate changes.
2125
2126 2005-07-02  Andy Wingo  <wingo@pobox.com>
2127
2128         * gst/gstcaps.c:
2129         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2130         two refcounts makes it immutable, which is enough. Doc more.
2131
2132 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2133
2134         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2135           Put the mini_object into GValue as a mini_object,
2136           not a gpointer, since that's how we declared
2137           the signal.
2138
2139 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2140
2141         * examples/pwg/Makefile.am:
2142           Fix buildbot again.
2143
2144 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2145
2146         * docs/pwg/building-testapp.xml:
2147           Add extra check.
2148         * examples/pwg/Makefile.am:
2149           Fix buildbot.
2150
2151 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2152
2153         * configure.ac:
2154         * examples/Makefile.am:
2155         * examples/pwg/Makefile.am:
2156         * examples/pwg/extract.pl:
2157           Enable building the PWG examples.
2158         * docs/pwg/advanced-interfaces.xml:
2159           Add URI interface stub.
2160         * docs/pwg/advanced-types.xml:
2161         * docs/pwg/other-autoplugger.xml:
2162         * docs/pwg/appendix-porting.xml:
2163         * docs/pwg/pwg.xml:
2164           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2165         * docs/pwg/building-boiler.xml:
2166         * docs/pwg/building-chainfn.xml:
2167         * docs/pwg/building-pads.xml:
2168         * docs/pwg/building-props.xml:
2169         * docs/pwg/building-state.xml:
2170         * docs/pwg/building-testapp.xml:
2171           Update the building-*.xml parts for 0.9 changes. All examples
2172           code blocks compile in examples/pwg/*.
2173
2174 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2175
2176         * docs/manual/advanced-autoplugging.xml:
2177         * docs/manual/appendix-checklist.xml:
2178         * docs/manual/appendix-integration.xml:
2179         * docs/manual/highlevel-components.xml:
2180           Fix playbin/decodebin examples, update docs a bit, mention bus
2181           instead of signals in various places, mention kmplayer and
2182           kaffeine since they have a working GStreamer backend in the KDE
2183           section.
2184
2185 2005-06-30  Wim Taymans  <wim@fluendo.com>
2186
2187         * CHANGES-0.9:
2188         * docs/design/draft-ghostpads.txt:
2189         * docs/design/draft-push-pull.txt:
2190         * docs/design/draft-query.txt:
2191         * docs/design/part-TODO.txt:
2192         * docs/design/part-query.txt:
2193         Added CHANGES-0.9 doc, updated status of other docs.
2194         
2195         * gst/gstquery.h:
2196         Remove "hmm" macro
2197
2198 2005-06-30  Wim Taymans  <wim@fluendo.com>
2199
2200         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2201         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2202         (gst_base_sink_change_state):
2203         * gst/base/gstbasesink.h:
2204         Some tweaks, only EOS and a buffer complete a preroll.
2205
2206 2005-06-30  Andy Wingo  <wingo@pobox.com>
2207
2208         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2209         activate_push down to the internal pad as well.
2210
2211 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2212
2213         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2214
2215         * gst/gsttaginterface.c:
2216           Some documentation fixes (#307394 and #307397).
2217
2218 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2219
2220         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2221
2222         * gst/gstvalue.c: (gst_value_intersect_list):
2223           Fix memleak (#309125).
2224
2225 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2226
2227         * docs/manual/advanced-dataaccess.xml:
2228           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2229         * docs/manual/basics-pads.xml:
2230           Add reference for filtered caps to above chapter.
2231
2232 2005-06-30  Wim Taymans  <wim@fluendo.com>
2233
2234         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2235         (gst_bin_change_state):
2236         Probes are gone.
2237         Lame attempt at making the state change function a bit
2238         more readable.
2239
2240 2005-06-30  Wim Taymans  <wim@fluendo.com>
2241
2242         * docs/design/part-clocks.txt:
2243         * docs/design/part-element-sink.txt:
2244         * docs/design/part-events.txt:
2245         * docs/design/part-preroll.txt:
2246         * docs/design/part-states.txt:
2247         Some more tweeks and additions to the docs.
2248
2249 2005-06-30  Wim Taymans  <wim@fluendo.com>
2250
2251         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2252         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2253         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2254         (gst_pad_check_pull_range), (gst_pad_get_range),
2255         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2256         * gst/gstpad.h:
2257         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2258         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2259         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2260         (gst_pad_remove_buffer_probe):
2261         Removed atomic operations, use existing LOCK.
2262         Move exception handling out of main code path.
2263
2264 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2265
2266         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2267         (silly_return_true_function), (gst_pad_class_init),
2268         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2269         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2270         (gst_pad_send_event):
2271           Fix accumulator, add default value by using _emitv() instead
2272           of _emit() for signal emission.
2273
2274 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2275
2276         * docs/manual/advanced-dataaccess.xml:
2277         * examples/manual/Makefile.am:
2278           Add probe example.
2279         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2280           Make work (??).
2281
2282 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2283
2284         * gst/elements/gstfilesink.c: (gst_filesink_render):
2285           Simplify code so that we don't have to handle short
2286           writes and return GST_FLOW_ERROR if an error occured.
2287
2288 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2289
2290         * docs/gst/gstreamer-docs.sgml:
2291           Remove probes more.
2292
2293 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2294
2295         * docs/gst/gstreamer-sections.txt:
2296         * docs/gst/tmpl/gstpad.sgml:
2297         * docs/gst/tmpl/gstprobe.sgml:
2298         * gst/Makefile.am:
2299         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2300         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2301         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2302         (gst_pad_push_event), (gst_pad_send_event):
2303         * gst/gstpad.h:
2304         * gst/gstutils.c: (gst_pad_add_data_probe),
2305         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2306         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2307         (gst_pad_remove_buffer_probe):
2308         * gst/gstutils.h:
2309           Remove old probes, add new g-signal-based probes and some utility
2310           functions.
2311
2312 2005-06-29  Edward Hervey  <edward@fluendo.com>
2313
2314         * gst/gstelementfactory.c:
2315         * gst/gstutils.h:
2316         * gst/gstutils.c:
2317         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2318         the definition to the header file.
2319
2320 2005-06-29  Andy Wingo  <wingo@pobox.com>
2321
2322         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2323         plugins from the source directory.
2324
2325 2005-06-29  Wim Taymans  <wim@fluendo.com>
2326
2327         * docs/gst/tmpl/gstbuffer.sgml:
2328         * docs/gst/tmpl/gstclock.sgml:
2329         Some fixings for blantently wrong text.
2330
2331 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2332
2333         * check/Makefile.am:
2334         * gst/gst.c: (add_path_func), (init_pre):
2335         * gst/gstregistry.c: (gst_registry_add_path):
2336           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2337           only scan the GST_PLUGIN_PATH locations, and not add
2338           system locations
2339
2340 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2341
2342         * docs/gst/gstreamer-sections.txt:
2343         * docs/gst/tmpl/gstbasesrc.sgml:
2344         * gst/gstelement.c:
2345         * gst/gstelement.h:
2346         * gst/gstevent.c:
2347         * gst/gstutils.c:
2348           doc fixes
2349
2350 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2351
2352         * docs/manual/advanced-autoplugging.xml:
2353           Fix autoplugging example.
2354
2355 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2356
2357         * docs/manual/advanced-autoplugging.xml:
2358         * docs/manual/mime-world.fig:
2359           Try to get autoplugging working, fix type detection. Fix text
2360           in hello-world image.
2361
2362 2005-06-29  Wim Taymans  <wim@fluendo.com>
2363
2364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2365         (gst_base_sink_change_state):
2366         Small debug line.
2367
2368         * gst/gstclock.h:
2369         map SIGNAL and BROADCAST to the right function.
2370
2371         * gst/gstobject.h:
2372         Remove redundant braces.
2373
2374         * gst/gstpad.c: (gst_pad_set_caps):
2375         Don't call setcaps function when reseting caps to NULL.
2376
2377         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2378         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2379         (gst_system_clock_id_unschedule):
2380         Use BROADCAST as this is what we do.
2381
2382 2005-06-29  Wim Taymans  <wim@fluendo.com>
2383
2384         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2385         We are actually prerolling before commiting the state
2386         change. 
2387
2388 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2389
2390         * docs/manual/advanced-clocks.xml:
2391         * docs/manual/advanced-interfaces.xml:
2392         * docs/manual/advanced-metadata.xml:
2393         * docs/manual/advanced-position.xml:
2394         * docs/manual/advanced-schedulers.xml:
2395         * docs/manual/advanced-threads.xml:
2396         * docs/manual/appendix-porting.xml:
2397         * docs/manual/basics-bins.xml:
2398         * docs/manual/basics-bus.xml:
2399         * docs/manual/basics-elements.xml:
2400         * docs/manual/basics-helloworld.xml:
2401         * docs/manual/basics-pads.xml:
2402         * docs/manual/highlevel-components.xml:
2403         * docs/manual/manual.xml:
2404         * docs/manual/thread.fig:
2405           Update (until threads/scheduling) Application Development Manual;
2406           remove GstThread, add GstBus, add simple porting checklist, add
2407           documentation for tag writing, clocks, make all examples until this
2408           part compile and run.
2409         * examples/manual/Makefile.am:
2410           Update from changes to Application Development Manual; add bus
2411           example, remove thread example.
2412
2413 2005-06-28  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2416         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2417         (gst_bus_source_dispatch):
2418         Add debugging messages.
2419         Make internal methods static.
2420         Handle the case where the bus is flushed in the handler.
2421         
2422         * gst/gstelement.c: (gst_element_get_bus):
2423         Fix refcount in _get_bus();
2424
2425         * gst/gstpipeline.c: (gst_pipeline_change_state),
2426         (gst_pipeline_get_clock_func):
2427         Clock refcounting fixes.
2428         Handle the case where preroll timed out more gracefully.
2429         
2430         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2431         Clean up the internal thread in dispose. This is needed
2432         for subclasses that actually get disposed.
2433         
2434         * gst/schedulers/threadscheduler.c:
2435         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2436         (gst_thread_scheduler_dispose):
2437         Free thread pool in dispose.
2438
2439 2005-06-28  Andy Wingo  <wingo@pobox.com>
2440
2441         * tests/network-clock-utils.scm (debug, print-event): New utils.
2442
2443         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2444         (*packet-loss*): Unified loss probability.
2445         (network-time): Report out-of-band events.
2446
2447         * tests/plot-data: Add support for out-of-band events. Hack it
2448         into this script instead of passing it down the pipe; should fix
2449         this later.
2450
2451 2005-06-28  Wim Taymans  <wim@fluendo.com>
2452
2453         * docs/gst/gstreamer.types:
2454         * docs/gst/tmpl/gstbasesrc.sgml:
2455         * docs/gst/tmpl/gstpad.sgml:
2456         Docs fixes.
2457
2458 2005-06-28  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2461         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2462         (gst_proxy_pad_do_fixatecaps):
2463         Correctly proxy the check_pull_range function.
2464
2465 2005-06-28  Andy Wingo  <wingo@pobox.com>
2466
2467         * tests/network-clock.scm: Removed need for slib.
2468         
2469 2005-06-28  Wim Taymans  <wim@fluendo.com>
2470
2471         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2472         (gst_basesink_preroll_queue_flush):
2473         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2474         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2475         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2476         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2477         (gst_proxy_pad_set_property):
2478         * gst/gstpad.c:
2479         * gst/gstpad.h:
2480         * gst/gstqueue.c: (gst_queue_init):
2481         The deprecated pad loop function is removed now.
2482
2483 2005-06-28  Andy Wingo  <wingo@pobox.com>
2484
2485         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2486         New parameters, simulate network packet loss.
2487
2488         * tests/network-clock-utils.scm: Initialize the RNG.
2489
2490 2005-06-28  Wim Taymans  <wim@fluendo.com>
2491
2492         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2493         (gst_basesink_event), (gst_basesink_deactivate):
2494         Flushing the preroll queue always needs to unlock the waiters.
2495
2496 2005-06-28  Edward Hervey  <edward@fluendo.com>
2497
2498         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2499         Wheen a seek was successful on a pipeline, set the stream_time to the
2500         seek offset in order to have a synchronized stream_time.
2501
2502 2005-06-28  Wim Taymans  <wim@fluendo.com>
2503
2504         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2505         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2506         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2507         (gst_proxy_pad_do_fixatecaps):
2508         Call wrapper function instead of just calling the function
2509         pointers. This takes care of any locking and whatmore.
2510
2511 2005-06-28  Wim Taymans  <wim@fluendo.com>
2512
2513         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2514         (gst_pad_pull_range):
2515         * gst/gstpad.h:
2516         CONNECTED -> LINKED.
2517
2518 2005-06-28  Andy Wingo  <wingo@pobox.com>
2519
2520         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2521         source-munging commit!!!
2522
2523         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2524         (gst_object_sink): Take gpointer arguments, not GstObject --
2525         avoids casts. Like GLib.
2526
2527         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2528         activate.
2529
2530 2005-06-27  Andy Wingo  <wingo@pobox.com>
2531
2532         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2533         remaining buffer.
2534
2535         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2536         returns a sorted copy of the trace list.
2537         (gst_alloc_trace_print_live): New API, only prints traces with
2538         live objects. Sort the list.
2539         (gst_alloc_trace_print_all): Sort the list.
2540         (gst_alloc_trace_print): Align columns.
2541
2542         * gst/elements/gstttypefindelement.c:
2543         * gst/elements/gsttee.c:
2544         * gst/base/gstbasesrc.c:
2545         * gst/base/gstbasesink.c:
2546         * gst/base/gstbasetransform.c:
2547         * gst/gstqueue.c: Adapt for pad activation changes.
2548
2549         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2550         sched.
2551         (gst_pipeline_dispose): Drop ref on sched.
2552
2553         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2554         (gst_pad_activate_default): Push mode by default.
2555         (pre_activate_switch, post_activate_switch): New stubs, things to
2556         do before and after switching activation modes on pads.
2557         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2558         the pad's activate function to choose which mode to activate.
2559         Shortcut on deactivation and call the right function directly.
2560         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2561         mode.
2562         (gst_pad_activate_push): New API, same for push mode.
2563         (gst_pad_set_activate_function) 
2564         (gst_pad_set_activatepull_function) 
2565         (gst_pad_set_activatepush_function): Setters for new API.
2566
2567         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2568         Trace all miniobjects.
2569         (gst_mini_object_make_writable): Unref the arg if we copy, like
2570         gst_caps_make_writable.
2571
2572         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2573
2574         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2575         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2576         Adapt for new pad API.
2577
2578         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2579
2580         * gst/gstelement.h:
2581         * gst/gstelement.c (gst_element_iterate_src_pads) 
2582         (gst_element_iterate_sink_pads): New API functions.
2583         
2584         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2585         should fold into gstiterator.c in some form.
2586         (gst_element_pads_activate): Simplified via use of fold and
2587         delegation of decisions to gstpad->activate.
2588
2589         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2590         help in debugging.
2591
2592         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2593         class once in init, like gstmessage. Didn't run into this issue
2594         but it seems correct. Don't initialize a trace, gstminiobject does
2595         that.
2596
2597         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2598         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2599         to the bus.
2600         (assert_live_count): New util function, uses alloc traces to check
2601         cleanup.
2602
2603         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2604         To be modified when unlink drops the internal pad.
2605
2606 2005-06-27  Wim Taymans  <wim@fluendo.com>
2607
2608         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2609         (gst_bin_change_state):
2610         Cleanup the get_state() function a little, make sure it
2611         iterates the same set of elements.
2612         Added stub iterate_state_order().
2613
2614 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2615
2616         * docs/gst/gstreamer-docs.sgml:
2617         * docs/gst/gstreamer-sections.txt:
2618         * docs/gst/gstreamer.types:
2619         * docs/gst/tmpl/gstbasesink.sgml:
2620         * docs/gst/tmpl/gstbasesrc.sgml:
2621         * docs/gst/tmpl/gstbasetransform.sgml:
2622         * docs/gst/tmpl/gstelement.sgml:
2623         * docs/gst/tmpl/gstiterator.sgml:
2624         * gst/base/gstbasesrc.c:
2625         * gst/base/gstbasesrc.h:
2626         * gst/base/gstbasetransform.h:
2627         * gst/gstelement.c:
2628         * gst/gstiterator.h:
2629           adding basetransform and iterator docs
2630
2631 2005-06-27  Andy Wingo  <wingo@pobox.com>
2632
2633         * docs/design/part-activation.txt: Notes on how activation should
2634         work -- not quite implemented yet.
2635
2636 2005-06-25  Wim Taymans  <wim@fluendo.com>
2637
2638         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2639         At least get the chain function correct, needs more
2640         fixing.
2641
2642 2005-06-25  Wim Taymans  <wim@fluendo.com>
2643
2644         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2645         (gst_basesink_handle_object), (gst_basesink_event),
2646         (gst_basesink_do_sync), (gst_basesink_handle_event),
2647         (gst_basesink_change_state):
2648         * gst/gsttask.h:
2649         Right, two problems here: ghostpads don't take locks and
2650         glib _rec_mutex_lock_full() with depth==0 still locks.
2651         Catch illegal locking and g_warn them.
2652
2653 2005-06-25  Wim Taymans  <wim@fluendo.com>
2654
2655         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2656         Have to check for completion now...
2657
2658 2005-06-25  Wim Taymans  <wim@fluendo.com>
2659
2660         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2661         (gst_basesink_handle_object), (gst_basesink_event),
2662         (gst_basesink_do_sync), (gst_basesink_handle_event),
2663         (gst_basesink_change_state):
2664         * gst/gstpad.h:
2665         Unlock STREAM_LOCK whatever the recursion was.
2666
2667 2005-06-25  Wim Taymans  <wim@fluendo.com>
2668
2669         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2670         (gst_basesink_preroll_queue_empty),
2671         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2672         (gst_basesink_event), (gst_basesink_do_sync),
2673         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2674         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2675         (gst_basesink_change_state):
2676         Reworked the base sink, handle event and buffer serialisation
2677         correctly and removed possible deadlock.
2678         Handle EOS correctly.
2679
2680 2005-06-25  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2683         (gst_pipeline_change_state):
2684         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2685         Allow elements to post EOS in the state change function.
2686         Fix up -launch, make it exit the poll loop when the
2687         pipeline actually changed state.
2688         Fix up warning parsing in -launch.
2689
2690 2005-06-25  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2693         (gst_tee_sink_activate):
2694         Core takes STREAM_LOCK for us now.
2695
2696 2005-06-25  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/gstelement.c: (gst_element_get_state_func),
2699         (gst_element_set_state):
2700         * gst/gstelement.h:
2701         * gst/gstmessage.c: (gst_message_parse_error),
2702         (gst_message_parse_warning):
2703         Keep track of current target state while performing a state
2704         change so that subclasses can do something interesting.
2705         Fix parsing of warning/error messages when GError is NULL.
2706
2707 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2708
2709         * docs/gst/Makefile.am:
2710         * docs/gst/gstreamer-docs.sgml:
2711         * docs/gst/gstreamer-sections.txt:
2712         * docs/gst/gstreamer.types:
2713         * docs/gst/tmpl/gstbasesink.sgml:
2714         * docs/gst/tmpl/gstbasesrc.sgml:
2715         * docs/gst/tmpl/gstbin.sgml:
2716         * docs/gst/tmpl/gstcompat.sgml:
2717         * docs/gst/tmpl/gstfakesink.sgml:
2718         * docs/gst/tmpl/gstfakesrc.sgml:
2719         * docs/gst/tmpl/gstfilesink.sgml:
2720         * docs/gst/tmpl/gstfilesrc.sgml:
2721         * docs/gst/tmpl/gstindex.sgml:
2722         * docs/manual/appendix-quotes.xml:
2723         * gst/base/gstbasesrc.h:
2724         * gst/elements/gstfakesrc.h:
2725         * gst/gstmessage.h:
2726           start pulling in base classes and elements in our docs
2727
2728 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2729
2730         * docs/gst/Makefile.am:
2731         * docs/libs/Makefile.am:
2732           fixed make distcheck with gtk-doc 1.3
2733
2734 2005-06-23  Wim Taymans  <wim@fluendo.com>
2735
2736         * gst/gstelement.c: (gst_element_get_state_func),
2737         (gst_element_set_state), (gst_element_change_state):
2738         When the state did not change, also report NO_PREROLL
2739         when it matters.
2740
2741 2005-06-23  Wim Taymans  <wim@fluendo.com>
2742
2743         * gst/gstpad.c: (gst_pad_event_default):
2744         * gst/gstqueue.c: (gst_queue_loop):
2745         No unsafe task pausing please.
2746
2747 2005-06-23  Wim Taymans  <wim@fluendo.com>
2748
2749         * gst/schedulers/threadscheduler.c:
2750         (gst_thread_scheduler_task_start),
2751         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2752         Ref the task before pushing it on the threadpool. This
2753         makes sure that we have a ref when the threadfunction is
2754         actually called.
2755
2756 2005-06-23  Andy Wingo  <wingo@pobox.com>
2757
2758         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2759         offset is greater than the file's size.
2760
2761         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2762         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2763         * gst/gstobject.c (gst_object_class_init): Make the class lock
2764         recursive. Wim won't let me drop deep_notify. Decodebin works
2765         again, whoopdy doo.
2766
2767         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2768         internal pad, and hacks accordingly. Doesn't do it on the target
2769         pad because we change its caps. Probably catches all cases of
2770         interest tho.
2771         (gst_ghost_pad_set_property): Connect to notify::caps as
2772         appropritate.
2773
2774         * tests/network-clock.scm (plot-simulation): Pipe data to the
2775         elite python skript.
2776
2777         * tests/network-clock-utils.scm (define-parameter): New macro,
2778         defines a parameter that can be set via the command line.
2779         (set-parameter!, parse-parameter-arguments): Command line args
2780         parser.
2781
2782         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2783         stdin.
2784
2785 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2786
2787         * gst/elements/gsttypefindelement.c:
2788         (gst_type_find_element_handle_event):
2789           Don't restart typefinding on a discont.
2790         * gst/gstelement.c: (gst_element_set_state):
2791           Debug spelling fix.
2792         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2793           Allow changing mode of an active pad.
2794           Debug output fixes.
2795         * gst/registries/gstlibxmlregistry.c: (load_feature):
2796           Don't cast a static pad template to a normal pad template.
2797
2798 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2799
2800         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2801         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2802           remove gst_strtoll completely, since it didn't actually do
2803           anything more than what g_ascii_strtoull already does.
2804           check for range errors when deserializing
2805           do a cast for the unsigned cases; but further fixing needs
2806           a decision on what the interpretation of "(int)" and
2807           deserialization should be for values that fall outside the
2808           type's boundaries (ie, refuse, or interpret as casting)
2809
2810 2005-06-23  Wim Taymans  <wim@fluendo.com>
2811
2812         * check/Makefile.am:
2813         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2814         * docs/design/part-live-source.txt:
2815         * docs/design/part-states.txt:
2816         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2817         (gst_basesrc_set_live), (gst_basesrc_is_live),
2818         (gst_basesrc_get_range), (gst_basesrc_activate),
2819         (gst_basesrc_change_state):
2820         * gst/base/gstbasesrc.h:
2821         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2822         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2823         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2824         * gst/gstelement.c: (gst_element_get_state_func),
2825         (gst_element_set_state):
2826         * gst/gstelement.h:
2827         * gst/gsttypes.h:
2828         * tools/gst-launch.c: (event_loop), (main):
2829         Added support for live sources and other elements that
2830         cannot do preroll.
2831         Updated design docs, added live-source design doc.
2832         Implemented live source functionality in basesrc
2833         Fix error condition in _bin_get_state()
2834         Implement live source handling in -launch.
2835         Added check for live sources.
2836         Fixed case in GstBin where elements were changed state
2837         multiple times.
2838
2839
2840 2005-06-23  Andy Wingo  <wingo@pobox.com>
2841
2842         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2843         borken refcounting.
2844
2845         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2846         gst_caps_replace takes care of this for us.
2847
2848         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2849         gst_pad_set_caps on the target, not just its setcaps() function.
2850
2851         * tests/network-clock.scm: 
2852         * tests/network-clock-utils.scm: A network clock simulator.
2853         Something of an algorithmic testbed before doing something in C.
2854
2855 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2856
2857         * check/Makefile.am:
2858         * check/gst/capslist.h:
2859           copy over from 0.8, and add two with bitmasks specified with
2860           (int) 0xFF...
2861         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2862           add test to parse everything from capslist.h
2863         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2864         (main):
2865           add test for structure deserialization
2866         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2867           add tests for deserialization of strings to int types
2868         * gst/gststructure.c: (gst_structure_nth_field_name):
2869         * gst/gststructure.h:
2870           add a way to get the name of a field referenced by index
2871         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2872           instead of checking if the resulting long long lies between
2873           min and max, we check if the long long would fit into
2874           a number of bytes for the final type.
2875           This fixes cases where a string represents 2^32 - 1, which
2876           when cast to int would be the (valid) -1, but is bigger than
2877           G_MAXINT
2878
2879 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2880
2881         * gst/parse/grammar.y:
2882           add a log line for type deserialization
2883
2884 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2885
2886         * check/gst/gstvalue.c: (START_TEST):
2887         * gst/gstvalue.c: (gst_value_deserialize):
2888           return long long, not int, so gint64 deserialization actually
2889           works.  Is there any flag that makes the compiler check this ?
2890           Fixes #308559
2891
2892 2005-06-22  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstbuffer.h:
2895         Added convenience macros for setting buffers in GValue.
2896
2897 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2898
2899         * check/gst/.cvsignore:
2900         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2901           add a test deserializing int64, and comment part out because
2902           it fails, yay !
2903
2904 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2905
2906         * check/Makefile.am:
2907         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2908         * testsuite/Makefile.am:
2909         * testsuite/caps/Makefile.am:
2910         * testsuite/caps/value_serialize.c:
2911         * testsuite/test_gst_init.c:
2912           move a value_serialize test over
2913
2914 2005-06-20  Wim Taymans  <wim@fluendo.com>
2915
2916         * gst/gstpad.c:
2917         Small doc updates.
2918         
2919         * gst/gstvalue.c: (gst_value_compare_buffer),
2920         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2921         (gst_value_compare_flags), (gst_value_serialize_flags),
2922         (gst_value_deserialize_flags), (_gst_value_initialize):
2923         Fix serialisation of buffers, they are not boxed types anymore
2924
2925 2005-06-20  Wim Taymans  <wim@fluendo.com>
2926
2927         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2928         Testcase to show error in buffer-on-caps serialisation.
2929
2930 2005-06-20  Andy Wingo  <wingo@pobox.com>
2931
2932         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2933         will be adding to later.
2934
2935         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2936         if its socks fill with rocks.
2937         (gst_system_clock_obtain): Set the name on object construction.
2938         Avoid double-checked locking.
2939
2940 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2941
2942         * gst/gsturi.c: (gst_element_make_from_uri):
2943           Fix potential endless loop.
2944
2945 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2946
2947         * check/Makefile.am:
2948           add gsttag
2949         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2950         (main):
2951           move over from testsuite dir and clean up
2952         * configure.ac:
2953         * gst/gsttag.c:
2954         * testsuite/Makefile.am:
2955         * testsuite/tags/.cvsignore:
2956         * testsuite/tags/Makefile.am:
2957         * testsuite/tags/merge.c:
2958           remove testsuite/tags
2959
2960 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2961
2962         * docs/gst/gstreamer-sections.txt:
2963         * docs/gst/tmpl/gstenumtypes.sgml:
2964         * win32/gstenumtypes.c:
2965           clean up documentation build a little
2966
2967 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2968
2969         * check/gstcheck.h:
2970           add macros for checking refcounts on objects and caps
2971         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2972           add some more unit tests
2973         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2974         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2975           fix leaked refcounts (I hope :)) so unittest works
2976         * gst/gstpad.h:
2977           whitespace removal
2978
2979 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2980
2981         * configure.ac: back to HEAD
2982
2983 === release 0.9.1 ===
2984
2985 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2986
2987         * NEWS:
2988         * RELEASE:
2989           updated
2990
2991 2005-06-17  Andy Wingo  <wingo@pobox.com>
2992
2993         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2994         assert; it's always possible that the pad gets deactivated in
2995         between the checks in gstpad.c and the implementation. Rely on
2996         finish_preroll() to return a FLUSHING or similar instead of on the
2997         assert.
2998         
2999         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3000         clock and post an EOS message if we come out of finish_preroll in
3001         the playing state.
3002
3003 2005-06-16  David Schleef  <ds@schleef.org>
3004
3005         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3006         (gst_capsfilter_set_property): Allow NULL as possible value
3007         for filter_caps property, indicating GST_CAPS_ANY.
3008
3009 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3010
3011         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3012           fix debug output
3013         * gst/schedulers/Makefile.am:
3014           use libgst prefix
3015         * gstreamer.spec.in:
3016           fix spec for it
3017
3018 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3019
3020         * gstreamer.spec.in:
3021           clean up
3022
3023 2005-06-08  Andy Wingo  <wingo@pobox.com>
3024
3025         * gst/gstutils.c: RPAD fixes all around.
3026         (gst_element_link_pads): Refcounting fixes.
3027
3028         * tools/gst-inspect.c:
3029         * tools/gst-xmlinspect.c:
3030         * parse/grammar.y:
3031         * gst/base/gsttypefindhelper.c:
3032         * gst/base/gstbasesink.c:
3033         * gst/gstqueue.c: RPAD fixes.
3034
3035         * gst/gstghostpad.h:
3036         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3037         pads. The tricky thing is they provide both source and sink
3038         interfaces, since they proxy the internal pad for the external
3039         pad, and vice versa. Implement with lower-level ProxyPad objects,
3040         with the interior proxy pad as a child of the exterior ghost pad.
3041         Should write a doc on this.
3042         
3043         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3044         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3045         gst_object API.
3046         
3047         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3048         pads are real pads. No ghost pads in this file. Not documenting
3049         the myriad s/RPAD/PAD/ and REALIZE fixes.
3050         (gst_pad_class_init): Add properties for "direction" and
3051         "template". Both are construct-only, so they can't change during
3052         the life of the pad. Fixes properly deriving from GstPad.
3053         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3054         derived objects, just set properties when creating the objects via
3055         g_object_new.
3056         (gst_pad_get_parent): Implement as a function, return NULL if the
3057         parent is not an element.
3058         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3059         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3060         
3061         * gst/gstobject.c (gst_object_class_init): Make name a construct
3062         property. Don't set it in the object init.
3063
3064         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3065         with UNKNOWN direction.
3066         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3067         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3068         (gst_element_remove_pad): Remove ghost-pad special cases.
3069         (gst_element_pads_activate): Remove rpad cruft.
3070
3071         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3072         catch the pad's-parent-not-an-element case.
3073
3074         * gst/gst.h: Include gstghostpad.h.
3075
3076         * gst/gst.c (init_post): No more real, ghost pads.
3077
3078         * gst/Makefile.am: Add gstghostpad.[ch].
3079
3080         * check/Makefile.am:
3081         * check/gst/gstbin.c:
3082         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3083         into a bin creates ghost pads, and that the refcounts are right.
3084         Partly moved from gstbin.c.
3085
3086 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3087
3088         * check/gst-libs/.cvsignore:
3089         * check/gst/.cvsignore:
3090         * check/pipelines/.cvsignore:
3091           ignore more
3092         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3093         (START_TEST), (cleanup_suite), (main):
3094           add some tests related to cleanup after running pipelines
3095
3096 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3097
3098         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3099           add a testsuite for GstBuffer
3100
3101 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * gst/gstminiobject.h:
3104           add defines for accessing the refcount
3105
3106 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3107
3108         * Makefile.am: added support for html unit test coverage reports
3109
3110 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3111
3112         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3113           Free existing caps if the capsfilter changes. Add a FIXME about
3114           setting those caps on the pads.
3115
3116         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3117           Before adding a ghost pad to a parent bin, check that there isn't
3118           already one for the element on the bin. Prevents infinite recursion
3119           when using decodebin in parse pipelines. Andy says he'll rewrite the
3120           way this works anyway, so ignore the hack.
3121
3122 2005-06-02  Andy Wingo  <wingo@pobox.com>
3123
3124         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3125         file size, pass it on to the type find helper.
3126
3127         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3128         segment_start and segment_end properly according to the seek
3129         method. Segment_end is still a bit flaky because offset can be
3130         negative for CUR and END cases, but it takes -1 as an "unset"
3131         value.
3132
3133 2005-06-02  Wim Taymans  <wim@fluendo.com>
3134
3135         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3136         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3137         (gst_basesink_activate):
3138         * gst/base/gstbasesink.h:
3139         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3140         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3141         (gst_pad_query), (gst_pad_start_task):
3142         * gst/gstpad.h:
3143         * gst/gstqueue.c: (gst_queue_bufferalloc),
3144         (gst_queue_handle_sink_event), (gst_queue_chain):
3145         Bufferalloc: return GstFlowReturn to more accuratly report
3146         why allocation failed.
3147
3148 2005-06-02  Wim Taymans  <wim@fluendo.com>
3149
3150         * gst/gstpipeline.c: (gst_pipeline_send_event):
3151         Take snapshot of state without blocking.
3152
3153 2005-06-02  Wim Taymans  <wim@fluendo.com>
3154
3155         * docs/design/part-TODO.txt:
3156         * docs/design/part-caps.txt:
3157         * docs/design/part-clocks.txt:
3158         * docs/design/part-negotiation.txt:
3159         * docs/design/part-preroll.txt:
3160         Small doc updates 
3161
3162 2005-05-30  Wim Taymans  <wim@fluendo.com>
3163
3164         * gst/elements/gstidentity.c: (gst_identity_event),
3165         (gst_identity_transform), (gst_identity_get_property):
3166         Protect last_message property as it is accessed from
3167         multiple threads.
3168
3169 2005-05-30  Wim Taymans  <wim@fluendo.com>
3170
3171         * gst/gstelement.c: (gst_element_init),
3172         (gst_element_pads_activate), (gst_element_change_state):
3173         Slicker pad activation code.
3174
3175 2005-05-30  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/Makefile.am:
3178         * gst/gstelement.h:
3179         * gst/gstelementfactory.h:
3180         * gst/gsttypes.h:
3181         Move elementfactory methods to separate .h file.
3182
3183 2005-05-30  Wim Taymans  <wim@fluendo.com>
3184
3185         * docs/design/part-overview.txt:
3186         * gst/gstsystemclock.h:
3187         Small typo fixes, doc updates.
3188
3189 2005-05-30  Wim Taymans  <wim@fluendo.com>
3190
3191         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3192         (init_popt_callback):
3193         Remove cpu-opt flag.
3194
3195 2005-05-30  Wim Taymans  <wim@fluendo.com>
3196
3197         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3198         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3199         * gst/gstbuffer.h:
3200         Avoid typechecking in places where not needed.
3201         Added accessor for malloc_data.
3202
3203 2005-05-30  Wim Taymans  <wim@fluendo.com>
3204
3205         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3206         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3207         (gst_pad_configure_sink), (gst_pad_configure_src),
3208         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3209         (gst_pad_start_task):
3210         Propagate errors from _set_caps() in configure_src/sink
3211         functions instead of returning TRUE.
3212         FLUSH events can travel up and downstream
3213
3214
3215 2005-05-30  Wim Taymans  <wim@fluendo.com>
3216
3217         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3218         (gst_basesink_activate):
3219         Handle EOS in preroll.
3220
3221 2005-05-30  Wim Taymans  <wim@fluendo.com>
3222
3223         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3224         (gst_queue_loop), (gst_queue_handle_src_event):
3225         Remove old pieces of code
3226         Flushing the queue in an upstream event is a very bad idea.
3227
3228 2005-05-26  Andy Wingo  <wingo@pobox.com>
3229
3230         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3231         gst_value_set_mini_object so as to add a ref on the object (which
3232         will be removed when the value is unset).
3233
3234         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3235         arg type in ::handoff.
3236
3237         * gst/gstelement.c (gst_element_change_state): Also deactivate
3238         pads in READY->NULL, just in case the element didn't make it to
3239         PAUSED. Wingo tested, Wim approved.
3240
3241 2005-05-26  Wim Taymans  <wim@fluendo.com>
3242
3243         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3244         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3245         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3246         A flushing pad cannot be used to alloc_buffer from.
3247
3248 2005-05-26  Wim Taymans  <wim@fluendo.com>
3249
3250         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3251         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3252         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3253         (gst_bus_create_watch), (gst_bus_add_watch_full):
3254         * gst/gstbus.h:
3255         Implement a real GSource and use g_main_context_wakeup() to
3256         signal new messages instead of the socketpair.
3257
3258 2005-05-25  Wim Taymans  <wim@fluendo.com>
3259
3260         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3261         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3262         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3263         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3264         (gst_pad_send_event), (gst_pad_start_task):
3265         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3266         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3267         (gst_queue_sink_activate), (gst_queue_src_activate),
3268         (gst_queue_change_state):
3269         * gst/gstqueue.h:
3270         Fix state changes for non sinks. We now change sinks, then elements
3271         with unconnected srcpads, then the rest.
3272         More efficient queue unlocking in flush and state changes.
3273         Set the pad activate mode even if it does not have an activate
3274         function.
3275
3276 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3277
3278         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3279           Don't go in pull mode for non-seekable sources.
3280         * gst/elements/gsttypefindelement.h:
3281         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3282         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3283         (free_entry), (stop_typefinding),
3284         (gst_type_find_element_handle_event), (find_peek),
3285         (gst_type_find_element_chain), (do_pull_typefind),
3286         (gst_type_find_element_change_state):
3287           Allow typefinding (w/o seeking) in push-mode, simplified version
3288           of what was in 0.8.
3289         * gst/gstutils.c: (gst_buffer_join):
3290         * gst/gstutils.h:
3291           gst_buffer_join() from 0.8.
3292
3293 2005-05-25  Wim Taymans  <wim@fluendo.com>
3294
3295         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3296         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3297         (gst_pad_send_event), (gst_pad_start_task):
3298         Disable attempt at mode switching until it is figured out.
3299
3300 2005-05-25  Wim Taymans  <wim@fluendo.com>
3301
3302         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3303         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3304         (gst_basesink_finish_preroll), (gst_basesink_chain),
3305         (gst_basesink_loop), (gst_basesink_activate),
3306         (gst_basesink_change_state):
3307         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3308         (gst_basesrc_get_range), (gst_basesrc_loop),
3309         (gst_basesrc_activate):
3310         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3311         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3312         (gst_real_pad_init), (gst_real_pad_set_property),
3313         (gst_real_pad_get_property), (gst_pad_set_active),
3314         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3315         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3316         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3317         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3318         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3319         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3320         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3321         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3322         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3323         (gst_pad_stop_task):
3324         * gst/gstpad.h:
3325         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3326         (gst_queue_loop), (gst_queue_src_activate):
3327         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3328         (gst_task_get_state):
3329         * gst/gsttask.h:
3330         * gst/schedulers/threadscheduler.c:
3331         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3332         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3333         in task function.
3334         Remove ACTIVE pad flag, use FLUSHING everywhere
3335         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3336         functions.
3337         Add locks around IS_FLUSHING when reading.
3338         Take STREAM lock in chain(), get_range() functions so plugins
3339         don't need to take it anymore.
3340         
3341
3342
3343 2005-05-25  Wim Taymans  <wim@fluendo.com>
3344
3345         * tools/gst-launch.c: (event_loop):
3346         Unref message after using its contents instead of
3347         before.
3348
3349 2005-05-24  Wim Taymans  <wim@fluendo.com>
3350
3351         * docs/design/draft-ghostpads.txt:
3352         * docs/design/draft-push-pull.txt:
3353         * docs/design/draft-query.txt:
3354         * docs/design/part-overview.txt:
3355         Docs updates, added general overview doc.
3356
3357 2005-05-21  David Schleef  <ds@schleef.org>
3358
3359         * docs/gst/tmpl/old/GstBin.sgml:
3360         * docs/gst/tmpl/old/GstBuffer.sgml:
3361         * docs/gst/tmpl/old/GstCaps.sgml:
3362         * docs/gst/tmpl/old/GstClock.sgml:
3363         * docs/gst/tmpl/old/GstCompat.sgml:
3364         * docs/gst/tmpl/old/GstData.sgml:
3365         * docs/gst/tmpl/old/GstElement.sgml:
3366         * docs/gst/tmpl/old/GstEvent.sgml:
3367         * docs/gst/tmpl/old/GstIndex.sgml:
3368         * docs/gst/tmpl/old/GstStructure.sgml:
3369         * docs/gst/tmpl/old/GstTag.sgml:
3370         * docs/gst/tmpl/old/cothreads.sgml:
3371         * docs/gst/tmpl/old/cothreads_compat.sgml:
3372         * docs/gst/tmpl/old/gettext.sgml:
3373         * docs/gst/tmpl/old/gobject2gtk.sgml:
3374         * docs/gst/tmpl/old/grammar.tab.sgml:
3375         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3376         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3377         * docs/gst/tmpl/old/gst_private.sgml:
3378         * docs/gst/tmpl/old/gstaggregator.sgml:
3379         * docs/gst/tmpl/old/gstarch.sgml:
3380         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3381         * docs/gst/tmpl/old/gstbufferstore.sgml:
3382         * docs/gst/tmpl/old/gstdata_private.sgml:
3383         * docs/gst/tmpl/old/gstdisksink.sgml:
3384         * docs/gst/tmpl/old/gstdisksrc.sgml:
3385         * docs/gst/tmpl/old/gstelementfactory.sgml:
3386         * docs/gst/tmpl/old/gstextratypes.sgml:
3387         * docs/gst/tmpl/old/gstfakesink.sgml:
3388         * docs/gst/tmpl/old/gstfakesrc.sgml:
3389         * docs/gst/tmpl/old/gstfdsink.sgml:
3390         * docs/gst/tmpl/old/gstfdsrc.sgml:
3391         * docs/gst/tmpl/old/gstfilesink.sgml:
3392         * docs/gst/tmpl/old/gstfilesrc.sgml:
3393         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3394         * docs/gst/tmpl/old/gstidentity.sgml:
3395         * docs/gst/tmpl/old/gstindexfactory.sgml:
3396         * docs/gst/tmpl/old/gstmarshal.sgml:
3397         * docs/gst/tmpl/old/gstmd5sink.sgml:
3398         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3399         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3400         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3401         * docs/gst/tmpl/old/gstpipefilter.sgml:
3402         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3403         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3404         * docs/gst/tmpl/old/gstshaper.sgml:
3405         * docs/gst/tmpl/old/gstspider.sgml:
3406         * docs/gst/tmpl/old/gstspideridentity.sgml:
3407         * docs/gst/tmpl/old/gststatistics.sgml:
3408         * docs/gst/tmpl/old/gsttee.sgml:
3409         * docs/gst/tmpl/old/gsttimecache.sgml:
3410         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3411         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3412         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3413         * docs/gst/tmpl/old/types.sgml:
3414           I didn't intend to add these or check them in.
3415
3416 2005-05-19  David Schleef  <ds@schleef.org>
3417
3418         * configure.ac: Use -no-common everywhere.  In a sane world, it
3419           would be the default in libtool, because without it, you can't
3420           build DLLs on Windows.
3421         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3422         * docs/gst/gstreamer-sections.txt:
3423         * docs/gst/tmpl/gstcpu.sgml:
3424         * docs/gst/tmpl/gstdata.sgml:
3425         * docs/gst/tmpl/gstthread.sgml:
3426
3427 2005-05-19  David Schleef  <ds@schleef.org>
3428
3429         * gst/gstminiobject.c: (gst_value_set_mini_object),
3430         (gst_value_take_mini_object), (gst_value_get_mini_object):
3431         * gst/gstminiobject.h: Add GValue set/get functions.
3432
3433 2005-05-19  Wim Taymans  <wim@fluendo.com>
3434
3435         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3436         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3437         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3438         * gst/gstbuffer.h:
3439         * gst/gstbus.c: (gst_bus_post):
3440         * gst/gstelement.c: (gst_element_get_random_pad):
3441         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3442         Make subbufer unref the parent in finalize.
3443         some more debugging info.
3444
3445
3446 2005-05-19  Wim Taymans  <wim@fluendo.com>
3447
3448         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3449         (gst_basesink_init), (gst_basesink_finalize),
3450         (gst_basesink_activate), (gst_basesink_change_state):
3451         Don't free preroll queue too early.
3452
3453 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3454
3455         * gst/Makefile.am:
3456         * gst/ROADMAP:
3457           Hi, I'm outdated. Please shoot me.
3458
3459 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3460
3461         * gst/gstpipeline.c: (gst_pipeline_send_event):
3462           Do not access variables after they have been deleted.
3463
3464 2005-05-19  Wim Taymans  <wim@fluendo.com>
3465
3466         * tools/gst-inspect.c: (print_plugin_features):
3467         A plugin feature does unfortunatly not use the
3468         object name yet...
3469
3470 2005-05-18  Wim Taymans  <wim@fluendo.com>
3471
3472         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3473         Port _span() functions to new subbuffers.
3474
3475 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3476
3477         * gst/gstbin.c: (gst_bin_add_func):
3478           Fix clock settery in bins when adding kids after the clock has
3479           been selected.
3480
3481 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3482
3483         * gst/elements/gstidentity.c: (gst_identity_class_init):
3484           Workaround until signals support GstMiniObject.
3485
3486 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3487
3488         * gst/gstbuffer.c:
3489         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3490
3491 2005-05-18  Wim Taymans  <wim@fluendo.com>
3492
3493         * gst/base/Makefile.am:
3494         * gst/base/gstadapter.c: (gst_adapter_base_init),
3495         (gst_adapter_class_init), (gst_adapter_init),
3496         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3497         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3498         (gst_adapter_flush), (gst_adapter_available),
3499         (gst_adapter_available_fast):
3500         * gst/base/gstadapter.h:
3501         Ported and added adapter to the base classes.
3502
3503 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3504
3505         * gst/gst.c:
3506         * gst/gstmessage.c:
3507           Make sure the class is reffed/unreffed once before threads can be
3508           used.  Fixes #304551.
3509
3510 2005-05-17  Wim Taymans  <wim@fluendo.com>
3511
3512         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3513         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3514         * gst/gstminiobject.c: (gst_mini_object_get_type),
3515         (gst_mini_object_free):
3516         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3517         (gst_pad_push), (gst_pad_push_event):
3518         * gst/gstqueue.c: (gst_queue_change_state):
3519         Don't queue buffers in basesink when we are flushing.
3520         Unref buffer when flushing in basesink.
3521         Flush queue when going to READY
3522         Unref buffer when _push() returns an error.
3523         Don't free MiniObject instance when refcount is incremented
3524         in _finalize() so that we can recover objects.
3525
3526 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3527
3528         * docs/manual/advanced-schedulers.xml:
3529         * docs/manual/appendix-checklist.xml:
3530         * docs/pwg/advanced-clock.xml:
3531         * docs/pwg/advanced-interfaces.xml:
3532         * docs/pwg/advanced-request.xml:
3533         * docs/pwg/advanced-types.xml:
3534         * docs/pwg/intro-preface.xml:
3535         * examples/plugins/example.c: (gst_example_get_type),
3536         (gst_example_class_init), (gst_example_chain),
3537         (gst_example_set_property), (gst_example_get_property),
3538         (gst_example_change_state), (plugin_init):
3539         * examples/plugins/example.h:
3540           small doc fixes
3541
3542 2005-05-17  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3545         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3546         * gst/gstqueue.c: (gst_queue_change_state):
3547         Clear queue when going to READY.
3548         Remove IN_SETCAPS flag too.
3549
3550 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3551
3552         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3553           Remove implicit cast from gboolean to GstElementStateReturn;
3554           make sure we still return failure in paused => ready case if
3555           the parent class fails to change state and our own stop 
3556           vfunc succeeds.
3557
3558 2005-05-17  Wim Taymans  <wim@fluendo.com>
3559
3560         * tools/gst-launch.c: (event_loop):
3561         Message was unreffed too soon.
3562
3563 2005-05-16  Andy Wingo  <wingo@pobox.com>
3564
3565         * gst/gstbin.c (sink_iterator_filter): Err... um...
3566
3567         * check/gst/gstbin.c (test_ghost_pads): New test for the
3568         ghosting-if-elements-not-in-same-bin behavior.
3569
3570 2005-05-16  David Schleef  <ds@schleef.org>
3571
3572         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3573         accessing refcount directly.
3574
3575 2005-05-15  David Schleef  <ds@schleef.org>
3576
3577         * check/Makefile.am: remove GstData checks
3578         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3579         * gst/Makefile.am: add miniobject, remove data
3580         * gst/gst.h: add miniobject, remove data
3581         * gst/gstdata.c: remove
3582         * gst/gstdata.h: remove
3583         * gst/gstdata_private.h: remove
3584         * gst/gsttypes.h: remove GstEvent and GstMessage
3585         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3586         * gst/gstmarshal.list: change BOXED -> OBJECT
3587
3588         Implement GstMiniObject.
3589         * gst/gstminiobject.c:
3590         * gst/gstminiobject.h:
3591
3592         Modify to be subclasses of GstMiniObject.
3593         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3594         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3595         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3596         (gst_subbuffer_get_type), (gst_subbuffer_init),
3597         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3598         (gst_buffer_span):
3599         * gst/gstbuffer.h:
3600         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3601         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3602         (_gst_event_copy), (gst_event_new):
3603         * gst/gstevent.h:
3604         * gst/gstmessage.c: (_gst_message_initialize),
3605         (gst_message_get_type), (gst_message_class_init),
3606         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3607         (gst_message_new), (gst_message_new_error),
3608         (gst_message_new_warning), (gst_message_new_tag),
3609         (gst_message_new_state_changed), (gst_message_new_application):
3610         * gst/gstmessage.h:
3611         * gst/gstprobe.c: (gst_probe_perform),
3612         (gst_probe_dispatcher_dispatch):
3613         * gst/gstprobe.h:
3614         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3615         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3616         (_gst_query_copy), (gst_query_new):
3617
3618         Update elements for GstData -> GstMiniObject changes
3619         * gst/gstquery.h:
3620         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3621         (gst_queue_chain), (gst_queue_loop):
3622         * gst/elements/gstbufferstore.c:
3623         (gst_buffer_store_add_buffer_func),
3624         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3625         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3626         (gst_fakesink_render):
3627         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3628         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3629         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3630         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3631         (gst_filesrc_create_read):
3632         * gst/elements/gstidentity.c: (gst_identity_class_init):
3633         * gst/elements/gsttypefindelement.c:
3634         (gst_type_find_element_src_event), (free_entry_buffers),
3635         (gst_type_find_element_handle_event):
3636         * libs/gst/dataprotocol/dataprotocol.c:
3637         (gst_dp_header_from_buffer):
3638         * libs/gst/dataprotocol/dataprotocol.h:
3639         * libs/gst/dataprotocol/dp-private.h:
3640
3641 2005-05-15  David Schleef  <ds@schleef.org>
3642
3643         * gst/elements/gstelements.c: Don't include headers that were
3644         just removed.
3645
3646 2005-05-15  David Schleef  <ds@schleef.org>
3647
3648         * gst/elements/Makefile.am: Remove some elements that don't
3649         need to be in the core (or even exist at all).
3650         * gst/elements/gstaggregator.c:
3651         * gst/elements/gstaggregator.h:
3652         * gst/elements/gstmd5sink.c:
3653         * gst/elements/gstmd5sink.h:
3654         * gst/elements/gstmultifilesrc.c:
3655         * gst/elements/gstmultifilesrc.h:
3656         * gst/elements/gstpipefilter.c:
3657         * gst/elements/gstpipefilter.h:
3658         * gst/elements/gstshaper.c:
3659         * gst/elements/gstshaper.h:
3660         * gst/elements/gststatistics.c:
3661         * gst/elements/gststatistics.h:
3662         * po/POTFILES.in: Remove above files.
3663
3664 2005-05-14  Andy Wingo  <wingo@pobox.com>
3665
3666         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3667         so as to get the refs right.
3668         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3669         unreffing objects that don't pass the filter.
3670
3671         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3672         gst_element_set_bus.
3673         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3674         normal cases, this will destroy the bus.
3675
3676         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3677         object.
3678
3679         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3680         has no sinks.
3681
3682 2005-05-13  Andy Wingo  <wingo@pobox.com>
3683
3684         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3685         gst_pad_link, call pad_link_maybe_ghosting,
3686         (pad_link_maybe_ghosting): Links pads, making sure that the
3687         elements being linked are in the same bin.
3688         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3689         Helpers for pad_link_maybe_ghosting.
3690
3691 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3692
3693         * configure.ac:
3694           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3695
3696 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3697
3698         * docs/design/part-element-source.txt:
3699           Mention GstPushSrc
3700
3701 2005-05-12  Wim Taymans  <wim@fluendo.com>
3702
3703         * gst/base/gstbasesink.c: (gst_basesink_init),
3704         (gst_basesink_activate):
3705         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3706         (gst_basesrc_is_seekable):
3707         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3708         (bin_element_is_sink), (gst_bin_change_state):
3709         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3710         * gst/gstelement.h:
3711         Identify sinks by their flag to avoid overly complicated
3712         checks (fow now).
3713         Do state changes even for elements not reachable from the
3714         sinks.
3715         BaseSink is a sink now :)
3716         Some more debugging info in the basesrc.
3717
3718
3719 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3720
3721         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3722           Implement _query on a bin, similar to _send_event.
3723
3724 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3725
3726         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3727           Discont event offset format should be GST_FORMAT_BYTES,
3728           not GST_FORMAT_TIME.
3729
3730 2005-05-12  Wim Taymans  <wim@fluendo.com>
3731
3732         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3733         Same fix as Ronald's but without the signal. 
3734
3735 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3736
3737         * gst/gstutils.c: (gst_element_query_position):
3738           No, an element is not a pad.
3739
3740 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3741
3742         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3743         (gst_bin_get_state):
3744           If a child is removed from a bin while we remove the child from
3745           the bin and while we're retrieving its state, signal this to the
3746           get_state function so we abort the wait (instead of waiting for
3747           a timeout) and can immediately re-iterate over all other elements.
3748
3749 2005-05-12  Wim Taymans  <wim@fluendo.com>
3750
3751         * gst/base/Makefile.am:
3752         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3753         (gst_basesrc_start):
3754         * gst/base/gstbasesrc.h:
3755         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3756         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3757         (gst_pushsrc_init), (gst_pushsrc_create):
3758         * gst/base/gstpushsrc.h:
3759         Added is_seekable to BaseSrc
3760         Added simple PushSrc.
3761
3762 2005-05-11  Wim Taymans  <wim@fluendo.com>
3763
3764         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3766         (gst_element_link_pads), (gst_element_query_position),
3767         (gst_element_query_convert), (intersect_caps_func),
3768         (gst_pad_query_position), (gst_pad_query_convert):
3769         Fix refcounting in utils function.
3770         No point in trying to activate a pad when it's added, it could
3771         be added from the state change function and then we deadlock, the
3772         element has to decide what to do.
3773
3774 2005-05-10  Andy Wingo  <wingo@pobox.com>
3775
3776         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3777         *all* the arguments.
3778
3779         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3780         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3781         lock (according to the docs -- if this is wrong change the docs).
3782
3783         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3784         flush messages in the NULL state.
3785
3786         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3787         message immediately and return.
3788         (gst_bus_set_flushing): New function. If a bus is flushing, it
3789         flushes out any queued messages and immediately unrefs new
3790         messages. This is so when an element goes to NULL, all of the
3791         unhandled messages coming from it can be freed, and their
3792         references to the element dropped. In other words: message source
3793         ref considered harmful :P
3794
3795         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3796         we're finished with it.
3797
3798         * gst/gstmessage.c (gst_message_new_state_changed): 
3799
3800 2005-05-10  Wim Taymans  <wim@fluendo.com>
3801
3802         * gst/gstvalue.c: (gst_value_compare_flags),
3803         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3804         (_gst_value_initialize):
3805         Added flags serialize/deserialize/compare code.
3806
3807 2005-05-09  Andy Wingo  <wingo@pobox.com>
3808
3809         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3810         Intersect the peer's caps with our caps.
3811
3812 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3813
3814         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3815         * gst/elements/gsttypefindelement.c: (find_peek):
3816           Handle negative offsets better. Fixes decodebin.
3817
3818 2005-05-09  Wim Taymans  <wim@fluendo.com>
3819
3820         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3821         (gst_base_transform_event):
3822         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3823         Implement accept_caps.
3824         Fix silly lock/unlock mismatch in base class.
3825
3826 2005-05-09  Wim Taymans  <wim@fluendo.com>
3827
3828         * docs/design/draft-push-pull.txt:
3829         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3830         * gst/elements/gstfilesink.c: (gst_filesink_init),
3831         (gst_filesink_query):
3832         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3833         (gst_type_find_handle_src_query), (find_element_get_length):
3834         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3835         * gst/gstelement.h:
3836         * gst/gstmessage.c:
3837         * gst/gstmessage.h:
3838         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3839         (gst_real_pad_get_caps_unlocked),
3840         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3841         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3842         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3843         (gst_real_pad_dispose), (gst_real_pad_finalize),
3844         (gst_pad_load_and_link), (gst_pad_save_thyself),
3845         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3846         (gst_pad_check_pull_range), (gst_pad_pull_range),
3847         (gst_pad_template_get_type), (gst_pad_template_class_init),
3848         (gst_pad_template_init), (gst_pad_template_dispose),
3849         (name_is_valid), (gst_static_pad_template_get),
3850         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3851         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3852         (gst_pad_get_element_private), (gst_pad_start_task),
3853         (gst_pad_pause_task), (gst_pad_stop_task),
3854         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3855         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3856         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3857         (gst_ghost_pad_new):
3858         * gst/gstpad.h:
3859         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3860         (gst_query_new_position), (gst_query_set_position),
3861         (gst_query_parse_position), (gst_query_new_convert),
3862         (gst_query_set_convert), (gst_query_parse_convert):
3863         * gst/gstquery.h:
3864         * gst/gstqueryutils.c:
3865         * gst/gstqueryutils.h:
3866         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3867         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3868         (gst_queue_handle_src_query):
3869         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3870         (gst_element_query_position), (gst_element_query_convert),
3871         (intersect_caps_func), (gst_pad_query_position),
3872         (gst_pad_query_convert):
3873         * gst/gstutils.h:
3874         * tools/gst-inspect.c: (print_pad_info):
3875         * tools/gst-xmlinspect.c: (print_element_info):
3876         Remove old query functions. Ported old code.
3877         Added position/convert helper functions to gstutils.
3878         Reordered gstpad.c code, grouping relevant things.
3879         Remove gst_message_new(), always need to speficy a specific
3880         message.
3881
3882
3883 2005-05-09  Andy Wingo  <wingo@pobox.com>
3884
3885         * gst/gstiterator.h: Add some includes.
3886
3887         * gst/gstqueryutils.h: Include more headers.
3888
3889         * gst/gstpad.h:
3890         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3891         some uses of gst_pad_query.
3892
3893         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3894         NULL out parameters.
3895         (gst_query_new_position): New proc, allocates a new position
3896         query.
3897
3898         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3899         gstqueryutils.c to the build.
3900
3901         * gst/gststructure.c (gst_structure_set_valist): Implement with
3902         the generic G_VALUE_COLLECT.
3903         
3904 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3905
3906         * gst/Makefile.am: (gst_headers):
3907         Added gstqueryutils.h to the list of headers to install, that was
3908         a 'nachty' move wingo :)
3909
3910 2005-05-06  Andy Wingo  <wingo@pobox.com>
3911
3912         * gst/gstquery.h
3913         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3914         GstData, init a memchunk.
3915         (standard_definitions): Add a few query types, deprecate a few.
3916         (gst_query_get_type): New proc.
3917         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3918         implementation.
3919         (gst_query_new_application, gst_query_get_structure): New public
3920         procs.
3921
3922         * docs/design/draft-query.txt: Removed LINKS from the query types,
3923         because all the rest can be dispatched to other pads -- seemed
3924         ugly to have a query that couldn't be dispatched. internal_links
3925         is fine as a pad method.
3926
3927         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3928         in gstpad.c, but maintain binary compatibility for the moment.
3929         Will fix before 0.9 is out.
3930
3931         * gst/gstqueryutils.c: 
3932         * gst/gstqueryutils.h: New files, implement 3 methods for each
3933         query type: parse_query, parse_response, and set. Probably need an
3934         allocator as well.
3935
3936         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3937
3938         * gst/elements/gstfilesink.c (gst_filesink_query2):
3939         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3940         query_types, and formats methods.
3941
3942         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3943         (gst_pad_set_query2_function): New functions.
3944         (gst_real_pad_init): Set query2_default as the default query2
3945         function. Basically just dispatches to internally linked pads.
3946
3947         Needs review!
3948         
3949         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3950         without using the atomic operations. Only one thread can possibly
3951         be accessing the data at this point. Changed so as to avoid
3952         gst_atomic operations.
3953
3954 2005-05-06  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3957         Also set caps if we use the fallback buffer alloc.
3958
3959 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3960
3961         * docs/gst/Makefile.am:
3962         * docs/gst/gstreamer-docs.sgml:
3963         * docs/gst/gstreamer-sections.txt:
3964         * docs/gst/tmpl/gstatomic.sgml:
3965         * docs/gst/tmpl/gstmemchunk.sgml:
3966         * testsuite/elements/struct_i386.h:
3967         * win32/GStreamer.vcproj:
3968         * win32/Makefile:
3969           Purge GstAtomic stuff from docs and win32 makefiles as well
3970
3971 2005-05-06  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3974         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3975         * gst/gstpad.c: (gst_pad_peer_get_caps):
3976         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3977         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3978         (gst_queue_src_activate), (gst_queue_change_state):
3979         * gst/gstqueue.h:
3980         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3981         (intersect_caps_func):
3982         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3983         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3984         Some fixes for the peer_get_caps() change.
3985
3986 2005-05-06  Wim Taymans  <wim@fluendo.com>
3987
3988         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3989         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3990         (gst_basesink_activate):
3991         Actually do something with error codes returned from the push
3992         functions.
3993
3994 2005-05-06  Wim Taymans  <wim@fluendo.com>
3995
3996         * docs/design/part-element-sink.txt:
3997         * docs/design/part-element-source.txt:
3998         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3999         (gst_basesink_event), (gst_basesink_activate):
4000         * gst/base/gstbasesink.h:
4001         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4002         (gst_basesrc_activate):
4003         * gst/base/gstbasesrc.h:
4004         * gst/gstelement.c: (gst_element_pads_activate):
4005         Some more documentation.
4006         Fixed scheduling decision in _pads_activate().
4007
4008 2005-05-05  Andy Wingo  <wingo@pobox.com>
4009
4010         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4011         the test suite.
4012
4013 2005-05-05  Wim Taymans  <wim@fluendo.com>
4014
4015         * gst/base/Makefile.am:
4016         * gst/base/gstbasesink.h:
4017         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4018         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4019         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4020         (gst_collectpads_class_init), (gst_collectpads_init),
4021         (gst_collectpads_finalize), (gst_collectpads_new),
4022         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4023         (find_pad), (gst_collectpads_remove_pad),
4024         (gst_collectpads_is_active), (gst_collectpads_collect),
4025         (gst_collectpads_collect_range), (gst_collectpads_start),
4026         (gst_collectpads_stop), (gst_collectpads_peek),
4027         (gst_collectpads_pop), (gst_collectpads_available),
4028         (gst_collectpads_read), (gst_collectpads_flush),
4029         (gst_collectpads_chain):
4030         * gst/base/gstcollectpads.h:
4031         * gst/elements/Makefile.am:
4032         * gst/elements/gstelements.c:
4033         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4034         (gst_fakesink_get_times), (gst_fakesink_event),
4035         (gst_fakesink_preroll), (gst_fakesink_render):
4036         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4037         (gst_filesink_init), (gst_filesink_set_location),
4038         (gst_filesink_open_file), (gst_filesink_close_file),
4039         (gst_filesink_pad_query), (gst_filesink_event),
4040         (gst_filesink_render), (gst_filesink_change_state):
4041         * gst/elements/gstfilesink.h:
4042         Added object to help in making collect pad based elements.
4043         Ported filesink.
4044         Make event function in sink baseclass return gboolean.
4045
4046 2005-05-05  Wim Taymans  <wim@fluendo.com>
4047
4048         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4049         (gst_bin_get_by_name):
4050         * gst/gstbuffer.h:
4051         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4052         (gst_clock_finalize):
4053         * gst/gstdata.c: (gst_data_replace):
4054         * gst/gstdata.h:
4055         * gst/gstelement.c: (gst_element_request_pad),
4056         (gst_element_pads_activate):
4057         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4058         (gst_object_unref):
4059         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4060         (gst_pad_set_checkgetrange_function),
4061         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4062         (gst_pad_check_pull_range), (gst_pad_pull_range),
4063         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4064         (gst_pad_pause_task), (gst_pad_stop_task):
4065         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4066         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4067         Fix name lookup in GstBin.
4068         Added _data_replace() function and _buffer_replace()
4069         Use finalize method to clean up clock.
4070         Fix refcounting on request pads.
4071         Fix pad schedule mode error.
4072         Some more object refcounting debug info,
4073
4074
4075 2005-05-04  Andy Wingo <wingo@pobox.com>
4076
4077         * check/Makefile.am:
4078         * docs/gst/tmpl/gstatomic.sgml:
4079         * docs/gst/tmpl/gstplugin.sgml:
4080         * gst/base/gstbasesink.c: (gst_basesink_activate):
4081         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4082         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4083         (gst_basesrc_query), (gst_basesrc_set_property),
4084         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4085         (gst_basesrc_activate):
4086         * gst/base/gstbasesrc.h:
4087         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4088         (gst_base_transform_src_activate):
4089         * gst/elements/gstelements.c:
4090         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4091         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4092         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4093         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4094         (gst_type_find_element_checkgetrange),
4095         (gst_type_find_element_activate):
4096         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4097         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4098         (gst_caps_load_thyself):
4099         * gst/gstelement.c: (gst_element_pads_activate),
4100         (gst_element_save_thyself), (gst_element_restore_thyself):
4101         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4102         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4103         * gst/gstpad.h:
4104         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4105         (gst_xml_parse_file), (gst_xml_parse_memory),
4106         (gst_xml_get_element), (gst_xml_make_element):
4107         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4108         (_file_index_id_save_xml), (gst_file_index_commit):
4109         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4110         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4111         (load_paths):
4112         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4113         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4114         * tools/gst-complete.c: (main):
4115         * tools/gst-compprep.c: (main):
4116         * tools/gst-inspect.c: (print_element_properties_info):
4117         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4118         * tools/gst-xmlinspect.c: (print_element_properties):
4119         GCC 4 fixen.
4120         
4121 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4122
4123         * gst/gstplugin.c: (gst_plugin_check_module),
4124         (gst_plugin_check_file), (gst_plugin_load_file):
4125             apply patch from #172526 to make register work on MacOSX
4126
4127 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4128
4129         * docs/gst/tmpl/gstconfig.sgml:
4130         * gst/gstconfig.h.in:
4131           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4132         * testsuite/debug/printf_extension.c: (main):
4133           Do not use GST_PTR_FORMAT on pointers to types with
4134           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4135         * testsuite/elements/property.h:
4136           use correct printf format
4137
4138 2005-05-02  Wim Taymans  <wim@fluendo.com>
4139
4140         * docs/design/draft-push-pull.txt:
4141         * docs/design/draft-query.txt:
4142         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4143         (gst_basesrc_start):
4144         Added draft for new query API.
4145         Added draft for better selecting scheduling methods.
4146         Make basesrc ignore length if the subclass does not support
4147         it.
4148
4149 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * gst/Makefile.am:
4152           possible fixes for automake-1.5 - _LIBADD is reserved
4153
4154 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4155
4156         * docs/faq/Makefile.am:
4157         * docs/manual/Makefile.am:
4158         * docs/manuals.mak:
4159         * docs/pwg/Makefile.am:
4160         * gst/Makefile.am:
4161           possible fixes for automake-1.5
4162
4163 2005-04-28  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4166         (gst_basesink_pad_getcaps), (gst_basesink_init),
4167         (gst_basesink_do_sync):
4168         * gst/gstclock.c: (gst_clock_entry_new):
4169         * gst/gstevent.c: (gst_event_discont_get_value):
4170         * gst/gstpipeline.c: (pipeline_bus_handler),
4171         (gst_pipeline_change_state):
4172         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4173         Better debugging of clocking info.
4174         Allow NULL values when getting discont values.
4175
4176 2005-04-27  Wim Taymans  <wim@fluendo.com>
4177
4178         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4179         * check/gst/gstpad.c: (gst_pad_suite):
4180         Increase timeout for checks.
4181
4182 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4183
4184         * check/Makefile.am:
4185           fix the broken rule for cleanup.  Apparently this rule is
4186           only needed on FC2, so maybe this warrants further autotool
4187           inspection.
4188
4189 2005-04-26  Wim Taymans  <wim@fluendo.com>
4190
4191         * gst/gsttrashstack.h:
4192         Ooohh. a nasty one! After having a failed pop() from the stack,
4193         it's possible that the stack is empty. In that case, don't
4194         follow the NULL pointer.
4195
4196 2005-04-25  Wim Taymans  <wim@fluendo.com>
4197
4198         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4199         (gst_pad_set_checkgetrange_function),
4200         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4201         (gst_pad_check_pull_range), (gst_pad_pull_range),
4202         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4203         (gst_pad_pause_task), (gst_pad_stop_task):
4204         * gst/gstplugin.c: (gst_plugin_load):
4205         * gst/gstplugin.h:
4206         Remove gst_library_load as it does more harm than good with
4207         the new g_module flags.
4208         Revert bogus caps template check in pad linking, pad caps
4209         are important when linking not the template, which is more
4210         general than the current caps.
4211
4212 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4213
4214         * gst/autoplug/.cvsignore:
4215         * gst/autoplug/Makefile.am:
4216         * gst/autoplug/gstsearchfuncs.c:
4217         * gst/autoplug/gstsearchfuncs.h:
4218         * gst/autoplug/gstspider.c:
4219         * gst/autoplug/gstspider.h:
4220         * gst/autoplug/gstspideridentity.c:
4221         * gst/autoplug/gstspideridentity.h:
4222         * gst/autoplug/spidertest.c:
4223           Die, spider, die.
4224
4225 2005-04-25  Wim Taymans  <wim@fluendo.com>
4226
4227         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4228         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4229         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4230         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4231         * gst/gstpad.h:
4232         Added stubs for unimplemented functions. 
4233
4234 2005-04-24  David Schleef  <ds@schleef.org>
4235
4236         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4237         please fix.
4238
4239 2005-04-24  David Schleef  <ds@schleef.org>
4240
4241         Convert everything from GstAtomicInt to g_atomic_int_*, and
4242         remove gstatomic.
4243         * gst/Makefile.am:
4244         * gst/gstatomic.c:
4245         * gst/gstatomic.h:
4246         * gst/gstatomic_impl.h:
4247         * gst/gstbuffer.c:
4248         * gst/gstcaps.c:
4249         * gst/gstcaps.h:
4250         * gst/gstclock.c:
4251         * gst/gstclock.h:
4252         * gst/gstdata.c:
4253         * gst/gstdata.h:
4254         * gst/gstdata_private.h:
4255         * gst/gstevent.c:
4256         * gst/gstinfo.c:
4257         * gst/gstinfo.h:
4258         * gst/gstmessage.c:
4259         * gst/gstobject.c:
4260         * gst/gstobject.h:
4261         * gst/gststructure.c:
4262         * gst/gststructure.h:
4263         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4264         * gst/gstutils.h:
4265
4266 2005-04-24  David Schleef  <ds@schleef.org>
4267
4268         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4269         make the regressions tests work.  Remove some code that is no
4270         longer true.
4271         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4272         Disable warning for pads without templates.
4273
4274 2005-04-24  David Schleef  <ds@schleef.org>
4275
4276         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4277         functions that handle filtered links.
4278         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4279         removed functions.
4280         * gst/gstutils.c: Fix/remove utility functions that handle
4281         filtered caps.
4282         * gst/gstutils.h:
4283         * gst/gstvalue.c: Add serialization/deserialization of caps
4284         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4285         requires fixing so that the filter caps notation creates
4286         a capsfilter element and sets the filter_caps property.  I
4287         think everyone probably wants to keep the shorthand notation.
4288         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4289         * docs/gst/tmpl/gstpad.sgml:
4290
4291         * gst/elements/gstelements.c: Register capsfilter element.
4292         * gst/Makefile.am: fix spacing
4293         * docs/random/ds/0.9-suggested-changes: random
4294
4295 2005-04-23  David Schleef  <ds@schleef.org>
4296
4297         * gst/elements/Makefile.am:
4298         * gst/elements/gstcapsfilter.c: New element that acts like an
4299         identity, but filters caps.  Will eventually replace filtered
4300         caps in pad linking.
4301         * gst/gstutils.c: (gst_element_create_all_pads): New function
4302         to create all the ALWAYS pads that are registered with an
4303         element class.  This functionality should eventually be
4304         merged in with GstElement initialization.
4305         * gst/gstutils.h:
4306         * testsuite/trigger/README: part of trigger test code that should
4307         have been checked in a long time ago.
4308
4309 2005-04-23  David Schleef  <ds@schleef.org>
4310
4311         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4312         needed with new versions of libtool (nobody will confirm this),
4313         and hard to carry around.
4314         * gst/autoplug/Makefile.am:
4315         * gst/base/Makefile.am:
4316         * gst/elements/Makefile.am:
4317         * gst/indexers/Makefile.am:
4318         * gst/schedulers/Makefile.am:
4319         * libs/gst/bytestream/Makefile.am:
4320         * libs/gst/control/Makefile.am:
4321         * libs/gst/dataprotocol/Makefile.am:
4322         * libs/gst/getbits/Makefile.am:
4323
4324 2005-04-21  Wim Taymans  <wim@fluendo.com>
4325
4326         * docs/design/draft-push-pull.txt:
4327         * docs/design/part-MT-refcounting.txt:
4328         * docs/design/part-TODO.txt:
4329         * docs/design/part-caps.txt:
4330         * docs/design/part-events.txt:
4331         * docs/design/part-gstbus.txt:
4332         * docs/design/part-gstpipeline.txt:
4333         * docs/design/part-messages.txt:
4334         * docs/design/part-push-pull.txt:
4335         * docs/design/part-query.txt:
4336         Some more docs.
4337
4338 2005-04-21  Wim Taymans  <wim@fluendo.com>
4339
4340         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4341         (gst_message_new), (gst_message_new_error),
4342         (gst_message_new_warning), (gst_message_new_tag),
4343         (gst_message_new_state_changed), (gst_message_new_application),
4344         (gst_message_get_structure):
4345         * gst/gstmessage.h:
4346         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4347         (gst_structure_copy_conditional):
4348         Use parent refcount in GstMessage to ensure GstStructure
4349         consistency.
4350         Cleaned up headers a bit.
4351         
4352
4353 2005-04-20  Wim Taymans  <wim@fluendo.com>
4354
4355         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4356         (gst_basesink_pad_getcaps), (gst_basesink_init),
4357         (gst_basesink_chain_unlocked):
4358         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4359         (gst_type_find_helper):
4360         * gst/elements/gsttypefindelement.c:
4361         (gst_type_find_element_have_type), (gst_type_find_element_init),
4362         (stop_typefinding), (gst_type_find_element_handle_event),
4363         (find_suggest), (gst_type_find_element_chain),
4364         (gst_type_find_element_checkgetrange),
4365         (gst_type_find_element_getrange), (do_typefind),
4366         (gst_type_find_element_activate):
4367         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4368         (gst_buffer_default_free), (gst_buffer_default_copy),
4369         (gst_buffer_set_caps):
4370         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4371         (gst_caps_replace):
4372         * gst/gstmessage.c: (gst_message_new),
4373         (gst_message_new_state_changed):
4374         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4375         (gst_pad_set_checkgetrange_function),
4376         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4377         (gst_pad_set_caps), (gst_pad_check_pull_range),
4378         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4379         * gst/gstpad.h:
4380         * gst/gsttypefind.c: (gst_type_find_register):
4381         Make gst_caps_replace() work like other _replace() functions.
4382         Use _caps_replace() where possible.
4383         Make sure _message_new() initialises its field.
4384         Add gst_static_pad_template_get_caps()
4385
4386
4387 2005-04-18  Andy Wingo  <wingo@pobox.com>
4388
4389         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4390         on the peer, not the pad. I think that was a typo. Pass an extra
4391         arg to see if random access is possible. Activate the pads as
4392         PULL_RANGE if possible.
4393
4394         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4395
4396         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4397         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4398         to PROP_....
4399
4400 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4401
4402         * docs/faq/using.xml:
4403           Add note on gstreamer-properties (#154996).
4404
4405 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4406
4407         * docs/random/bbb/optional-properties:
4408           Some analysis on optional properties.
4409
4410 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4411
4412         * docs/gst/tmpl/gstelementfactory.sgml:
4413         * gst/gstelement.h:
4414         * gst/gstelementfactory.c: (gst_element_factory_init),
4415         (gst_element_factory_cleanup), (gst_element_register),
4416         (__gst_element_factory_add_static_pad_template),
4417         (gst_element_factory_get_static_pad_templates),
4418         (gst_element_factory_can_src_caps),
4419         (gst_element_factory_can_sink_caps):
4420         * gst/registries/Makefile.am:
4421         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4422         (gst_xml_registry_class_init), (gst_xml_registry_init),
4423         (gst_xml_registry_new), (gst_xml_registry_set_property),
4424         (gst_xml_registry_get_property), (get_time), (make_dir),
4425         (gst_xml_registry_get_perms_func),
4426         (plugin_times_older_than_recurse), (plugin_times_older_than),
4427         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4428         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4429         (add_to_char_array), (read_string), (read_uint), (read_enum),
4430         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4431         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4432         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4433         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4434         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4435         (gst_xml_registry_rebuild):
4436         * gst/registries/gstlibxmlregistry.h:
4437         * tools/gst-compprep.c: (main):
4438         * tools/gst-inspect.c: (print_pad_templates_info):
4439         * tools/gst-xmlinspect.c: (print_element_info):
4440           Use libxml2 for registry parsing, use staticpadtemplates in
4441           elementfactories. Makes gst_init() +/- 10x faster.
4442
4443 2005-04-12  Wim Taymans  <wim@fluendo.com>
4444
4445         * gst/base/Makefile.am:
4446         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4447         (gst_basesink_pad_getcaps), (gst_basesink_init),
4448         (gst_basesink_event), (gst_basesink_change_state):
4449         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4450         (gst_basesrc_init), (gst_basesrc_query),
4451         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4452         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4453         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4454         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4455         (gst_basesrc_stop), (gst_basesrc_activate),
4456         (gst_basesrc_change_state):
4457         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4458         (helper_find_suggest), (gst_type_find_helper):
4459         * gst/base/gsttypefindhelper.h:
4460         * gst/elements/Makefile.am:
4461         * gst/elements/gstelements.c:
4462         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4463         (gst_fakesink_get_times), (gst_fakesink_event),
4464         (gst_fakesink_preroll), (gst_fakesink_render):
4465         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4466         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4467         (gst_fakesrc_get_property), (gst_fakesrc_create),
4468         (gst_fakesrc_start), (gst_fakesrc_stop):
4469         * gst/elements/gstfakesrc.h:
4470         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4471         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4472         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4473         (gst_filesrc_create_read), (gst_filesrc_create),
4474         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4475         (gst_filesrc_start):
4476         * gst/elements/gsttypefindelement.c:
4477         (gst_type_find_element_have_type), (gst_type_find_element_init),
4478         (start_typefinding), (stop_typefinding), (push_buffer_store),
4479         (gst_type_find_element_handle_event),
4480         (gst_type_find_element_chain),
4481         (gst_type_find_element_checkgetrange),
4482         (gst_type_find_element_getrange), (do_typefind),
4483         (gst_type_find_element_activate),
4484         (gst_type_find_element_change_state):
4485         * gst/elements/gsttypefindelement.h:
4486         * gst/gstpipeline.c: (pipeline_bus_handler):
4487         Added typefind helper.
4488         Small preroll fix in the base sink.
4489         Disable typefind code in basesrc.
4490         Crude port of typefindelement.
4491         Fakesrc cleanups.
4492
4493
4494 2005-04-11  Wim Taymans  <wim@fluendo.com>
4495
4496         * check/gst/gstbus.c: (gstbus_suite):
4497         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4498         * check/gstcheck.h:
4499           Fix up the timeout so that the test does not fail.
4500
4501 2005-04-06  Wim Taymans  <wim@fluendo.com>
4502
4503         * gst/base/README:
4504         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4505         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4506         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4507         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4508         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4509         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4510         (gst_basesrc_stop), (gst_basesrc_activate),
4511         (gst_basesrc_change_state), (basesrc_find_peek),
4512         (basesrc_find_suggest), (gst_basesrc_type_find):
4513         * gst/base/gstbasesrc.h:
4514         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4515         (gst_filesrc_class_init), (gst_filesrc_init),
4516         (gst_filesrc_finalize), (gst_filesrc_set_location),
4517         (gst_filesrc_set_property), (gst_filesrc_get_property),
4518         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4519         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4520         (gst_filesrc_create_read), (gst_filesrc_create),
4521         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4522         * gst/elements/gstfilesrc.h:
4523         * gst/gstelement.c: (gst_element_get_state_func),
4524         (gst_element_lost_state), (gst_element_pads_activate):
4525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4526         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4527         (gst_pad_pull_range):
4528         * gst/gstpad.h:
4529         More work on the generic source base class, implement seeking,
4530         query.
4531         Make filesrc extend the base source class.
4532         Added gst_pad_set_checkgetrange_function to GstPad.
4533
4534 2005-04-06  Andy Wingo  <wingo@pobox.com>
4535
4536         * pkgconfig/gstreamer-base.pc.in:
4537         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4538
4539         * pkgconfig/Makefile.am:
4540         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4541
4542 2005-04-04  Wim Taymans  <wim@fluendo.com>
4543
4544         * gst/base/Makefile.am:
4545         * gst/base/README:
4546         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4547         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4548         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4549         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4550         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4551         (gst_basesrc_base_init), (gst_basesrc_class_init),
4552         (gst_basesrc_init), (gst_basesrc_get_formats),
4553         (gst_basesrc_get_query_types), (gst_basesrc_query),
4554         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4555         (gst_basesrc_set_property), (gst_basesrc_get_property),
4556         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4557         (gst_basesrc_loop), (gst_basesrc_activate),
4558         (gst_basesrc_change_state):
4559         * gst/base/gstbasesrc.h:
4560         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4561         (gst_fakesrc_class_init), (gst_fakesrc_init),
4562         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4563         (gst_fakesrc_get_property), (gst_fakesrc_create):
4564         * gst/elements/gstfakesrc.h:
4565         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4566         (gst_filesrc_open_file), (gst_filesrc_loop),
4567         (gst_filesrc_activate), (filesrc_find_peek),
4568         (gst_filesrc_type_find):
4569         Made base source class, make fakesrc extend it.
4570         Add comments to basesink class.
4571         Some filesrc cleanup.
4572
4573 2005-03-31  David Schleef  <ds@schleef.org>
4574
4575         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4576         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4577         expected to link against libgstreamer.
4578         * gst/base/Makefile.am: link against libgstreamer
4579         * gst/elements/Makefile.am: same
4580
4581 2005-03-31  Andy Wingo  <wingo@pobox.com>
4582
4583         * tests/instantiate/Makefile.am:
4584         * tests/instantiate/caps.c: Add test to test speed of caps copy
4585         and free.
4586
4587         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4588         GMemChunk to be fair.
4589
4590         * gst/gsttrashstack.h: Remove warning about using the fallback
4591         trash stack implementation, it's still faster than malloc.
4592
4593 2005-03-30  Andy Wingo  <wingo@pobox.com>
4594
4595         * tests/complexity.c: Add a copyright.
4596
4597 2005-03-31  Wim Taymans  <wim@fluendo.com>
4598
4599         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4600         (gst_base_transform_class_init), (gst_base_transform_init),
4601         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4602         (gst_base_transform_get_property),
4603         (gst_base_transform_sink_activate),
4604         (gst_base_transform_src_activate),
4605         (gst_base_transform_change_state):
4606         * gst/base/gstbasetransform.h:
4607         * gst/elements/gstidentity.c: (gst_identity_class_init),
4608         (gst_identity_event), (gst_identity_check_perfect),
4609         (gst_identity_transform), (gst_identity_start),
4610         (gst_identity_stop):
4611         Added start/stop methods to transform base class so subclasses 
4612         don't need to deal with state changes even.
4613
4614 2005-03-31  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4617         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4618         * gst/gstevent.h:
4619         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4620         (gst_pad_pull_range):
4621         Added rate to the discont event to prepare for variable speed
4622         and reverse playback.
4623
4624 2005-03-29  David Schleef  <ds@schleef.org>
4625
4626         * configure.ac:
4627         * testsuite/trigger/Makefile.am:
4628         * testsuite/trigger/trigger.c: A little example program to show
4629         how trigger-based elements can work.
4630
4631 2005-03-29  Wim Taymans  <wim@fluendo.com>
4632
4633         * gst/base/Makefile.am:
4634         * gst/base/README:
4635         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4636         (gst_basesink_base_init), (gst_basesink_class_init),
4637         (gst_basesink_pad_getcaps), (gst_basesink_init),
4638         (gst_basesink_activate), (gst_basesink_change_state):
4639         * gst/base/gstbasesink.h:
4640         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4641         (gst_base_transform_base_init), (gst_base_transform_finalize),
4642         (gst_base_transform_class_init), (gst_base_transform_init),
4643         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4644         (gst_base_transform_event), (gst_base_transform_getrange),
4645         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4646         (gst_base_transform_set_property),
4647         (gst_base_transform_get_property),
4648         (gst_base_transform_sink_activate),
4649         (gst_base_transform_src_activate),
4650         (gst_base_transform_change_state):
4651         * gst/base/gstbasetransform.h:
4652         * gst/elements/gstidentity.c: (gst_identity_finalize),
4653         (gst_identity_class_init), (gst_identity_init),
4654         (gst_identity_event), (gst_identity_check_perfect),
4655         (gst_identity_transform), (gst_identity_set_property),
4656         (gst_identity_get_property), (gst_identity_change_state):
4657         * gst/elements/gstidentity.h:
4658         * gst/gstelement.c: (gst_element_get_state_func),
4659         (gst_element_lost_state), (gst_element_pads_activate):
4660         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4661         (gst_pad_check_pull_range), (gst_pad_pull_range):
4662         * gst/gstpad.h:
4663         Simplify pad activation.
4664         Added function to check if pull_range can be performed.
4665         Error out when pulling inactive or flushing pads.
4666         Removed const from refcounted types as it does not make sense.
4667         Simplify pad templates in basesink
4668         Added base class for simple 1-to-1 transforms.
4669         Make identity subclass the base transform.
4670
4671 2005-03-29  Andy Wingo  <wingo@pobox.com>
4672
4673         * docs/libs/gstreamer-libs-overrides.txt: 
4674         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4675         really don't understand what's going on, but like whatever. I want
4676         green buildbot!
4677
4678         * docs/gst/Makefile.am:
4679         * docs/libs/Makefile.am: Dist the overrides files.
4680
4681         * check/Makefile.am (clean-local): Remove .libs directories.
4682
4683         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4684         elements to EXTRA_DIST, so po/ files are happy.
4685
4686         * po/POTFILES.in: Er, remove it here.
4687
4688         * po/POTFILES: Remove gstspider.c.
4689
4690         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4691
4692         * docs/libs/gstreamer-libs-docs.sgml: 
4693         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4694         bytestream.
4695
4696         * tests/complexity.c (main): Set the length of the preroll queue
4697         on the sinks to prevent a lockup.
4698
4699         * libs/gst/dataprotocol/Makefile.am: 
4700         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4701         the same as the one in check/gst-libs/gdp.c.
4702
4703         * po/, docs/gst/: Commit automatic changes to docs and po files.
4704
4705         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4706         the versioned libgstbase.
4707
4708         * check/Makefile.am: Depend on an unversioned gst-register, seems
4709         to make autoconf happier.
4710
4711         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4712
4713 2005-03-28  Wim Taymans  <wim@fluendo.com>
4714
4715         * configure.ac:
4716         * docs/design/part-gstelement.txt:
4717         * docs/design/part-negotiation.txt:
4718         * docs/design/part-preroll.txt:
4719         * docs/design/part-scheduling.txt:
4720         * docs/design/part-states.txt:
4721         * gst/Makefile.am:
4722         * gst/base/Makefile.am:
4723         * gst/base/README:
4724         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4725         (gst_basesink_base_init), (gst_basesink_class_init),
4726         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4727         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4728         (gst_basesink_set_pad_functions),
4729         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4730         (gst_basesink_set_property), (gst_basesink_get_property),
4731         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4732         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4733         (gst_basesink_preroll_queue_push),
4734         (gst_basesink_preroll_queue_empty),
4735         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4736         (gst_basesink_event), (gst_basesink_get_times),
4737         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4738         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4739         (gst_basesink_loop), (gst_basesink_activate),
4740         (gst_basesink_change_state):
4741         * gst/base/gstbasesink.h:
4742         * gst/elements/Makefile.am:
4743         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4744         (gst_fakesink_class_init), (gst_fakesink_init),
4745         (gst_fakesink_set_property), (gst_fakesink_get_property),
4746         (gst_fakesink_get_times), (gst_fakesink_event),
4747         (gst_fakesink_preroll), (gst_fakesink_render),
4748         (gst_fakesink_change_state):
4749         * gst/elements/gstfakesink.h:
4750         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4751         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4752         * gst/gstelement.c: (gst_element_add_pad),
4753         (gst_element_get_state_func), (gst_element_abort_state),
4754         (gst_element_commit_state), (gst_element_lost_state),
4755         (gst_element_set_state), (gst_element_pads_activate):
4756         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4757         * gst/gstpipeline.c: (gst_pipeline_send_event),
4758         (gst_pipeline_change_state):
4759         Added state change code.
4760         Added/updated docs.
4761         Added sink base class, make fakesink extend the base class.
4762         Small cleanups in GstPipeline.
4763
4764 2005-03-26  David Schleef  <ds@schleef.org>
4765
4766         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4767         is broken and should be implemented in a different library.
4768         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4769         * gst/gst.h: remove gstcpu.h
4770         * gst/gstcpu.c: remove
4771         * gst/gstcpu.h: remove
4772         * gst/Makefile.am.future: Remove this file.  It's ancient.
4773
4774 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4775
4776         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4777         (gst_bin_send_event):
4778           Add default event/set_manager handlers. The set_manager handler
4779           takes care that the manager is distributed over kids that were
4780           already in the bin before the manager was set. The event handler
4781           is a utility virtual function that sends the event over all sinks,
4782           so that gst_element_send_event (bin, event); has the expected
4783           behaviour.
4784         * gst/gstpad.c: (gst_pad_event_default):
4785           Re-install default event handling for discontinuities, so that
4786           seeking works without requiring hacks in applications or extra
4787           code in sinks.
4788         * gst/gstpipeline.c: (gst_pipeline_class_init),
4789         (gst_pipeline_send_event):
4790           Half hack, half utility: set a pipeline to PAUSED for seek events,
4791           since that is the only way we can guarantee a/v sync. Means that
4792           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4793           and it "just works".
4794
4795 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4796
4797         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4798           Lock/unlock mismatch.
4799
4800 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4801
4802         * docs/faq/gst-uninstalled:
4803           add gst-plugins-base
4804         * docs/gst/Makefile.am:
4805           don't error out until docs are fixed
4806         * docs/gst/gstreamer.types:
4807           remove thread
4808
4809 2005-03-22  Wim Taymans  <wim@fluendo.com>
4810
4811         * check/Makefile.am:
4812         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4813         * gst/gststructure.c: (gst_structure_set_valist),
4814         (gst_structure_copy_conditional):
4815         Activated more tests.
4816         Added message test.
4817         Added G_TYPE_POINTER to GstStructure.
4818         
4819
4820 2005-03-22  Wim Taymans  <wim@fluendo.com>
4821
4822         * docs/design/part-TODO.txt:
4823         * docs/design/part-events.txt:
4824         * docs/design/part-gstbin.txt:
4825         * docs/design/part-gstbus.txt:
4826         * docs/design/part-gstpipeline.txt:
4827         * docs/design/part-messages.txt:
4828         * gst/gstbus.c:
4829         * gst/gstmessage.c:
4830         Docs updates
4831
4832 2005-03-21  Wim Taymans  <wim@fluendo.com>
4833
4834         * gst/gstbus.c: (gst_bus_post):
4835         Fix copy-and-paste error.
4836
4837 2005-03-21  Wim Taymans  <wim@fluendo.com>
4838
4839         * check/Makefile.am:
4840         * gst/Makefile.am:
4841         * gst/elements/Makefile.am:
4842         * gst/elements/gstelements.c:
4843         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4844         (gst_fakesink_event), (gst_fakesink_chain):
4845         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4846         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4847         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4848         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4849         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4850         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4851         (gst_fakesrc_loop), (gst_fakesrc_activate),
4852         (gst_fakesrc_change_state):
4853         * gst/elements/gstfakesrc.h:
4854         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4855         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4856         (gst_filesrc_open_file), (gst_filesrc_loop),
4857         (gst_filesrc_activate), (gst_filesrc_change_state),
4858         (filesrc_find_peek), (filesrc_find_suggest),
4859         (gst_filesrc_type_find):
4860         * gst/elements/gstidentity.c: (gst_identity_finalize),
4861         (gst_identity_class_init), (gst_identity_init),
4862         (gst_identity_proxy_getcaps), (identity_queue_push),
4863         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4864         (gst_identity_getrange), (gst_identity_chain),
4865         (gst_identity_sink_loop), (gst_identity_src_loop),
4866         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4867         (gst_identity_set_property), (gst_identity_get_property),
4868         (gst_identity_change_state):
4869         * gst/elements/gstidentity.h:
4870         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4871         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4872         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4873         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4874         (gst_tee_sink_activate):
4875         * gst/elements/gsttee.h:
4876         * gst/gst.c: (gst_register_core_elements), (init_post):
4877         * gst/gst.h:
4878         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4879         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4880         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4881         (gst_bin_change_state):
4882         * gst/gstbin.h:
4883         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4884         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4885         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4886         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4887         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4888         (bus_watch_callback), (bus_watch_destroy),
4889         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4890         (poll_timeout), (gst_bus_poll):
4891         * gst/gstbus.h:
4892         * gst/gstcaps.h:
4893         * gst/gstdata.h:
4894         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4895         (gst_element_post_message), (gst_element_message_full),
4896         (gst_element_get_state_func), (gst_element_get_state),
4897         (gst_element_abort_state), (gst_element_commit_state),
4898         (gst_element_lost_state), (gst_element_set_state),
4899         (gst_element_pads_activate), (gst_element_change_state),
4900         (gst_element_dispose), (gst_element_set_manager_func),
4901         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4902         (gst_element_set_manager), (gst_element_get_manager),
4903         (gst_element_set_bus), (gst_element_get_bus),
4904         (gst_element_set_scheduler), (gst_element_get_scheduler):
4905         * gst/gstelement.h:
4906         * gst/gstevent.c: (gst_event_new_segment_seek),
4907         (gst_event_new_flush):
4908         * gst/gstevent.h:
4909         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4910         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4911         (gst_message_new_eos), (gst_message_new_error),
4912         (gst_message_new_warning), (gst_message_new_tag),
4913         (gst_message_new_state_changed), (gst_message_new_application),
4914         (gst_message_get_structure), (gst_message_parse_tag),
4915         (gst_message_parse_state_changed), (gst_message_parse_error),
4916         (gst_message_parse_warning):
4917         * gst/gstmessage.h:
4918         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4919         (gst_real_pad_set_property), (gst_pad_set_active),
4920         (gst_pad_is_active), (gst_pad_set_blocked_async),
4921         (gst_pad_set_blocked), (gst_pad_is_blocked),
4922         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4923         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4924         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4925         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4926         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4927         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4928         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4929         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4930         (gst_pad_set_caps), (gst_pad_configure_sink),
4931         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4932         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4933         (gst_real_pad_dispose), (gst_real_pad_finalize),
4934         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4935         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4936         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4937         * gst/gstpad.h:
4938         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4939         (pipeline_bus_handler), (gst_pipeline_change_state),
4940         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4941         * gst/gstpipeline.h:
4942         * gst/gstprobe.h:
4943         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4944         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4945         (gst_queue_link_src), (gst_queue_bufferalloc),
4946         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4947         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4948         (gst_queue_loop), (gst_queue_handle_src_event),
4949         (gst_queue_handle_src_query), (gst_queue_src_activate),
4950         (gst_queue_change_state):
4951         * gst/gstqueue.h:
4952         * gst/gstscheduler.c: (gst_scheduler_init),
4953         (gst_scheduler_dispose), (gst_scheduler_create_task),
4954         (gst_scheduler_factory_create):
4955         * gst/gstscheduler.h:
4956         * gst/gststructure.c: (gst_structure_get_type),
4957         (gst_structure_copy_conditional):
4958         * gst/gststructure.h:
4959         * gst/gsttaginterface.h:
4960         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4961         (gst_task_init), (gst_task_dispose), (gst_task_create),
4962         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4963         (gst_task_pause):
4964         * gst/gsttask.h:
4965         * gst/gstthread.c:
4966         * gst/gstthread.h:
4967         * gst/gsttypes.h:
4968         * gst/schedulers/Makefile.am:
4969         * gst/schedulers/cothreads_compat.h:
4970         * gst/schedulers/entryscheduler.c:
4971         * gst/schedulers/faircothreads.c:
4972         * gst/schedulers/faircothreads.h:
4973         * gst/schedulers/fairscheduler.c:
4974         * gst/schedulers/gstbasicscheduler.c:
4975         * gst/schedulers/gstoptimalscheduler.c:
4976         * gst/schedulers/gthread-cothreads.h:
4977         * gst/schedulers/threadscheduler.c:
4978         (gst_thread_scheduler_task_get_type),
4979         (gst_thread_scheduler_task_class_init),
4980         (gst_thread_scheduler_task_init),
4981         (gst_thread_scheduler_task_start),
4982         (gst_thread_scheduler_task_stop),
4983         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4984         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4985         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4986         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4987         (plugin_init):
4988         * libs/gst/Makefile.am:
4989         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4990         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4991         (gst_file_pad_parent_set):
4992         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4993         (gst_dp_event_from_packet):
4994         * tests/complexity.c: (main):
4995         * tests/mass_elements.c: (main):
4996         * testsuite/states/locked.c: (message_received), (main):
4997         * testsuite/states/parent.c: (main):
4998         * tools/gst-inspect.c: (print_element_flag_info),
4999         (print_implementation_info), (print_pad_info):
5000         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5001         (main):
5002         * tools/gst-md5sum.c: (event_loop), (main):
5003         * tools/gst-typefind.c: (main):
5004         * tools/gst-xmlinspect.c: (print_element_info):
5005         Next big merge.
5006         Added GstBus for mainloop integration.
5007         Added GstMessage for sending notifications on the bus.
5008         Added GstTask as an abstraction for pipeline entry points.
5009         Removed GstThread.
5010         Removed Schedulers.
5011         Simplified GstQueue for multithreaded core.
5012         Made _link threadsafe, removed old capsnego.
5013         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5014         Added pad blocking functions.
5015         Reworked scheduling functions in GstPad to prepare for
5016         scheduling updates soon.
5017         Moved events out of data stream.
5018         Simplified GstEvent types.
5019         Added return values to push/pull.
5020         Removed clocking from GstElement.
5021         Added prototypes for state change function for next merge.
5022         Removed iterate from bins and state change management.
5023         Fixed some elements, disabled others for now.
5024         Fixed -inspect and -launch.
5025         Added check for GstBus.
5026
5027 2005-03-10  Wim Taymans  <wim@fluendo.com>
5028
5029         * docs/design/part-MT-refcounting.txt:
5030         * docs/design/part-clocks.txt:
5031         * docs/design/part-gstelement.txt:
5032         * docs/design/part-gstobject.txt:
5033         * docs/design/part-standards.txt:
5034         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5035         (gst_bin_remove_func), (gst_bin_remove):
5036         * gst/gstbin.h:
5037         * gst/gstbuffer.c:
5038         * gst/gstcaps.h:
5039         * testsuite/clock/clock1.c: (main):
5040         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5041         (main):
5042         * testsuite/dlopen/loadgst.c: (do_test):
5043         * testsuite/refcounting/bin.c: (add_remove_test1),
5044         (add_remove_test2), (main):
5045         * testsuite/refcounting/element.c: (main):
5046         * testsuite/refcounting/element_pad.c: (main):
5047         * testsuite/refcounting/pad.c: (main):
5048         * tools/gst-launch.c: (sigint_handler_sighandler):
5049         * tools/gst-typefind.c: (main):
5050         Doc updates.
5051         Added doc about clock.
5052         removed gst_bin_iterate_recurse_up(), marked methods
5053         for removal.
5054         Fix more testsuites.
5055
5056 2005-03-09  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/gstpad.c: (gst_pad_get_direction),
5059         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5060         (gst_pad_collect_valist):
5061         * testsuite/bins/interface.c: (main):
5062         * testsuite/caps/audioscale.c: (test_caps):
5063         * testsuite/caps/caps.c: (test1), (test2), (test3):
5064         * testsuite/caps/deserialize.c: (main):
5065         * testsuite/caps/enumcaps.c: (main):
5066         * testsuite/caps/filtercaps.c: (main):
5067         * testsuite/caps/intersect2.c: (main):
5068         * testsuite/caps/random.c: (main):
5069         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5070         * testsuite/caps/sets.c: (check_caps):
5071         * testsuite/caps/simplify.c: (check_caps), (main):
5072         * testsuite/caps/subtract.c: (check_caps):
5073         Fix _pad_get_direction wrt ghostpads.
5074         Fix caps testsuite.
5075
5076 2005-03-09  Wim Taymans  <wim@fluendo.com>
5077
5078         * check/Makefile.am:
5079         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5080         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5081         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5082         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5083         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5084         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5085         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5086         (bin_element_is_sink), (gst_bin_iterate_sinks),
5087         (gst_bin_iterate_all_by_interface):
5088         * gst/gstbin.h:
5089         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5090         (gst_element_change_state), (gst_element_dispose),
5091         (gst_element_finalize), (gst_element_set_loop_function):
5092         * gst/gstelement.h:
5093         * gst/gstiterator.c: (find_custom_fold_func):
5094         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5095         (gst_pad_collectv), (gst_pad_collect_valist),
5096         (gst_pad_template_new):
5097         * gst/gstpipeline.c: (gst_pipeline_class_init),
5098         (gst_pipeline_dispose), (gst_pipeline_set_property),
5099         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5100         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5101         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5102         * gst/gstutils.h:
5103         * gst/schedulers/entryscheduler.c:
5104         * gst/schedulers/gstbasicscheduler.c:
5105         (gst_basic_scheduler_cothreaded_chain),
5106         (gst_basic_scheduler_chain_add_element):
5107         * testsuite/bins/interface.c: (main):
5108         Added GstBin test.
5109         Added GstSystemClock test.
5110         Implemented clock distribution code in GstBin.
5111         Implemented iterate sinks method for future use.
5112         Rearranged gstelement.h
5113         Fix GstIterator comparison bug.
5114         Moved some code to GstPipeline, mostly clocking related.
5115
5116 2005-03-09  Wim Taymans  <wim@fluendo.com>
5117
5118         * configure.ac:
5119         * gst/gst_private.h:
5120         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5121         (gst_bin_remove_func), (gst_bin_remove),
5122         (gst_bin_get_by_name_recurse_up):
5123         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5124         (gst_clock_id_compare_func), (gst_clock_id_wait),
5125         (gst_clock_id_wait_async), (gst_clock_init),
5126         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5127         * gst/gstelement.h:
5128         * gst/gstinfo.c: (_gst_debug_init):
5129         * gst/gstobject.h:
5130         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5131         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5132         * gst/gstpad.h:
5133         Bump version number, we're now 0.9.0
5134         Add future debugging category.
5135         Fix NULL _unref() in _get_by_name_recurse_up
5136         Rearrange gstpad.h.
5137         Update some docs.
5138
5139 2005-03-08  Wim Taymans  <wim@fluendo.com>
5140
5141         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5142         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5143         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5144         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5145         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5146         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5147         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5148         * gst/elements/gstidentity.c: (gst_identity_class_init):
5149         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5150         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5151         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5152         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5153         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5154         (gst_tee_link):
5155         * gst/gstelement.c: (gst_element_class_init),
5156         (gst_element_base_class_init), (gst_element_init),
5157         (gst_element_get_random_pad), (gst_element_wait_state_change),
5158         (gst_element_change_state), (gst_element_dispose),
5159         (gst_element_finalize), (gst_element_set_loop_function):
5160         * gst/gstelement.h:
5161         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5162         * gst/gstthread.c: (gst_thread_class_init),
5163         (gst_thread_release_children_locks), (gst_thread_change_state):
5164         * gst/schedulers/gstbasicscheduler.c:
5165         (gst_basic_scheduler_loopfunc_wrapper),
5166         (gst_basic_scheduler_chain_wrapper),
5167         (gst_basic_scheduler_src_wrapper),
5168         (gst_basic_scheduler_remove_element):
5169         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5170         Remove threadsafe properties. Fix elements because GObject
5171         complains when installing a property before declaring a
5172         set/get_property handler.
5173         Rearrange gstelement.h file, use STATE macros for state locks.
5174         Free mutexes in the finalize method instead of dispose.
5175
5176 2005-03-08  Wim Taymans  <wim@fluendo.com>
5177
5178         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5179         * gst/gstthread.c: (gst_thread_release_children_locks):
5180         Added parentage check.
5181         Fix build og GstThread again.
5182
5183 2005-03-08  Wim Taymans  <wim@fluendo.com>
5184
5185         * docs/design/part-MT-refcounting.txt:
5186         * docs/design/part-conventions.txt:
5187         * docs/design/part-gstobject.txt:
5188         * docs/design/part-relations.txt:
5189         * docs/design/part-standards.txt:
5190         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5191         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5192         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5193         (gst_bin_iterate_all_by_interface):
5194         * gst/gstbuffer.h:
5195         * gst/gstclock.h:
5196         * gst/gstelement.c: (gst_element_class_init),
5197         (gst_element_change_state), (gst_element_set_loop_function):
5198         * gst/gstelement.h:
5199         * gst/gstiterator.c:
5200         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5201         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5202         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5203         (gst_object_set_parent), (gst_object_unparent),
5204         (gst_object_check_uniqueness):
5205         * gst/gstobject.h:
5206         Docs updates, clean up some headers.
5207
5208 2005-03-07  Wim Taymans  <wim@fluendo.com>
5209
5210         * check/.cvsignore:
5211         * check/Makefile.am:
5212         * check/gst-libs/.cvsignore:
5213         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5214         * check/gst/.cvsignore:
5215         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5216         (START_TEST), (gstbus_suite), (main):
5217         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5218         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5219         (gst_data_suite), (main):
5220         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5221         (add_fold_func), (gstiterator_suite), (main):
5222         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5223         (thread_name_object), (thread_name_object_default),
5224         (gst_object_name_compare), (gst_object_suite), (main):
5225         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5226         (gst_pad_suite), (main):
5227         * check/gstcheck.c: (gst_check_log_message_func),
5228         (gst_check_log_critical_func), (gst_check_init):
5229         * check/gstcheck.h:
5230         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5231         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5232         Added checks.
5233
5234 2005-03-07  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5237         (gst_list_iterator_next), (gst_list_iterator_resync),
5238         (gst_list_iterator_free), (gst_iterator_new_list),
5239         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5240         (gst_iterator_free), (gst_iterator_push), (filter_next),
5241         (filter_resync), (filter_uninit), (filter_free),
5242         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5243         (gst_iterator_foreach), (find_custom_fold_func),
5244         (gst_iterator_find_custom):
5245         * gst/gstiterator.h:
5246         Added missing files.
5247
5248 2005-03-07  Wim Taymans  <wim@fluendo.com>
5249
5250         * Makefile.am:
5251         * configure.ac:
5252         * docs/design/part-MT-refcounting.txt:
5253         * docs/design/part-conventions.txt:
5254         * docs/design/part-gstobject.txt:
5255         * docs/design/part-relations.txt:
5256         * examples/mixer/mixer.c: (main):
5257         * examples/thread/thread.c: (eos), (main):
5258         * gst/Makefile.am:
5259         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5260         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5261         (gst_spider_plug_from_srcpad):
5262         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5263         (gst_spider_identity_change_state),
5264         (gst_spider_identity_sink_loop_type_finding):
5265         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5266         * gst/elements/gstidentity.c: (gst_identity_init):
5267         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5268         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5269         * gst/elements/gsttypefindelement.c: (free_entry):
5270         * gst/gst.c:
5271         * gst/gst.h:
5272         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5273         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5274         (gst_bin_set_index), (gst_bin_set_element_sched),
5275         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5276         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5277         (gst_bin_iterate_elements), (iterate_child_recurse),
5278         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5279         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5280         (compare_interface), (gst_bin_get_by_interface),
5281         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5282         * gst/gstbin.h:
5283         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5284         (gst_buffer_default_free), (gst_buffer_default_copy),
5285         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5286         (gst_buffer_create_sub):
5287         * gst/gstbuffer.h:
5288         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5289         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5290         (gst_caps_unref), (gst_static_caps_get),
5291         (gst_caps_remove_and_get_structure), (gst_caps_append),
5292         (gst_caps_append_structure), (gst_caps_remove_structure),
5293         (gst_caps_copy_nth), (gst_caps_set_simple),
5294         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5295         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5296         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5297         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5298         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5299         (gst_caps_structure_figure_out_union),
5300         (gst_caps_switch_structures), (gst_caps_do_simplify),
5301         (gst_caps_replace), (gst_caps_from_string),
5302         (gst_caps_copy_conditional):
5303         * gst/gstcaps.h:
5304         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5305         (_gst_clock_id_free), (gst_clock_id_unref),
5306         (gst_clock_id_compare_func), (gst_clock_id_wait),
5307         (gst_clock_id_wait_async), (gst_clock_class_init),
5308         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5309         (gst_clock_get_time), (gst_clock_set_time_adjust),
5310         (gst_clock_set_property), (gst_clock_get_property):
5311         * gst/gstclock.h:
5312         * gst/gstcompat.h:
5313         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5314         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5315         * gst/gstdata.h:
5316         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5317         (gst_element_requires_clock), (gst_element_provides_clock),
5318         (gst_element_set_clock), (gst_element_clock_wait),
5319         (gst_element_wait), (gst_element_set_time_delay),
5320         (gst_element_is_indexable), (gst_element_add_pad),
5321         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5322         (pad_compare_name), (gst_element_get_static_pad),
5323         (gst_element_request_pad), (gst_element_get_request_pad),
5324         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5325         (gst_element_class_get_pad_template_list),
5326         (gst_element_class_get_pad_template), (gst_element_error_func),
5327         (gst_element_get_random_pad), (gst_element_get_event_masks),
5328         (gst_element_send_event), (gst_element_seek),
5329         (gst_element_get_query_types), (gst_element_query),
5330         (gst_element_get_formats), (gst_element_convert),
5331         (gst_element_is_locked_state), (gst_element_set_locked_state),
5332         (gst_element_sync_state_with_parent), (gst_element_change_state),
5333         (gst_element_finalize), (gst_element_yield),
5334         (gst_element_interrupt), (gst_element_set_scheduler),
5335         (gst_element_get_scheduler), (gst_element_set_loop_function):
5336         * gst/gstelement.h:
5337         * gst/gstevent.h:
5338         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5339         (gst_format_get_by_nick), (gst_format_get_details),
5340         (gst_format_iterate_definitions):
5341         * gst/gstformat.h:
5342         * gst/gstindex.c: (gst_index_gtype_resolver):
5343         * gst/gstinfo.c:
5344         * gst/gstinfo.h:
5345         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5346         (gst_mem_chunk_free):
5347         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5348         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5349         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5350         (gst_object_dispatch_properties_changed),
5351         (gst_object_set_name_default), (gst_object_set_name),
5352         (gst_object_get_name), (gst_object_set_name_prefix),
5353         (gst_object_get_name_prefix), (gst_object_set_parent),
5354         (gst_object_get_parent), (gst_object_unparent),
5355         (gst_object_check_uniqueness), (gst_object_save_thyself),
5356         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5357         (gst_object_set_property), (gst_object_get_property),
5358         (gst_object_get_path_string):
5359         * gst/gstobject.h:
5360         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5361         (gst_real_pad_init), (gst_real_pad_get_property),
5362         (gst_pad_custom_new), (gst_pad_get_direction),
5363         (gst_pad_set_active), (gst_pad_is_active),
5364         (gst_pad_set_event_function), (gst_pad_is_linked),
5365         (gst_pad_link_free), (gst_pad_link_intersect),
5366         (gst_pad_link_fixate), (gst_pad_set_caps),
5367         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5368         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5369         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5370         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5371         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5372         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5373         (gst_pad_realize), (gst_pad_get_allowed_caps),
5374         (gst_real_pad_dispose), (gst_real_pad_finalize),
5375         (gst_pad_collectv), (gst_pad_collect_valist),
5376         (gst_pad_template_dispose), (gst_pad_template_new),
5377         (gst_pad_get_internal_links):
5378         * gst/gstpad.h:
5379         * gst/gstpipeline.c: (gst_pipeline_dispose),
5380         (gst_pipeline_change_state):
5381         * gst/gstpipeline.h:
5382         * gst/gstplugin.c:
5383         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5384         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5385         * gst/gstpluginfeature.h:
5386         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5387         * gst/gstquery.c: (_gst_query_type_initialize),
5388         (gst_query_type_register), (gst_query_type_get_by_nick),
5389         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5390         * gst/gstquery.h:
5391         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5392         * gst/gstscheduler.c: (gst_scheduler_add_element),
5393         (gst_scheduler_factory_create):
5394         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5395         (gst_structure_free), (gst_structure_set_name),
5396         (gst_structure_id_set_value), (gst_structure_set_value),
5397         (gst_structure_set_valist), (gst_structure_remove_field),
5398         (gst_structure_remove_fields),
5399         (gst_structure_remove_fields_valist),
5400         (gst_structure_remove_all_fields), (gst_structure_foreach),
5401         (gst_structure_map_in_place),
5402         (gst_caps_structure_fixate_field_nearest_int),
5403         (gst_caps_structure_fixate_field_nearest_double):
5404         * gst/gststructure.h:
5405         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5406         (gst_system_clock_init), (gst_system_clock_dispose),
5407         (gst_system_clock_async_thread),
5408         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5409         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5410         * gst/gstsystemclock.h:
5411         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5412         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5413         * gst/gsttaginterface.c:
5414         * gst/gstthread.c: (gst_thread_dispose),
5415         (gst_thread_release_children_locks), (gst_thread_change_state),
5416         (gst_thread_main_loop):
5417         * gst/gsttrashstack.h:
5418         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5419         * gst/gsttypes.h:
5420         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5421         (gst_element_request_pad), (gst_element_get_pad_from_template),
5422         (gst_element_request_compatible_pad),
5423         (gst_element_get_compatible_pad_filtered),
5424         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5425         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5426         (gst_element_link_many), (gst_element_link),
5427         (gst_element_link_pads), (gst_element_unlink_pads),
5428         (gst_element_unlink_many), (gst_element_unlink),
5429         (gst_pad_can_link_filtered), (gst_pad_can_link),
5430         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5431         (gst_object_default_error), (gst_bin_add_many),
5432         (gst_bin_remove_many), (gst_element_populate_std_props),
5433         (gst_element_class_install_std_props), (gst_buffer_merge),
5434         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5435         (link_fold_func), (gst_pad_proxy_setcaps):
5436         * gst/gstutils.h:
5437         * gst/gstvalue.c: (gst_value_deserialize_string):
5438         * gst/parse/grammar.y:
5439         * gst/schedulers/gstbasicscheduler.c:
5440         (gst_basic_scheduler_cothreaded_chain),
5441         (gst_basic_scheduler_chain_recursive_add),
5442         (gst_basic_scheduler_pad_link):
5443         * gst/schedulers/gstoptimalscheduler.c:
5444         (get_group_schedule_function),
5445         (gst_opt_scheduler_state_transition),
5446         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5447         * libs/gst/bytestream/bytestream.c:
5448         * libs/gst/dataprotocol/dataprotocol.c:
5449         (gst_dp_header_from_buffer):
5450         * po/nb.po:
5451         * po/ru.po:
5452         * tests/threadstate/threadstate2.c: (eos):
5453         * tools/gst-compprep.c: (main):
5454         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5455         (print_pad_info), (print_children_info):
5456         * tools/gst-launch.c: (idle_func), (main):
5457         * tools/gst-md5sum.c: (idle_func), (main):
5458         * tools/gst-xmlinspect.c: (print_element_info):
5459         First THREADED backport attempt, focusing on adding locks and
5460         making sure the API is threadsafe. Needs more work. More docs
5461         follow this week.
5462
5463 2005-02-24  Andy Wingo  <wingo@pobox.com>
5464
5465         * tests/bench-complexity.scm:
5466         * tests/complexity.gnuplot: New files, good for running complexity
5467         benchmarks.
5468
5469         * tests/Makefile.am:
5470         * tests/complexity.c: New test, sets up N elements, at each level
5471         teeing into M streams per element. Eeeenteresting.
5472
5473         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5474         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5475         running bench-mass_elements.scm.
5476
5477         * tests/bench-mass_elements.scm: New script, runs mass_elements
5478         for various numbers of identities, outputting the results to a
5479         file. Requires guile 1.6. Just for testing.
5480
5481 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * gst/schedulers/fairscheduler.c:
5484           compile with debug disabled
5485
5486 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5487
5488         * configure.ac:
5489           hunting season on 0.9 is now OPEN
5490
5491 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5492
5493         * docs/libs/tmpl/gstcontrol.sgml:
5494         * docs/libs/tmpl/gstdparam.sgml:
5495         * docs/libs/tmpl/gstdplinint.sgml:
5496         * docs/libs/tmpl/gstdpman.sgml:
5497         * docs/libs/tmpl/gstdpsmooth.sgml:
5498         * docs/libs/tmpl/gstunitconvert.sgml:
5499           more docs for the state of dparams
5500
5501 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5502
5503         * gst/gstelementfactory.c: (gst_element_factory_create):
5504         * gst/gstobject.c: (gst_object_init),
5505         (gst_object_set_name_default), (gst_object_set_name):
5506           name objects by default, not in gst_element_factory_create. Allows
5507           using elements created with g_object_new. (fixes #167283)
5508
5509 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5510
5511         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5512           make the time that debugging functions print relative to when
5513           gst_init was called
5514
5515 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * gst/gsttaginterface.c:
5518           Fix inline docs: tag setter vararg functions are NULL-terminated,
5519           GST_TAG_INVALID doesn't exist any more.
5520
5521 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5522
5523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5524         Allocate the 1 byte more memory that was forgotten!!!!!
5525         fixes memory corruption on 64bit platforms
5526
5527 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5528
5529         * docs/pwg/building-pads.xml:
5530         * docs/pwg/intro-basics.xml:
5531           fixed a few typos, relabeled introductionary list of types
5532         * docs/random/ensonic/dparams.txt:
5533           more notes abut dparam changes
5534         * libs/gst/control/dparam.c: (gst_dparam_attach):
5535         * libs/gst/control/dparammanager.c:
5536         * libs/gst/control/dparammanager.h:
5537           - many comments and notes on dparam implementation
5538           - new dparams are were not initialized to the default value
5539             from param spec
5540
5541 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         submitted by: Peter Astakhov
5544
5545         * po/LINGUAS:
5546         * po/ru.po:
5547           adding Russian translation
5548
5549 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * configure.ac:
5552         * docs/gst/Makefile.am:
5553         * docs/libs/Makefile.am:
5554           make sure popt is added to gtk-doc flags.  Fixes #147782.
5555
5556 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5557
5558         * docs/faq/using.xml:
5559           Fix typo in FAQ (artssink => artsdsink)
5560
5561 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5562
5563         * tools/gst-launch.1.in:
5564           Fix typo (#166699).
5565
5566 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5567
5568         * docs/faq/using.xml:
5569           Add -v argument to fakesrc/fakesink gst-launch line,
5570           so that the promised output will actually show up.
5571
5572 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5573
5574         * gst/gstthread.c: (gst_thread_change_state):
5575           Implement state-change error handling (#166073).
5576
5577 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5578
5579         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5580           Release interrupt after handling (#166250).
5581
5582 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5583
5584         * configure.ac:
5585           back to HEAD
5586
5587 === release 0.8.9 ===
5588
5589 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * NEWS:
5592         * RELEASE:
5593         * configure.ac:
5594           releasing 0.8.9, "Like Eating Glass"
5595
5596 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5597
5598         submitted by: Clytie Siddall
5599
5600         * po/vi.po: Added Vietnamese translation
5601
5602 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5603
5604         patch by: Tim Philipp-Müller
5605
5606         * configure.ac:
5607         * gst/gstpad.c:
5608           unref data when probe function returns FALSE.  Fixes #166362
5609
5610 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5611
5612         * gst/gst.c: (gst_init_get_popt_table):
5613           Fix typo (#166269).
5614
5615 2005-02-04  Andy Wingo  <wingo@pobox.com>
5616
5617         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5618         the debugging on whether the caps are compatible.
5619
5620 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5621
5622         * docs/manual/basics-elements.xml:
5623           Fix two typos.
5624
5625 2005-02-02  Wim Taymans  <wim@fluendo.com>
5626
5627         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5628         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5629         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5630         Remove some FIXMEs after analysing and commenting why they
5631         are not issues.
5632
5633 2005-02-02  Wim Taymans  <wim@fluendo.com>
5634
5635         * gst/schedulers/gstoptimalscheduler.c:
5636         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5637         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5638         (get_invalid_call), (chain_invalid_call),
5639         (get_group_schedule_function), (loop_group_schedule_function),
5640         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5641         (gst_opt_scheduler_state_transition),
5642         (gst_opt_scheduler_add_element),
5643         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5644         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5645         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5646         (gst_opt_scheduler_show):
5647         Added lock to protect scheduler data structures.
5648
5649 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5650
5651         * testsuite/threads/threadi.c: (cb_data):
5652           Fix buglet in test.
5653
5654 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5655
5656         * testsuite/threads/Makefile.am:
5657         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5658           On Wim's request, split the test in three separately-compiled
5659           tests that each test a very specific bug. Two of them still fail,
5660           will create bugs for those. threadi.c indicates why they fail.
5661
5662 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5663
5664         * gst/schedulers/gstoptimalscheduler.c:
5665         (get_group_schedule_function):
5666           Try to work with the threading mess that queue_link is.
5667
5668 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5669
5670         * gst/gstbin.c: (gst_bin_remove_func):
5671           Explicitely make an element release locks in a group when being
5672           remove from a bin.
5673         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5674           If there's no scheduler, always return immediately (similar to
5675           gst_element_interrupt).
5676
5677 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5678
5679         * gst/gstbin.c: (gst_bin_child_state_change_func):
5680           Remove a piece of code that could never be reached.
5681         * docs/gst/gstreamer-sections.txt:
5682         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5683         (gst_pad_call_get_function):
5684         * gst/gstpad.h:
5685         * testsuite/pad/Makefile.am:
5686           Fix #150546, enable tests.
5687
5688 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5689
5690         * docs/pwg/advanced-types.xml:
5691           Fix description for buffer-frames=0.
5692         * docs/gst/tmpl/gstbin.sgml:
5693         * gst/gstbin.c: (gst_bin_child_state_change_func),
5694         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5695         * gst/gstbin.h:
5696         * testsuite/threads/Makefile.am:
5697         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5698         (cb_state), (cb_play), (main):
5699           Fix non-recursive state changes to *really* change the state
5700           of the object, and not just call parent_class->state_change.
5701           Fix a lot of lockups caused by this. Fixes #132775. Add test
5702           for the problem. Also enable test to show #142588 (fixed).
5703         * gst/gstthread.c: (gst_thread_change_state),
5704         (gst_thread_child_state_change):
5705           Don't exit the thread if we go to NULL and are inside thread
5706           context. Instead, return control to the main thread context
5707           and exit from there.
5708         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5709           Don't unset virtual functions, since those may still be used.
5710           That's not necessarily correct, but suffices for now.
5711         * configure.ac:
5712         * testsuite/Makefile.am:
5713         * testsuite/pad/Makefile.am:
5714         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5715         (gst_test_sink_base_init), (gst_test_sink_chain),
5716         (gst_test_sink_init), (main):
5717         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5718         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5719         (main):
5720         * testsuite/pad/link.c: (gst_test_element_class_init),
5721         (gst_test_element_base_init), (gst_test_src_get),
5722         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5723         (gst_test_filter_loop), (gst_test_filter_init),
5724         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5725         (cb_error), (main):
5726           Add tests to show #150546. Pass, but should fail (currently
5727           disabled from the testsuite).
5728         * gst/gstscheduler.c: (gst_scheduler_dispose):
5729           Dereference child schedulers on dispose (#94464).
5730         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5731           Fix typo.
5732         * testsuite/threads/thread.c: (main):
5733           Add more debug.
5734
5735 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5736
5737         * gst/gstpad.c: (gst_pad_push):
5738           Oops, revert previous commit, broke testsuite...
5739
5740 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5741
5742         * gst/gstpad.c: (gst_pad_push):
5743           Add check that the pad on which the push is performed is not a
5744           get-based pad (#150546).
5745
5746 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5747
5748         * gst/elements/gsttypefindelement.c:
5749         (gst_type_find_element_handle_event):
5750           Fix buffer pushing if stream EOSes during typefinding.
5751
5752 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5753
5754         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5755
5756         * gst/gstvalue.c: (gst_string_wrap):
5757           Allow NULL-strings as argument (#165365).
5758
5759 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5760
5761         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5762
5763         * gst/schedulers/faircothreads.c:
5764         (gst_fair_scheduler_cothread_queue_show):
5765           Fix build without debug enabled.
5766
5767 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5768
5769         * docs/gst/gstreamer-sections.txt:
5770         * docs/libs/gstreamer-libs-docs.sgml:
5771         * docs/libs/gstreamer-libs-sections.txt:
5772         * docs/libs/tmpl/gstcontrol.sgml:
5773         * docs/libs/tmpl/gstdparam.sgml:
5774         * docs/libs/tmpl/gstdplinint.sgml:
5775         * docs/libs/tmpl/gstdpman.sgml:
5776         * docs/libs/tmpl/gstdpsmooth.sgml:
5777         * docs/libs/tmpl/gstputbits.sgml:
5778         * docs/libs/tmpl/gstunitconvert.sgml:
5779         * libs/gst/control/dparam.c:
5780         * libs/gst/control/dparam.h:
5781         * libs/gst/control/dparammanager.c:
5782         (gst_dpman_add_required_dparam_callback),
5783         (gst_dpman_add_required_dparam_direct),
5784         (gst_dpman_add_required_dparam_array),
5785         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5786         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5787         (gst_dpman_get_manager)
5788           restructured DParam docs
5789
5790 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5791
5792         * gst-element-check.m4:
5793           Only check for gst-inspect if we haven't already
5794           found it in previous element check runs
5795
5796 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5797
5798         * docs/gst/Makefile.am:
5799         * docs/libs/Makefile.am:
5800           fixed install rules to treat style.css as optional
5801
5802 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5803
5804         * docs/gst/Makefile.am:
5805         * docs/libs/Makefile.am:
5806           install style.css along with docs
5807         * docs/gst/tmpl/gstbin.sgml:
5808         * docs/gst/tmpl/gstclock.sgml:
5809         * docs/gst/tmpl/gstdata.sgml:
5810         * docs/gst/tmpl/gstelement.sgml:
5811         * gst/gstbin.h:
5812         * gst/gstelement.c: (gst_element_class_init):
5813         * gst/gstelement.h:
5814           fixing incomplete docs
5815
5816 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5817
5818         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5819           Don't unref seek event twice when fflush() fails
5820           
5821 2005-01-22  David Schleef  <ds@schleef.org>
5822
5823         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5824
5825 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5826
5827         * docs/gst/Makefile.am:
5828         * docs/libs/Makefile.am:
5829           added params for deprecation guards
5830         * gst/gst.c:
5831         * gst/gst.h:
5832         * gst/gsterror.c: (_gst_resource_errors_init),
5833         (_gst_stream_errors_init):
5834         * gst/gsterror.h:
5835           documented some more enums
5836
5837 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5838         * gst/autoplug/gstspideridentity.c:
5839         Cosmetic fix - spider_find_peek should be static
5840         * gst/parse/parse.l:
5841         Applying fix for #164261
5842
5843 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5844
5845         * docs/gst/gstreamer-sections.txt:
5846         * docs/gst/tmpl/gstplugin.sgml:
5847         * docs/libs/gstreamer-libs-sections.txt:
5848         * docs/libs/tmpl/gstcontrol.sgml:
5849         * gst/gstbuffer.h:
5850         * gst/gsttag.h:
5851         * gst/gstvalue.c:
5852           added docs for the TAG defines
5853
5854 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5855
5856         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5857           Only unref entry if there is an entry.
5858
5859 2005-01-17  Wim Taymans  <wim@fluendo.com>
5860
5861         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5862         (remove_from_group), (schedule_group), (normalize_group),
5863         (gst_opt_scheduler_iterate):
5864         Also ref/unref decoupled elements before iterating the
5865         group since they are not added to the list of elements.
5866
5867 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5868
5869         * docs/manual/highlevel-components.xml:
5870           Add subtitle/streamselection as new features to playbin.
5871
5872 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5873
5874         * docs/manual/manual.xml:
5875           Re-enable dataaccess docs (oops).
5876
5877 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5878
5879         * docs/pwg/advanced-types.xml:
5880         * docs/random/mimetypes:
5881           Add documentation on libsndfile types (#163309), by Steve Baker
5882           <steve@stevebaker.org>.
5883         * gst/gstelement.c: (gst_element_release_request_pad):
5884           If an element has no explicit function, just remove the pad.
5885
5886 2005-01-17  Luca Ognibene  <luogni@tin.it>
5887
5888         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5889
5890         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5891           Fix memleak (#163801).
5892
5893 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5894
5895         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5896           I think this is actually more correct...
5897
5898 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5899
5900         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5901           Another workaround for memory access while destroyed in callback.
5902           Please, someone with refcount knowledge, have a look at this.
5903
5904 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * docs/faq/faq.xml:
5907         * docs/faq/legal.xml:
5908           move the legal Q&A here
5909
5910 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5911
5912         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5913         (gst_tee_request_new_pad):
5914           Fix negotiation.
5915
5916 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5917
5918         * docs/random/omega/caps2:
5919         * testsuite/caps/caps_strings:
5920           replace framerate aproximations by their real value
5921           (24000/1001, 30000/1001, 60000/1001)
5922           Partially fixes bug #164049
5923
5924 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5925
5926         * docs/gst/Makefile.am:
5927           don't fail on the stupid GstPoptOption
5928
5929 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5930
5931         * gst/gstpad.h:
5932         * gst/gstprobe.c:
5933           allow probes to work on ghost pads by realizing the pad
5934           probe debugging
5935
5936 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5937
5938         * docs/gst/gstreamer-sections.txt:
5939         * docs/gst/tmpl/gstpad.sgml:
5940         * gst/gstpad.c: (gst_pad_set_active_recursive):
5941         * gst/gstpad.h:
5942           Add gst_pad_set_active_recursive().
5943
5944 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * docs/random/release:
5947           updates
5948         * gst/gst_private.h:
5949         * gst/gstinfo.c:
5950         * gst/gstobject.c:
5951           move deep_notify logging to a new category
5952         * gst/gstprobe.c:
5953         * gst/gstprobe.h:
5954           add stuff so bindings can wrap probes
5955
5956 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5957
5958         * gst/gstplugin.c: (gst_plugin_load):
5959           Fix plugin loading if plugin/lib was already loaded. Fixes
5960           #163383
5961
5962 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5963
5964         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5965
5966         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5967           Protect plugin loading by a mutex so it's threadsafe. Fixes
5968           #163234.
5969
5970 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5971
5972         * gst/gstevent.c: (_gst_event_copy):
5973           Reference source object when copying events, since it'll be
5974           dereferenced on event dereferencing as well.
5975
5976 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5977
5978         * docs/gst/gstreamer-sections.txt:
5979         * docs/gst/tmpl/gstevent.sgml:
5980         * gst/gstevent.c: (gst_event_new_filler_stamped),
5981         (gst_event_filler_get_duration):
5982         * gst/gstevent.h:
5983           Add two new functions for filler events (which are used to
5984           synchronize streams if one of them is not having any data
5985           for a while) without interrupting the actual data-stream.
5986           Basically a no-op.
5987         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5988         (gst_queue_link_sink), (gst_queue_link_src),
5989         (gst_queue_change_state):
5990           Allow for renegotiation while filled. Required for stream
5991           switching while playing.
5992
5993 2005-01-08  Benjamin Otte  <otte@gnome.org>
5994
5995         * gst/gstelement.c: (gst_element_link_many):
5996           fix up g_return_if_fail's
5997         * po/LINGUAS:
5998         * po/de.po:
5999           add German translation, that was somehow not included
6000
6001 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6002
6003         * docs/random/mimetypes:
6004           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6005           do not add them to riff-lib as they are not common
6006
6007 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6008
6009         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6010           Check for existence of probe after performing the probe before
6011           re-accessing it to prevent segfaults caused by removal of the
6012           probe in the callback.
6013
6014 2005-01-05  David Schleef  <ds@schleef.org>
6015
6016         * testsuite/registry/Makefile.am:
6017         * testsuite/registry/gst-print-formats.c:
6018         (print_pad_templates_info), (print_element_list),
6019         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6020         (g_list_uniqify), (get_pad_templates_info),
6021         (get_element_mime_list), (print_mime_list), (main): A little
6022         program that looks through the registry to find elements of
6023         a given type.  Not particularly interesting as a test, except
6024         that there's no other test covering the same area.
6025
6026 2005-01-05  David Schleef  <ds@schleef.org>
6027
6028         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6029         (fault_handler_sigaction), (fault_spin),
6030         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6031         in signal.h-type signal handlers by not calling forbidden functions,
6032         including gst_element_set_state().
6033
6034 2005-01-05  David Schleef  <ds@schleef.org>
6035
6036         * gst/gstvalue.h: Mark _gst_reserved[] as private
6037
6038 2005-01-05  David Schleef  <ds@schleef.org>
6039
6040         * gst/gstvalue.c: Fix doc build problem.
6041
6042 2005-01-05  David Schleef  <ds@schleef.org>
6043
6044         * gst/gstvalue.c: Add some documentation
6045
6046 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6047
6048         * docs/README:
6049           another shell oneliner for empty return value docs
6050         * gst/gstcaps.c:
6051         * gst/gstvalue.c:
6052         * libs/gst/control/dparam.c:
6053           more doc fixes (parameters and return values)
6054
6055 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6056
6057         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * gst/gstregistry.h:
6060         * gst/registries/gstxmlregistry.c:
6061           Fix macro's for Mingw (fixes #162276).
6062
6063 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6064
6065         * docs/README:
6066           quick shell oneliner to find undocumented members
6067         * docs/gst/tmpl/gstplugin.sgml:
6068         * docs/gst/tmpl/gstscheduler.sgml:
6069         * docs/gst/tmpl/gstthread.sgml:
6070           more enumtypes cleanup
6071         * gst/gsterror.h:
6072           activated documentation comments, now someone needs to document
6073           the enums :(
6074
6075 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6076
6077         * docs/manual/manual.xml:
6078           Add dataaccess part (doh!).
6079
6080 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6081
6082         * docs/manual/advanced-autoplugging.xml:
6083           Fix typo (intiate -> initiate).
6084
6085 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6086
6087         * docs/random/bbb/streamselection:
6088           Add some notes on how to handle multi-subtitle/-audio streams.
6089
6090 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6091
6092         * docs/gst/gstreamer-docs.sgml:
6093         * docs/gst/gstreamer-sections.txt:
6094         * docs/gst/tmpl/gstenumtypes.sgml:
6095         * docs/gst/tmpl/gsterror.sgml:
6096         * docs/gst/tmpl/gstevent.sgml:
6097         * docs/gst/tmpl/gstpad.sgml:
6098         * docs/gst/tmpl/gstpadtemplate.sgml:
6099         * docs/gst/tmpl/gstthread.sgml:
6100           removed gstenumtypes section from docs and put all the enums into
6101           their sections
6102
6103 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6104
6105         * gst/gstplugin.c:
6106           document gst_library_load a bit more (riff special case + return
6107           value if already loaded)
6108         * testsuite/bytestream/filepadsink.c:
6109           plugin name is 'gstbytestream', not 'bytestream'
6110
6111 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6112
6113         * docs/random/bbb/subtitles:
6114           Add some first mind rumblings on proper subtitle support.
6115
6116 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6117
6118         * po/ca.po:
6119         * po/sv.po:
6120           updated translations
6121
6122 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6123
6124         * docs/manual/advanced-dataaccess.xml:
6125           Add section on how to use fakesrc/fakesink/identity in your
6126           application, plus section on how to embed plugins. Also mention
6127           probes.
6128         * docs/manual/appendix-checklist.xml:
6129         * docs/manual/appendix-debugging.xml:
6130         * docs/manual/appendix-gnome.xml:
6131         * docs/manual/appendix-integration.xml:
6132           Debug -> checklist, GNOME -> integration, add sections on Linux,
6133           KDE integration and add other things useful for application
6134           development.
6135         * docs/manual/manual.xml:
6136           Remove some fixmes, update some file pointers.
6137         * docs/pwg/appendix-checklist.xml:
6138           Fix typo.
6139         * docs/pwg/building-boiler.xml:
6140           Remove ugly header and add commented fixme.
6141         * docs/pwg/pwg.xml:
6142           Add fixme.
6143         * examples/manual/Makefile.am:
6144           Add example for added docs.
6145
6146 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6147
6148         * configure.ac:
6149           back to HEAD
6150
6151 === release 0.8.8 ===
6152
6153 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6154
6155         * NEWS:
6156         * RELEASE:
6157         * configure.ac:
6158           Releasing 0.8.8, "I'll Take Care Of You"
6159
6160 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6161
6162         * configure.ac:
6163           second prerelease
6164
6165 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6166
6167         patch by: Wim Taymans
6168
6169         * gst/gstbin.c:
6170           Fix for #159852 - make iterate emission threadsafe
6171
6172 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6173
6174         * docs/faq/cvs.xml:
6175           notes about new fdo account request
6176
6177 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6178
6179         * docs/gst/gstreamer-docs.sgml:
6180         * docs/gst/tmpl/gstenumtypes.sgml:
6181         * docs/gst/tmpl/gstplugin.sgml:
6182         * docs/libs/gstreamer-libs-docs.sgml:
6183           Added missing short docs. Added ids for navigation.
6184
6185 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6186
6187         * docs/manual/advanced-autoplugging.xml:
6188         * docs/manual/advanced-schedulers.xml:
6189         * docs/manual/advanced-threads.xml:
6190           Rewrites. Remove cothreads, go a bit into opt specifically,
6191           document threads and their gotchas, and do some technical stuff
6192           on autoplugging plus add some working examples. Fixes #157395.
6193         * examples/manual/Makefile.am:
6194           Add typefind/autoplugger example (one that actually works).
6195           Remove queue example since it's a duplicate of the thread one.
6196
6197 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6198
6199         * gst/gstvalue.c: (gst_value_deserialize_string):
6200           use deprecated g_value_set_string_take_ownership to keep compatible
6201           with glib 2.2
6202
6203 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6204
6205         * gst/gstvalue.c: (gst_value_deserialize_string):
6206           revert last patch, only dom a g_utf8_validate now before accepting
6207           the string - caps parsing strips " from strings so we can't rely on
6208           them
6209         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6210           disable a test that tested the above and comment it
6211
6212 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6213
6214         Patch reviewed by David Schleef  <ds@schleef.org>
6215
6216         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6217         bug #153882)
6218         * win32/gstenumtypes.h: same
6219
6220 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6221
6222         * gst/gstpad.c: (gst_pad_query):
6223           Do query on realized pad, similar to how convert/send_event handle
6224           this. Also makes sense, since this pad belongs to the function to
6225           which this query will be sent. Fixes #158163.
6226
6227 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6228
6229         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6230
6231 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6232
6233         * docs/faq/general.xml: fix pipeline to actually work
6234
6235 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6236
6237         * gst/gstvalue.c: (gst_value_deserialize_string):
6238           check that a simple string that gets deserialized does not contain
6239           invalid characters
6240         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6241           remove a test that tested a wring behaviour
6242
6243 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6244
6245         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6246
6247         * docs/manual/intro-motivation.xml:
6248           Fix typos.
6249
6250 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6251
6252         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6253
6254         * docs/gst/tmpl/gstprobe.sgml:
6255           Fix documentation of probe callback - it is supposed to return
6256           FALSE, not TRUE, to remove data from the stream (#159087).
6257
6258 2004-12-16  Daniel Gazard  <dany42@free.fr>
6259
6260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6261
6262         * gst/gstelementfactory.c: (gst_element_factory_create):
6263           Fix compile failure if compiling without libxml2 support (#149936).
6264
6265 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6266
6267         * docs/manual/advanced-autoplugging.xml:
6268         * docs/manual/highlevel-components.xml:
6269           Move spider from autoplugging to components. Autoplugging is for
6270           internals, not for solutions. ;-).
6271
6272 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6273
6274         * docs/random/ds/0.9-suggested-changes:
6275           Make note on device/location/uri property names.
6276
6277 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6278
6279         * docs/manual/advanced-autoplugging.xml:
6280         * docs/manual/advanced-clocks.xml:
6281         * docs/manual/advanced-interfaces.xml:
6282         * docs/manual/advanced-metadata.xml:
6283         * docs/manual/advanced-position.xml:
6284         * docs/manual/advanced-schedulers.xml:
6285         * docs/manual/advanced-threads.xml:
6286         * docs/manual/appendix-gnome.xml:
6287         * docs/manual/appendix-programs.xml:
6288         * docs/manual/appendix-quotes.xml:
6289         * docs/manual/autoplugging.xml:
6290         * docs/manual/basics-bins.xml:
6291         * docs/manual/basics-data.xml:
6292         * docs/manual/basics-elements.xml:
6293         * docs/manual/basics-helloworld.xml:
6294         * docs/manual/basics-init.xml:
6295         * docs/manual/basics-pads.xml:
6296         * docs/manual/basics-plugins.xml:
6297         * docs/manual/bins-api.xml:
6298         * docs/manual/bins.xml:
6299         * docs/manual/buffers-api.xml:
6300         * docs/manual/buffers.xml:
6301         * docs/manual/clocks.xml:
6302         * docs/manual/components.xml:
6303         * docs/manual/cothreads.xml:
6304         * docs/manual/debugging.xml:
6305         * docs/manual/dparams-app.xml:
6306         * docs/manual/dynamic.xml:
6307         * docs/manual/elements-api.xml:
6308         * docs/manual/elements.xml:
6309         * docs/manual/factories.xml:
6310         * docs/manual/gnome.xml:
6311         * docs/manual/goals.xml:
6312         * docs/manual/helloworld.xml:
6313         * docs/manual/helloworld2.xml:
6314         * docs/manual/highlevel-components.xml:
6315         * docs/manual/highlevel-xml.xml:
6316         * docs/manual/init-api.xml:
6317         * docs/manual/intro-basics.xml:
6318         * docs/manual/intro-motivation.xml:
6319         * docs/manual/intro-preface.xml:
6320         * docs/manual/intro.xml:
6321         * docs/manual/links-api.xml:
6322         * docs/manual/links.xml:
6323         * docs/manual/manual.xml:
6324         * docs/manual/motivation.xml:
6325         * docs/manual/pads-api.xml:
6326         * docs/manual/pads.xml:
6327         * docs/manual/plugins-api.xml:
6328         * docs/manual/plugins.xml:
6329         * docs/manual/programs.xml:
6330         * docs/manual/queues.xml:
6331         * docs/manual/quotes.xml:
6332         * docs/manual/schedulers.xml:
6333         * docs/manual/states-api.xml:
6334         * docs/manual/states.xml:
6335         * docs/manual/threads.xml:
6336         * docs/manual/typedetection.xml:
6337         * docs/manual/win32.xml:
6338         * docs/manual/xml.xml:
6339           Try 2. This time, include a short preface as a "general
6340           introduction", also add code blocks around all code samples
6341           so they get compiled. We still need a way to tell readers
6342           the filename of the code sample. In some cases, don't show
6343           all code in the documentation, but do include it in the generated
6344           code. This allows for focussing on specific bits in the docs,
6345           while still having a full test application available.
6346         * examples/manual/Makefile.am:
6347           Fix up examples for new ADM. Add several of the new examples that
6348           were either added or were missing from the build system.
6349         * examples/manual/extract.pl:
6350           Allow nameless blocks.
6351
6352 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6353
6354         * docs/manual/elements-api.xml:
6355         * docs/manual/helloworld.xml:
6356         * examples/manual/extract.pl:
6357           fix last example.  Add example of adding code blocks that are not
6358           shown in docbook output.
6359
6360 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6361
6362         * docs/manual/dynamic.xml:
6363         * docs/manual/elements-api.xml:
6364         * docs/manual/gnome.xml:
6365         * docs/manual/helloworld2.xml:
6366         * docs/manual/init-api.xml:
6367         * docs/manual/queues.xml:
6368         * docs/manual/threads.xml:
6369         * docs/manual/xml.xml:
6370         * examples/manual/extract.pl:
6371           Make it possible to extract example code from separate blocks.
6372           Should make Ronald happy.
6373
6374 2004-12-15  Wim Taymans  <wim@fluendo.com>
6375
6376         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6377         (remove_from_group), (group_elements_set_visited),
6378         (normalize_group), (gst_opt_scheduler_iterate):
6379         Fix bug where a flag was not updated on a decoupled entry point 
6380         because we were just checking the group element list and decoupled
6381         elements are not in that list..
6382
6383 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6384
6385         * docs/manual/advanced-autoplugging.xml:
6386         * docs/manual/advanced-clocks.xml:
6387         * docs/manual/advanced-dparams.xml:
6388         * docs/manual/advanced-interfaces.xml:
6389         * docs/manual/advanced-metadata.xml:
6390         * docs/manual/advanced-position.xml:
6391         * docs/manual/advanced-schedulers.xml:
6392         * docs/manual/advanced-threads.xml:
6393         * docs/manual/appendix-debugging.xml:
6394         * docs/manual/appendix-gnome.xml:
6395         * docs/manual/appendix-programs.xml:
6396         * docs/manual/appendix-quotes.xml:
6397         * docs/manual/appendix-win32.xml:
6398         * docs/manual/autoplugging.xml:
6399         * docs/manual/basics-bins.xml:
6400         * docs/manual/basics-data.xml:
6401         * docs/manual/basics-elements.xml:
6402         * docs/manual/basics-helloworld.xml:
6403         * docs/manual/basics-init.xml:
6404         * docs/manual/basics-pads.xml:
6405         * docs/manual/basics-plugins.xml:
6406         * docs/manual/bins-api.xml:
6407         * docs/manual/bins.xml:
6408         * docs/manual/buffers-api.xml:
6409         * docs/manual/buffers.xml:
6410         * docs/manual/clocks.xml:
6411         * docs/manual/components.xml:
6412         * docs/manual/cothreads.xml:
6413         * docs/manual/debugging.xml:
6414         * docs/manual/dparams-app.xml:
6415         * docs/manual/dynamic.xml:
6416         * docs/manual/elements-api.xml:
6417         * docs/manual/elements.xml:
6418         * docs/manual/factories.xml:
6419         * docs/manual/gnome.xml:
6420         * docs/manual/goals.xml:
6421         * docs/manual/helloworld.xml:
6422         * docs/manual/helloworld2.xml:
6423         * docs/manual/highlevel-components.xml:
6424         * docs/manual/highlevel-xml.xml:
6425         * docs/manual/init-api.xml:
6426         * docs/manual/intro-motivation.xml:
6427         * docs/manual/intro-preface.xml:
6428         * docs/manual/intro.xml:
6429         * docs/manual/links-api.xml:
6430         * docs/manual/links.xml:
6431         * docs/manual/manual.xml:
6432         * docs/manual/motivation.xml:
6433         * docs/manual/pads-api.xml:
6434         * docs/manual/pads.xml:
6435         * docs/manual/plugins-api.xml:
6436         * docs/manual/plugins.xml:
6437         * docs/manual/programs.xml:
6438         * docs/manual/queues.xml:
6439         * docs/manual/quotes.xml:
6440         * docs/manual/schedulers.xml:
6441         * docs/manual/states-api.xml:
6442         * docs/manual/states.xml:
6443         * docs/manual/threads.xml:
6444         * docs/manual/typedetection.xml:
6445         * docs/manual/win32.xml:
6446         * docs/manual/xml.xml:
6447           First try at rewriting the ADM. Needs lotsamore work, but some
6448           parts might already be somewhat useful.
6449         * docs/pwg/advanced-interfaces.xml:
6450           Remove properties interface, it never actually existed (except for
6451           on my HD...).
6452
6453 2004-12-13  David Schleef  <ds@schleef.org>
6454
6455         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6456         be NULL (bug #160220).
6457
6458 2004-12-13  David Schleef  <ds@schleef.org>
6459
6460         * configure.ac: remove all mmx stuff, because it's not used.
6461         * docs/random/ds/0.9-suggested-changes: additional notes
6462         * include/Makefile.am: we don't use these anymore
6463         * include/mmx.h: remove
6464         * include/sse.h: remove
6465
6466 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6467
6468         * docs/random/mimetypes:
6469           Add FOURCC code for h264 codec (VSSH)
6470           Add alternate FOURCC codes for h263 related codecs
6471
6472 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6473
6474         * docs/manual/programs.xml:
6475           Added more gst-launch examples.
6476
6477 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6478
6479         * gst/gstqueue.c: (gst_queue_handle_src_query):
6480           Check for availability again.
6481
6482 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6483
6484         * gst/gstcaps.c: (gst_caps_compare_structures):
6485           Simple caps go first. This has the nice side-effect of fixing an
6486           obscure warning.
6487
6488 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6489
6490         * gst/gstversion.h.in:
6491           Protect header.
6492
6493 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6494
6495         * gst/schedulers/gstoptimalscheduler.c:
6496         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6497         (gst_opt_scheduler_get_wrapper):
6498           When we're recursing into a chain run, only run the directly
6499           related group, not all queued ones. This will fix a possible
6500           deadlock in chains with more than two groups.
6501
6502 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6503
6504         * autogen.sh:
6505           remove patch if autopoint fails
6506
6507 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6508
6509         * docs/gst/gstreamer-sections.txt:
6510           Document Thomas' addition, fix build, make Luis the sheriff happy.
6511
6512 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6513
6514         * gst/gstplugin.c:
6515         * gst/gstplugin.h:
6516           add accessor for version field
6517
6518 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6519
6520         submitted by: Luca Ferretti <elle.uca@infinito.it>
6521
6522         * po/LINGUAS:
6523         * po/it.po:
6524           New tranlation added: Italian
6525
6526 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6527
6528         * gst/gstpad.c: (gst_pad_is_negotiated),
6529         (gst_pad_get_negotiated_caps):
6530           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6531           it doesn't actually check the contents), so be sure to hand it
6532           a RealPad else we'll crash.
6533
6534 2004-12-03  Wim Taymans  <wim@fluendo.com>
6535
6536         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6537         (gst_queue_link), (gst_queue_handle_src_query):
6538         Reverted to 1.110 until this makes the testsuite and various
6539         apps work.
6540
6541 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6542
6543         * docs/upload.mak: fix included CVS conflict strings
6544
6545 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6546
6547         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6548
6549         * gst/gstelement.c: (gst_element_error_full):
6550           Use g_error_new_literal because error text may have
6551           percentage signs in it. Fixes #160019.
6552
6553 2004-12-01  Benjamin Otte  <otte@gnome.org>
6554
6555         * gst/elements/gstbufferstore.c:
6556         (gst_buffer_store_add_buffer_func):
6557           don't try to make subbuffers bigger than they can be. (fixes
6558           #159970)
6559
6560 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6561
6562         * docs/gst/gstreamer-sections.txt:
6563         * docs/gst/tmpl/gstvalue.sgml:
6564           Add new function to docs to fix build.
6565
6566 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6567
6568         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6569         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6570         (_gst_pad_default_fixate_foreach):
6571         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6572         * gst/gstvalue.h:
6573           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6574           in some cases (arrays), the fixedness depends on the content.
6575         * gst/gstqueue.c: (gst_queue_handle_src_query):
6576           Check for availability before doing something.
6577
6578 2004-11-29  Wim Taymans  <wim@fluendo.com>
6579
6580         * testsuite/threads/Makefile.am:
6581         * testsuite/threads/signals.c: (gst_test_get_type),
6582         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6583         (gst_test_set_property), (gst_test_get_property),
6584         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6585         (gst_test_do_prop), (run_thread), (main):
6586         Added a bunch of testcases that show threadsafety bugs in glib.
6587
6588 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * docs/manual/programs.xml:
6591           Added a first batch of gst-launch examples, as provided by Ronald
6592           and others from the devel-mlist
6593
6594 2004-11-28  Benjamin Otte  <otte@gnome.org>
6595
6596         * gst/gstelement.c: (gst_element_negotiate_pads):
6597           simplify
6598         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6599         (gst_value_serialize_string), (gst_value_deserialize_string):
6600           add unwrapping of previously wrapped strings. Fix bug in wrapping
6601           while at it.
6602         * testsuite/caps/value_serialize.c: (test1),
6603         (test_string_serialization), (test_string_deserialization), (main):
6604           add tests for string (de)serialization
6605
6606 2004-11-26  Wim Taymans  <wim@fluendo.com>
6607
6608         * testsuite/threads/159566.c: (object_deep_notify), (main):
6609         * testsuite/threads/Makefile.am:
6610         Added testsuite to show bug #159566
6611
6612 2004-11-25  Wim Taymans  <wim@fluendo.com>
6613
6614         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6615         (gst_thread_child_state_change), (gst_thread_main_loop):
6616         Ref the thread object in the GThread mainloop. Break out of the
6617         thread mainloop if it holds the last ref. This properly exits
6618         the threads when disposing the thread from its own context. It
6619         also avoids possible deadlocks in the dispose function.
6620
6621 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6622
6623         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6624         it is necessary to wait.
6625
6626 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6627
6628         * docs/pwg/building-boiler.xml:
6629           Make description somewhat clearer.
6630
6631 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6632
6633         * docs/upload.mak:
6634           Apparently docs changed location on FDO's server.
6635
6636 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6637
6638         * docs/pwg/appendix-checklist.xml:
6639           Add some random notes on things to check when writing an element.
6640           This list can be extended as people see fit.
6641
6642 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6643
6644         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6645         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6646         pad. The queue will now wait until it is empty and forward the new
6647         caps to the source.
6648         * gst/gstbin.c (gst_bin_set_element_sched)
6649         (gst_bin_unset_element_sched): Make sure that all elements and
6650         links are registered and unregistered with the scheduler exactly
6651         once. This elaborates on a fix by Benjamin Otte, but
6652         guarantees that decoupled elements are also registered.
6653
6654 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * docs/manual/quotes.xml:
6657           add a quote
6658         * configure.ac:
6659         * gst/gst.c:
6660         * gst/gstinfo.c:
6661           add LIBDIR and move init message higher up so it's at the start
6662
6663 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6664
6665         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6666         * gstreamer.spec.in: add fair
6667
6668 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6669
6670         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6671         * gst/elements/gstidentity.c: (gst_identity_class_init):
6672           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6673           <teuf@gnome.org> (#157263).
6674         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6675         (gst_type_find_handle_src_query):
6676           Subtract size of internally stored data from position queries.
6677
6678 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6679
6680         * gst/schedulers/fairscheduler.c:
6681         * gst/schedulers/faircothreads.c:
6682         * gst/schedulers/faircothreads.h:
6683         New cothread based scheduler: Fair scheduler.
6684         * gst/schedulers/gthread-cothreads.h: 
6685         Add the standard #if around the whole file.
6686         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6687         compilation of the functions defined in this file. This is
6688         necessary to be able to use this file as a normal header.
6689         * gst/schedulers/Makefile.am: Add compiling support for fair
6690         scheduler.
6691         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6692         scheduler cothreads layer from documentation generation.
6693
6694 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6695
6696         * gst/autoplug/gstspideridentity.c:
6697         (gst_spider_identity_sink_loop_type_finding):
6698           Don't crash if that function is not implemented.
6699
6700 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6701
6702         * docs/pwg/advanced-types.xml:
6703           Another typo.
6704
6705 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6706
6707         * docs/pwg/intro-preface.xml:
6708           Hm, ok, so the brackets weren't really useful...
6709         * docs/pwg/other-ntoone.xml:
6710           Fix embarassing typo.
6711
6712 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6713
6714         * docs/pwg/intro-preface.xml:
6715           Rewrite preface.
6716
6717 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6718
6719         * docs/pwg/advanced-scheduling.xml:
6720         * docs/pwg/advanced-tagging.xml:
6721         * docs/pwg/advanced-types.xml:
6722         * docs/pwg/building-boiler.xml:
6723         * docs/pwg/building-chainfn.xml:
6724         * docs/pwg/building-signals.xml:
6725         * docs/pwg/building-state.xml:
6726         * docs/pwg/building-testapp.xml:
6727         * docs/pwg/intro-basics.xml:
6728         * docs/pwg/other-manager.xml:
6729         * docs/pwg/other-source.xml:
6730           Typo fixes.
6731         * docs/pwg/other-manager.xml:
6732           Add some first content. No example code yet.
6733         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6734           Remove double newlines.
6735
6736 2004-11-04  Wim Taymans  <wim@fluendo.com>
6737
6738         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6739         (remove_from_group), (normalize_group), (group_migrate_connected),
6740         (gst_opt_scheduler_iterate):
6741         * testsuite/schedulers/.cvsignore:
6742         * testsuite/schedulers/Makefile.am:
6743         * testsuite/schedulers/queue_link.c: (main):
6744         Added testcase for scheduler segfault.
6745         Fix scheduler segfault when removing a decoupled
6746         entry point as the last element from a group.
6747
6748 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6749
6750         * gst/gstmarshal.list: add missing marshaller, fixes build
6751
6752 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6753
6754         * docs/random/signal: added notes about using BOXED for GstBuffer
6755         signal marshallers, not POINTER
6756
6757 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6758
6759         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6760         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6761         POINTER=>BOXED changes to marshal GstBuffers
6762
6763 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6764
6765         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6766         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6767
6768 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6769
6770         * docs/gst/gstreamer-sections.txt:
6771         * docs/gst/tmpl/gstcaps.sgml:
6772         * docs/gst/tmpl/gsterror.sgml:
6773         * docs/gst/tmpl/gstinfo.sgml:
6774         * docs/gst/tmpl/gstmacros.sgml:
6775         * docs/gst/tmpl/gstutils.sgml:
6776         * docs/random/ensonic/interfaces.txt:
6777         * gst/gstinfo.h:
6778           added some more docs, removed two obsolete defines
6779
6780 2004-11-02  Kjartan Maraas <as at gnome.org>
6781
6782         reviewed by: Wim Taymans, Ronald Bultje.
6783
6784         * gst/cothreads.c: (cothread_create):
6785         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6786         (gst_bin_child_state_change_func):
6787         * gst/gstbuffer.c: (gst_buffer_span):
6788         * gst/gstelement.c: (gst_element_get_index),
6789         (gst_element_get_event_masks), (gst_element_get_query_types),
6790         (gst_element_get_formats):
6791         * gst/gsterror.c: (_gst_core_errors_init),
6792         (_gst_library_errors_init), (_gst_resource_errors_init),
6793         (_gst_stream_errors_init):
6794         * gst/gstobject.c: (gst_object_default_deep_notify):
6795         * gst/gstpad.c: (gst_pad_get_event_masks),
6796         (gst_pad_get_internal_links_default):
6797         * gst/gstplugin.c: (gst_plugin_register_func),
6798         (gst_plugin_get_module):
6799         * gst/gststructure.c: (gst_structure_get_string),
6800         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6801         (gst_structure_to_abbr):
6802         * gst/gstutils.c: (gst_print_element_args):
6803         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6804         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6805         Aplied part of patch #157127: Cleanup of issues reported by 
6806         sparse.
6807         Also do not try to use cothreads when there is no cothread
6808         context yet.
6809
6810 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6811
6812         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6813         (gst_opt_scheduler_iterate):
6814         Applied patch #154061. Running a pipeline in which an element 
6815         calls GST_ELEMENT_ERROR in the chain function, the opt 
6816         scheduler doesn't unref the chain so it never gets freed.
6817
6818 2004-11-02  Wim Taymans  <wim@fluendo.com>
6819
6820         * gst/gststructure.c: (gst_structure_get_abbrs),
6821         (gst_structure_from_abbr), (gst_structure_to_abbr):
6822         Remove that ugly if-then thing in the code that converts
6823         between strings and types.
6824
6825 2004-11-02  Wim Taymans  <wim@fluendo.com>
6826
6827         * gst/gstscheduler.c: (gst_scheduler_add_element),
6828         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6829         Aplied clock distribution patch, this should fix bug
6830         #148787.
6831
6832 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6835
6836         * po/LINGUAS:
6837         * po/nb.po:
6838           Added Norwegian Bokmaal translation
6839
6840 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6841
6842         * tools/gst-inspect.c: (print_signal_info):
6843           print signal arguments as pointers if they are
6844
6845 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6846
6847         * docs/pwg/building-boiler.xml:
6848           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6849
6850 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6851
6852         * gst/parse/parse.l:
6853         * testsuite/parse/parse1.c: (main):
6854         Since parse can do 'element name=a:b' make 'a:b.' work as
6855         well. 
6856         Added testcase to verify fix.
6857
6858 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6859
6860         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6861         Use the realpad when printing the direction.
6862         Add extra \n when printing extensions of typefind factories.
6863
6864 2004-10-13  David Schleef  <ds@schleef.org>
6865
6866         * examples/manual/Makefile.am: $< isn't portable in Makefile
6867         rules.
6868
6869 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6870
6871         * docs/gst/tmpl/gstobject.sgml:
6872         * docs/gst/tmpl/gstplugin.sgml:
6873         * docs/gst/tmpl/gstpluginfeature.sgml:
6874         * docs/gst/tmpl/gstregistry.sgml:
6875         * docs/gst/tmpl/gstversion.sgml:
6876         * gst/gstbin.c:
6877           more api documentation
6878         * gst/gstplugin.c: (gst_plugin_register_func),
6879         (gst_plugin_check_file), (gst_plugin_load_file):
6880           better error signaling and logging
6881
6882 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6883
6884         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6885           Subtract current queue contents from position queries.
6886
6887 2004-10-11  Johan Dahlin  <johan@gnome.org>
6888
6889         * gst/gsturi.c (gst_uri_get_location): unescape string
6890         (gst_uri_construct): escape string.
6891
6892 2004-10-11  Benjamin Otte  <otte@gnome.org>
6893
6894         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6895         (gst_pad_try_set_caps_nonfixed):
6896           allow renegotiation of unconnected pads (as inside spider). Simply
6897           return OK if unconnected - mimic try_set_caps there.
6898
6899 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6900
6901         * gst/gstbin.c: (gst_bin_sync_children_state):
6902           Add missing break.
6903
6904 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6905
6906         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6907         Set element to EOS before sending EOS event
6908
6909 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6910
6911         * gst/elements/gsttypefindelement.c:
6912         (gst_type_find_element_handle_event):
6913         Handle EOS events when doing the transition from
6914         typefind to data passing. This should fix the
6915         infinite loops in short files.
6916
6917 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6918
6919         * gst/gstthread.c: (gst_thread_change_state),
6920         (gst_thread_child_state_change):
6921         Make sure no iteration happens while performing
6922         the state change as it could mess up the internal
6923         consistency of the thread state.
6924
6925 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6926
6927         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6928         (gst_thread_change_state), (gst_thread_child_state_change):
6929         Do not try to grab the iterate lock in the state change method
6930         when we are in the same thread as the iterate or else we
6931         could deadlock. Some other cleanups.
6932
6933 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6934
6935         * configure.ac:
6936           bump nano to cvs
6937
6938 === release 0.8.7 ===
6939
6940 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6941
6942         * configure.ac:
6943         * NEWS:
6944         * RELEASE:
6945         * configure.ac:
6946           releasing 0.8.7, "A Cruise"
6947
6948 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6949
6950         * docs/random/mimetypes:
6951         Add an entry for Sony ATRAC3 audio format with mime-type
6952         used by rmdemux et riff-read
6953
6954 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6955
6956         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6957         Push the buffer store instead of clearing it in case that
6958         the stream is not seekable.
6959
6960 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6961
6962         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6963         (gst_thread_main_loop):
6964         Lock the iteration and the state change so that automatic
6965         negotiation and fixation does not happen at the same time
6966         as the in stream negotiation.
6967
6968 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * configure.ac:
6971           bump nano to cvs
6972
6973 === release 0.8.6 ===
6974
6975 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6976
6977         * configure.ac:
6978         * NEWS:
6979         * RELEASE:
6980         * configure.ac:
6981           releasing 0.8.6, "Narc"
6982
6983 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6984
6985         * configure.ac:
6986           prerel bump
6987
6988 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6989
6990         patch by: Steve Lhomme
6991
6992         * gst/elements/gstfakesrc.c:
6993         * gst/elements/gstidentity.c:
6994         * gst/gstthread.c:
6995           Fix for #153881
6996
6997 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6998
6999         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7000         Fix threadsafety of the crc checking function.
7001
7002 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7003
7004         patch by: Ronald Bultje
7005
7006         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7007         (gst_type_find_element_handle_event),
7008         (gst_type_find_element_chain):
7009         * gst/elements/gsttypefindelement.h:
7010          #153657.
7011          Filter out discont event from seekable sources when typefind
7012          asks them to seek.  Fixes typefind with demuxers for
7013          avi, asf and matroska.
7014
7015 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7016
7017         * docs/gst/gstreamer-sections.txt:
7018         * gst/gstcaps.c:
7019         * gst/gstcaps.h:
7020         * gst/gstpad.c:
7021           Revert preferred caps: (#147789)
7022
7023 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7024
7025         * win32/dirent.c:
7026           fix a memory leak
7027
7028 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * configure.ac:
7031           bump for prerelease
7032
7033 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7034
7035         * docs/Makefile.am:
7036         * docs/manual/elements-api.xml:
7037           restructure so that common stuff is shown first
7038         * docs/manual/init-api.xml:
7039           convert to examples
7040         * docs/manual/manual.xml:
7041         * docs/manuals.mak:
7042         * docs/url.entities:
7043           link to API on the website, possibly override later in build
7044         * examples/manual/.cvsignore:
7045           ignore more
7046         * examples/manual/Makefile.am:
7047           add more examples
7048         * examples/manual/extract.pl:
7049           error out on failure
7050
7051 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         * docs/gst/tmpl/gstthread.sgml:
7054         * docs/manual/init-api.xml:
7055         * examples/manual/Makefile.am:
7056           convert two code bits to examples
7057
7058 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7059
7060         * gst/gstelement.c: (gst_element_change_state):
7061           Well, actually, I was about to remove this insane assert when
7062           I noticed Wim already did that. A warning is nice so we can
7063           fix actual ugs (using --g-fatal-warnings and backtraces), so
7064           I added that instead.
7065
7066 2004-09-06  Wim Taymans  <wim@fluendo.com>
7067
7068         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7069         (gst_element_threadsafe_properties_post_run),
7070         (gst_element_set_state), (gst_element_change_state):
7071         Added extra refcounting around various places. 
7072
7073 2004-09-06  Wim Taymans  <wim@fluendo.com>
7074
7075         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7076         Fix debug info.
7077
7078 2004-09-06  Wim Taymans  <wim@fluendo.com>
7079
7080         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7081         (remove_from_group):
7082         Some more debug info.
7083
7084 2004-09-03  Wim Taymans  <wim@fluendo.com>
7085
7086         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7087         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7088         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7089         (gst_fakesrc_get), (gst_fakesrc_change_state):
7090         * gst/elements/gstfakesrc.h:
7091         * gst/elements/gstidentity.c: (gst_identity_class_init),
7092         (gst_identity_init), (gst_identity_chain),
7093         (gst_identity_set_property), (gst_identity_get_property),
7094         (gst_identity_change_state):
7095         * gst/elements/gstidentity.h:
7096         Added datarate properties to limit the datarate.
7097
7098 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7099
7100         * gst/autoplug/gstspider.c: (plugin_init):
7101           don't set a rank. We don't want to autoplug by inserting spiders.
7102
7103 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7104
7105         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7106         (gst_spider_identity_plug):
7107           add a template for spider's sink
7108         * gst/gst.c: (gst_register_core_elements):
7109           queue's rank should be NULL, we don't want spider to add it.
7110
7111 2004-08-18  David Schleef  <ds@schleef.org>
7112
7113         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7114         * docs/libs/Makefile.am: same
7115         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7116         * docs/random/ds/0.9-planning: random additions
7117         * docs/random/ds/0.9-suggested-changes: same
7118         * gst/gstxml.h: remove vestigal GstXMLNs definition
7119
7120         Preferred caps: (#147789)
7121         * docs/gst/gstreamer-sections.txt: Add symbols
7122         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7123         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7124         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7125         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7126         (gst_caps_get_preferred), (gst_caps_set_preferred),
7127         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7128         (gst_caps_use_preferred): Handle caps preferences
7129         * gst/gstcaps.h: Add caps preferences
7130         * gst/gstpad.c: (gst_pad_link_get_preferred),
7131         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7132         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7133         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7134         negotiation.
7135
7136 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7137
7138         * gst/autoplug/gstspideridentity.c:
7139         (gst_spider_identity_request_new_pad):
7140         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7141         (gst_aggregator_init):
7142         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7143         (gst_fakesink_init):
7144         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7145         (gst_fakesrc_init):
7146         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7147         (gst_fdsink_init):
7148         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7149         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7150         (gst_filesink_init):
7151         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7152         (gst_filesrc_init):
7153         * gst/elements/gstidentity.c: (gst_identity_base_init),
7154         (gst_identity_init):
7155         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7156         (gst_multifilesrc_init):
7157         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7158         (gst_pipefilter_init):
7159         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7160         (gst_statistics_init):
7161         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7162         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7163           s/gst_pad_new/&_from_template/
7164           register pad templates in the base_init function
7165           add static pad template definitions
7166
7167 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7168
7169         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7170         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7171         * testsuite/refcounting/pad.c: (main):
7172         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7173           s/gst_pad_new/&_from_template/
7174           prepare deprecation of gst_pad_new
7175
7176 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7177
7178         patch by: Luca Ognibene <skaboy81@virgilio.it>
7179
7180         * gst/gstcaps.c:
7181         * gst/gstelement.c:
7182         * gst/gstpad.c:
7183         * gst/gstxml.c:
7184           fix memleaks.  Fixes #150001
7185
7186 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7187
7188         * docs/random/ds/0.9-suggested-changes:
7189           add notes - mostly about pad templates
7190
7191 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7192
7193         * win32/GStreamer.vcproj:
7194           temporary locale files are .gmo not .mo
7195
7196 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7197
7198         * configure.ac: bump nano to cvs
7199
7200 === release 0.8.5 ===
7201
7202 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7203
7204         * configure.ac:
7205           releasing 0.8.5, "Stuttgart"
7206         * NEWS:
7207         * RELEASE:
7208         * configure.ac:
7209         * docs/random/release:
7210           updates for release
7211
7212 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7213
7214         patch by: Wim Taymans (wim@fluendo.com)
7215
7216         * gst/gstbuffer.c:
7217         * gst/gstindex.h:
7218         * libs/gst/dataprotocol/dataprotocol.c:
7219           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7220
7221 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7222
7223         * Makefile.am:
7224         * win32/MANIFEST:
7225           add win32 dir to the build.  Fixes #149981.
7226
7227 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7228
7229         * configure.ac:
7230           bump libtool versioning
7231         * gst/gststructure.c:
7232           mark function as static
7233         * po/af.po:
7234         * po/az.po:
7235         * po/ca.po:
7236         * po/cs.po:
7237         * po/en_GB.po:
7238         * po/fr.po:
7239         * po/nl.po:
7240         * po/sq.po:
7241         * po/sr.po:
7242         * po/sv.po:
7243         * po/tr.po:
7244         * po/uk.po:
7245           translations update
7246         * win32/README.txt:
7247           trademark protection
7248
7249 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7250
7251         * configure.ac:
7252           fix GST_ORIGIN
7253           set GST_PACKAGE to source, and distinguish between release and other
7254         * tools/gst-inspect.c:
7255           print out plugin an element factory is part of so we see this info
7256
7257 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7258
7259         * docs/gst/gstreamer-sections.txt:
7260         * docs/gst/tmpl/gstbuffer.sgml:
7261         * docs/gst/tmpl/gstschedulerfactory.sgml:
7262           reorder docs a little, make GstBuffer's more sensible.
7263         * gst/gstbuffer.h:
7264           API: added GST_BUFFER_FLAG_DELTA_UNIT
7265         * gst/gstscheduler.c:
7266           comment API addition
7267
7268 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7269
7270         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7271           work with non-regular files that can be mmapped (like /dev/zero)
7272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7273           get rid of typefinds that require a seek when we can't seek instead
7274           of trying them over and over again
7275         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7276           return non-zero failure value when the pipeline was interrupted or
7277           an error occurred
7278
7279 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7280
7281         * win32/config.h:
7282         * win32/GStreamer.vcproj:
7283           compile and install the locales
7284
7285 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7286
7287         * gst/gstvalue.c:
7288           fix a possible memory leak under Windows
7289
7290 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7291
7292         * win32/GStreamer.vcproj:
7293           fix a memory leak that occured under Windows
7294         * win32/gstreamer.def:
7295           add gst_scheduler_register
7296
7297 2004-08-11  Benjamin Otte  <otte@gnome.org>
7298
7299         * docs/gst/gstreamer-sections.txt:
7300         * gst/gstscheduler.c: (gst_scheduler_register):
7301         * gst/gstscheduler.h:
7302           API:
7303           add gst_scheduler_register shortcut similar to gst_element_register
7304         * gst/schedulers/entryscheduler.c: (plugin_init):
7305         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7306         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7307           use it
7308
7309 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7310
7311         * gst/gstvalue.h:
7312           fix a memory leak that occured under Windows
7313
7314 2004-08-10  Colin Walters  <walters@redhat.com>
7315
7316         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7317         Don't use O_EXCL to open temporary registry.  It will prevent
7318         registry creation if a temporary one already exists, which
7319         is unnecessary.
7320
7321 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7322
7323         * docs/gst/gstreamer-sections.txt:
7324         * docs/gst/tmpl/gstvalue.sgml:
7325           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7326
7327 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7328
7329         * win32/gstbytestream.vcproj:
7330         * win32/gstelements.vcproj:
7331         * win32/gstgetbits.vcproj:
7332         * win32/gst-inspect.vcproj:
7333         * win32/gst-launch.vcproj:
7334         * win32/gstoptimalscheduler.vcproj:
7335         * win32/GStreamer.vcproj:
7336         * win32/gst-register.vcproj:
7337         * win32/gstspider.vcproj:
7338           update the include and lib dirs to fit standard libraries as
7339           described in the Win32 manual
7340
7341 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7342
7343         * win32/config.h:
7344         * win32/gstversion.h:
7345           enable NLS again, push the version number for the coming 0.8.5 release
7346
7347 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7348
7349         * gst/gstvalue.h:
7350           export gst_type_XXX for windows DLLs
7351
7352 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7353
7354         * docs/faq/gst-uninstalled:
7355           fix PKG_CONFIG_PATH and PYTHONPATH
7356         * gst/schedulers/Makefile.am:
7357           cleanup
7358         * libs/gst/bytestream/bytestream.c:
7359           remove newline
7360         * po/LINGUAS:
7361         * po/sq.po:
7362           adding Albanian translation (Laurent Dhima)
7363         * po/cs.po:
7364           updated
7365
7366 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * po/ca.po:
7369         * po/sv.po:
7370           updated translations
7371
7372 2004-08-04  Benjamin Otte  <otte@gnome.org>
7373
7374         * tests/mass_elements.c: (main):
7375           allow specifying src and sink element explicitly, so I can test
7376           videotestsrc instead of fakesrc
7377
7378 2004-08-04  Benjamin Otte  <otte@gnome.org>
7379
7380         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7381         (gst_structure_id_empty_new), (gst_structure_empty_new),
7382         (gst_structure_copy):
7383           add gst_structure_id_empty_new_with_size to allow preallocating
7384           value array sizes. Use this in gst_structure_copy to get rid of
7385           reallocs.
7386           don't do quark=>string=>quark when copying structures
7387
7388 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7389
7390         * docs/manual/win32.xml:
7391         * win32/README.txt:
7392           update documentation with the clean version of dependencies
7393
7394 2004-08-03  Benjamin Otte  <otte@gnome.org>
7395
7396         * gst/schedulers/entryscheduler.c:
7397         (gst_entry_scheduler_remove_element):
7398           fix for GST_DISABLE_DEBUG
7399         * tools/gst-launch.c: (print_tag):
7400           fixes for G_DISABLE_ASSERT
7401
7402 2004-08-03  Benjamin Otte  <otte@gnome.org>
7403
7404         * gst/gst.c: (gst_register_core_elements):
7405           fix for G_DISABLE_ASSERT
7406         * gst/gstinfo.c: (__gst_in_valgrind):
7407           add for GST_DISABLE_DEBUG
7408
7409 2004-08-03  Benjamin Otte  <otte@gnome.org>
7410
7411         * gst/parse/parse.l:
7412           fix for G_DISABLE_ASSERT
7413
7414 2004-08-03  Wim Taymans  <wim@fluendo.com>
7415
7416         * gst/gstbin.c: (gst_bin_get_type),
7417         (gst_bin_child_state_change_func):
7418         * gst/gstthread.c: (gst_thread_change_state):
7419         Backported some debug logging from a reverted patch
7420         Don't try to destroy the thread twice. Added some more
7421         debugging in GstThread. Unlock and signal even if we
7422         are in the thread context.
7423
7424 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7425
7426         * po/uk.po:
7427           updated translation
7428
7429 2004-07-30  David Schleef  <ds@schleef.org>
7430
7431         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7432
7433 2004-07-29  David Schleef  <ds@schleef.org>
7434
7435         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7436         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7437
7438 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7439
7440         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7441         (gst_bin_add_func), (gst_bin_remove_func),
7442         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7443         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7444         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7445         (gst_bin_sync_children_state):
7446         * gst/gstbin.h:
7447         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7448         (gst_thread_change_state):
7449         * testsuite/states/Makefile.am:
7450           revert state change patches as agreed so we can rework them
7451           gradually
7452
7453 2004-07-29  Benjamin Otte  <otte@gnome.org>
7454
7455         * libs/gst/control/Makefile.am:
7456           link to libgstreamer (fixes Debian bug 262019, see
7457           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7458
7459 2004-07-29  Wim Taymans  <wim@fluendo.com>
7460
7461         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7462         (check_from_fraction_convert), (transform_test), (main):
7463         Make the test less pedantic about float roundoff errors.
7464
7465 2004-07-29  Benjamin Otte  <otte@gnome.org>
7466
7467         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7468         (gst_filesrc_srcpad_event):
7469           make seek events to before start/after end of file not fail, but
7470           seek to start/end instead
7471         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7472           add more output
7473
7474 2004-07-29  Benjamin Otte  <otte@gnome.org>
7475
7476         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7477           check that caps are fixed
7478         * gst/gstpad.c: (gst_pad_template_new):
7479           don't try to simplify caps, costs too much time on gst_init
7480         * gst/gstplugin.c: (gst_plugin_add_feature):
7481           G_ERROR if features are added twice
7482         * gst/gsttypefind.c: (gst_type_find_register):
7483         * gst/gstelementfactory.c: (gst_element_register):
7484           don't add features twice
7485         * docs/random/ds/0.9-suggested-changes:
7486           add note about possible gst_init optimization
7487
7488 2004-07-28  David Schleef  <ds@schleef.org>
7489
7490         * testsuite/elements/Makefile.am:
7491         * testsuite/elements/struct_i386.h:
7492         * testsuite/elements/struct_size.c: (main):  A little test
7493         to keep distcheck from working if someone changes a structure
7494         size accidentally.
7495
7496 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7497
7498         * docs/libs/Makefile.am:
7499         * docs/libs/gstreamer-libs-docs.sgml:
7500         * docs/libs/gstreamer-libs-sections.txt:
7501         * docs/libs/tmpl/gstbytestream.sgml:
7502         * docs/libs/tmpl/gstcontrol.sgml:
7503         * docs/libs/tmpl/gstdataprotocol.sgml:
7504         * docs/libs/tmpl/gstgetbits.sgml:
7505         * libs/gst/bytestream/Makefile.am:
7506         * libs/gst/bytestream/bytestream.c:
7507         * libs/gst/bytestream/bytestream.h:
7508         * libs/gst/control/Makefile.am:
7509         * libs/gst/dataprotocol/Makefile.am:
7510         * libs/gst/getbits/Makefile.am:
7511         * libs/gst/getbits/getbits.h:
7512           various doc and style fixes, adding bytestream to libs docs.
7513
7514 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7515
7516         * docs/gst/gstreamer-docs.sgml:
7517         * docs/libs/Makefile.am:
7518         * docs/libs/gstreamer-libs-docs.sgml:
7519         * docs/libs/gstreamer-libs-sections.txt:
7520         * libs/gst/control/dparam.c:
7521           more doc fixes.  gst-libs docs now build the same way as gst.
7522
7523 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7524
7525         * configure.ac:
7526         * testsuite/Makefile.am:
7527         * testsuite/bins/Makefile.am:
7528         * testsuite/caps/Makefile.am:
7529         * testsuite/cleanup/Makefile.am:
7530         * testsuite/clock/Makefile.am:
7531         * testsuite/debug/Makefile.am:
7532         * testsuite/dlopen/Makefile.am:
7533         * testsuite/dynparams/Makefile.am:
7534         * testsuite/elements/.cvsignore:
7535         * testsuite/elements/Makefile.am:
7536         * testsuite/enumcaps/Makefile.am:
7537         * testsuite/enumcaps/enumcaps.c:
7538         * testsuite/ghostpads/Makefile.am:
7539         * testsuite/indexers/Makefile.am:
7540         * testsuite/negotiation/Makefile.am:
7541         * testsuite/parse/Makefile.am:
7542         * testsuite/plugin/Makefile.am:
7543         * testsuite/refcounting/Makefile.am:
7544         * testsuite/schedulers/.cvsignore:
7545         * testsuite/states/Makefile.am:
7546         * testsuite/tags/Makefile.am:
7547         * testsuite/threads/Makefile.am:
7548           fold enumcaps into caps dir
7549           clean up Makefile.am's for testsuite
7550
7551 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * docs/gst/Makefile.am:
7554         * docs/libs/Makefile.am:
7555           clean up docs build.  Fixes needless rebuilding of template files.
7556
7557 2004-07-28  Wim Taymans  <wim@fluendo.com>
7558
7559         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7560         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7561         Make sure that a bin state change tries to keep the children
7562         in sync. 
7563         Added debug logging to the thread.
7564
7565 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7566
7567         * win32/GStreamer.vcproj:
7568         * win32/gstreamer.def:
7569           more exports for the plugins
7570
7571 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7572
7573         * win32/gstgetbits.vcproj:
7574         * win32/gstgetbits.def:
7575         * win32/msvc71.sln:
7576           add support for the getbits plugin
7577
7578 2004-07-27  Wim Taymans  <wim@fluendo.com>
7579
7580         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7581         (gst_value_transform_fraction_double), (_gst_value_initialize):
7582         * testsuite/caps/Makefile.am:
7583         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7584         (check_from_fraction_convert), (transform_test), (main):
7585         Added transform functions between double and fraction.
7586         Added testcase to verify transforms
7587
7588 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7589
7590         * win32/GStreamer.vcproj:
7591           rename GStreamer-0.8.lib to libgstreamer.lib
7592
7593 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7594
7595         * win32/gstelements.vcproj:
7596         * win32/gstoptimalscheduler.vcproj:
7597           fixes for the Release build
7598
7599 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7600
7601         * win32/config.h:
7602           update the version number
7603
7604 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7605
7606         * win32/GStreamer.vcproj:
7607           add gstinterface to the build
7608
7609 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7610
7611         * win32/gstreamer.def:
7612           add many definitions needed by plugins,
7613           GST_CAT_DEFAULT only available in the Debug build ?
7614
7615 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7616
7617         * gst/gstelement.c: (gst_element_set_eos_recursive):
7618           various whitespace fixes.
7619           doc fix, fixes #148497
7620
7621 2004-07-25  Benjamin Otte  <otte@gnome.org>
7622
7623         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7624           don't delay links on the sink elements, it causes unnegotiated
7625           links.
7626         * gst/elements/gsttypefindelement.c:
7627         (gst_type_find_element_base_init):
7628           add our padtemplates, we indeed do have some.
7629         * gst/elements/gsttypefindelement.c:
7630         (gst_type_find_element_handle_event),
7631         (gst_type_find_element_chain):
7632           don't push data when typefinding failed.
7633         * gst/gstpad.c: (gst_pad_link_fixate):
7634           check that no fixate function returns empty caps.
7635         * gst/gstpad.c: (gst_pad_push):
7636           check that the link is negotiated before data gets pushed.
7637         * tools/gst-register.c: (main):
7638           don't assert (fixes #148283)
7639
7640 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7641
7642         * docs/gst/gstreamer-sections.txt:
7643         * docs/gst/tmpl/gstconfig.sgml:
7644           add GST_PLUGIN_EXPORT definition
7645
7646 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7647
7648         * gst/gstplugin.h:
7649         * gst/gstconfig.h.in:
7650         * win32/gstconfig.h:
7651         * win32/gstelements.def:
7652         * win32/gstelements.vcproj:
7653         * win32/gstoptimalscheduler.def:
7654         * win32/gstoptimalscheduler.vcproj:
7655         * win32/gstspider.def:
7656         * win32/gstspider.vcproj:
7657           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7658
7659 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7660
7661         * docs/gst/gstreamer-sections.txt:
7662           remove GST_CAT_DEFAULT because the type has changed
7663
7664 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7665
7666         * win32/gstbytestream.vcproj:
7667         * win32/gstelements.vcproj:
7668         * win32/gst-inspect.vcproj:
7669         * win32/gst-launch.vcproj:
7670         * win32/gstoptimalscheduler.vcproj:
7671         * win32/GStreamer.vcproj:
7672         * win32/gst-register.vcproj:
7673         * win32/gstspider.vcproj:
7674         * win32/msvc71.sln:
7675           Copy the files where needed after building, The testsuite will be
7676           built separately
7677
7678 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7679
7680         * win32/config.h:
7681         * win32/README.txt:
7682         * docs/manual/win32.xml:
7683         Fixed the plugin and GStreamer location
7684
7685 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7686
7687         * win32/gstreamer.def:
7688         More exports for the plugins
7689
7690 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7691
7692         * gst/gstinfo.h:
7693         Marc was right, we need to export literally GST_CAT_DEFAULT
7694
7695 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7696
7697         * win32/config.h:
7698         NLS crashes in gettext, disabled until this is solved
7699
7700 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7701
7702         * win32/gst-inspect.vcproj:
7703         * win32/gst-launch.vcproj:
7704         Should use NLS when available
7705
7706 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7707
7708         * gst/registries/gstxmlregistry.c:
7709         removing the file doesn't seem to be a good idea on Linux
7710
7711 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7712
7713         * gst/registries/gstxmlregistry.c:
7714         Remove the registry before renaming the tempfile (needed for Windows)
7715
7716 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7717
7718         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7719         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7720         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7721         * gst/elements/gstmultifilesrc.h:
7722         Added newmedia property so it generates newmedia events between each
7723         file when property is set, as well as fixed eos handling
7724
7725 2004-07-22  David Schleef  <ds@schleef.org>
7726
7727         * gst/gststructure.c: (gst_structure_id_empty_new),
7728         (gst_structure_empty_new):  Set type field correctly.
7729         * gst/gststructure.h: Check type field correctly.
7730         * testsuite/caps/Makefile.am:
7731         * testsuite/caps/structure.c: (test1), (main): Add a very small
7732         test for structures.
7733
7734 2004-07-22  David Schleef  <ds@schleef.org>
7735
7736         * docs/random/ds/0.9-suggested-changes: more comments
7737         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7738
7739 2004-07-22  Benjamin Otte  <otte@gnome.org>
7740
7741         * gst/gstelementfactory.c: (gst_element_register):
7742           set the factory in the class struct, so gst_element_get_factory
7743           actually works
7744         * gst/parse/grammar.y:
7745           set element to playing when it gets unlocked as we can't rely on the
7746           bin state - all elements in the bin state might still be locked in
7747           NULL)
7748
7749 2004-07-22  Benjamin Otte  <otte@gnome.org>
7750
7751         * gst/gstelement.c: (gst_element_set_state_func):
7752           make this a static function
7753
7754 2004-07-22  Wim Taymans  <wim@fluendo.com>
7755
7756         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7757         (gst_opt_scheduler_pad_link):
7758         fix 147894-2 and the group_link problem.
7759
7760 2004-07-22  Wim Taymans  <wim@fluendo.com>
7761
7762         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7763         (handoff_identity), (main):
7764         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7765         (handoff_identity), (main):
7766         * testsuite/schedulers/Makefile.am:
7767         * testsuite/schedulers/group_link.c: (main):
7768         Show bug in scheduler when linking chain and loop based element 
7769         where the chain based element was not yet in a group.
7770
7771 2004-07-21  Benjamin Otte  <otte@gnome.org>
7772
7773         * gst/.cvsignore:
7774         * gst/autoplug/.cvsignore:
7775         * gst/elements/.cvsignore:
7776         * gst/indexers/.cvsignore:
7777         * libs/gst/bytestream/.cvsignore:
7778         * libs/gst/control/.cvsignore:
7779         * libs/gst/getbits/.cvsignore:
7780         * testsuite/states/.cvsignore:
7781         * testsuite/threads/.cvsignore:
7782           keep this up to date, since I seem to be the only one who cares
7783           about not missing files on commits (editor's note: no you don't,
7784           but feel free to change them at the time you add stuff instead
7785           of later on)
7786
7787 2004-07-21  Benjamin Otte  <otte@gnome.org>
7788
7789         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7790         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7791         (gst_bin_child_state_change_func), (set_kid_state_func),
7792         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7793           make state changes work correctly and reentrant (so removing
7794           elements from bins during state changes of bins doesn't cause
7795           segfaults or even wrong states)
7796           add debugging category and debugging output to print children states
7797         * gst/gstbin.c: (gst_bin_dispose): 
7798           add some assertion checks
7799         * gst/gstbin.h:
7800         * gst/gstbin.c: (gst_bin_sync_children_state):
7801           deprecate this function - it just does gst_bin_set_state (bin,
7802           GST_STATE (bin)) 
7803         * testsuite/threads/queue.c: (main):
7804           don't use gst_bin_sync_children_state anymore
7805         * testsuite/states/Makefile.am:
7806         * testsuite/states/bin.c:
7807           test that the state changes of bins work as expected
7808         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7809           some adjustments to change states correctly, too
7810         * gst/gstthread.c: (gst_thread_change_state):
7811           don't enable/disable "threadsafe" properties, they're unused and
7812           cause random segfaults
7813         * testsuite/threads/Makefile.am:
7814           the queue check randomly passes now, ignore it
7815
7816 2004-07-21  Benjamin Otte  <otte@gnome.org>
7817
7818         * gst/gstpad.c:
7819           check if data is NULL before outputting debug info. (fixes #145100)
7820
7821 2004-07-21  Benjamin Otte  <otte@gnome.org>
7822
7823         * gst/schedulers/entryscheduler.c:
7824         (gst_entry_scheduler_loop_wrapper),
7825         (gst_entry_scheduler_chain_wrapper),
7826         (gst_entry_scheduler_get_wrapper):
7827           reset the state when the cothread starts, so we don't get assertion
7828           failures on restarting of cothreads
7829
7830 2004-07-20  Benjamin Otte  <otte@gnome.org>
7831
7832         * gst/gstelement.c: (gst_element_link_pads_filtered):
7833           use correct sinkpad, if only sinkpad is specified, but not srcpad
7834           (fixes #147889)
7835         * gst/gstelement.c: (gst_element_set_state_func),
7836         (gst_element_change_state): ref/unref the element, signal handlers
7837         could get rid of the element otherwise
7838
7839 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7840
7841         * docs/random/ds/0.9-suggested-changes:
7842           Make note about renaming fixed-list to array.
7843         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7844         (_gst_value_initialize):
7845           Add array intersections.
7846         * testsuite/caps/intersect2.c: (main):
7847           Add test for array intersections.
7848
7849 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7850
7851         * configure.ac: back to cvs
7852
7853 === release 0.8.4 ===
7854
7855 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7856
7857         * configure.ac:
7858           releasing 0.8.4, "Paella"
7859           bump libtool versioning
7860
7861 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7862
7863         * po/LINGUAS:
7864         * po/ca.po:
7865           adding Catalan translation (Jordi Mallach)
7866
7867 2004-07-20  Wim Taymans  <wim@fluendo.com>
7868
7869         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7870         (handoff_identity), (main):
7871         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7872         (handoff_identity), (main):
7873         * testsuite/schedulers/Makefile.am:
7874         Added failing testcase for variant of #147894
7875
7876 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7877
7878         patch by: David Moore
7879
7880         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7881         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7882         (group_migrate_connected):
7883         * testsuite/schedulers/Makefile.am:
7884           fix for #142813 (Deadlock in optimal scheduler)
7885
7886 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7887
7888         patch by: Wim Taymans
7889
7890         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7891         (gst_opt_scheduler_schedule_run_queue),
7892         (gst_opt_scheduler_get_wrapper), (get_group),
7893         (group_migrate_connected):
7894         * testsuite/schedulers/Makefile.am:
7895           fix for #147819 (Add some checks in the opt scheduler)
7896
7897 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         patch by: Benjamin Otte
7900
7901         * gst/gstelementfactory.c: (__gst_element_details_set):
7902           fix for #147929: running gst-register in non-utf8 locale can cause
7903           invalid registry
7904
7905 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7906
7907         patch by: Wim Taymans
7908
7909         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7910         (group_has_element), (element_get_reachables_func),
7911         (group_migrate_connected):
7912           fix for #147894 (opt scheduler decoupled elements mismanagement)
7913         * testsuite/schedulers/Makefile.am:
7914           testsuite app now passes
7915
7916 2004-07-19  Wim Taymans  <wim@fluendo.com>
7917
7918         * testsuite/schedulers/147819.c: (handoff_identity1),
7919         (handoff_identity2), (main):
7920         * testsuite/schedulers/Makefile.am:
7921         Added testcase for bug 147819
7922
7923 2004-07-19  Wim Taymans  <wim@fluendo.com>
7924
7925         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7926         (handoff_identity), (main):
7927         * testsuite/schedulers/Makefile.am:
7928         Added testcase for bug 147894
7929
7930 2004-07-16  Wim Taymans  <wim@fluendo.com>
7931
7932         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7933         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7934         * testsuite/schedulers/Makefile.am:
7935         Added testsuite for bug 142183 in its two incarnations. Refcount
7936         is not increased for scheduled elements and threadsafe properties
7937         mutexes are not properly unlocked.
7938
7939 2004-07-16  Wim Taymans  <wim@fluendo.com>
7940
7941         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7942         (create_chain), (destroy_chain), (create_group), (destroy_group),
7943         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7944         (group_dec_link), (gst_opt_scheduler_pad_link),
7945         (group_inc_links_for_element), (group_migrate_connected):
7946         Call group_inc_link with the proper src->sink ordering -- 
7947         break this, and we break sort_chain. patch from wingo for bug
7948         147713.
7949         Partially revert patch 1.89. When adding a loop based element to 
7950         the scheduler, the links to other groups are automatically followed
7951         and incremented. This should not happen because the bin will call
7952         pad_link explicitly for those connection, resulting in them counted 
7953         twice. Results in assertion failure on pipeline cleanup.
7954
7955 2004-07-16  Wim Taymans  <wim@fluendo.com>
7956
7957         * testsuite/schedulers/143777-2.c: (main):
7958         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7959         (main):
7960         * testsuite/schedulers/Makefile.am:
7961         Added cleanup code to testcase 143777-2.
7962         Added testcase to show bug 147713, does not really show the
7963         deadlock as I can't figure out how to trigger it, but it does
7964         demonstrate bad ordering in the scheduler.
7965
7966 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7967
7968         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7969           change strndup to g_strndup.  Fixes #147707
7970
7971 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7972
7973         * po/af.po:
7974         * po/az.po:
7975         * po/cs.po:
7976         * po/en_GB.po:
7977         * po/fr.po:
7978         * po/nl.po:
7979         * po/sr.po:
7980         * po/sv.po:
7981         * po/tr.po:
7982         * po/uk.po:
7983           updated translations
7984
7985 2004-07-16  Benjamin Otte  <otte@gnome.org>
7986
7987         * gst/gstvalue.c: (gst_greatest_common_divisor):
7988           use ints and return ints, fractions only use ints, too, so this
7989           avoids accidently casting multiplications to unsigned
7990         (gst_value_lcopy_fraction): it's ints, not uint32
7991         (gst_value_set_fraction): disallow minint, multiplying and negation
7992           are broken with it
7993         (gst_value_fraction_multiply): fix to make large numbers work and get
7994         rid of the assumption that the multiplication of two ints fits an
7995         int64 - dunno if that's true for all systems
7996         * testsuite/caps/Makefile.am:
7997         * testsuite/caps/fraction-multiply-and-zero.c:
7998         (check_multiplication), (check_equal), (zero_test), (main):
7999           add tests for all the stuff above
8000         * testsuite/caps/value_compare.c: (test1):
8001           fix comment
8002         * tests/.cvsignore:
8003         * testsuite/caps/.cvsignore:
8004         * testsuite/debug/.cvsignore:
8005         * testsuite/dlopen/.cvsignore:
8006         * testsuite/states/.cvsignore:
8007           get up to date
8008
8009 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8010
8011         * docs/manual/bins-api.xml:
8012         * docs/manual/factories.xml:
8013         * docs/manual/helloworld.xml:
8014         * docs/manual/links-api.xml: 
8015           fixes for out of date info, incorrect info and grammar
8016
8017 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8018
8019         * docs/manual/pads.xml:
8020         * docs/manual/pads-api.xml: grammar fix
8021
8022 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8023
8024         * docs/manual/pads-api.xml: typo + grammar fix
8025
8026 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8027
8028         * docs/gst/gstreamer-sections.txt:
8029           add new symbols
8030         * docs/gst/tmpl/gstelement.sgml:
8031         * docs/gst/tmpl/gstpad.sgml:
8032         * docs/gst/tmpl/gsttypes.sgml:
8033         * docs/gst/tmpl/gstvalue.sgml:
8034           update docs
8035         * gst/gststructure.c: (gst_structure_set_valist),
8036         (gst_structure_from_abbr), (gst_structure_to_abbr):
8037         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8038         (gst_greatest_common_divisor), (gst_value_init_fraction),
8039         (gst_value_copy_fraction), (gst_value_collect_fraction),
8040         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8041         (gst_value_get_fraction_numerator),
8042         (gst_value_get_fraction_denominator),
8043         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8044         (gst_value_deserialize_fraction),
8045         (gst_value_transform_fraction_string),
8046         (gst_value_transform_string_fraction),
8047         (gst_value_compare_fraction), (_gst_value_initialize):
8048         * gst/gstvalue.h:
8049           adding GstFraction GValue type, get/set, and multiply
8050         * testsuite/caps/Makefile.am:
8051         * testsuite/caps/fraction.c: (test), (main):
8052         * testsuite/caps/string-conversions.c: (main):
8053         * testsuite/caps/value_compare.c: (test1), (main):
8054           add regression tests for GstFraction
8055
8056 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8057         
8058         * docs/manual/init-api.xml: Grammar fix
8059
8060 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8061
8062         * docs/manual/states.xml: Fix inconsistent information
8063
8064 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8065
8066         * gst/gstelement.c: (gst_element_set_state):
8067         * gst/gstpad.c: (gst_pad_try_set_caps):
8068         * gst/gststructure.c:
8069         * gst/gstthread.c: (gst_thread_child_state_change):
8070         * gst/gstvalue.c: (gst_value_compare_double):
8071         * gst/gstvalue.h:
8072         * testsuite/parse/parse1.c: (main):
8073           debugging additions and style cleanups
8074
8075 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8076
8077         * docs/manual/states.xml: Grammar fix
8078
8079 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8080
8081         * docs/manual/pads.xml: Grammar fix
8082
8083 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8084
8085         * docs/manual/elements.xml: Fixed image reference
8086
8087 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8088
8089         * docs/manual/goals.xml: Grammar fix
8090
8091 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8092
8093         * docs/manual/motivation.xml:
8094         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8095
8096 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8097
8098         * docs/manual/motivation.xml: Fix spelling
8099
8100 2004-07-15  Benjamin Otte  <otte@gnome.org>
8101
8102         * gst/gstelement.h: 
8103           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8104           strings.
8105         * gst/gstelement.c (gst_element_class_init):
8106           GError's are boxed, not objects
8107         * gst/gstmarshal.list:
8108           update list for the fixed error signal
8109
8110 2004-07-14  Andy Wingo  <wingo@pobox.com>
8111
8112         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8113         there all along, but the function wasn't. (guile-gstreamer's build
8114         system uses the address of the function -- I wasn't actually
8115         trying to use this.)
8116
8117 2004-07-14  Andy Wingo  <wingo@pobox.com>
8118
8119         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8120         as gst_pad_proxy_pad_link) just link to every other pad when they
8121         are called. In the case where the graph has cycles, this will mean
8122         that a call to try_set_caps will recurse. Allow this recursion
8123         and return OK, while we wait for the first try_set_caps to give a
8124         proper return value.
8125         (gst_pad_link_call_link_functions): Since this function is the
8126         only one to set the NEGOTIATING flag on a pad, if the flag is set
8127         it means that the link functions have indirectly recursed. If this
8128         happens, error out to avoid infinite recursion and an eventual
8129         SEGV.
8130         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8131         (gst_pad_proxy_getcaps): Intersect the result with the template
8132         caps to ensure that the return value is valid.
8133
8134 2004-07-14  Andy Wingo  <wingo@pobox.com>
8135
8136         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8137         one refcount, the calling function is the owner of the buffer.
8138
8139 2004-07-14  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8142         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8143         Fix stupid warning when an element is to be migrated but
8144         is already migrated.
8145
8146 2004-07-14  Wim Taymans  <wim@fluendo.com>
8147
8148         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8149         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8150         Make sure that a single non-loop-based element does not 
8151         end up in a group. This fixes the testsuite again.
8152
8153 2004-07-14  Wim Taymans  <wim@fluendo.com>
8154
8155         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8156         (add_to_group), (merge_groups), (schedule_group),
8157         (gst_opt_scheduler_get_wrapper), (group_elements),
8158         (group_dec_link), (gst_opt_scheduler_pad_link),
8159         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8160         (gst_opt_scheduler_iterate):
8161         move isolated groups to a new chain.
8162         Emit a warning instead of segfaulting in some error cases.
8163         Fix a bug where the link count between groups was not calculated 
8164         correctly. Fixes #144510.
8165
8166 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8167         * gst/elements/gstfilesrc.c:
8168           Binary files support under Windows now OK
8169       
8170 2004-07-13  Benjamin Otte  <otte@gnome.org>
8171
8172           compatibility fixes for Solaris 8/gcc 2.95
8173         * configure.ac:
8174           include libintl libs in LDFLAGS
8175         * gstvalue.c (gst_value_deserialize_buffer):
8176           cast isxdigit stuff to int to silence compiler warning
8177
8178 2004-07-12  Benjamin Otte  <otte@gnome.org>
8179
8180         * gst/gsttypes.h:
8181           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8182           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8183           just causes support madness
8184         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8185           make it work without this
8186         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8187         (gst_file_index_commit):
8188           glib IO channels don't want binary mode
8189         * testsuite/bytestream/filepadsink.c: (main):
8190         * testsuite/bytestream/test1.c: (read_param_file):
8191           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8192
8193 2004-07-12  Benjamin Otte  <otte@gnome.org>
8194
8195         * gst/gstelement.c: (gst_element_class_init),
8196         (gst_element_set_state), (gst_element_set_state_func):
8197           virutalize gst_element_set_state, use set_state member in class
8198           struct that was already added in 0.7 for this.
8199         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8200         (gst_bin_change_state):
8201           make gst_bin_foreach works similar to other foreach functions, plug
8202           memleaks in it. Make functions using it work with the new approach.
8203           Document gst_bin_foreach, so it can be exported if we want to
8204         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8205           use virtualized set_state to make set_state on bins set the state of
8206           all its children.
8207
8208 2004-07-12  Benjamin Otte  <otte@gnome.org>
8209
8210         * configure.ac:
8211           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8212           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8213         * gst/gstpad.c: (gst_pad_alloc_buffer):
8214           allow buffer_alloc functions to return NULL and allocate a normal
8215           buffer in that case
8216
8217 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8218         * gst/elements/gstfilesink.c:
8219         * gst/elements/gstfilesrc.c:
8220         * gst/indexers/gstfileindex.c:
8221         * gst/gsttypes.h:
8222         * testsuite/bytestream/filepadsink.c:
8223         * testsuite/bytestream/test1.c:
8224           Handle binary files under Windows
8225
8226 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8227         * docs/manual/win32.xml:
8228         * win32/config.h:
8229         * win32/gst-register.vcproj:
8230         * win32/gstreamer.def:
8231           Update to another gettext public build
8232
8233 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8234         * gst/gstplugin.c:
8235           Fix an impossible C syntax
8236         * win32/config.h:
8237           Disable i18n under Windows for the moment
8238         * win32/gst-register.vcproj:
8239           Use this configuration
8240
8241 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8242         * docs/manual/quotes.xml:
8243           Keep the quotes file alive
8244         * docs/random/ds/0.9-suggested-changes:
8245           Add the suggestion of including a 'rowstride' as part of video
8246           format caps
8247
8248 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8249
8250         * gst/gstelement.c: (gst_element_set_state),
8251         (gst_element_change_state):
8252           d'oh.  Set PENDING state correctly before forcing bin to change.
8253         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8254         (gst_structure_parse_fixed_list):
8255         * gst/schedulers/gstoptimalscheduler.c:
8256         (gst_opt_scheduler_state_transition):
8257         * testsuite/states/parent.c: (main):
8258           remove comment now that it's fixed.
8259
8260 2004-07-11  Benjamin Otte  <otte@gnome.org>
8261
8262         * gst/gstclock.h:
8263           GST_SECOND shouldn't cause a conversion to unsigned.
8264         * testsuite/clock/.cvsignore:
8265         * testsuite/clock/Makefile.am:
8266         * testsuite/clock/signedness.c: (main):
8267           make sure it never will again
8268
8269 2004-07-11  Andy Wingo  <wingo@pobox.com>
8270
8271         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8272         whose state is higher than the bin state, raise the bin state to
8273         ensure that bin state := highest child state.
8274         
8275 2004-07-11  Andy Wingo  <wingo@pobox.com>
8276
8277         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8278         procedure on the children of a bin. Assumes that the procedure can
8279         change the set of children.
8280         (set_kid_state_func): New static function.
8281         (gst_bin_change_state): Use gst_bin_foreach to call
8282         set_kid_state_func. Fixes a bug: if a child had a state-change
8283         handler that removes it from the bin, there would be a segfault.
8284         Hopefully it should also work in the case where the state-change
8285         handler on one child adds or removes other children. In any case,
8286         fixes should go to gst_bin_foreach.
8287
8288 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * gst/gstelement.c: (gst_element_set_state):
8291           compatibility fix for latest plugins release.  Change loop back
8292           to while {}
8293
8294 2004-07-09  Wim Taymans  <wim@fluendo.com>
8295
8296         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8297         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8298         (gst_thread_main_loop):
8299         Since remove is virtual in GstBin we must not assume the 
8300         elements GList to have anothing useful.
8301         Add some more logging to GstThread and be a bit more paranoid
8302         when resetting the scheduler.
8303         Set the state of the bin to NULL before removing the children.
8304
8305 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8306
8307         * testsuite/threads/Makefile.am:
8308         * testsuite/threads/threadg.c:
8309           added test to check if problem when removing all elements from a
8310           GstThread before setting GstThread state to NULL
8311
8312 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8313
8314         * docs/gst/tmpl/gstelement.sgml:
8315         * docs/gst/tmpl/gsttypes.sgml:
8316         * gst/gstbin.c: (gst_bin_change_state):
8317         * gst/gstelement.c: (gst_element_set_state),
8318         (gst_element_change_state):
8319           rework so that for bins we try to set the state on all children
8320           as well even if the bin is in the correct state already.
8321           change while to do so at least one iteration is done.
8322           For regular elements, we fall back to the previous behaviour for
8323           now since we first need a new plugins release.
8324         * testsuite/states/parent.c: (main):
8325           test for this case
8326           Fixes #123774
8327
8328 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8329
8330         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8331         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8332         (gst_queue_release_locks), (gst_queue_change_state),
8333         (gst_queue_set_property):
8334           add proper lock debugging.  Change dispose to finalize, since
8335           we're freeing mutexes and other stuff which should happen only once.
8336
8337 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8338
8339         * docs/gst/tmpl/gstelement.sgml:
8340         * docs/gst/tmpl/gstplugin.sgml:
8341         * docs/gst/tmpl/gsttypes.sgml:
8342         * docs/pwg/building-state.xml:
8343         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8344         * gst/gstelement.c: (gst_element_change_state):
8345         * gst/gstthread.c: (gst_thread_change_state):
8346           catch wrong state changes in element base class.
8347
8348 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8349
8350         * gst/gstinfo.h:
8351           clean up layout a little.
8352
8353 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8354
8355         * configure.ac:
8356         * testsuite/Makefile.am:
8357         * testsuite/states/Makefile.am:
8358         * testsuite/states/parent.c: (main):
8359           re-enable states testsuite dir.  Add test for state changes and
8360           parent behaviour
8361
8362 2004-07-09  Wim Taymans  <wim@fluendo.com>
8363
8364         * gst/schedulers/gstoptimalscheduler.c:
8365         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8366         (element_get_reachables_func), (element_get_reachables),
8367         (debug_element), (rechain_group), (group_migrate_connected),
8368         (gst_opt_scheduler_pad_unlink):
8369         Do not try to migrate decoupled elements to a new group since
8370         they are not added to groups.
8371
8372 2004-07-08  Benjamin Otte  <otte@gnome.org>
8373
8374         * gst/gstelement.c: (gst_element_error_func):
8375           make reentrant (= allow removing elements in error handler)
8376
8377 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8378
8379         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8380         (gst_pad_send_event), (gst_pad_call_chain_function):
8381           events sent to elements below PAUSED cannot be handled, so
8382           don't try to
8383
8384 2004-07-08  Wim Taymans  <wim@fluendo.com>
8385
8386         * gst/schedulers/gstoptimalscheduler.c:
8387         (chain_recursively_migrate_group), (create_group),
8388         (schedule_group), (gst_opt_scheduler_pad_link),
8389         (group_elements_set_visited), (element_get_reachables_func),
8390         (element_get_reachables), (group_can_reach_group), (debug_element),
8391         (rechain_group), (group_migrate_connected),
8392         (gst_opt_scheduler_pad_unlink):
8393         * testsuite/schedulers/Makefile.am:
8394         Implemented group splitting and rechaining.
8395         Fixes 143777 and 143777-2 in the testsuite.
8396
8397 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8398
8399         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8400           extra debugging
8401         * gst/gstevent.h:
8402         * gst/gstinfo.c: (gst_debug_log_default):
8403           print time nicely.  add thread pointer until someone figures out
8404           a completely portable way of getting at thread id's.
8405         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8406         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8407         (gst_pad_call_chain_function):
8408           extra debugging
8409         * gst/schedulers/gstoptimalscheduler.c:
8410         (get_group_schedule_function), (loop_group_schedule_function),
8411         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8412         (pad_clear_queued), (gst_opt_scheduler_iterate):
8413           rename BUFPEN and friends to DATAPEN since that's what they are.
8414
8415 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8416
8417         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8418         * gst/gstbuffer.h:
8419         * gst/gstpad.c:
8420           cleanups and debugging
8421
8422 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8423
8424         * configure.ac:
8425         * gst/gstvalue.c: (gst_value_compare_enum),
8426         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8427         (gst_value_can_compare), (gst_value_compare):
8428         * testsuite/Makefile.am:
8429         * testsuite/enumcaps/Makefile.am:
8430         * testsuite/enumcaps/enumcaps.c:
8431           Fix enum serialization, deserialization, comparison in caps, add
8432           a test to ensure that this continues working in the future.
8433
8434 2004-07-06  David Schleef  <ds@schleef.org>
8435
8436         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8437         Fix memleak.
8438
8439 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8440
8441         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8442         * gst/gstplugin.h:
8443         * gst/registries/gstxmlregistry.c:
8444         (plugin_times_older_than_recurse), (plugin_times_older_than),
8445         (gst_xml_registry_parse_padtemplate):
8446           only rebuild registry when actual plugins have a newer time than
8447           the registry.  Fixes #145520
8448
8449 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * docs/manual/manual.xml:
8452         * docs/manual/win32.xml:
8453           add chapter on win32 building.  fixes #142422
8454
8455 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8458
8459         * gst/autoplug/gstspider.c: (gst_spider_init),
8460         (gst_spider_dispose):
8461           fix spider memleaks.  fixes #137863
8462
8463 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8464
8465         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8466
8467         * gst/schedulers/gstoptimalscheduler.c:
8468         (gst_opt_scheduler_pad_unlink):
8469           fix SIGBUS error, fixes #145338
8470
8471 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8472
8473         * gst/gstobject.c: (gst_object_replace):
8474         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8475         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8476           clean up clock lifecycle.  Fixes #109831
8477
8478 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8479
8480         * po/LINGUAS:
8481         * po/cs.po:
8482           added Czech translation (Miloslav Trmac)
8483
8484 2004-07-04  David Schleef  <ds@schleef.org>
8485
8486         * tools/Makefile.am:
8487         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8488
8489 2004-07-04  David Schleef  <ds@schleef.org>
8490
8491         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8492
8493 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8494
8495         * gst/gstbin.c: (gst_bin_restore_thyself):
8496           chain to parent restore so the bins get restored correctly
8497           in the editor
8498
8499 2004-07-03  David Schleef  <ds@schleef.org>
8500
8501         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8502         Actually do something in these functions, like before the big
8503         caps change.  (bug #145137)
8504
8505 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8506
8507         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8508         (gst_element_get_compatible_pad_filtered):
8509         * gst/gstthread.c: (gst_thread_main_loop):
8510           more debugging
8511
8512 2004-07-02  David Schleef  <ds@schleef.org>
8513
8514         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8515         * gst/gstobject.h:
8516         * gst/gstparse.h:
8517         * gst/gsttrace.h:
8518         * gst/gstxml.h:
8519
8520 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * gst/gstpad.c: (gst_pad_check_schedulers),
8523         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8524         (gst_pad_link_prepare):
8525           revert until testsuite is fixed
8526
8527 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8528
8529         * testsuite/Makefile.am:
8530         * testsuite/caps/filtercaps.c: (main):
8531         * testsuite/clock/clock1.c: (main):
8532         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8533           fix some more tests
8534
8535 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8536
8537         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8538         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8539         * testsuite/cleanup/cleanup4.c: (main):
8540           fix testsuite
8541
8542 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8543
8544         * libs/gst/control/control.c:
8545         * libs/gst/control/dparam.c:
8546         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8547         * libs/gst/control/dparammanager.c:
8548         * libs/gst/control/dparammanager.h:
8549         * testsuite/dynparams/Makefile.am:
8550         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8551         (gst_dptest_change_state), (gst_dptest_chain), (main):
8552           fix testcase for dparams
8553           add debugging category
8554
8555 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8556
8557         * testsuite/Rules:
8558           change path
8559
8560 2004-07-02  Benjamin Otte  <otte@gnome.org>
8561
8562         * tests/.cvsignore:
8563         * tests/Makefile.am:
8564         * tests/mass_elements.c: (gst_get_current_time), (main):
8565           add simple benchmark to test various speeds of fakesrc ! identity !
8566           identity ! ... ! fakesink.
8567           Usage: mass_elements [num_identities] [num_buffers]
8568           If not specified they default to 1000.
8569
8570 2004-07-02  Benjamin Otte  <otte@gnome.org>
8571
8572         * gst/gstpad.c: (gst_pad_check_schedulers),
8573         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8574         (gst_pad_link_prepare):
8575           check that pads that get linked belong to the same manager. The old
8576           code allowed linking elements before putting them into bins, so it
8577           worked to link them and then put them in different threads, which
8578           lead to weird behaviour.
8579           Since this effectively disallows linking elements before putting
8580           them in a bin, some applications might not work after this and error
8581           out. If these applications are too critical, we might need to revert
8582           that patch. Please test this before the next release...
8583
8584 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8585
8586         * gst/gstpad.c: (gst_pad_get_caps):
8587           throw an error if the getcaps function does not return a subset of
8588           the template caps.
8589         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8590           make disconts without position info an error in debugging
8591         * tests/spidey_bench.c: (handoff), (main):
8592           don't count first try when averaging
8593
8594 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8595
8596         * gst/gstplugin.c: (gst_plugin_load_file):
8597           figure out problem with dynamic test
8598
8599 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8600
8601         * docs/gst/Makefile.am:
8602           fix docs build
8603
8604 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8605
8606         * po/POTFILES.in:
8607         * po/af.po:
8608         * po/az.po:
8609         * po/en_GB.po:
8610         * po/fr.po:
8611         * po/nl.po:
8612         * po/sr.po:
8613         * po/sv.po:
8614         * po/tr.po:
8615         * po/uk.po:
8616         * tools/gst-register.c: (plugin_added_func), (main):
8617           i18n-ize -register, fix plural
8618
8619 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8620
8621         * gst/elements/gstidentity.c: (gst_identity_class_init),
8622         (gst_identity_init), (gst_identity_chain),
8623         (gst_identity_set_property), (gst_identity_get_property):
8624         * gst/elements/gstidentity.h:
8625           check for perfect stream
8626
8627 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8628
8629         * gst/elements/gstidentity.c: (gst_identity_chain):
8630           print offset_end
8631
8632 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * docs/gst/Makefile.am:
8635         * docs/gst/gstreamer-docs.sgml:
8636           doc fixes
8637
8638 2004-06-24  David Schleef  <ds@schleef.org>
8639
8640         * autogen.sh:  Remove call to env, since the buildbot isn't
8641         broken anymore.
8642
8643 2004-06-24  Wim Taymans  <wim@fluendo.com>
8644
8645         * gst/elements/Makefile.am:
8646         * gst/elements/gstelements.c:
8647         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8648         (gst_multifdsink_class_init), (gst_multifdsink_init),
8649         (gst_multifdsink_add), (gst_multifdsink_remove),
8650         (gst_multifdsink_clear), (gst_multifdsink_chain),
8651         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8652         * gst/elements/gstmultifdsink.h:
8653         Added an element that writes to multiple filedescriptors at once.
8654
8655 2004-06-24  Benjamin Otte  <otte@gnome.org>
8656
8657         * gst/parse/grammar.y:
8658           don't try to link elements before they have been added to bins
8659
8660 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8661
8662         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8663         (gst_file_pad_get_length):
8664         * libs/gst/bytestream/filepad.h:
8665           add 2 new functions
8666
8667 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8668
8669         * docs/gst/gstreamer-sections.txt:
8670         remove from docs, the define that Benjamin removed from gstelement.h
8671
8672 2004-06-22  Benjamin Otte  <otte@gnome.org>
8673
8674         * gst/gstelement.h:
8675           remove define that referenced a nonexisting GstElement struct member
8676
8677 2004-06-20  Benjamin Otte  <otte@gnome.org>
8678
8679         * gst/gstdata.c: (gst_data_is_writable):
8680           whoops, return values were wrong, so writable data was marked as
8681           non-writable and vice versa. (fixes #143953, spotted by Francis
8682           Labonte)
8683           Shows how rarely we need to copy data ;)
8684
8685 2004-06-20  Benjamin Otte  <otte@gnome.org>
8686
8687         * testsuite/schedulers/.cvsignore:
8688         * testsuite/schedulers/Makefile.am:
8689         * testsuite/schedulers/143777-2.c: (main):
8690           add test for opt breakage in bug #143777
8691
8692 2004-06-20  Benjamin Otte  <otte@gnome.org>
8693
8694         * gst/gstpad.c: (gst_pad_call_chain_function):
8695           check for if we were unlinked while inside the chainfunction (fixes
8696           entrygthread having issues with #143777)
8697         * testsuite/schedulers/143777.c: (main):
8698         * testsuite/schedulers/Makefile.am:
8699           add a test for that fix
8700
8701 2004-06-20  Benjamin Otte  <otte@gnome.org>
8702
8703         * gst/gstvalue.c: (gst_value_set_int_range):
8704           test that start is smaller then end
8705         * libs/gst/bytestream/Makefile.am:
8706         * libs/gst/bytestream/filepad.c: 
8707         * libs/gst/bytestream/filepad.h:
8708           add GstFilePad - a pad that behaves like a FILE*
8709         * testsuite/bytestream/.cvsignore:
8710         * testsuite/bytestream/Makefile.am:
8711         * testsuite/bytestream/filepadsink.c: 
8712           test for the GstFilePad
8713
8714 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * gst/elements/gstidentity.c: (gst_identity_class_init),
8717         (gst_identity_init), (gst_identity_set_clock),
8718         (gst_identity_chain), (gst_identity_set_property),
8719         (gst_identity_get_property):
8720         * gst/elements/gstidentity.h:
8721         * gst/gstclock.c: (gst_clock_id_wait):
8722           add a "sync" property to sync to the clock
8723
8724 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8725
8726         * gst/gstelementfactory.c: (gst_element_factory_create):
8727           make the freakin "elementfactory bla has no type" message more
8728           useful. So we actually can do something when someone shows up
8729           complaining about it.
8730
8731 2004-06-15  Johan Dahlin  <johan@gnome.org>
8732
8733         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8734         found. This matches the old behavior better. Thanks to Thomas for
8735         pointing out.
8736
8737 2004-06-14  David Schleef  <ds@schleef.org>
8738
8739         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8740         -fomit-frame-pointer.  Appears to generate correct code in
8741         other cases as well.
8742
8743 2004-06-14  Johan Dahlin  <johan@gnome.org>
8744
8745         * tools/gst-inspect.c (main): Add two new command line options: -a
8746         to print all elements and -n to print the name on each line. Also
8747         fix some error reporting.
8748         (main): Simplify, remove -n and always print names if -a is specified
8749
8750 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8751
8752         * win32/gstconfig.h:
8753         * win32/GSTreamer.vcproj:
8754         * win32/Makefile:
8755         * gst/gstconfig.h.in:
8756         * gst/gst.h:
8757         * gst/gstbin.h:
8758         * gst/gstelement.h:
8759         * gst/gstevent.h:
8760         * gst/gstobject.h:
8761         * gst/gstpad.h:
8762         * docs/gst/gstreamer-sections.txt:
8763         * docs/gst/tmpl/gstconfig.sgml:
8764           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8765
8766 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8767         * docs/gst/gstreamer-sections.txt:
8768         * docs/gst/tmpl/gstconfig.sgml:
8769         Add the GSTREAMER_EXPORT macro to the docs
8770
8771 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8772
8773         * tools/gst-compprep.c: (handle_xmlerror), (main):
8774         Add a check for the version that introduced SetStructuredError to fix
8775         the build on FC1
8776
8777 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8778
8779         * win32/msvc71.sln:
8780         * win32/testsuite/:
8781           prepare to compile the testsuite with MSVC
8782
8783 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8784
8785         * docs/manual/win32.xml:
8786           attempt to transform the Win32 README into an XML doc
8787
8788 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8789
8790         * gst/gst.c:
8791         * gst/gstbin.*:
8792         * gst/config.h.in:
8793         * gst/gstelement.*:
8794         * gst/gstevent.h:
8795         * gst/gstobject.*:
8796         * gst/gstpad.h:
8797         * tools/gst-register.c:
8798         * win32/gstreamer.def:
8799           extern symbols are now exported for the Windows DLL
8800
8801 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8802
8803         * gst/gstinfo.h:
8804           fix a problem to enable/disable DEBUG under MSVC
8805
8806 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8807
8808         * win32/:
8809           enable more debug code in DEBUG build
8810
8811 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8812
8813         * win32/config.h:
8814         * gst/gst-i18n-app.h:
8815           enable NLS under Windows
8816
8817 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8818         * tools/gst-compprep.c: (handle_xmlerror), (main):
8819           Make an error that baffled me a bit clearer
8820
8821 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8822
8823         * gst/gstqueue.c:
8824           don't use g_queue_get_length () because it's 2.4, use ->length
8825
8826 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8827
8828         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8829
8830         * tools/gst-inspect.c: (print_signal_info):
8831           don't free random data twice. (fixes #144185)
8832
8833 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8834
8835         * gst/gstqueue.c:
8836         * gst/gstqueue.h:
8837           fix removing from the wrong queue on event timeout
8838           fix disposing of the event queue by casting correctly
8839           add mutexes for handling the event queue
8840           someone was sleeping when fixing queue last time around :)
8841
8842 2004-06-10  Johan Dahlin  <johan@gnome.org>
8843
8844         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8845         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8846
8847 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8848
8849         * docs/random/gdp:
8850         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8851         * libs/gst/dataprotocol/dataprotocol.c:
8852         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8853         (gst_dp_buffer_from_header):
8854         * libs/gst/dataprotocol/dataprotocol.h:
8855         * libs/gst/dataprotocol/dp-private.h:
8856           rev version to 0.1, add buffer flags and copy them
8857
8858 2004-06-09  Johan Dahlin  <johan@gnome.org>
8859
8860         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8861         the flags from the buffer we're copying.
8862
8863 2004-06-09  Wim Taymans  <wim@fluendo.com>
8864
8865         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8866         * gst/elements/gstidentity.c: (gst_identity_init),
8867         (gst_identity_chain):
8868         Print more buffer info in fakesink.
8869         Make identity output similar to fakesink.
8870
8871 2004-06-07  Daniel Gazard  <dany42@free.fr>
8872
8873         reviewed by Benjamin Otte  <otte@gnome.org>
8874
8875         * configure.ac:
8876           fix cross compiling not working. (fixes #143741)
8877
8878 2004-06-07  Benjamin Otte  <otte@gnome.org>
8879
8880         * gst/gstelement.c: (gst_element_set_time_delay):
8881           add failure check
8882         * gst/gstinfo.h:
8883           put brackets around macro arguments of GST_TIME_ARGS, add note to
8884           move it to correct header in 0.9
8885
8886 2004-06-07  Benjamin Otte  <otte@gnome.org>
8887
8888         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8889         (gst_file_index_load), (_file_index_id_save_entries),
8890         (gst_file_index_commit), (gst_file_index_add_association),
8891         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8892         (gst_file_index_plugin_init):
8893           make debugging use a default category
8894
8895 2004-06-06  David Moore  <dcm@acm.org>
8896
8897         reviewed by Benjamin Otte  <otte@gnome.org>
8898
8899         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8900         (gst_fdsrc_change_state):
8901           reset offset counter when going READY => PAUSED. (fixes #142903)
8902
8903 2004-06-06  ed@catmur.co.uk
8904
8905         reviewed by Benjamin Otte  <otte@gnome.org>
8906
8907         * gst/registries/gstxmlregistry.c:
8908         (gst_xml_registry_rebuild_recurse):
8909           don't rely on g_dir_open to figure out if a file is a directory, use
8910           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8911           directories. (fixes #142850)
8912
8913 2004-06-06  Benjamin Otte  <otte@gnome.org>
8914
8915         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8916           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8917         * libs/gst/bytestream/adapter.c:
8918         * libs/gst/bytestream/adapter.h:
8919           fix copyright in header and typo in debugging category name
8920
8921 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8922
8923         * configure.ac:
8924           bump nano to cvs
8925
8926 === release 0.8.3 ===
8927
8928 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8929
8930         * configure.ac:
8931           update libtool versioning
8932           do a new release
8933         * docs/gst/tmpl/gstelement.sgml:
8934         * docs/gst/tmpl/gsttypes.sgml:
8935         * gst/gstinfo.c: (_gst_debug_init):
8936           put back GST_CAT_DATAFLOW to fix API breakage
8937
8938 2004-06-04  David Schleef  <ds@schleef.org>
8939
8940         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8941
8942 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8943
8944         * configure.ac:
8945           bump nano to cvs
8946
8947 === release 0.8.2 ===
8948
8949 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8950
8951         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8952           check GST_DEBUG environment variable which is parsed the same way
8953           as --gst-debug=
8954
8955 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8956
8957         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8958                             gstmd5sink.c gstshaper.c gsttee.c
8959                             gsttypefindelement.c
8960         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8961
8962           - removing trailing commas at end of enums
8963             it is correct C99 code but C90 compilers would complain
8964             (AIX, Forte, ...)
8965             ('should' fix #143290, at least partially)
8966
8967 2004-05-27  Wim Taymans  <wim@fluendo.com>
8968
8969         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8970         (chain_group_set_enabled), (create_group), (add_to_group),
8971         (merge_groups), (setup_group_scheduler), (group_elements),
8972         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8973         Don't try to follow the pad connections with other groups
8974         when a loop based element is added to the scheduler because
8975         the bin will inform the scheduler about the pad links a little
8976         later.
8977
8978 2004-05-27  Wim Taymans  <wim@fluendo.com>
8979
8980         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8981         (remove_from_chain), (chain_group_set_enabled),
8982         (setup_group_scheduler), (group_element_set_enabled),
8983         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8984         (gst_opt_scheduler_show):
8985         Elements without a group can do a state change as well, just wait
8986         with the setup of the scheduling function when it is added to a
8987         chain.
8988
8989 2004-05-27  Wim Taymans  <wim@fluendo.com>
8990
8991         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8992         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8993         (merge_groups), (setup_group_scheduler),
8994         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8995         (gst_opt_scheduler_show):
8996         Fixes to maintain internal consistency of the scheduler data
8997         structures. 
8998          - adding an enabled group to a chain should increment the
8999            number of enabled elements in that chain.
9000          - removing an enabled group from a chain could disable the
9001            chain.
9002          - removing a disabled group from a chain could enable the
9003            chain.
9004          - add g_assert when internal inconsistency is detected.
9005          - adding an element to a group could increase the number of
9006            links this group has with other groups.
9007          - merging two groups also merges the chains.
9008          - also show group links in the _show method.
9009            
9010
9011 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9012
9013         * gst/gstcaps.c: (gst_caps_structure_simplify):
9014           don't print error messages when there is no error
9015         * gst/gstvalue.c: (gst_value_compare_int_range):
9016           compare the second value, too
9017         * testsuite/caps/Makefile.am:
9018         * testsuite/caps/random.c: (assert_on_error), (main):
9019           add tests to make sure the two things above are checked for
9020
9021 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9022
9023         * configure.ac:
9024         * libs/gst/dataprotocol/Makefile.am:
9025         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9026         * libs/gst/dataprotocol/dataprotocol.h:
9027           wrap header in GST_ENABLE_NEW.  make code use it
9028
9029 2004-05-23  Johan Dahlin  <johan@gnome.org>
9030
9031         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9032         so verbose and print GstElement signal names all the time.
9033
9034 2004-05-22  David Schleef  <ds@schleef.org>
9035
9036         * gst/registries/gstxmlregistry.c:
9037         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9038         (bug #142957)
9039
9040 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9041
9042         * configure.ac:
9043           scrub cflags for glib2 so gcc doesn't complain when glib is in
9044           /usr/local
9045
9046 2004-05-21  Johan Dahlin  <johan@gnome.org>
9047
9048         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9049         __GNUC__, patch from Brian Cameron, fixes bug #142804
9050
9051 2004-05-20  David Schleef  <ds@schleef.org>
9052
9053         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9054         comparison code.  (bug #142819)
9055
9056 2004-05-20  Wim Taymans  <wim@fluendo.com>
9057
9058         * gst/gstbuffer.c: (gst_buffer_default_copy):
9059         * gst/gstbuffer.h:
9060         Added Comment to a flag.
9061         copy relevant flags in _buffer_copy.
9062
9063 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9064
9065         reviewed by: Wim Taymans <wim at fluendo dot com>
9066
9067         * gst/gstbuffer.h:
9068           add GST_BUFFER_IN_CAPS buffer flag
9069         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9070         (gst_structure_parse_any_list), (gst_structure_parse_list),
9071         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9072         * gst/gstvalue.c: (gst_value_serialize_any_list),
9073         (gst_value_transform_any_list_string),
9074         (gst_value_list_prepend_value), (gst_value_list_append_value),
9075         (gst_value_list_get_size), (gst_value_list_get_value),
9076         (gst_value_transform_list_string),
9077         (gst_value_transform_fixed_list_string),
9078         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9079         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9080         (_gst_value_initialize):
9081         * gst/gstvalue.h:
9082           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9083           < , > as a format.
9084         * testsuite/caps/string-conversions.c: (main):
9085           add regression tests for < >
9086
9087 2004-05-20  Johan Dahlin  <johan@gnome.org>
9088
9089         * docs/gst/Makefile.am (all-local): Re-add
9090
9091 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9092
9093         * docs/gst/Makefile.am:
9094         * docs/gst/gstreamer-docs.sgml:
9095         * docs/libs/Makefile.am:
9096         * docs/libs/gstreamer-libs-docs.sgml:
9097           fix distcheck issues
9098
9099 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9100
9101         * libs/gst/dataprotocol/Makefile.am:
9102           add to autotest
9103
9104 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9105
9106         * libs/gst/dataprotocol/Makefile.am:
9107         * libs/gst/dataprotocol/dataprotocol.c:
9108         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9109         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9110         * libs/gst/dataprotocol/dp-private.h:
9111           use GST macros to read/write fixed length ints
9112           add some more asserts
9113
9114 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9115
9116         * docs/libs/gstreamer-libs-docs.sgml:
9117         * docs/libs/gstreamer-libs-sections.txt:
9118           remove idct and putbits
9119         * configure.ac:
9120         * docs/libs/tmpl/gstdataprotocol.sgml:
9121         * libs/gst/Makefile.am:
9122         * libs/gst/dataprotocol/Makefile.am:
9123         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9124         (buffer_test), (caps_test), (event_test), (main):
9125         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9126         (gst_dp_dump_byte_array), (gst_dp_init),
9127         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9128         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9129         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9130         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9131         (gst_dp_validate_header), (gst_dp_validate_payload),
9132         (gst_dp_validate_packet), (plugin_init):
9133         * libs/gst/dataprotocol/dataprotocol.h:
9134         * libs/gst/dataprotocol/dp-private.h:
9135           add dataprotocol
9136
9137 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9138
9139         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9140           fix int variable deserialization and add a helper so we can actually
9141           debug this.
9142
9143 2004-05-18  David Schleef  <ds@schleef.org>
9144
9145         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9146           argv[0].  Calling yourself is probably not the best way to
9147           construct a test like this, btw.
9148
9149 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9150
9151         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9152           don't claim to be more intelligent than a scheduler when the
9153           scheduler claims the pipeline is stopped
9154         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9155         (safe_cothread_destroy),
9156         (gst_entry_scheduler_remove_all_cothreads),
9157         (gst_entry_scheduler_reset), (_remove_cothread),
9158         (gst_entry_scheduler_state_transition):
9159           hold off cothread destruction if we're not in main cothread
9160         * configure.ac:
9161         * testsuite/Makefile.am:
9162           add new test dir
9163         * testsuite/schedulers/.cvsignore:
9164         * testsuite/schedulers/Makefile.am:
9165           add tests
9166         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9167           check relinking and adding/removing elements from a running pipeline
9168         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9169           check unlinking in a running pipeline
9170         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9171           check unreffing a running pipeline
9172         * testsuite/schedulers/useless_iteration.c: (main):
9173           check iterating a pipeline that contains running threads works
9174
9175 2004-05-18  David Schleef  <ds@schleef.org>
9176
9177         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9178           is false.
9179
9180 2004-05-18  Wim Taymans  <wim@fluendo.com>
9181
9182         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9183         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9184         Fixed an error introduced with patch for 1.63. When setting
9185         a get based element as the entry point in a group, make sure
9186         to mark the group as GET based.
9187
9188 2004-05-18  Wim Taymans  <wim@fluendo.com>
9189
9190         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9191         (setup_group_scheduler), (loop_group_schedule_function),
9192         (gst_opt_scheduler_pad_link):
9193         Added some more debug info and fixed a bug where the group
9194         type was set to LOOP but it was in fact unknown.
9195
9196 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9197
9198         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9199           make resetting scheduler work twice in a row
9200
9201 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9202
9203         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9204         (CREATE_USERIALIZATION), (_gst_value_initialize),
9205         (gst_value_compare_float), (gst_value_serialize_float),
9206         (gst_value_deserialize_float), (gst_value_compare_enum),
9207         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9208           add serialization and comparison functions for long, int64, enum and
9209           float values
9210         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9211           use best serialization function in type hierarchy instead of only a
9212           matching one. This is required for enums to work.
9213         * gst/parse/grammar.y:
9214           use gst_caps_deserialize
9215         * testsuite/parse/Makefile.am:
9216           parse1 now works
9217         * testsuite/parse/parse1.c: (main):
9218           remove aggregator check, aggregator is broken, this test works now
9219           but fails because of bug #138012
9220         * testsuite/parse/parse2.c: (main):
9221           s/xvideosink/xvimagesink - this test looks a lot like we should
9222           disable it
9223
9224 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9225
9226         * gst/gstelement.c: (gst_element_class_init):
9227           whoops, store the signal id correctly
9228         * gst/schedulers/gstbasicscheduler.c:
9229         (gst_basic_scheduler_chain_wrapper):
9230           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9231           chain function isn't linked
9232
9233 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9234         * configure.ac:
9235         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9236         support until we decide where the flags should be used
9237         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9238         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9239         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9240         Output refused caps in the debug info
9241
9242 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9243
9244         * gst/elements/gstidentity.c: (gst_identity_chain):
9245           add duration debug
9246         * gst/gstinfo.c: (gst_debug_log_default):
9247           add timestamp
9248
9249 2004-05-13  Benjamin Otte  <otte@gnome.org>
9250
9251         * gst/gstpipeline.c: (gst_pipeline_dispose),
9252         (gst_pipeline_change_state):
9253           call gst_scheduler_reset on dispose (fixes #141416)
9254
9255 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9256
9257         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9258           compute mapsize correctly
9259         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9260           use correct datatypes when calling a varargs function
9261         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9262           push a DISCONT event as first thing
9263         * gst/gst_private.h:
9264         * gst/gstinfo.c: (_gst_debug_init):
9265           remove GST_DATAFLOW debugging category
9266         * gst/gstbin.c: (gst_bin_iterate):
9267           use GST_SCHEDULING category
9268         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9269         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9270         (gst_pad_call_get_function):
9271           add GST_DATAFLOW to easily track flow of buffers or events.
9272         * gst/gstqueue.c: (gst_queue_get_type),
9273         (gst_queue_handle_pending_events), (gst_queue_chain),
9274         (gst_queue_get), (gst_queue_handle_src_event):
9275           use own static debugging category GST_DATAFLOW for dataflow,
9276           use DEBUG category for showing which path events go, use LOG
9277           category for buffers.
9278
9279 2004-05-10  David Schleef  <ds@schleef.org>
9280
9281         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9282
9283 2004-05-10  David Schleef  <ds@schleef.org>
9284
9285         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9286         symbols, because otherwise we don't know what they are.  Thanks,
9287         the GStreamer team.
9288         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9289
9290 2004-05-10  David Schleef  <ds@schleef.org>
9291
9292         (from Steve Lhomme)
9293         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9294         are deleted.  Fix.
9295         * win32/Makefile.inspect:
9296         * win32/Makefile.launch:
9297         * win32/Makefile.register:
9298
9299 2004-05-10  David Schleef  <ds@schleef.org>
9300
9301         * gst/gstinfo.h: Add missing inline function.
9302         * gst/gsttrace.c: add include
9303         * gst/parse/grammar.y: remove unused code
9304         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9305         more portable.
9306         * tools/gst-register.c: wrap unistd.h
9307         
9308         More additions/fixes from Steve for the MSVC build.
9309         * win32/GStreamer.vcproj:
9310         * win32/Makefile:
9311         * win32/Makefile.inspect:
9312         * win32/Makefile.launch:
9313         * win32/Makefile.register:
9314         * win32/README.txt:
9315         * win32/gst-inspect.vcproj:
9316         * win32/gst-launch.vcproj:
9317         * win32/gst-register.vcproj:
9318         * win32/gstbytestream.def:
9319         * win32/gstbytestream.vcproj:
9320         * win32/gstconfig.h:
9321         * win32/gstelements.def:
9322         * win32/gstelements.vcproj:
9323         * win32/gstenumtypes.c:
9324         * win32/gstenumtypes.h:
9325         * win32/gstoptimalscheduler.def:
9326         * win32/gstoptimalscheduler.vcproj:
9327         * win32/gstreamer.def:
9328         * win32/gstspider.def:
9329         * win32/gstspider.vcproj:
9330         * win32/gstversion.h:
9331         * win32/msvc71.sln:
9332
9333 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9334
9335         * gst/gstelement.c: (gst_element_class_init),
9336         (gst_element_no_more_pads):
9337         * gst/gstelement.h:
9338           add gst_element_no_more_pads and the "no-more-pads" signal
9339
9340 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9341
9342         * gst/gstregistry.c: (gst_registry_add_plugin):
9343           refuse to add plugins when a plugin with same name is already
9344           registered. Fixes a bunch of "How to remove plugins?" issues.
9345           May lead to other problems though, let's test
9346
9347 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9348
9349         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9350         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9351         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9352
9353 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9354
9355         * tests/Makefile.am: fix am16 issue
9356
9357 2004-05-09  Benjamin Otte  <otte@gnome.org>
9358
9359         * libs/gst/bytestream/Makefile.am:
9360           we should indeed add .c files to makefiles or they won't be built
9361           (d'oh)
9362
9363 2004-05-08  Benjamin Otte  <otte@gnome.org>
9364
9365         * gst/gstpad.c: (gst_pad_proxy_fixate):
9366           really reduce the set of caps
9367
9368 2004-05-08  Benjamin Otte  <otte@gnome.org>
9369
9370         * tests/Makefile.am:
9371         * tests/spidey_bench.c: (handoff), (main):
9372           add benchmark to test how long spider needs to create a pipeline
9373
9374 2004-05-08  Benjamin Otte  <otte@gnome.org>
9375
9376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9377           mark links as unengaged when unnegotiating instead of deactivating.
9378           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9379
9380 2004-05-08  Benjamin Otte  <otte@gnome.org>
9381
9382         * docs/manual/helloworld.xml:
9383           s/audiosink/osssink (patch by Patrick Guimond)
9384
9385 2004-05-07  David Schleef  <ds@schleef.org>
9386
9387         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9388         since it contains important stuff.
9389
9390 2004-05-07  David Schleef  <ds@schleef.org>
9391
9392         * testsuite/caps/caps.c: (test3), (main): A check for appending
9393         ANY caps.
9394
9395 2004-05-07  David Schleef  <ds@schleef.org>
9396
9397         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9398         which may contain commas.  Fixes detection of -Wa,-mregnames
9399
9400 2004-05-06  David Schleef  <ds@schleef.org>
9401
9402         Changes to handle compilers that don't have variadic macro
9403         support.  In particular, glib headers define some inlines
9404         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9405         builds.
9406         * gst/Makefile.am:
9407         * gst/cothreads.c:
9408         * gst/elements/gstfdsink.c:
9409         * gst/elements/gstfdsrc.c:
9410         * gst/elements/gstfilesink.c:
9411         * gst/elements/gstfilesrc.c:
9412         * gst/gst_private.h:
9413         * gst/gstatomic.c:
9414         * gst/gstcaps.c: (gst_caps_append):
9415         * gst/gstcpu.c: (gst_cpuid_i386):
9416         * gst/gstelement.c:
9417         * gst/gsterror.c:
9418         * gst/gstfilter.c:
9419         * gst/gstinfo.h:
9420         * gst/gstprobe.c:
9421         * gst/gstquery.c:
9422         * gst/gstregistry.c:
9423         * gst/gststructure.c:
9424         * gst/gsttaginterface.c:
9425         * gst/gsttrace.c: (gst_trace_new):
9426         * gst/gsttrashstack.c:
9427         * gst/gsturi.c:
9428         * gst/gstvalue.c:
9429         * gst/parse/grammar.y:
9430         * gst/parse/parse.l:
9431         * tools/gst-inspect.c: (main):
9432         * tools/gst-launch.c: (main):
9433         * tools/gst-xmlinspect.c: (PUT_STRING):
9434
9435 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9436
9437         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9438         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9439         * gst/elements/gstfilesrc.h:
9440           send NEW_MEDIA events correctly
9441         * gst/elements/gsttypefindelement.c: (start_typefinding),
9442         (gst_type_find_element_handle_event):
9443           restart typefinding when we get a NEW_MEDIA event
9444         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9445         (gst_bin_dispose):
9446           don't die when someone removes elements in callbacks
9447         * gst/gstelement.c: (gst_element_change_state):
9448           improve debugging
9449         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9450           we need a NEW_MEDIA event to engage a link
9451         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9452           don't g_print debugging stuff
9453         * testsuite/caps/simplify.c: (check_caps):
9454
9455 2004-05-04  Benjamin Otte  <otte@gnome.org>
9456
9457         * gst/parse/grammar.y:
9458           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9459
9460 2004-05-04  Benjamin Otte  <otte@gnome.org>
9461
9462         * testsuite/caps/renegotiate.c: (main):
9463           improve output in error case
9464
9465 2004-05-04  Benjamin Otte  <otte@gnome.org>
9466
9467         * gst/parse/grammar.y:
9468           fix assert to not trigger when there's no error argument
9469         * gst/parse/parse.l:
9470           fix definition of caps to allow more than two structures
9471         * testsuite/caps/Makefile.am:
9472         * testsuite/caps/renegotiate.c: (main):
9473           it's sinesrc and works in that case
9474
9475 2004-05-04  Wim Taymans  <wim@fluendo.com>
9476
9477         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9478         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9479         when removing an element from a group, we always need to
9480         decrement the link count that this group had with other 
9481         groups through the element.
9482         added an extra assert to catch inconsistencies when decrementing
9483         the link count.
9484
9485 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * configure.ac:
9488         * docs/gst/Makefile.am:
9489         * docs/gst/gstreamer-sections.txt:
9490         * docs/gst/tmpl/gstcompat.sgml:
9491         * examples/appreader/Makefile.am:
9492         * examples/cutter/Makefile.am:
9493         * examples/events/Makefile.am:
9494         * examples/helloworld/Makefile.am:
9495         * examples/helloworld2/Makefile.am:
9496         * examples/launch/Makefile.am:
9497         * examples/manual/Makefile.am:
9498         * examples/mixer/Makefile.am:
9499         * examples/pingpong/Makefile.am:
9500         * examples/plugins/Makefile.am:
9501         * examples/queue/Makefile.am:
9502         * examples/queue2/Makefile.am:
9503         * examples/queue3/Makefile.am:
9504         * examples/queue4/Makefile.am:
9505         * examples/retag/Makefile.am:
9506         * examples/thread/Makefile.am:
9507         * examples/typefind/Makefile.am:
9508         * examples/xml/Makefile.am:
9509         * gst/Makefile.am:
9510         * gst/autoplug/Makefile.am:
9511         * gst/elements/Makefile.am:
9512         * gst/gstcompat.h:
9513         * gst/indexers/Makefile.am:
9514         * gst/parse/Makefile.am:
9515         * gst/registries/Makefile.am:
9516         * gst/schedulers/Makefile.am:
9517         * libs/gst/bytestream/Makefile.am:
9518         * libs/gst/control/Makefile.am:
9519         * libs/gst/getbits/Makefile.am:
9520         * po/af.po:
9521         * po/az.po:
9522         * po/en_GB.po:
9523         * po/fr.po:
9524         * po/nl.po:
9525         * po/sr.po:
9526         * po/sv.po:
9527         * po/tr.po:
9528         * po/uk.po:
9529         * tests/Makefile.am:
9530         * tests/bufspeed/Makefile.am:
9531         * tests/instantiate/Makefile.am:
9532         * tests/memchunk/Makefile.am:
9533         * tests/muxing/Makefile.am:
9534         * tests/negotiation/Makefile.am:
9535         * tests/probes/Makefile.am:
9536         * tests/sched/Makefile.am:
9537         * tests/seeking/Makefile.am:
9538         * tests/threadstate/Makefile.am:
9539         * testsuite/caps/Makefile.am:
9540         * testsuite/cleanup/Makefile.am:
9541         * testsuite/dlopen/Makefile.am:
9542         * testsuite/dynparams/Makefile.am:
9543         * testsuite/plugin/Makefile.am:
9544         * testsuite/states/Makefile.am:
9545         * tools/Makefile.am:
9546           reorganize compile/link flags to be consistent
9547           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9548
9549 2004-05-04  David Schleef  <ds@schleef.org>
9550
9551         The "once more, with feeling" check-in.
9552         * testsuite/caps/Makefile.am: dist caps_strings
9553         * testsuite/caps/renegotiate.c: (main): This test triggers a
9554           segfault in the core.  Marking as failing.
9555
9556 2004-05-03  David Schleef  <ds@schleef.org>
9557
9558         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9559           by the build bots.
9560         * testsuite/caps/renegotiate.c: (main): Same.
9561
9562 2004-05-03  David Schleef  <ds@schleef.org>
9563
9564         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9565
9566 2004-05-03  David Schleef  <ds@schleef.org>
9567
9568         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9569           variable to find our source file.
9570
9571 2004-05-03  David Schleef  <ds@schleef.org>
9572
9573         * configure.ac:  Link plugins with libgstreamer and dependent
9574           libraries
9575         * testsuite/caps/Makefile.am:
9576         * testsuite/caps/caps_strings:
9577         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9578           through a file of caps strings and test each one
9579
9580 2004-05-04  Benjamin Otte  <otte@gnome.org>
9581
9582         * libs/gst/bytestream/Makefile.am:
9583         * libs/gst/bytestream/adapter.c: 
9584         * libs/gst/bytestream/adapter.h:
9585           add GstAdapter, similar to bytestream, but doesn't require ugly event
9586           handling or uglier loopbased elements
9587
9588 2004-05-03  David Schleef  <ds@schleef.org>
9589
9590         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9591         * testsuite/caps/erathostenes.c:
9592         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9593
9594 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * docs/pwg/pwg.xml:
9597           remove hardcoded stylesheet path (duh)
9598         * docs/random/release:
9599         * docs/gst/gstreamer-sections.txt:
9600         * gst/Makefile.am:
9601         * gst/gst.h:
9602         * gst/gst_private.h:
9603         * gst/gstcaps.c:
9604         * gst/gstevent.c:
9605         * gst/gstformat.c:
9606         * gst/gstinfo.c:
9607         * gst/gstinfo.h:
9608         * gst/gstinterface.c:
9609         * gst/gstmemchunk.c:
9610         * gst/gstprobe.c:
9611         * gst/gstquery.c:
9612         * gst/gstregistry.c:
9613         * gst/gstregistrypool.c:
9614         * gst/gststructure.c:
9615         * gst/gsttaginterface.c:
9616         * gst/gstthread.c:
9617         * gst/gsttrace.c:
9618         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9619         * gst/gsturi.c:
9620         * gst/gstvalue.c:
9621           deprecate gst_info; remove gstlog.h
9622    
9623
9624 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9625
9626         * Makefile.am:
9627         * po/en_GB.po:
9628         * po/sv.po:
9629         * po/uk.po:
9630           updated translations
9631
9632 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9633
9634         * gst/gstbin.c: (gst_bin_dispose):
9635           better debugging
9636
9637 2004-05-03  Johan Dahlin  <johan@gnome.org>
9638
9639         * gst/schedulers/gstoptimalscheduler.c
9640         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9641         really is a GstElement. Avoids critical when running gst-launch -v
9642         and a oggdemux/decoding pipeline.
9643
9644 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9645
9646         * docs/gst/tmpl/gstpipeline.sgml :
9647         * docs/manual/elements-api.xml :
9648                 doc fix by Patrick Guimond (Protector) from devel ML
9649                 reviewed by ronald
9650
9651 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9652
9653         * docs/gst/Makefile.am :
9654         * docs/libs/Makefile.am :
9655                 apply a patch from Arwed v. Merkatz so that gtk-doc
9656                 generated docs install (same for .devhelp file)
9657                 (fixes part 1 of #138836)
9658
9659 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9660
9661         * docs/faq/dependencies.xml: typo
9662         * docs/faq/getting.xml :
9663             - fix download URL for new gstreamer site
9664             - hide sf.net download page as latest version aren't there
9665             - fix apt URLs
9666             - fill "get via CVS" paragraph (link to dev page on the site)
9667         * docs/faq/general.xml:
9668             hide status tables as they no more exists
9669             change case on plugins license file to reflect reality
9670         * docs/faq/troubleshooting.xml:
9671             remove the wiki question/answer as there is no more wiki
9672
9673 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * gst/gsterror.h:
9676           include the headers needed for declarations used in this header
9677
9678 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9679
9680         * docs/random/uraeus/gstreamer_and_midi.txt :
9681           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9682           (fixes #132288)
9683
9684 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9685
9686         reviewed by Benjamin Otte  <otte@gnome.org>
9687
9688         * gst/schedulers/gthread-cothreads.h:
9689           free allocated data for main cothread, too when destroying context
9690           (fixes #141417)
9691
9692 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9693
9694         * docs/manual/goals.xml : remove duplicated paragraph at end 
9695         of doc page (fixes #141448)
9696
9697 2004-04-29  David Schleef  <ds@schleef.org>
9698
9699         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9700         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9701
9702 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9703
9704         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9705           fix property
9706         * gst/gstcaps.c:
9707           fix doc string
9708         * po/POTFILES.in:
9709           rename typefind source file
9710
9711 2004-04-28  David Schleef  <ds@schleef.org>
9712
9713         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9714         * win32/GStreamer.vcproj:
9715         * win32/Makefile:
9716         * win32/config.h:
9717         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9718         (_trewinddir), (_ttelldir), (_tseekdir):
9719         * win32/dirent.h:
9720         * win32/gst-inspect.vcproj:
9721         * win32/gst-launch.vcproj:
9722         * win32/gst-register.vcproj:
9723         * win32/gstbytestream.vcproj:
9724         * win32/gstelements.vcproj:
9725         * win32/gstoptimalscheduler.vcproj:
9726         * win32/gstspider.vcproj:
9727         * win32/gtchar.h:
9728         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9729         * win32/mman.h:
9730         * win32/mman.inl:
9731         * win32/msvc71.sln:
9732
9733 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9734
9735         * gst/gst.c: (init_post):
9736         * gst/gstinfo.c:
9737           remove useless _gst_progname stuff
9738         * tools/gst-inspect.c: (print_field), (print_caps):
9739           improve caps output
9740
9741 2004-04-28  David Schleef  <ds@schleef.org>
9742
9743         Disable parsing of a lot of files that aren't part of the
9744         exported API.  Move corresponding template files to old/,
9745         waiting for removal when they don't contain anything
9746         interesting.
9747         * docs/gst/Makefile.am:
9748         * docs/gst/gstreamer-sections.txt:
9749         * docs/gst/tmpl/cothreads.sgml:
9750         * docs/gst/tmpl/cothreads_compat.sgml:
9751         * docs/gst/tmpl/gettext.sgml:
9752         * docs/gst/tmpl/gobject2gtk.sgml:
9753         * docs/gst/tmpl/grammar.tab.sgml:
9754         * docs/gst/tmpl/gst-i18n-app.sgml:
9755         * docs/gst/tmpl/gst-i18n-lib.sgml:
9756         * docs/gst/tmpl/gst_private.sgml:
9757         * docs/gst/tmpl/gstaggregator.sgml:
9758         * docs/gst/tmpl/gstarch.sgml:
9759         * docs/gst/tmpl/gstatomic_impl.sgml:
9760         * docs/gst/tmpl/gstbufferstore.sgml:
9761         * docs/gst/tmpl/gstdata_private.sgml:
9762         * docs/gst/tmpl/gstdisksink.sgml:
9763         * docs/gst/tmpl/gstdisksrc.sgml:
9764         * docs/gst/tmpl/gstelementfactory.sgml:
9765         * docs/gst/tmpl/gstextratypes.sgml:
9766         * docs/gst/tmpl/gstfakesink.sgml:
9767         * docs/gst/tmpl/gstfakesrc.sgml:
9768         * docs/gst/tmpl/gstfdsink.sgml:
9769         * docs/gst/tmpl/gstfdsrc.sgml:
9770         * docs/gst/tmpl/gstfilesink.sgml:
9771         * docs/gst/tmpl/gstfilesrc.sgml:
9772         * docs/gst/tmpl/gsthttpsrc.sgml:
9773         * docs/gst/tmpl/gstidentity.sgml:
9774         * docs/gst/tmpl/gstindexfactory.sgml:
9775         * docs/gst/tmpl/gstmarshal.sgml:
9776         * docs/gst/tmpl/gstmd5sink.sgml:
9777         * docs/gst/tmpl/gstmultidisksrc.sgml:
9778         * docs/gst/tmpl/gstmultifilesrc.sgml:
9779         * docs/gst/tmpl/gstpadtemplate.sgml:
9780         * docs/gst/tmpl/gstpipefilter.sgml:
9781         * docs/gst/tmpl/gstschedulerfactory.sgml:
9782         * docs/gst/tmpl/gstsearchfuncs.sgml:
9783         * docs/gst/tmpl/gstshaper.sgml:
9784         * docs/gst/tmpl/gstspider.sgml:
9785         * docs/gst/tmpl/gstspideridentity.sgml:
9786         * docs/gst/tmpl/gststatistics.sgml:
9787         * docs/gst/tmpl/gsttee.sgml:
9788         * docs/gst/tmpl/gsttimecache.sgml:
9789         * docs/gst/tmpl/gsttypefind.sgml:
9790         * docs/gst/tmpl/gsttypefindfactory.sgml:
9791         * docs/gst/tmpl/gstxmlregistry.sgml:
9792         * docs/gst/tmpl/gthread-cothreads.sgml:
9793         * docs/gst/tmpl/old/cothreads.sgml:
9794         * docs/gst/tmpl/old/cothreads_compat.sgml:
9795         * docs/gst/tmpl/old/gettext.sgml:
9796         * docs/gst/tmpl/old/gobject2gtk.sgml:
9797         * docs/gst/tmpl/old/grammar.tab.sgml:
9798         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9799         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9800         * docs/gst/tmpl/old/gst_private.sgml:
9801         * docs/gst/tmpl/old/gstaggregator.sgml:
9802         * docs/gst/tmpl/old/gstarch.sgml:
9803         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9804         * docs/gst/tmpl/old/gstbufferstore.sgml:
9805         * docs/gst/tmpl/old/gstdata_private.sgml:
9806         * docs/gst/tmpl/old/gstdisksink.sgml:
9807         * docs/gst/tmpl/old/gstdisksrc.sgml:
9808         * docs/gst/tmpl/old/gstelementfactory.sgml:
9809         * docs/gst/tmpl/old/gstextratypes.sgml:
9810         * docs/gst/tmpl/old/gstfakesink.sgml:
9811         * docs/gst/tmpl/old/gstfakesrc.sgml:
9812         * docs/gst/tmpl/old/gstfdsink.sgml:
9813         * docs/gst/tmpl/old/gstfdsrc.sgml:
9814         * docs/gst/tmpl/old/gstfilesink.sgml:
9815         * docs/gst/tmpl/old/gstfilesrc.sgml:
9816         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9817         * docs/gst/tmpl/old/gstidentity.sgml:
9818         * docs/gst/tmpl/old/gstindexfactory.sgml:
9819         * docs/gst/tmpl/old/gstmarshal.sgml:
9820         * docs/gst/tmpl/old/gstmd5sink.sgml:
9821         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9822         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9823         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9824         * docs/gst/tmpl/old/gstpipefilter.sgml:
9825         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9826         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9827         * docs/gst/tmpl/old/gstshaper.sgml:
9828         * docs/gst/tmpl/old/gstspider.sgml:
9829         * docs/gst/tmpl/old/gstspideridentity.sgml:
9830         * docs/gst/tmpl/old/gststatistics.sgml:
9831         * docs/gst/tmpl/old/gsttee.sgml:
9832         * docs/gst/tmpl/old/gsttimecache.sgml:
9833         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9834         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9835         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9836         * docs/gst/tmpl/old/types.sgml:
9837         * docs/gst/tmpl/types.sgml:
9838
9839         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9840         gtkdoc-scan doesn't like files with the same name in different
9841         directories.
9842         * gst/elements/Makefile.am:
9843         * gst/elements/gstelements.c:
9844         * gst/elements/gsttypefind.c: 
9845         * gst/elements/gsttypefind.h:
9846         * gst/elements/gsttypefindelement.c:
9847         * gst/elements/gsttypefindelement.h:
9848
9849 2004-04-28  David Schleef  <ds@schleef.org>
9850
9851         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9852         patch (bug #141317):
9853         * gst/gst-i18n-lib.h: Allow disabling gettext.
9854         * gst/gstatomic_impl.h: disable warning when it's dumb.
9855         * gst/gstclock.c: fix include
9856         * gst/gstcompat.h: fix variadic macro
9857         * gst/gstinfo.c: fix include
9858         * gst/gstmacros.h: add defines for inlines on MSVC
9859         * gst/gstplugin.c: fix includes
9860         * gst/gstregistry.c: fix includes
9861         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9862         * gst/gstsystemclock.c: fix include
9863         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9864         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9865         * gst/registries/gstxmlregistry.c:
9866         (gst_xml_registry_parse_element_factory): fix use of non-portable
9867         functions
9868         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9869         * libs/gst/control/dparammanager.h: same
9870
9871 2004-04-28  David Schleef  <ds@schleef.org>
9872
9873         Move a bunch of unused files to old/ with names that are
9874         not case-insensitive-unique.  These files still contain some
9875         useful information that needs to be merged into gstbin.sgml,
9876         etc., so they shouldn't be deleted yet.
9877         * docs/gst/tmpl/GstBin.sgml:
9878         * docs/gst/tmpl/GstBuffer.sgml:
9879         * docs/gst/tmpl/GstCaps.sgml:
9880         * docs/gst/tmpl/GstClock.sgml:
9881         * docs/gst/tmpl/GstCompat.sgml:
9882         * docs/gst/tmpl/GstData.sgml:
9883         * docs/gst/tmpl/GstElement.sgml:
9884         * docs/gst/tmpl/GstEvent.sgml:
9885         * docs/gst/tmpl/GstIndex.sgml:
9886         * docs/gst/tmpl/GstStructure.sgml:
9887         * docs/gst/tmpl/GstTag.sgml:
9888         * docs/gst/tmpl/old/GstBin.sgml:
9889         * docs/gst/tmpl/old/GstBuffer.sgml:
9890         * docs/gst/tmpl/old/GstCaps.sgml:
9891         * docs/gst/tmpl/old/GstClock.sgml:
9892         * docs/gst/tmpl/old/GstCompat.sgml:
9893         * docs/gst/tmpl/old/GstData.sgml:
9894         * docs/gst/tmpl/old/GstElement.sgml:
9895         * docs/gst/tmpl/old/GstEvent.sgml:
9896         * docs/gst/tmpl/old/GstIndex.sgml:
9897         * docs/gst/tmpl/old/GstStructure.sgml:
9898         * docs/gst/tmpl/old/GstTag.sgml:
9899
9900 2004-04-28  David Schleef  <ds@schleef.org>
9901
9902         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9903         (gst_caps_append), (gst_caps_append_structure),
9904         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9905         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9906         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9907         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9908         (gst_caps_intersect), (gst_caps_normalize),
9909         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9910         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9911         * gst/gstcaps.h: use GST_IS_CAPS().
9912
9913 2004-04-26  David Schleef  <ds@schleef.org>
9914
9915         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9916         assembly.  gcc doesn't handle it correctly. (bug #141083)
9917         * gst/gsttrashstack.h: same
9918
9919 2004-04-25  Benjamin Otte  <otte@gnome.org>
9920
9921         * gst/gstelement.c: (gst_element_change_state):
9922           fix assertion to do an int comparison
9923
9924 2004-04-25  Benjamin Otte  <otte@gnome.org>
9925
9926         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9927           better debugging output on error
9928
9929 2004-04-25  Benjamin Otte  <otte@gnome.org>
9930
9931         * gst/gstcaps.c: (gst_caps_subtract):
9932           fix memleak
9933
9934 2004-04-23  Benjamin Otte  <otte@gnome.org>
9935
9936         * gst/gstvalue.c: (gst_value_compare_buffer),
9937         (_gst_value_initialize):
9938           add comparison function for buffers
9939
9940 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9941
9942         * docs/pwg/pwg.xml:
9943           Just found out that this so-called "ima-wav" format is really
9944           just "dvi adpcm" (according to the MS WAV documentation). So
9945           renaming it. We didn't use it yet anyway.
9946
9947 2004-04-23  Benjamin Otte  <otte@gnome.org>
9948
9949         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9950           call gst_caps_is_subset
9951
9952 2004-04-23  Benjamin Otte  <otte@gnome.org>
9953
9954         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9955         (gst_caps_is_subset):
9956           add documentation
9957
9958 2004-04-23  Benjamin Otte  <otte@gnome.org>
9959           
9960         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9961         (gst_caps_structure_subtract), (gst_caps_subtract),
9962         (gst_caps_structure_figure_out_union),
9963         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9964           fix simplifying and subtracting not working correctly with optional
9965           properties
9966           solve assorted problems that make it now simplify ebven more
9967         * docs/gst/tmpl/gstcaps.sgml:
9968         * gst/gstcaps.h:
9969           make gst_caps_do_simplify return a bool to indicate if it simplified
9970         * testsuite/caps/simplify.c: (main):
9971           add more checks. The tests is quite a bit useless right now because
9972           the core is heavily simplifying itself.
9973         * testsuite/caps/caps.h:
9974           fix caps to contain all optional properties
9975
9976 2004-04-22  Benjamin Otte  <otte@gnome.org>
9977
9978         * docs/gst/tmpl/gstcaps.sgml:
9979         * docs/gst/tmpl/gstfilesrc.sgml:
9980         * docs/gst/tmpl/gststructure.sgml:
9981         * docs/gst/tmpl/gstvalue.sgml:
9982           update for recent API changes
9983         * gst/gstcaps.c: (gst_caps_do_simplify):
9984           fix to stop trying with a freed structure
9985         * gst/gstpad.c: (gst_pad_link_fixate):
9986           simplify caps
9987         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9988           remove C++ comment
9989         * gst/gstpad.h:
9990           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9991         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9992         (gst_structure_to_string):
9993           keep the correct type when using lists of ranges
9994         * gst/gstvalue.c: (gst_value_list_prepend_value),
9995         (gst_value_list_append_value):
9996           copy the value before adding to the list (d'oh)
9997         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9998         (gst_value_subtract_int_range_int_range):
9999           handle overflows correctly
10000         * gst/gstvalue.c: (gst_value_subtract_from_list):
10001           fix memleak
10002         * testsuite/caps/caps.h:
10003           add a caps that caused segfaults
10004
10005 2004-04-22  Benjamin Otte  <otte@gnome.org>
10006
10007         * testsuite/refcounting/pad.c: (main):
10008           fix test
10009
10010 2004-04-22  Benjamin Otte  <otte@gnome.org>
10011
10012         * gst/gstcaps.c: (gst_caps_subtract):
10013           allow subtracting ANY and EMPTY from ANY caps
10014
10015 2004-04-22  Benjamin Otte  <otte@gnome.org>
10016
10017         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10018         (gst_caps_union):
10019           only simplify in functions that create new caps. Simplifying in
10020           gst_caps_append breaks tests.
10021
10022 2004-04-22  Benjamin Otte  <otte@gnome.org>
10023
10024         * gst/gstcaps.c: (gst_caps_structure_simplify):
10025           unset GValue after use
10026         * gst/gstcaps.c: (gst_caps_append), 
10027         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10028           use gst_caps_simplify (reduces registry size by 30%)
10029         * gst/gstpad.c: (gst_pad_template_new):
10030           don't allow NULL caps
10031
10032 2004-04-22  Benjamin Otte  <otte@gnome.org>
10033
10034         * docs/gst/gstreamer-sections.txt:
10035           add gst_caps_do_simplify
10036         * gst/gstcaps.c:
10037           add documentation for gst_caps_do_simplify
10038         * gst/gstvalue.h:
10039           fix typo in gst_value_register_subtract_func declaration for gst-doc
10040
10041 2004-04-22  Benjamin Otte  <otte@gnome.org>
10042
10043         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10044           fix bug when converting from empty string.
10045         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10046         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10047           use gst_caps_new_empty to allocate a new caps. Only that function
10048           allocates memory for caps now.
10049         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10050         (gst_caps_remove_structure):
10051           add ability to remove one structure (but not to header yet)
10052         * gst/gstcaps.c: (gst_caps_compare_structures),
10053         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10054         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10055         * gst/gstcaps.h:
10056           add gst_caps_do_simplify that tries to simplify a caps in place.
10057           Deprecate old gst_caps_simplify function.
10058         * testsuite/caps/caps.h:
10059           add caps.h containing a common set of caps to test against.
10060         * testsuite/caps/sets.c: (check_caps), (main):
10061           use it.
10062         * testsuite/caps/.cvsignore:
10063         * testsuite/caps/Makefile.am:
10064         * testsuite/caps/simplify.c: (check_caps), (main):
10065           add test to check correctness and efficency of caps simplification.
10066
10067 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10068
10069         reviewed by Benjamin Otte  <otte@gnome.org>
10070
10071         * gst/gstparse.c: (_gst_parse_escape):
10072           Free the GString used in _gst_parse_escape()
10073
10074 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10075
10076         * gst/gstpad.c: (gst_pad_link_negotiate):
10077           refuse to link if the link is not possible
10078         * configure.ac:
10079         * testsuite/Makefile.am:
10080         * testsuite/negotiation/.cvsignore:
10081         * testsuite/negotiation/Makefile.am:
10082         * testsuite/negotiation/pad_link.c: (main):
10083           add test that checks the above behaviour
10084
10085 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10086
10087         * docs/gst/gstreamer-sections.txt:
10088           add newly added API
10089
10090 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10091
10092         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10093         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10094         (gst_filesrc_open_file), (gst_filesrc_close_file),
10095         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10096         * gst/elements/gstfilesrc.h:
10097           add support for non-regular files (#140734)
10098
10099 2004-04-21  Benjamin Otte  <otte@gnome.org>
10100
10101         * gst/gstpad.c: (gst_pad_link_fixate):
10102           add sophisticated error checking code to see if fixation functions
10103           did their fixation right
10104
10105 2004-04-21  Benjamin Otte  <otte@gnome.org>
10106
10107         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10108           check for ANY caps before appending/unioning
10109         * gst/gstcaps.c: (gst_caps_is_subset),
10110         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10111         (gst_caps_structure_subtract), (gst_caps_subtract):
10112         * gst/gstcaps.h:
10113           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10114           the API. deprecate gst_caps_is_equal_fixed
10115         * gst/gstpad.c: (gst_pad_try_set_caps):
10116         * gst/gstqueue.c: (gst_queue_link):
10117           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10118         * gst/gststructure.c: (gst_structure_get_name_id):
10119         * gst/gststructure.h:
10120           add function gst_structure_get_name_id
10121         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10122         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10123         (gst_value_subtract_int_range_int_range),
10124         (gst_value_subtract_double_double_range),
10125         (gst_value_subtract_double_range_double),
10126         (gst_value_subtract_double_range_double_range),
10127         (gst_value_subtract_from_list), (gst_value_subtract_list),
10128         (gst_value_can_intersect), (gst_value_subtract),
10129         (gst_value_can_subtract), (gst_value_register_subtract_func),
10130         (_gst_value_initialize):
10131         * gst/gstvalue.h:
10132           add support for subtracting values from each other. Note that
10133           subtracting means subtracting as in set theory. Required for caps
10134           stuff above.
10135         * testsuite/caps/.cvsignore:
10136         * testsuite/caps/Makefile.am:
10137         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10138         * testsuite/caps/sets.c: (check_caps), (main):
10139         * testsuite/caps/subtract.c: (check_caps), (main):
10140           add tests for subtraction and equality code.
10141
10142 2004-04-20  David Schleef  <ds@schleef.org>
10143
10144         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10145         * gst/indexers/Makefile.am:
10146         * gst/schedulers/Makefile.am:
10147         * libs/gst/bytestream/Makefile.am:
10148         * libs/gst/control/Makefile.am:
10149         * libs/gst/getbits/Makefile.am:
10150
10151 2004-04-20  David Schleef  <ds@schleef.org>
10152
10153         * common/as-libtool.mak: Fine-tune DLL building.
10154         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10155         (like gst-plugins)
10156         * examples/plugins/Makefile.am: remove plugindir
10157         * gst/autoplug/Makefile.am: DLL building fixes
10158         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10159         Windows.
10160         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10161         * gst/indexers/Makefile.am: DLL building fixes
10162         * gst/schedulers/Makefile.am: DLL building fixes.
10163         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10164         * libs/gst/control/Makefile.am: same
10165         * libs/gst/getbits/Makefile.am: same
10166         * testsuite/Makefile.am: New dlopen directory
10167         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10168         when dlopened.
10169         * testsuite/dlopen/dlopen_gst.c: (main): same
10170         * testsuite/dlopen/loadgst.c: (do_test): same
10171
10172 2004-04-20  David Schleef  <ds@schleef.org>
10173
10174         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10175         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10176
10177 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10178
10179         * gst/gstelement.c: (gst_element_wait),
10180         (gst_element_set_time_delay), (gst_element_change_state):
10181           Use GST_TIME_*
10182
10183 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10184
10185         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10186         (gst_spider_identity_plug):
10187           improve debugging messages
10188         * gst/gstbin.c: (gst_bin_remove_func):
10189           make sure the state_change function is only called with simple state
10190           transitions
10191
10192 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10195         (gst_fakesink_set_property), (gst_fakesink_chain):
10196         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10197         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10198         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10199         * gst/elements/gstidentity.c: (gst_identity_chain),
10200         (gst_identity_set_property):
10201         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10202         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10203           add warnings to _set_property for unknown arguments
10204           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10205
10206 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10207
10208         * Makefile.am:
10209         * docs/manuals.mak:
10210           add .po file download snippet
10211           fix a bug in the doc makefile
10212
10213 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * Makefile.am:
10216         * po/LINGUAS:
10217         * po/en_GB.po:
10218           Added en_GB translation (Gareth Owen)
10219
10220 2004-04-20  Johan Dahlin  <johan@gnome.org>
10221
10222         * gst/gstpad.c (_invent_event): Clean up
10223
10224 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10225
10226         * testsuite/caps/filtercaps.c: (main):
10227           fix test to test things correctly (caps are complicated)
10228
10229 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10230
10231         * testsuite/caps/Makefile.am:
10232         * testsuite/caps/filtercaps.c: (main):
10233           add test (that doesn't work right now, but should)
10234
10235 2004-04-19  David Schleef  <ds@schleef.org>
10236
10237         * configure.ac: Add test for allowing unaligned access.  Add define
10238         to put in gstconfig.h.
10239         * docs/gst/gstreamer-sections.txt: New symbols
10240         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10241         * docs/gst/tmpl/gstfilesrc.sgml:
10242         * docs/gst/tmpl/gstparse.sgml:
10243         * docs/gst/tmpl/gsttypes.sgml:
10244         * docs/gst/tmpl/gstutils.sgml:
10245         * docs/gst/tmpl/gstvalue.sgml:
10246         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10247         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10248         on most !i386/!powerpc architectures.  From Daniel Gazard
10249         <daniel.gazard@free.fr>.  (bug #140156)
10250         * po/af.po: Check in changes made by gettext.
10251         * po/az.po:
10252         * po/fr.po:
10253         * po/nl.po:
10254         * po/sr.po:
10255         * po/sv.po:
10256
10257 2004-04-20  Benjamin Otte  <otte@gnome.org>
10258
10259         * gst/schedulers/entryscheduler.c: 
10260         (gst_entry_scheduler_yield):
10261           refuse to yield when decoupled elements insist on doing that.
10262           At least it's better than crashing
10263
10264 2004-04-19  David Schleef  <ds@schleef.org>
10265
10266         * docs/libs/Makefile.am: Change sinclude to include
10267         * docs/gst/Makefile.am: same
10268         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10269
10270 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10271
10272         * po/LINGUAS:
10273         * po/uk.po:
10274           Added Ukrainian translation (Maxim V. Dziumanenko)
10275
10276 2004-04-19  Johan Dahlin  <johan@gnome.org>
10277
10278         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10279         checking here, do it before calling the function.
10280         Clean up, use for loops instead of while loops while iterating
10281         over lists.
10282
10283         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10284         in debug message.
10285         (gst_spider_create_and_plug): Improve debug message.
10286         General: Replace while loops which iterates over GLists with for
10287         loops. Which are much cleaner, improves readability, especially
10288         for gst_spider_identity_plug
10289
10290         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10291         fixes bug 140477
10292
10293 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10294
10295         * po/LINGUAS:
10296         * po/tr.po:
10297           Added Turkish translation (Baris Cicek)
10298
10299 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10300
10301         * docs/faq/troubleshooting.xml:
10302           Mention gst-register in the FAQ (fixes 139045).
10303
10304 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10305
10306         * docs/gst/gstreamer-sections.txt:
10307
10308 2004-04-17  Benjamin Otte  <otte@gnome.org>
10309
10310         * gst/gstelement.c: (gst_element_dispose):
10311           simplify
10312         * gst/gstpad.c: (gst_pad_call_chain_function):
10313           don't create loads of events due to bad macro usage
10314
10315 2004-04-16  David Schleef  <ds@schleef.org>
10316
10317         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10318         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10319         * gst/gstvalue.c: (gst_value_serialize_buffer),
10320         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10321         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10322         to indicate types that are fixed wrt caps or not.  Switching to
10323         this function fixes (bug #140298).
10324         * gst/gstvalue.h:
10325
10326 2004-04-16  David Schleef  <ds@schleef.org>
10327
10328         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10329         for GST_UNALIGNED_ACESS, since we essentially know which archs
10330         are ok.
10331
10332 2004-04-17  Benjamin Otte  <otte@gnome.org>
10333
10334         * docs/gst/Makefile.am:
10335           ignore gst/parse directory when building docs (fixes #140205)
10336
10337 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10338
10339         * testsuite/refcounting/mem.c: (vmsize):
10340           do error checking
10341
10342 2004-04-16  Johan Dahlin  <johan@gnome.org>
10343
10344         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10345         and gst_pad_call_get_function.
10346
10347 2004-04-15  David Schleef  <ds@schleef.org>
10348
10349         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10350         checks if we can access unaligned memory.
10351         * configure.ac: Use it.
10352
10353 2004-04-16  Benjamin Otte  <otte@gnome.org>
10354
10355         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10356         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10357         * gst/elements/gstfilesrc.h:
10358           s/seek_happened/need_discont/ and require discont before sending any
10359           data
10360
10361 2004-04-15  David Schleef  <ds@schleef.org>
10362
10363         * gst/gstvalue.c: (gst_value_serialize_buffer),
10364         (gst_value_deserialize_buffer), (_gst_value_initialize):
10365         Register these types as fundamental types. (bug #140015)
10366
10367 2004-04-16  Benjamin Otte  <otte@gnome.org>
10368
10369         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10370         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10371         (gst_pad_pull):
10372           implement enforcing discont events before buffers are passed. This
10373           allows state changes of only some elements and later correctly going
10374           on where they left off (or in short: you can now set audio sinks to
10375           NULL to release the device when the pipeline is paused)
10376         * gst/gstpad.c: (gst_pad_call_chain_function),
10377         (gst_pad_call_get_function):
10378         * gst/gstpad.h:
10379           add gst_pad_call_chain_function and gst_pad_call_get_function for
10380           scheduler interaction. They are required because of the changes
10381           above.
10382         * gst/schedulers/entryscheduler.c: (get_buffer),
10383         (gst_entry_scheduler_chain_wrapper),
10384         (gst_entry_scheduler_get_wrapper),
10385         (gst_entry_scheduler_state_transition),
10386         (gst_entry_scheduler_pad_link):
10387         * gst/schedulers/gstbasicscheduler.c:
10388         (gst_basic_scheduler_chain_wrapper),
10389         (gst_basic_scheduler_src_wrapper),
10390         (gst_basic_scheduler_chainhandler_proxy),
10391         (gst_basic_scheduler_gethandler_proxy),
10392         (gst_basic_scheduler_cothreaded_chain),
10393         (gst_basic_scheduler_chain_elements):
10394         * gst/schedulers/gstoptimalscheduler.c:
10395         (get_group_schedule_function), (pad_clear_queued),
10396         (gst_opt_scheduler_pad_link):
10397           use the new functions instead of calling get/chain-functions
10398           directly.
10399
10400 2004-04-15  David Schleef  <ds@schleef.org>
10401
10402         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10403         * docs/gst/tmpl/gstinfo.sgml: same
10404         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10405         gtk-doc put here.
10406         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10407         * examples/queue/queue.c: (main):  We iterate pipelines, not
10408         bins.  (bug #139996)
10409
10410 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10411
10412         * docs/pwg/advanced-types.xml:
10413           Add MS RLE support. Also document Qt RLE although I have no sample
10414           files for that yet. And document an extra property for ADPCM.
10415
10416 2004-04-15  David Schleef  <ds@schleef.org>
10417
10418         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10419         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10420         Windows.
10421
10422 2004-04-15  David Schleef  <ds@schleef.org>
10423
10424         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10425         symbol names to not conflict with new gstinfo.h symbols.
10426         * gst/gstinfo.h: Add inline functions for all those crazy
10427         compilers that don't know how to handle variadic macros (MSVC).
10428
10429 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10430
10431         * configure.ac: bump nano to 1
10432
10433 === release 0.8.1 ===
10434
10435 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10436
10437         * NEWS:
10438         * RELEASE:
10439         * configure.ac:
10440           releasing 0.8.1, "Snow Brigade"
10441
10442 2004-04-14  David Schleef  <ds@schleef.org>
10443
10444         * testsuite/Makefile.am: define tests_ignore
10445         * testsuite/Rules: Added new tests_ignore, which get compiled,
10446         but not run (generally because they're inconsistent or have
10447         heisenbugs).  Now we can ensure all the .c files compile in
10448         testsuite/.
10449         * testsuite/bins/Makefile.am: define tests_ignore
10450         * testsuite/bytestream/Makefile.am:
10451         * testsuite/caps/Makefile.am:
10452         * testsuite/clock/Makefile.am:
10453         * testsuite/debug/Makefile.am:
10454         * testsuite/debug/global.c: (gst_debug_log_one),
10455         (gst_debug_log_two): Fix compilation problem.
10456         * testsuite/dynparams/Makefile.am:
10457         * testsuite/elements/Makefile.am:
10458         * testsuite/ghostpads/Makefile.am:
10459         * testsuite/indexers/Makefile.am:
10460         * testsuite/parse/Makefile.am:
10461         * testsuite/plugin/Makefile.am:
10462         * testsuite/refcounting/Makefile.am:
10463         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10464         results, because it's not calculated correctly.
10465         * testsuite/refcounting/pad.c: (main): same
10466         * testsuite/states/Makefile.am:
10467         * testsuite/tags/Makefile.am:
10468         * testsuite/threads/Makefile.am:
10469
10470 2004-04-14  David Schleef  <ds@schleef.org>
10471
10472         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10473         generating bad code around the cpu detection asm code.
10474
10475 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10476
10477         * tools/gst-inspect.c: (print_element_info):
10478           print numeric version of rank as well, since we added some - 1
10479           rank values to elements
10480
10481 2004-04-13  David Schleef  <ds@schleef.org>
10482
10483         * configure.ac:  Disable various code when compiling for MinGW.
10484         * gst/elements/Makefile.am:
10485         * gst/elements/gstelements.c:
10486         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10487         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10488         * gst/registries/gstxmlregistry.c: (make_dir):
10489
10490 2004-04-13  David Schleef  <ds@schleef.org>
10491
10492         * gst/Makefile.am:
10493         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10494         assembly.
10495         * gst/gstcpuid_i386.s: remove
10496
10497 2004-04-13  David Schleef  <ds@schleef.org>
10498
10499         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10500         seems to think it needs to be done.
10501         * docs/gst/tmpl/gstfakesink.sgml:
10502         * docs/gst/tmpl/gstfakesrc.sgml:
10503         * docs/gst/tmpl/gstfdsink.sgml:
10504         * docs/gst/tmpl/gstfdsrc.sgml:
10505         * docs/gst/tmpl/gstfilesink.sgml:
10506         * docs/gst/tmpl/gstfilesrc.sgml:
10507         * docs/gst/tmpl/gstidentity.sgml:
10508         * docs/gst/tmpl/gstmd5sink.sgml:
10509         * docs/gst/tmpl/gstmultifilesrc.sgml:
10510         * docs/gst/tmpl/gstpipefilter.sgml:
10511         * docs/gst/tmpl/gstshaper.sgml:
10512         * docs/gst/tmpl/gstspider.sgml:
10513         * docs/gst/tmpl/gstspideridentity.sgml:
10514         * docs/gst/tmpl/gststatistics.sgml:
10515         * docs/gst/tmpl/gsttee.sgml:
10516         * docs/gst/tmpl/gsttypefind.sgml:
10517         * docs/gst/tmpl/gstutils.sgml:
10518
10519 2004-04-13  David Schleef  <ds@schleef.org>
10520
10521         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10522         and to build DLLs on Windows.
10523         * gst/Makefile.am:
10524         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10525         (gst_filesrc_open_file):
10526         * gst/schedulers/Makefile.am:
10527
10528 2004-04-13  David Schleef  <ds@schleef.org>
10529
10530         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10531         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10532         fixating lists.
10533
10534 2004-04-12  David Schleef  <ds@schleef.org>
10535
10536         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10537         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10538         to using it.
10539         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10540         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10541         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10542         * gst/gststructure.c: (gst_structure_set_valist),
10543         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10544         support for buffers.
10545         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10546         intended to be const.
10547         * gst/gsttag.h: same
10548         * gst/gstvalue.c: (gst_value_serialize_buffer),
10549         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10550         to (de)serialize buffers.
10551         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10552         * testsuite/caps/string-conversions.c: (main):
10553         * testsuite/caps/value_serialize.c: add new test
10554
10555 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10556
10557         * docs/pwg/advanced-types.xml:
10558           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10559
10560 2004-04-11  Benjamin Otte  <otte@gnome.org>
10561
10562         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10563           rename categories to basic_*
10564         * gst/schedulers/gstbasicscheduler.c: 
10565         (gst_basic_scheduler_chain_wrapper),
10566         (gst_basic_scheduler_chainhandler_proxy),
10567         (gst_basic_scheduler_gethandler_proxy),
10568         (gst_basic_scheduler_eventhandler_proxy):
10569           debugging category fixes - put common stuff in log category
10570         * gst/schedulers/gstbasicscheduler.c: 
10571         (gst_basic_scheduler_chain_elements):
10572           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10573           active and linking two active chains
10574
10575 2004-04-10  Benjamin Otte  <otte@gnome.org>
10576
10577         * docs/pwg/intro-preface.xml:
10578           fix dead links and remove reference to Wiki
10579
10580 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10581
10582         * gst/schedulers/gstbasicscheduler.c:
10583           make sure we can switch back to the main function if we're still in
10584           the main function (supposed to fix #139617)
10585         * gst/schedulers/gthread-cothreads.h:
10586           don't throw an error when switching to the same cothread
10587
10588 2004-04-09  Benjamin Otte  <otte@gnome.org>
10589
10590         * gst/gstbin.c: (gst_bin_get_type):
10591         * gst/gstclock.c: (gst_clock_get_type):
10592         * gst/gstindex.c: (gst_index_get_type):
10593         * gst/gstobject.c: (gst_object_get_type),
10594         (gst_signal_object_get_type):
10595         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10596         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10597         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10598         * gst/gstqueue.c: (gst_queue_get_type):
10599         * gst/gstregistry.c: (gst_registry_get_type):
10600         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10601         * gst/gstthread.c: (gst_thread_get_type):
10602           don't use memchunks for these objects, use malloc instead
10603
10604 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * docs/gst/.cvsignore:
10607         * docs/gst/Makefile.am:
10608         * docs/gst/gstreamer-sections.txt:
10609         * docs/gst/tmpl/gstaggregator.sgml:
10610         * docs/gst/tmpl/gstbuffer.sgml:
10611         * docs/gst/tmpl/gstclock.sgml:
10612         * docs/gst/tmpl/gstelement.sgml:
10613         * docs/gst/tmpl/gstfakesink.sgml:
10614         * docs/gst/tmpl/gstfakesrc.sgml:
10615         * docs/gst/tmpl/gstfdsink.sgml:
10616         * docs/gst/tmpl/gstfdsrc.sgml:
10617         * docs/gst/tmpl/gstfilesink.sgml:
10618         * docs/gst/tmpl/gstfilesrc.sgml:
10619         * docs/gst/tmpl/gstidentity.sgml:
10620         * docs/gst/tmpl/gstindex.sgml:
10621         * docs/gst/tmpl/gstinfo.sgml:
10622         * docs/gst/tmpl/gstmd5sink.sgml:
10623         * docs/gst/tmpl/gstmultifilesrc.sgml:
10624         * docs/gst/tmpl/gstpad.sgml:
10625         * docs/gst/tmpl/gstpipefilter.sgml:
10626         * docs/gst/tmpl/gstpipeline.sgml:
10627         * docs/gst/tmpl/gstpluginfeature.sgml:
10628         * docs/gst/tmpl/gstqueue.sgml:
10629         * docs/gst/tmpl/gstregistry.sgml:
10630         * docs/gst/tmpl/gstscheduler.sgml:
10631         * docs/gst/tmpl/gstshaper.sgml:
10632         * docs/gst/tmpl/gstspider.sgml:
10633         * docs/gst/tmpl/gstspideridentity.sgml:
10634         * docs/gst/tmpl/gststatistics.sgml:
10635         * docs/gst/tmpl/gstsystemclock.sgml:
10636         * docs/gst/tmpl/gsttee.sgml:
10637         * docs/gst/tmpl/gstthread.sgml:
10638         * docs/gst/tmpl/gsttypefind.sgml:
10639         * docs/gst/tmpl/gstutils.sgml:
10640           further doc build fixes
10641
10642 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10643
10644         * docs/gst/Makefile.am:
10645           make docs exit on scanning problems
10646           fix nonsrcdir build issues
10647         * docs/gst/gstreamer-sections.txt:
10648           adding stuff from -unused
10649         * gst/gstqueue.h:
10650           create GstQueueSize
10651         * gst/schedulers/cothreads_compat.h:
10652           fix cothread warnings
10653
10654 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * docs/gst/gstreamer-sections.txt:
10657           remove defines deprecated by Benjamin
10658
10659 2004-04-07  Benjamin Otte  <otte@gnome.org>
10660
10661         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10662           when the buffer is complete, don't check if other buffers are needed
10663         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10664           check that the offset is >0 so we don't try to read before the
10665           beginning of the file
10666         * gst/gstpad.c: (gst_pad_set_pad_template):
10667           sink the template, so we don't end up with 130k pad templates
10668
10669 2004-04-06  Benjamin Otte  <otte@gnome.org>
10670
10671         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10672           don't ref the element, adding already reffed it. And we didn't unref
10673           it later anyway... (huge memleak when you used many spider elements)
10674         * gst/gstelement.c: (gst_element_base_class_finalize):
10675         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10676         (gst_element_register):
10677         * gst/gsturi.c: (gst_element_make_from_uri):
10678           use gst_object_(un)ref instead of g_object(un)ref
10679
10680 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10681
10682         * gst/gstbuffer.h:
10683           remove macro that wouldn't work anymore because struct member has
10684           been removed.
10685         * gst/schedulers/entryscheduler.c: (schedule_forward):
10686           fix segfault for unconnected pads
10687         
10688 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10689
10690         reviewed by David Schleef <ds@schleef.org>
10691
10692         * gst/gstinfo.h:
10693           *_FORMAT modifiers should require putting a % in front of them for
10694           consistency reasons.
10695
10696 2004-04-05  Colin Walters  <walters@redhat.com>
10697
10698         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10699         space.
10700
10701 2004-04-05  Benjamin Otte  <otte@gnome.org>
10702
10703         * configure.ac:
10704         * gst/Makefile.am:
10705         * gst/gst_private.h:
10706         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10707           add support for detecting if GStreamer runs inside valgrind.
10708           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10709           print a big message in valgrind that GStreamer has detected it's
10710           running inside and might now use different code.
10711         * gst/gstmemchunk.c: (populate), (free_area),
10712         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10713         (gst_mem_chunk_free):
10714           flag memchunks for valgrind, so it can detect leaking of chunks.
10715           This allows detecting leaks of GstBuffer and GstEvent correctly
10716           inside valgrind.
10717
10718 2004-04-05  David Schleef  <ds@schleef.org>
10719
10720         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10721           jensgr@gmx.net (Jens Granseuer)
10722
10723 2004-04-05  David Schleef  <ds@schleef.org>
10724
10725         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10726         (gst_buffer_default_free), (gst_buffer_default_copy),
10727         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10728         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10729         structures in one place.
10730
10731 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10732
10733         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10734           (GST_TIME_FORMAT, GST_TIME_ARGS)
10735
10736 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10737
10738         * testsuite/elements/Makefile.am:
10739           disable test until it stops breaking make distcheck
10740
10741 2004-04-05  Johan Dahlin  <johan@gnome.org>
10742
10743         * po/sv.po: Updated translation
10744
10745 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * gst/gstplugin.c: (gst_plugin_load_file):
10748           fix segfault for when original plugin was loaded statically
10749
10750 2004-04-05  Benjamin Otte  <otte@gnome.org>
10751
10752         * testsuite/debug/category.c: (main):
10753         * testsuite/debug/commandline.c: (main):
10754         * testsuite/debug/output.c: (main):
10755           fix tests to work again with debugging enabled
10756
10757 2004-04-05  Benjamin Otte  <otte@gnome.org>
10758
10759         * gst/schedulers/gstbasicscheduler.c:
10760         (gst_basic_scheduler_pad_link):
10761           fix to work with recent scheduling changes
10762
10763 2004-04-05  Benjamin Otte  <otte@gnome.org>
10764
10765         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10766         prepareChangeLog doesn't work when cvs indents):
10767           don't throw an error when no element can be scheduled, there's too
10768           many weird reasons why it doesn't work. Return STOPPED instead.
10769           decoupled elemts' schedulability doesn't depend on bufpens.
10770
10771 2004-04-04  Benjamin Otte  <otte@gnome.org>
10772
10773         * gst/schedulers/gstbasicscheduler.c:
10774         (gst_basic_scheduler_pad_select):
10775           fix uninitialized variable warnings
10776
10777 2004-04-04  Benjamin Otte  <otte@gnome.org>
10778
10779         * gst/gstpad.c: (gst_pad_collect_valist):
10780           fix uninitialized variable warning
10781         * gst/schedulers/entryscheduler.c: (schedule_forward):
10782           fix shadowed variable
10783
10784 2004-04-04  Benjamin Otte  <otte@gnome.org>
10785
10786         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10787         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10788         (gst_pad_select):
10789         * gst/gstpad.h:
10790         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10791         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10792         * gst/gstscheduler.h:
10793           implement gst_pad_collect as replacement for gst_pad_select.
10794           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10795           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10796           new pad_select, lock and unlock calls.
10797         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10798         * gst/cothreads.h:
10799         * gst/schedulers/cothreads_compat.h:
10800         * gst/schedulers/gthread-cothreads.h:
10801           remove unused cothread_lock and cothread_unlock calls
10802         * gst/schedulers/entryscheduler.c:
10803         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10804         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10805         (gst_entry_scheduler_pad_select):
10806           update to new API
10807         * gst/schedulers/gstbasicscheduler.c:
10808         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10809         (gst_basic_scheduler_pad_select):
10810           remove useless lock and unlock calls, update pad_select to new API
10811           (untested)
10812         * gst/schedulers/gstoptimalscheduler.c:
10813         (gst_opt_scheduler_class_init):
10814           remove useless select, lock and unlock function calls
10815         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10816           use gst_pad_collect instead of gst_pad_select
10817
10818 2004-04-04  Benjamin Otte  <otte@gnome.org>
10819
10820         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10821         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10822         (schedule_next_element), (print_entry):
10823           add can_schedule_pad to handle element states.
10824           add schedule_forward to select the correct entry to schedule next
10825
10826 2004-04-03  Benjamin Otte  <otte@gnome.org>
10827
10828         * gst/schedulers/entryscheduler.c: 
10829           remove unused variable, fix error inside Rb, fix compile warning in
10830           unreachable code
10831
10832 2004-04-03  Benjamin Otte  <otte@gnome.org>
10833
10834         * gst/schedulers/entryscheduler.c:
10835           completely revamp the inner workings, so it's a lot easier to
10836           understand and extend
10837
10838 2004-04-03  Andy Wingo  <wingo@pobox.com>
10839
10840         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10841         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10842         This allows better introspection of pipeline topology.
10843         (add_to_chain): Don't do trickery to put loop elements first;
10844         rather, queue a chain sort by marking the chain as dirty.
10845         (remove_from_chain): Mark the chain dirty.
10846         (sort_chain): New function. Sorts the group list so that terminal
10847         sinks are first. This means elements on the sink side will be
10848         preferentially sscheduled before elements on the src side of the
10849         pipeline.
10850         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10851         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10852         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10853         (group_inc_link): Change argument and variable names to match the
10854         new link structure member names (src and sink).
10855         (group_dec_link): Add some description
10856
10857 2004-04-03  Benjamin Otte  <otte@gnome.org>
10858
10859         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10860         * gst/gstinfo.h:
10861         * testsuite/debug/category.c: (main):
10862         * testsuite/debug/commandline.c: (main):
10863         * testsuite/debug/output.c: (main):
10864         * testsuite/debug/printf_extension.c: (main):
10865           fix to successfully build and test with --disable-gst-debug
10866           configure switch (fixes #138705)
10867
10868 2004-04-03  Benjamin Otte  <otte@gnome.org>
10869
10870         * docs/pwg/building-boiler.xml:
10871           add cvs login line and s/anonymous/anoncvs/
10872
10873 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10874
10875         reviewed by Benjamin Otte  <otte@gnome.org>
10876
10877         * gst/gststructure.c: (gst_structure_free):
10878           memleak fix: free fields array (partial fix for #134839)
10879
10880 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10881
10882         * docs/random/ds/0.9-suggested-changes:
10883           Add a note to change handoff use in fakesrc to be usable in
10884           a more generic way (fakesrc should be renamed to appsrc or so).
10885         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10886           Change signal type to scope, so we can fill the buffer in the
10887           handoff handler (that's the whole use of this signal...).
10888
10889 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10890
10891         * docs/pwg/other-ntoone.xml:
10892           Document muxers and n-to-1 elements.
10893
10894 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10895
10896         * gst/registries/gstxmlregistry.c
10897         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10898         determine if a file is a G_MODULE. The old one discards paths
10899         containing "so" somewhere in the middle. My home directory is
10900         called "soto". Go figure...
10901
10902 2004-03-31  David Schleef  <ds@schleef.org>
10903
10904         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10905         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10906         * gst/gstbuffer.h:
10907
10908 2004-03-31  David Schleef  <ds@schleef.org>
10909
10910         * gst/gstvalue.c: (gst_value_union_int_int_range),
10911         (gst_value_union_int_range_int_range), (gst_value_can_union),
10912         (gst_value_union), (_gst_value_initialize):  Add some union
10913         implementations.  We didn't have any previously.
10914         * testsuite/caps/Makefile.am:
10915         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10916         (gst_audioscale_getcaps), (test_caps), (main): A little test
10917         that is the same as the caps manipulation in audioscale.
10918
10919 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10920
10921         * docs/faq/general.xml:
10922           add entry about "does gst support format X?"
10923
10924 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10925
10926         * gst/gstthread.c:
10927           fix docs
10928         * gst/gstutils.h:
10929           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10930
10931 2004-03-30  Benjamin Otte  <otte@gnome.org>
10932
10933         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10934           set the offset of the buffer to the requested offset
10935         * gst/elements/gsttypefind.c: (stop_typefinding):
10936           revert patch 1.18 (which I unfortunately don't know the reason for).
10937           This is needed to allow downstream elements to seek. Otherwise
10938           typefind might overwrite a previous seek by downstream elements.
10939           This lead to errors with id3tag and typefind on some mp3s.
10940         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10941         (gst_entry_scheduler_iterate):
10942           be more verbose when debugging
10943
10944 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10947           make sure we don't get NULL strings
10948
10949 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10950
10951         * gst/gstcaps.c:
10952         * gst/gstelement.c:
10953         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10954         * gst/gstindex.c: (gst_index_resolver_get_type),
10955         (gst_index_get_type), (gst_index_factory_get_type):
10956         * gst/gstinfo.c:
10957         * gst/gstpad.c:
10958         * gst/gstplugin.c:
10959         * gst/gsturi.c: (gst_uri_handler_get_type):
10960         * gst/gstvalue.c:
10961           first batch of documentation fixes
10962
10963 2004-03-29  David Schleef  <ds@schleef.org>
10964
10965         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10966         * docs/gst/gstreamer-docs.sgml:  More hacking
10967         * docs/gst/gstreamer-sections.txt:
10968         * docs/gst/tmpl/cothreads_compat.sgml:
10969         * docs/gst/tmpl/gstcaps.sgml:
10970         * docs/gst/tmpl/gstclock.sgml:
10971         * docs/gst/tmpl/gstelement.sgml:
10972         * docs/gst/tmpl/gstevent.sgml:
10973         * docs/gst/tmpl/gstpad.sgml:
10974         * docs/gst/tmpl/gstutils.sgml:
10975         * docs/gst/tmpl/gstxml.sgml:
10976         * docs/gst/tmpl/gthread-cothreads.sgml:
10977         * docs/random/ds/0.9-suggested-changes:
10978         * gst/elements/gstfakesink.h: doc fixes
10979         * gst/elements/gstfakesrc.h: doc fixes
10980         * gst/gstcaps.c: doc fixes
10981         * gst/gstcaps.h: doc fixes
10982         * gst/gstelement.c: doc fixes
10983         * gst/gstelement.h: doc fixes
10984         * gst/gstindex.c: doc fixes
10985         * gst/gstinfo.c: doc fixes
10986         * gst/gstpad.c: doc fixes
10987         * gst/gstpad.h: doc fixes
10988         * gst/gstplugin.c: doc fixes
10989         * gst/gsttypefind.h: doc fixes
10990         * gst/gsturi.c: doc fixes
10991         * gst/gstvalue.c: doc fixes
10992
10993 2004-03-29  Colin Walters  <walters@redhat.com>
10994
10995         * gst/registries/gstxmlregistry.c (get_time)
10996         (plugin_times_older_than_recurse):
10997         Use the result of stat to determine whether a path is a file,
10998         so we don't attempt to opendir() files.
10999
11000 2004-03-29  Benjamin Otte  <otte@gnome.org>
11001
11002         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11003           print caps in debugging output when setting caps failed
11004         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11005         (schedule_next_element), (get_buffer), (run_chainhandler),
11006         (element_may_start), (gst_entry_scheduler_chain_handler),
11007         (gst_entry_scheduler_get_handler),
11008         (gst_entry_scheduler_state_transition),
11009         (gst_entry_scheduler_pad_link):
11010           make this scheduler a testcase for mandatory
11011           discont-before-first-buffer which is needed if we want to allow apps
11012           to release the sound device.
11013           add SCHED_ASSERT macro to print scheduler state before an assertion
11014           triggers.
11015
11016 2004-03-29  Benjamin Otte  <otte@gnome.org>
11017
11018         * COPYING:
11019           replace by LGPL (former COPYING.LIB). The core is completely
11020           licensed LGPL.
11021         * COPYING.LIB:
11022           remove
11023
11024 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11025
11026         * po/af.po:
11027         * po/sv.po:
11028           updated Afrikaans and Swedish
11029
11030 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * po/LINGUAS:
11033         * po/az.po:
11034           adding Azerbaijani (Mətin Əmirov)
11035
11036 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11037
11038         * gst/gstelement.h: 
11039         * gst/gstelement.c (gst_element_set_time_delay): New function for
11040         setting element time taking into account a hardware buffering
11041         delay.
11042         (gst_element_set_time): Now just an invocation of
11043         gst_element_set_time_delay.
11044         * gst/gstclock.h: 
11045         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11046         allowing to set event times in the future.
11047         (gst_clock_get_event_time): Now just an invocation of
11048         gst_clock_get_event_time_delay.
11049
11050 2004-03-28  Benjamin Otte  <otte@gnome.org>
11051
11052         * gst/gstbin.c: (gst_bin_set_element_sched),
11053         (gst_bin_unset_element_sched):
11054           don't add decoupled elements to schedulers - otherwise it's
11055           impossible to control if a link to a decoupled element was already
11056           removed from a scheduler or not.
11057         * gst/schedulers/cothreads_compat.h:
11058         * gst/schedulers/gthread-cothreads.h:
11059           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11060           is no "unused" warning.
11061         * gst/schedulers/Makefile.am:
11062         * gst/schedulers/entryscheduler.c:
11063           add new scheduler, based on ideas from talking to David and Martin.
11064           It's supposed to be small and correct. Currently it's also slow (but
11065           it's not noticable)
11066         * examples/retag/retag.c: (main):
11067         * testsuite/bytestream/test1.c: (main):
11068           fix missing NULLs at end of variadic functions
11069         * testsuite/elements/.cvsignore:
11070           update
11071
11072 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11073
11074         * gst/gstevent.h:
11075         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11076
11077 2004-03-25  David Schleef  <ds@schleef.org>
11078
11079         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11080         * docs/gst/tmpl/gstaggregator.sgml:
11081         * docs/gst/tmpl/gstautoplugfactory.sgml:
11082         * docs/gst/tmpl/gstbin.sgml:
11083         * docs/gst/tmpl/gstbuffer.sgml:
11084         * docs/gst/tmpl/gstbufferstore.sgml:
11085         * docs/gst/tmpl/gstfakesink.sgml:
11086         * docs/gst/tmpl/gstfakesrc.sgml:
11087         * docs/gst/tmpl/gstmd5sink.sgml:
11088         * docs/gst/tmpl/gstreamer-unused.sgml:
11089         * docs/gst/tmpl/gstsearchfuncs.sgml:
11090         * docs/gst/tmpl/gstshaper.sgml:
11091         * docs/gst/tmpl/gstspider.sgml:
11092         * docs/gst/tmpl/gsttee.sgml:
11093         * docs/gst/tmpl/gstutils.sgml:
11094         * docs/gst/tmpl/gstvalue.sgml:
11095         * docs/gst/tmpl/gstxml.sgml:
11096         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11097         and we don't support it.
11098         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11099         (gst_use_threads), (gst_has_threads): same
11100         * gst/gstthreaddummy.c: same
11101         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11102         * gst/autoplug/gstspider.h: same
11103         * gst/elements/gstaggregator.h: Remove bogus function from header
11104         * gst/elements/gstfakesink.h: same
11105         * gst/elements/gstfakesrc.h: same
11106         * gst/elements/gstmd5sink.h: same
11107         * gst/elements/gstshaper.h: same
11108         * gst/elements/gsttee.h: same
11109         * gst/gstbin.c: doc fixes
11110         * gst/gstbin.h: Remove unused definition.
11111         * gst/gstbuffer.c: doc fixes
11112         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11113         * gst/gstfilter.c: doc fixes
11114         * gst/gsttag.c: doc fixes
11115         * gst/gstvalue.c: doc fixes
11116
11117 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11118
11119         * docs/pwg/advanced-types.xml:
11120           Document typefinding.
11121         * docs/pwg/other-oneton.xml:
11122           Document one-to-n elements, demuxers and parsers.
11123
11124 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11125
11126         reviewed by: David Schleef  <ds@schleef.org>
11127
11128         * configure.ac: Check bison version (bug #127838)
11129
11130 2004-03-25  David Schleef  <ds@schleef.org>
11131
11132         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11133         * docs/gst/gstreamer-sections.txt:
11134         * docs/gst/tmpl/gstautoplug.sgml:
11135         * docs/gst/tmpl/gststaticautoplug.sgml:
11136         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11137         * docs/gst/tmpl/gstutils.sgml:
11138         * docs/gst/tmpl/gstxml.sgml:
11139
11140 2004-03-24  David Schleef  <ds@schleef.org>
11141
11142         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11143         manual being such complete crap, that I decided to do major
11144         hacking of it.  This checkin replaces any fine tuning that
11145         may have been done previously, with the benefit of actually
11146         being complete for much of the API that was changed since
11147         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11148         * docs/gst/gstreamer-sections.txt:
11149         * docs/gst/tmpl/GstBin.sgml:
11150         * docs/gst/tmpl/GstBuffer.sgml:
11151         * docs/gst/tmpl/GstCaps.sgml:
11152         * docs/gst/tmpl/GstClock.sgml:
11153         * docs/gst/tmpl/GstCompat.sgml:
11154         * docs/gst/tmpl/GstData.sgml:
11155         * docs/gst/tmpl/GstElement.sgml:
11156         * docs/gst/tmpl/GstEvent.sgml:
11157         * docs/gst/tmpl/GstIndex.sgml:
11158         * docs/gst/tmpl/GstStructure.sgml:
11159         * docs/gst/tmpl/GstTag.sgml:
11160         * docs/gst/tmpl/cothreads.sgml:
11161         * docs/gst/tmpl/cothreads_compat.sgml:
11162         * docs/gst/tmpl/gettext.sgml:
11163         * docs/gst/tmpl/grammar.tab.sgml:
11164         * docs/gst/tmpl/gst-i18n-app.sgml:
11165         * docs/gst/tmpl/gst-i18n-lib.sgml:
11166         * docs/gst/tmpl/gst.sgml:
11167         * docs/gst/tmpl/gst_private.sgml:
11168         * docs/gst/tmpl/gstaggregator.sgml:
11169         * docs/gst/tmpl/gstarch.sgml:
11170         * docs/gst/tmpl/gstatomic.sgml:
11171         * docs/gst/tmpl/gstatomic_impl.sgml:
11172         * docs/gst/tmpl/gstbin.sgml:
11173         * docs/gst/tmpl/gstbuffer.sgml:
11174         * docs/gst/tmpl/gstbufferstore.sgml:
11175         * docs/gst/tmpl/gstcaps.sgml:
11176         * docs/gst/tmpl/gstclock.sgml:
11177         * docs/gst/tmpl/gstcompat.sgml:
11178         * docs/gst/tmpl/gstconfig.sgml:
11179         * docs/gst/tmpl/gstcpu.sgml:
11180         * docs/gst/tmpl/gstdata.sgml:
11181         * docs/gst/tmpl/gstdata_private.sgml:
11182         * docs/gst/tmpl/gstelement.sgml:
11183         * docs/gst/tmpl/gstenumtypes.sgml:
11184         * docs/gst/tmpl/gsterror.sgml:
11185         * docs/gst/tmpl/gstevent.sgml:
11186         * docs/gst/tmpl/gstfakesink.sgml:
11187         * docs/gst/tmpl/gstfakesrc.sgml:
11188         * docs/gst/tmpl/gstfilesink.sgml:
11189         * docs/gst/tmpl/gstfilter.sgml:
11190         * docs/gst/tmpl/gstindex.sgml:
11191         * docs/gst/tmpl/gstinfo.sgml:
11192         * docs/gst/tmpl/gstinterface.sgml:
11193         * docs/gst/tmpl/gstlog.sgml:
11194         * docs/gst/tmpl/gstmacros.sgml:
11195         * docs/gst/tmpl/gstmarshal.sgml:
11196         * docs/gst/tmpl/gstmd5sink.sgml:
11197         * docs/gst/tmpl/gstmultifilesrc.sgml:
11198         * docs/gst/tmpl/gstobject.sgml:
11199         * docs/gst/tmpl/gstpad.sgml:
11200         * docs/gst/tmpl/gstparse.sgml:
11201         * docs/gst/tmpl/gstpipeline.sgml:
11202         * docs/gst/tmpl/gstplugin.sgml:
11203         * docs/gst/tmpl/gstpluginfeature.sgml:
11204         * docs/gst/tmpl/gstqueue.sgml:
11205         * docs/gst/tmpl/gstreamer-unused.sgml:
11206         * docs/gst/tmpl/gstregistry.sgml:
11207         * docs/gst/tmpl/gstregistrypool.sgml:
11208         * docs/gst/tmpl/gstscheduler.sgml:
11209         * docs/gst/tmpl/gstsearchfuncs.sgml:
11210         * docs/gst/tmpl/gstshaper.sgml:
11211         * docs/gst/tmpl/gstspider.sgml:
11212         * docs/gst/tmpl/gstspideridentity.sgml:
11213         * docs/gst/tmpl/gststructure.sgml:
11214         * docs/gst/tmpl/gstsystemclock.sgml:
11215         * docs/gst/tmpl/gsttag.sgml:
11216         * docs/gst/tmpl/gsttaginterface.sgml:
11217         * docs/gst/tmpl/gsttee.sgml:
11218         * docs/gst/tmpl/gstthread.sgml:
11219         * docs/gst/tmpl/gsttrace.sgml:
11220         * docs/gst/tmpl/gsttrashstack.sgml:
11221         * docs/gst/tmpl/gsttypefind.sgml:
11222         * docs/gst/tmpl/gsttypes.sgml:
11223         * docs/gst/tmpl/gsturi.sgml:
11224         * docs/gst/tmpl/gsturitype.sgml:
11225         * docs/gst/tmpl/gstutils.sgml:
11226         * docs/gst/tmpl/gstvalue.sgml:
11227         * docs/gst/tmpl/gstversion.sgml:
11228         * docs/gst/tmpl/gstxml.sgml:
11229         * docs/gst/tmpl/gstxmlregistry.sgml:
11230         * docs/gst/tmpl/gthread-cothreads.sgml:
11231         * docs/gst/tmpl/types.sgml:
11232
11233 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11234
11235         * docs/pwg/other-sink.xml:
11236         * docs/pwg/other-source.xml:
11237           Documentation on how to write source and sink elements. Other
11238           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11239           manager, autoplugger) are all still pending.
11240
11241 2004-03-25  Benjamin Otte  <otte@gnome.org>
11242
11243         * testsuite/elements/Makefile.am:
11244         * testsuite/elements/gst-compprep-check:
11245           add check to make sure gst-compprep works
11246         * testsuite/elements/gst-inspect-check.in:
11247           improve initialization output
11248         * testsuite/Makefile.am:
11249         * testsuite/gst-inspect-check:
11250           remove old file
11251
11252 2004-03-24  David Schleef  <ds@schleef.org>
11253
11254         * testsuite/elements/Makefile.am:
11255         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11256         to the testsuite.
11257
11258 2004-03-24  Benjamin Otte  <otte@gnome.org>
11259
11260         * libs/gst/control/dparam.c: (gst_dparam_attach),
11261         (gst_dparam_detach):
11262         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11263           fix lvalue casts for real
11264
11265 2004-03-24  Benjamin Otte  <otte@gnome.org>
11266
11267         * gst/schedulers/gstbasicscheduler.c:
11268         (gst_basic_scheduler_src_wrapper):
11269         * gst/schedulers/gstoptimalscheduler.c:
11270         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11271         (pad_clear_queued), (gst_opt_scheduler_add_element),
11272         (gst_opt_scheduler_remove_element):
11273           fix GStreamer to not have issues with lvalue casts anymore (fixes
11274           #136841)
11275
11276 2004-03-24  Benjamin Otte  <otte@gnome.org>
11277
11278         * gst/gstelement.c:
11279           add documentation about a gobject quirk where the object hasn't the
11280           correct class pointer set on initialization
11281         * gst/schedulers/gstbasicscheduler.c:
11282         (gst_basic_scheduler_src_wrapper):
11283           make sure to not run into an infinite loop
11284
11285 2004-03-22  Benjamin Otte  <otte@gnome.org>
11286
11287         * gst/gstutils.c: (gst_util_dump_mem):
11288         * gst/gstutils.h:
11289           first argument of gst_util_dump_mem should be const
11290
11291 2004-03-22  Johan Dahlin  <johan@gnome.org>
11292
11293         * gst/gstvalue.h: Clean up a little bit.
11294
11295 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11296
11297         reviewed by Benjamin Otte  <otte@gnome.org>
11298
11299         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11300         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11301         (gst_aggregator_class_init), (gst_aggregator_init):
11302         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11303         (gst_filesrc_dispose), (gst_filesrc_set_location):
11304         * gst/elements/gstidentity.c: (gst_identity_finalize),
11305         (gst_identity_class_init), (gst_identity_chain):
11306         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11307         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11308         (gst_statistics_class_init):
11309         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11310         (gst_tee_get_property):
11311           clean up used memory in this elements correctly on teardown (closes
11312           #137279)
11313
11314 2004-03-20  Colin Walters  <walters@redhat.com>
11315
11316         * gst/registries/gstxmlregistry.c:
11317         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11318         registry saving atomic.
11319
11320 2004-03-20  Colin Walters  <walters@redhat.com>
11321
11322         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11323         Just use
11324         access() instead of actually creating and deleting files.
11325
11326 2004-03-18  David Schleef  <ds@schleef.org>
11327
11328         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11329         (bug #137625)
11330
11331 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11332
11333         * po/sv.po: updated translation (Christian Rose)
11334
11335 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11336
11337         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11338         (gst_filesink_get_query_types), (_do_init),
11339         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11340           return FALSE silently
11341         * po/af.po: updated translation (Petri Jooste)
11342
11343 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * Makefile.am:
11346         * configure.ac:
11347           dist common properly
11348         * po/af.po:
11349         * po/fr.po:
11350         * po/nl.po:
11351         * po/sr.po:
11352         * po/sv.po:
11353           refreshing translations
11354
11355 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11356
11357         * po/LINGUAS:
11358         * po/sv.po:
11359         * po/af.po:
11360           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11361
11362 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         * Makefile.am: use common/release.mak
11365
11366 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11367
11368         * docs/faq/gst-uninstalled:
11369           adding gst-monkeysaudio to the list of possible plugin dirs
11370
11371 2004-03-16  David Schleef  <ds@schleef.org>
11372
11373         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11374         (gst_init_check_with_popt_table):  Fix some gettext strings to
11375         make them easier to translate.  Required making the strings
11376         non-const.
11377
11378 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11379
11380         * configure.ac: bump nano to 1
11381
11382 === release 0.8.0 ===
11383
11384 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11385
11386         * configure.ac: release 0.8.0, "Executive Slacks"
11387
11388 2004-03-16  Johan Dahlin  <johan@gnome.org>
11389
11390         * gst/schedulers/gstoptimalscheduler.c
11391         (gst_opt_scheduler_pad_unlink): Remove double ;,
11392         spotted by Scott Wheeler
11393
11394 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11395
11396         * configure.ac: bump libtool version
11397
11398 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11399
11400         * gst/gstcaps.h:
11401         * gst/gststructure.h:
11402           add reserved padding
11403
11404 2004-03-15  Benjamin Otte  <otte@gnome.org>
11405
11406         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11407           set the first parameter for select call correctly.
11408           (fixes #137230)
11409
11410 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11411
11412         * *.c,*.h: don't mix tabs and spaces
11413
11414 2004-03-15  Johan Dahlin  <johan@gnome.org>
11415
11416         * gst/schedulers/gstoptimalscheduler.c
11417         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11418         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11419
11420         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11421         
11422 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11423
11424         * testsuite/Rules:
11425           fix gst-register rules
11426
11427 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * testsuite/Rules:
11430           use versioned gst-register
11431
11432 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11433
11434         * docs/libs/gstreamer-libs-sections.txt:
11435           remove </SUBSECTION>
11436         * gst/gstplugin.c:
11437         * gst/gstregistry.c: (gst_registry_add_plugin):
11438         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11439         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11440           add debugging and fix some comment blocks
11441
11442 2004-03-15  Johan Dahlin  <johan@gnome.org>
11443
11444         * *.h: Revert indent changes.
11445         
11446 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11447
11448         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11449           g_error_free the g_error
11450         * tools/gst-feedback-m.m:
11451           check for other versions of gstreamer
11452         * tools/gst-indent:
11453           use sh, not bash
11454
11455 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11456
11457         * tools/gst-register.c: do not spill paths when registries are not
11458           writable, until we fix the "user running gst-register" case.
11459
11460 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11461
11462         * *.c, *.h: commit of gst-indent run on core
11463
11464 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11465
11466         * tools/gst-indent:
11467         * tools/Makefile.am:
11468           add our indentation style as a script
11469
11470 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11471
11472         * po/sr.po:
11473         * po/LINGUAS:
11474           added Serbian translation
11475
11476 2004-03-13  Benjamin Otte  <otte@gnome.org>
11477
11478         * gst/gstelement.c:
11479           add documentation note about gst_element_found_tags_for_pad not
11480           being usable in getfunctions. (see #137042)
11481
11482 2004-03-12  David Schleef  <ds@schleef.org>
11483
11484         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11485         change API right now!  Readd gst_caps_is_simple() macro.
11486         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11487         uninitialized variable.  I'd bet this caused crashes.
11488         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11489
11490 2004-03-12  Johan Dahlin  <johan@gnome.org>
11491
11492         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11493         * gst/gstcaps.h: Clean up
11494
11495         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11496         _gst_caps_initalize()
11497
11498         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11499         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11500
11501         * gst/gststructure.c (gst_structure_get_type): Ditto
11502
11503         * gst/gststructure.h: Ditto
11504         
11505 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11506
11507         * gst/gstqueue.c: (gst_queue_init):
11508           Reset default max. values in queues. Reason is simply to avoid
11509           braindead use. If you want wider values, use the properties. The
11510           default is supposed to always work. Wider values would make this
11511           beast a memory hog by default (250 full-PAL RGB32 video frames?
11512           That's 440 MB! No thank you).
11513
11514 2004-03-10  David Schleef  <ds@schleef.org>
11515
11516         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11517         were found.  (bug #136793)
11518
11519 2004-03-10  Johan Dahlin  <johan@gnome.org>
11520
11521         * gst/schedulers/gstoptimalscheduler.c
11522         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11523         links to elements within the same group, so we can finally remove
11524         that annoying warning. Refactor the code a little bit
11525         (group_dec_links_for_element): Split out
11526
11527 2004-03-09  David Schleef  <ds@schleef.org>
11528
11529         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11530         (bug #134863)
11531
11532 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * configure.ac: first bug fix due to major/minor bump
11535
11536 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11537
11538         * configure.ac: bump nano to 1
11539
11540 === release 0.7.6 ===
11541
11542 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11543
11544         * NEWS:
11545         * RELEASE:
11546         * configure.ac:
11547           releasing 0.7.6, "Almost"
11548         * po/fr.po:
11549         * po/nl.po:
11550         * tools/Makefile.am:
11551         * tools/gst-feedback-m.m:
11552           unversioned source
11553
11554 2004-03-09  Johan Dahlin  <johan@gnome.org>
11555
11556         Reviewed by: Thomas Vander Stichele
11557
11558         * gst/gstelement.c (gst_element_class_init): register second
11559         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11560         language bindings can (de)marshall correctly.
11561
11562         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11563
11564         * gst/gsterror.c (gst_g_error_get_type): New function
11565
11566         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11567         with VOID:OBJECT,OBJECT,STRING 
11568
11569 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11570
11571         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11572         Free a leaked g_timer on early returns.
11573
11574 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11575
11576         * docs/pwg/advanced-types.xml:
11577           Add cinepak description.
11578
11579 2004-03-07  David Schleef  <ds@schleef.org>
11580
11581         * docs/random/mimetypes:  Added cinepak description
11582
11583 2004-03-07  Andy Wingo  <wingo@pobox.com>
11584
11585         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11586
11587         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11588         there are no links to other groups when a group is destroyed.
11589         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11590         removed from a group, make sure the link count to elements linked
11591         to other pads is appropriately decremented. This really fixes
11592         #135672.
11593
11594         The 1.60->1.61 patch has been reapplied in light of this fix.
11595
11596         * gst/gstelement.c (gst_element_dispose): Really protect against
11597         multiple invocations this time.
11598
11599 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11600
11601         * docs/gst/gstreamer-sections.txt:
11602         * docs/gst/tmpl/gsttag.sgml:
11603           remove some deprecated functions, document some existing ones
11604         * gst/gsttag.c: (gst_tag_get_flag):
11605         * gst/gsttag.h:
11606           add accessor function
11607
11608 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11609
11610         * docs/gst/gstreamer-sections.txt:
11611         * docs/gst/tmpl/gsttag.sgml:
11612         * docs/gst/tmpl/gstxml.sgml:
11613         * gst/gsttag.c: (gst_tag_get_flag):
11614         * gst/gsttag.h:
11615
11616 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11617
11618         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11619         leak
11620
11621 2004-03-05  David Schleef  <ds@schleef.org>
11622
11623         * REQUIREMENTS: Add bison and flex.
11624         * configure.ac: Fix comment about bison.
11625         * docs/random/ds/0.9-suggested-changes: yer ma
11626         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11627
11628 2004-03-05  Benjamin Otte  <otte@gnome.org>
11629
11630         * gst/gstelement.c: (gst_element_error_full):
11631           revert recent recursive state changing commit - messing with other
11632           elements' states is evil and should be done by apps only.
11633
11634 2004-03-05  Benjamin Otte  <otte@gnome.org>
11635
11636         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11637           check for empty intersection instead of NULL caps
11638         (gst_element_get_compatible_pad_filtered):
11639           remove old workaround that is only a bug nowadays
11640
11641 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11642
11643         * gst/gstelement.c: (gst_element_error_full):
11644           make elements try to recursively change state to PAUSED on all
11645           parents after an error to suppress ensuing warnings
11646         * gst/parse/grammar.y:
11647           make it check if it was able to sync the state, and throw an error
11648           if not, so stuff like
11649           oggdemux ! vorbisdec ! osssink gets caught
11650
11651 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11652
11653         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11654           it contains lib64; use AS_AC_EXPAND to handle it properly
11655
11656 2004-03-05  David Schleef  <ds@schleef.org>
11657
11658         * gst/gstcpuid_i386.s:  Remove unused code
11659         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11660         (gst_getbits_newbuf): Remove MMX code
11661         * libs/gst/getbits/getbits.h: Remove MMX code
11662
11663 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11664
11665         * debian/.cvsignore:
11666         * debian/README.Debian:
11667         * debian/changelog:
11668         * debian/control:
11669         * debian/control.in:
11670         * debian/copyright:
11671         * debian/gstreamer-core-libs-dev.files:
11672         * debian/gstreamer-core-libs.files:
11673         * debian/gstreamer-core.files:
11674         * debian/gstreamer-core.postinst:
11675         * debian/gstreamer-core.postrm:
11676         * debian/gstreamer-doc.files:
11677         * debian/gstreamer-doc.links:
11678         * debian/gstreamer-doc.lintian:
11679         * debian/gstreamer-runtime.files:
11680         * debian/gstreamer-runtime.manpages:
11681         * debian/gstreamer-runtime.postinst:
11682         * debian/gstreamer-runtime.postrm:
11683         * debian/gstreamer-tools.files:
11684         * debian/gstreamer-tools.manpages:
11685         * debian/libgstreamer-dev.files:
11686         * debian/libgstreamer0.4.1.files:
11687         * debian/libgstreamerVERSION.files:
11688         * debian/rules:
11689         Debian package info not maintained here.
11690
11691 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11692
11693         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11694         * gst/gstbin.c: (gst_bin_class_init):
11695         * gst/gstelement.c: (gst_element_class_init):
11696         * gst/gstindex.c: (gst_index_class_init):
11697         * gst/gstobject.c: (gst_object_class_init),
11698         (gst_signal_object_class_init):
11699         * gst/gstpad.c: (gst_pad_template_class_init):
11700         * gst/gstregistry.c: (gst_registry_class_init):
11701         * gst/gsturi.c: (gst_uri_handler_base_init):
11702         * gst/gstxml.c: (gst_xml_class_init):
11703         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11704         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11705           make all signal names use dashes instead of underscore
11706
11707 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11708
11709         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11710
11711 2004-03-03  Benjamin Otte  <otte@gnome.org>
11712
11713         * gst/schedulers/gstoptimalscheduler.c:
11714           revert last commit by Andy Wingo. It causes segfaults on unreffing
11715           in Rhythmbox. (see bug #135672)
11716
11717 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11718
11719         * po/fr.po: fix typo
11720
11721 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11722
11723         * tools/gst-inspect.c: (main): 
11724         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11725
11726 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11727
11728         * configure.ac:
11729           get GLIB_ONLY and POPT flags for the nonversioned binaries
11730         * tools/Makefile.am:
11731           use them
11732
11733 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11734
11735         * gst/gst.c: (init_post):
11736           change so that GST_REGISTRY now is where the global registry gets
11737           saved, since that is where plugins now get attached to first, and
11738           spilled over to the user registry.  Note that in the case of using
11739           GST_REGISTRY env var, we don't want to affect any real registries
11740           beyond the one given by this var, and thus we don't set a user
11741           registry to spill to.  So make sure GST_REGISTRY is writable.
11742
11743 2004-03-01  David Schleef  <ds@schleef.org>
11744
11745         * AUTHORS:  Added some names.  Add yourself if you're missing.
11746
11747 2004-03-01  David Schleef  <ds@schleef.org>
11748
11749         * MAINTAINERS: Add
11750
11751 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11752
11753         * configure.ac:
11754           remove whitespace
11755         * docs/gst/tmpl/gstbuffer.sgml:
11756         * docs/gst/tmpl/gstdata.sgml:
11757         * docs/gst/tmpl/gstreamer-unused.sgml:
11758         * docs/gst/tmpl/gstxml.sgml:
11759           doc update
11760         * docs/manuals.mak:
11761           add a FIXME
11762         * docs/pwg/intro-preface.xml:
11763         * docs/pwg/pwg.xml:
11764           remove GNOME
11765         * gst/gst.c: (init_post):
11766           try GST_PLUGIN_PATH paths for the _global_registry first
11767         * gst/gstelement.h:
11768           add the error message as well, otherwise (null) debug info doesn't
11769           make much sense
11770         * tools/gst-register.c: (main):
11771           spill paths to next registry if this registry is not writable
11772         * po/fr.po:
11773         * po/nl.po:
11774           translation updates
11775
11776 2004-03-01  Johan Dahlin  <johan@gnome.org>
11777
11778         * gst/gstbuffer.c (_gst_buffer_initialize): 
11779         * gst/gstdata.c (gst_data_get_type): 
11780         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11781         instead of ref, since some applications that uses GBoxed
11782         routines depends on a function that actually returns a copy.
11783
11784 2004-02-27  Benjamin Otte  <otte@gnome.org>
11785
11786         * gst/gstbuffer.h:
11787           remove gst_buffer_free, use gst_data_unref
11788         * gst/gstdata.c: (gst_data_get_type):
11789           use refcounting in GstData GBoxed registration
11790         * gst/gstdata.h:
11791           remove gst_data_free, use gst_data_unref
11792
11793 2004-02-27  Johan Dahlin  <johan@gnome.org>
11794
11795         * gst/gstdata.c (gst_data_get_type): New function, register
11796         GstData as a GBoxed type.
11797
11798         * gst/gstdata.h (GST_TYPE_DATA): New macro
11799
11800 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11801
11802         * Makefile.am:
11803         * gstreamer.spec.in:
11804           put back RELEASE
11805         * gst/Makefile.am:
11806           clean up non-disting of built files
11807         * testsuite/debug/commandline.c:
11808           test fix for option rename
11809
11810 2004-02-26  David Schleef  <ds@schleef.org>
11811
11812         * configure.ac:  We don't really need glib-2.3.  Also remove
11813         some unneeded checks for library functions.
11814         * gst/Makefile.am:  Instead, we need to not dist files created
11815         by glib-genmarshal.
11816
11817 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11818
11819         * configure.ac:
11820           bump glib required version to 2.3.0 for g_value_takes_boxed
11821
11822  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11823
11824         * common/m4/gst-docs.m4
11825         change flavour text from enable to disable as enable is our default
11826         closes bug Bug 135304
11827
11828 === release 0.7.5 ===
11829  
11830  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11831  
11832         * NEWS:
11833           instate NEWS file
11834         * Makefile.am:
11835         * gstreamer.spec.in:
11836         * RELEASE:
11837           put back release
11838         * configure.ac:
11839         * docs/random/release:
11840           more updates
11841
11842 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11843
11844         * gst/gsttag.c: (_gst_tag_initialize):
11845         * po/fr.po:
11846         * po/nl.po:
11847           remove hyphen from codec tags
11848
11849 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11850
11851         * gst/parse/Makefile.am:
11852           fix dependency so that a make from a clean build works the first
11853           time
11854
11855 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11856
11857         * docs/random/release:
11858           update release strategy
11859         * po/fr.po:
11860           auto-update po file
11861         * po/nl.po:
11862           update dutch translation
11863
11864 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11865
11866         * docs/manual/debugging.xml:
11867         fix manual for new debugging system
11868
11869 2004-02-25  Andy Wingo  <wingo@pobox.com>
11870
11871         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11872         gst_pad_link_prepare. Please email the list with specific reasons
11873         for reverting.
11874
11875 2004-02-24  Andy Wingo  <wingo@pobox.com>
11876
11877         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11878         invocations.
11879
11880         * gst/schedulers/gstoptimalscheduler.c:
11881         I added a mess of prototypes at the top of the file by way of
11882         documentation. Some of the operations on chains and groups were
11883         re-organized.
11884
11885         (create_group): Added a type argument so if the group is enabled,
11886         the setup_group_scheduler knows what to do.
11887         (group_elements): Added a type argument here, too, to be passed on
11888         to create_group.
11889         (group_element_set_enabled): If an unlinked PLAYING element is
11890         added to a bin, we have to create a new group to hold the element,
11891         and this function will be called before the group is added to the
11892         chain. Thus we have a valid case for group->chain==NULL. Instead
11893         of calling chain_group_set_enabled, just set the flag on the group
11894         (the chain's status will be set when the group is added to it).
11895         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11896         Setup the group scheduler when the group is enabled, not
11897         specifically when an element goes PAUSED->PLAYING. This means
11898         PLAYING elements can be added, linked, and scheduled into a
11899         PLAYING pipeline, as was intended.
11900         (add_to_group): Don't ref the group twice. I don't know when this
11901         double-ref got in here. Removing it has the potential to cause
11902         segfaults if other parts of the scheduler are buggy. If you find
11903         that the scheduler is segfaulting for you, put in an extra ref
11904         here and see if that hacks over the underlying issue. Of course,
11905         then find out what code is unreffing a group it doesn't own...
11906         (create_group): Make the extra refcount floating, and remove it
11907         after adding the element. This means that...
11908         (unref_group): Destroy when the refcount reaches 0, not 1, like
11909         every other refcounted object in the known universe.
11910         (remove_from_group): When a group becomes empty, set it to be not
11911         active, and remove it from its chain. Don't unref it again,
11912         there's no floating reference any more.
11913         (destroy_group): We have to remove the group from the chain in
11914         remove_from_group (rather than here) to break refcounting cycles
11915         (the chain always has a ref on the group). So assert that
11916         group->chain==NULL.
11917         (ref_group_by_count): Removed, it was commented out anyway.
11918         (merge_chains): Use the remove_from_chain and add_to_chain
11919         primitives to do the reparenting, instead of rolling our own
11920         implementation.
11921         (add_to_chain): The first non-disabled group in the chain's group
11922         list will be the entry point for the chain. Because buffers can
11923         accumulate in loop elements' peer bufpens, we preferentially
11924         schedule loop groups before get groups to avoid unnecessary
11925         execution of get-based groups when the bufpens are already full.
11926         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11927         (get_group_schedule_function): Ditto.
11928         (loop_group_schedule_function): Ditto.
11929         (gst_opt_scheduler_loop_wrapper): Ditto.
11930         (gst_opt_scheduler_iterate): Ditto.
11931
11932         I understand the opt scheduler now, yippee!
11933
11934         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11935         (gst_pad_get_name, gst_pad_set_chain_function) 
11936         (gst_pad_set_get_function, gst_pad_set_event_function) 
11937         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11938         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11939         (gst_pad_set_query_function, gst_pad_get_query_types) 
11940         (gst_pad_get_query_types_default) 
11941         (gst_pad_set_internal_link_function) 
11942         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11943         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11944         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11945         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11946         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11947         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11948         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11949         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11950         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11951         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11952         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11953         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11954         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11955         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11956         argument checks, and some doc fixes.
11957
11958         (gst_pad_custom_new_from_template): Um, does anyone
11959         use these functions? Actually make a custom pad instead of a
11960         normal one.
11961         (gst_pad_try_set_caps): Transpose some checks.
11962         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11963         the pad is in negotiation.
11964         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11965         
11966         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11967
11968         * gst/gstelement.h: 
11969         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11970         on the list.
11971
11972 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11973
11974         * gst/gstbin.c: (gst_bin_add):
11975           add error for not being able to add elements
11976
11977 2004-02-22  Julien MOUTTE <julien@moutte.net>
11978
11979         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11980         audio-codec and video-codec.
11981
11982 2004-02-22  Benjamin Otte  <otte@gnome.org>
11983
11984         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11985
11986         * autogen.sh:
11987           replace test -e with test -x for mkinstalldirs to be more portable.
11988           (fixes #134816)
11989
11990 2004-02-22  Benjamin Otte  <otte@gnome.org>
11991
11992         * gst/gstpad.c:
11993           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11994           too noisy
11995         * gst/gsttag.c: (_gst_tag_initialize):
11996         * gst/gsttag.h:
11997           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11998         * libs/gst/control/dparam.c: (gst_dparam_attach):
11999         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12000           check that types for attached dparams match
12001
12002 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12003
12004         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12005         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12006         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12007           fix errors
12008
12009 2004-02-20  Andy Wingo  <wingo@pobox.com>
12010
12011         * gst/gstbin.c:
12012         * gst/gstbuffer.c:
12013         * gst/gstplugin.c:
12014         * gst/registries/gstxmlregistry.c: 
12015         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12016
12017         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12018         (gst_element_add_pad): DEBUG->INFO, some fixes.
12019         (gst_element_get_compatible_pad_template): Just see if the
12020         templates' caps intersect, not if one is a strict subset of the
12021         other. This conforms more to what gst_pad_link_intersect() does.
12022         (gst_element_class_add_pad_template): Don't memcpy the pad
12023         template, just ref it.
12024         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12025
12026         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12027         (gst_pad_link_filtered): Debug changes.
12028         (gst_pad_link_prepare): New function, consolidated from
12029         can_link_filtered and link_filtered.
12030
12031         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12032         look more like that of the functions in gstelement.c
12033
12034         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12035         object, and return the empty string if object is NULL.
12036
12037         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12038         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12039         LOG, not DEBUG. We still get flex info on debug.
12040
12041         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12042         debug string more verbose.
12043         (plugin_times_older_than): DEBUG->LOG.
12044
12045 2004-02-20  Julien MOUTTE <julien@moutte.net>
12046
12047         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12048         will emit found_tag for each stream they demux with the codec.
12049
12050 2004-02-20  Benjamin Otte  <otte@gnome.org>
12051
12052         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12053           copy navigation event correctly. Check freeing tag lists. 
12054         * gst/gstthread.c: (gst_thread_change_state):
12055           don't abort() on state changing mess - it might happen because of
12056           bugs.
12057         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12058           use boxed functions
12059         * gst/gstvalue.h:
12060           fix GST_VALUE_HOLDS_CAPS
12061
12062 2004-02-19  David Schleef  <ds@schleef.org>
12063
12064         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12065         and use it for GST_FUNCTION.  (bug #134750)
12066
12067 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12068
12069         * po/fr.po:
12070         * po/nl.po:
12071           updating translations
12072
12073 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12074
12075         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12076
12077 2004-02-18  kost@imn.htwk-leipzig.de
12078
12079         reviewed by: David Schleef  <ds@schleef.org>
12080
12081         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12082         for libgstcontrol.
12083
12084 2004-02-18  David Schleef  <ds@schleef.org>
12085
12086         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12087         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12088         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12089         * tools/gst-inspect.c: (print_element_info): Support dumping of
12090         double dparam information.
12091
12092 2004-02-17  David Schleef  <ds@schleef.org>
12093
12094         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12095         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12096         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12097         Use GST_TYPE_CAPS in signal prototype.
12098         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12099         Convert GST_TYPE_CAPS to boxed.
12100         * gst/gstelement.c: (gst_element_class_init):
12101         Use GST_TYPE_TAG_LIST in signal prototype.
12102         * gst/gstindex.c: (gst_index_class_init):
12103         * gst/gstindex.h:
12104         Add GST_TYPE_INDEX_ENTRY type.
12105         * gst/gstmarshal.list:
12106         Add necessary marshal types.
12107         * gst/gstpad.c: (gst_real_pad_class_init),
12108         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12109         (gst_pad_recover_caps_error):
12110         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12111         * gst/gststructure.c: (_gst_structure_initialize),
12112         (gst_structure_copy), (_gst_structure_copy_conditional):
12113         * gst/gststructure.h:
12114         Convert GST_TYPE_STRUCTURE to boxed.
12115         * gst/gsttag.c: (gst_tag_list_get_type):
12116         * gst/gsttag.h:
12117         Add GST_TYPE_TAG_LIST type.
12118
12119 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12120
12121         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12122         to what we agreed with david.
12123         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12124
12125 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * po/nl.po: update translation
12128
12129 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12130
12131         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12132           throw an error if spider is trying to play a mime type there is
12133           no decoder for
12134         * po/POTFILES.in:
12135           add gst/autoplug/gstspider.c for translation
12136
12137 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12138
12139         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12140         silently when the pad is negotiating.
12141
12142 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12143
12144         * docs/faq/Makefile.am:
12145           add script to run gstreamer uninstalled 
12146         * docs/faq/faq.xml:
12147         * docs/faq/developing.xml:
12148         * docs/faq/gst-uninstalled:
12149           extract script to run gstreamer uninstalled
12150         * docs/manuals.mak:
12151           add EXTRA_SOURCES variable for Makefile.am's to set to
12152           use additional SOURCE files for the doc build
12153
12154 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12155
12156         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12157
12158 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12159
12160         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12161         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12162         an error was thrown by osssink. Basically a state change failure for
12163         an element in a different scheduling group was considered as
12164         successful, which means that caps nego was going on and weird stuff
12165         happened. Like I wrote in the comment there, if someone wants to
12166         revert that please drop me a mail explaining why because I really see
12167         no point in keeping that broken behaviour there.
12168         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12169         be empty, we then return NULL which will trigger a nice error when 
12170         pulling from the pad.
12171
12172 2004-02-13  David Schleef  <ds@schleef.org>
12173
12174         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12175         (gst_dparam_get_property), (gst_dparam_set_property),
12176         (gst_dparam_do_update_default):
12177         * libs/gst/control/dparam.h:
12178         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12179         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12180         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12181         (gst_dpsmooth_do_update_double):
12182         * libs/gst/control/dparam_smooth.h:
12183         * libs/gst/control/dparammanager.c:
12184         (gst_dpman_inline_direct_update):
12185         Add support for double dparams.
12186
12187 2004-02-13  David Schleef  <ds@schleef.org>
12188
12189         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12190         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12191
12192 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12193
12194         reviewed by: David Schleef  <ds@schleef.org>
12195
12196         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12197         (gst_fdsrc_init), (gst_fdsrc_set_property),
12198         (gst_fdsrc_get_property), (gst_fdsrc_get):
12199         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12200         and sends an EOS event if file descriptor reading times out.
12201
12202 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * configure.ac:
12205           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12206
12207 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12208
12209         * configure.ac: pass required libxml version as argument
12210         (bug reported by Christophe Fergeau)
12211
12212 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12213   
12214         * docs/gst/gstreamer-docs.sgml:
12215         * docs/gst/tmpl/gstxml.sgml:
12216         * docs/libs/gstreamer-libs-docs.sgml:
12217           version API docs
12218
12219 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12220
12221         * gst/gstinfo.c:
12222         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12223         (gst_registry_pool_feature_filter):
12224         * gst/gstthread.c: (gst_thread_class_init):
12225         * gst/gstvalue.c:
12226           add includes exposed by building without libxml
12227         * gst/indexers/Makefile.am:
12228           do not build fileindex when LOADSAVE disabled; we should have
12229           a better libxml check later since fileindex depends on xml, not
12230           LOADSAVE or REGISTRY
12231         * libs/gst/control/Makefile.am:
12232           link with m
12233         * tools/Makefile.am:
12234           fix wrong source code for gst-xmlinspect
12235
12236 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12237
12238         * configure.ac:
12239           fix gcov help output
12240           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12241         * docs/random/release:
12242           some updated releasing notes
12243         * gstreamer.spec.in:
12244           more updates
12245
12246 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12247
12248         * docs/faq/faq.xml:
12249         * docs/manual/manual.xml:
12250         * docs/pwg/pwg.xml:
12251         * docs/pwg/titlepage.xml:
12252           put version in documentation
12253
12254 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12255
12256         * tools/Makefile.am: fix man page installation
12257
12258 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12259
12260         * configure.ac:
12261           don't check for libxml when load/save and registry disabled (#105844)
12262         * gstreamer.spec.in:
12263           sync with fedora candidate spec
12264
12265 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12266
12267         * po/fr.po:
12268         * po/nl.po:
12269           replace multidisksrc with multifilesrc
12270
12271 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12272
12273         * po/POTFILES.in:
12274           update to multidisksrc => multifilesrc file renaming (#134145)
12275
12276 2004-02-11  David Schleef  <ds@schleef.org>
12277
12278         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12279         * docs/gst/tmpl/gstpadtemplate.sgml: same
12280         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12281         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12282         fixing dance.
12283         * gst/gstutils.c: Remove disabled code that uses GstProps.
12284         * gst/registries/gstxmlregistry.h: same
12285         * docs/random/ds/0.9-suggested-changes: random notes
12286
12287 2004-02-11  kost@imn.htwk-leipzig.de
12288
12289         reviewed by: David Schleef  <ds@schleef.org>
12290
12291         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12292         initialisation of clock (bug #134128)
12293
12294 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12295
12296         * configure.ac:
12297         * gst/elements/Makefile.am:
12298         * gst/elements/gstelements.c:
12299         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12300         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12301         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12302         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12303         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12304         * gst/elements/gstmultifilesrc.h:
12305           rename multidisksrc to multifilesrc (part of #122200)
12306
12307 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12308
12309         * docs/manuals.mak:
12310           fix automake complaints
12311         * gst-element-check.m4:
12312           fix unquotedness
12313
12314 2004-02-11  David Schleef  <ds@schleef.org>
12315
12316         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12317         * gst/gstatomic_impl.h: Disable sparc implementation.
12318
12319 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12320
12321         * gst-element-check.m4:
12322           fix underquoted macros as reported by automake 1.8.x (#133800)
12323         * configure.ac:
12324           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12325           by autopoint (fixes #132996)
12326
12327 2004-02-10  Andy Wingo  <wingo@pobox.com>
12328
12329         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12330         way to do inheritance.
12331         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12332         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12333         Routine docs.
12334         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12335         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12336         doc.
12337         (gst_pad_unlink, gst_pad_is_linked): Docs.
12338         (gst_pad_renegotiate): A brief description of capsnego.
12339         (gst_pad_try_set_caps): Document.
12340         (gst_pad_try_set_caps_nonfixed): Document.
12341         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12342         (gst_pad_set_parent): Deprecated (although not out of the API).
12343         (gst_pad_get_parent): Deprecated, although many plugins use this.
12344         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12345         are private and will go away in 0.9.
12346         (gst_pad_perform_negotiate): Doc.
12347         (gst_pad_link_unnegotiate): I think this is meant to be static.
12348         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12349         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12350         (gst_pad_get_peer): Doc updates.
12351         (gst_pad_caps_change_notify): Doc.
12352         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12353         (gst_ghost_pad_new): Doc fixes.
12354
12355         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12356         (gst_object_check_uniqueness): 
12357
12358         * gst/gstelement.c (gst_element_add_pad) 
12359         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12360         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12361         (gst_element_get_static_pad, gst_element_get_pad_list) 
12362         (gst_element_class_get_pad_template_list) 
12363         (gst_element_class_get_pad_template): Work on the docs.
12364         (gst_element_get_pad_template_list): Uses the class method.
12365         (gst_element_get_compatible_pad_template): Docs, and consolidate
12366         some test conditions. 
12367         (gst_element_get_pad_from_template): New static function.
12368         (gst_element_request_compatible_pad): Docs, and work with
12369         non-request compatible templates. 
12370         (gst_element_get_compatible_pad_filtered): Docs and remove
12371         redundant checks.
12372         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12373         (gst_element_link_filtered, gst_element_link_many) 
12374         (gst_element_link, gst_element_link_pads) 
12375         (gst_element_unlink_many): Docs.
12376
12377 2004-02-05  Andy Wingo  <wingo@pobox.com>
12378
12379         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12380         s/pointer/boxed/.
12381
12382         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12383
12384         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12385         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12386         with the type=GST_TYPE_CAPS. This allows language bindings to know
12387         what kind of data they're dealing with.
12388
12389         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12390         to NULL when g_value_init is called. GstCaps, which rolls its own
12391         type implementation, now does the same instead of allocating empty
12392         caps.
12393         (_gst_caps_initialize, _gst_caps_collect_value,
12394         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12395         table methods. This allows G_VALUE_COLLECT to work.
12396
12397 2004-02-05  Andy Wingo  <wingo@pobox.com>
12398
12399         * configure.ac:
12400         * testsuite/Makefile.am (SUBDIRS): 
12401         * testsuite/ghostpads/Makefile.am: 
12402         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12403
12404         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12405         These two routines are the only ones that set
12406         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12407         pad template. They should be made static, depending on ABI needs.
12408         (gst_real_pad_dispose): Handle the case of ghost pads without a
12409         parent. Assert after dealing with ghost pads that the ghost pad
12410         list is empty.
12411         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12412         set after creation.
12413         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12414         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12415         functions. set_property will call add_ghost_pad/remove_ghost_pad
12416         as appropriate.
12417         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12418
12419         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12420         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12421         (gst_element_remove_pad): Handle ghost pads as well.
12422         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12423         depending on API-stability needs).
12424
12425 2004-02-05  Andy Wingo  <wingo@pobox.com>
12426
12427         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12428         of course they're const
12429
12430 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12431
12432         * tools/Makefile.am:
12433         * tools/gst-feedback:
12434         * tools/gst-feedback-0.7:
12435           make gst-feedback versioned too for consistency
12436
12437 2004-02-11  David Schleef  <ds@schleef.org>
12438
12439         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12440         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12441
12442 2004-02-10  Julien MOUTTE <julien@moutte.net>
12443
12444         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12445         the structure does not contain a valid tag list. Adding a safety check
12446         to remove a noisy warning in that case.
12447
12448 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12449
12450         * gst/gst.c: fix name to be in line with others
12451
12452 2004-02-09  Julien MOUTTE <julien@moutte.net>
12453
12454         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12455         not shout that loud when len is 0. Just return 0 silently.
12456
12457 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12458
12459         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12460         because data_unref has one and I prefer the debug to be symetric.
12461         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12462         were refed when added to the queue and unrefed only once when the queue
12463         was flushed. Now the flush handler unref the buffers two times : first
12464         unref for the ref added when pushing in the queue's tail and second
12465         unref to destroy the flushed buffer.
12466
12467 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12468
12469         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12470
12471 2004-02-06  David Schleef  <ds@schleef.org>
12472
12473         * docs/random/ds/0.9-suggested-changes: Random ramblings
12474         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12475         to int before printing.
12476         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12477         * gst/parse/parse.l: same.  See bug #129600
12478
12479 2004-02-06  David Schleef  <ds@schleef.org>
12480
12481         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12482         (gst_index_add_entry), (gst_index_add_associationv),
12483         (gst_index_add_association): Add gst_index_add_associationv()
12484         and clean up gst_index_add_association(). #127133
12485
12486 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12487
12488         * autogen.sh: check out common with right tag if CVS/Tag exists
12489
12490 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12491
12492         * testsuite/ghostpads/ghostpads.c: (main):
12493           fix testsuite from segfaulting
12494
12495 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12496
12497         * Makefile.am: add release target
12498         * configure.ac: bump nano to 1
12499         * docs/random/release:
12500
12501 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12502
12503         * gst/gstcaps.h:
12504         * gst/gstelement.c: (gst_element_base_class_init),
12505         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12506         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12507         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12508         (gst_real_pad_dispose):
12509         * gst/gststructure.c: (gst_structure_free),
12510         (gst_structure_from_string):
12511           put reverted patch back in
12512         * gst/gstelement.c: (gst_element_remove_pad):
12513           free explicit caps if they're set
12514         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12515           copy the structure when fixating
12516
12517 2004-02-05  David Schleef  <ds@schleef.org>
12518
12519         * gst/gstmarshal.list:
12520         * gst/gstpad.c: (gst_real_pad_class_init),
12521         (_gst_real_pad_fixate_accumulator):
12522         Revert POINTER->BOXED change in signal marshaller.
12523
12524 === release 0.7.4 ===
12525                                                                                 
12526 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12527                                                                                 
12528         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12529         * configure.ac: changed for release
12530
12531 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12532
12533         * gstreamer.spec.in:
12534           bump required version of gtk-doc
12535
12536 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12537
12538         * gst/gstcaps.h:
12539         * gst/gstelement.c: (gst_element_base_class_init),
12540         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12541         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12542         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12543         (gst_real_pad_dispose):
12544         * gst/gststructure.c: (gst_structure_free),
12545         (gst_structure_from_string):
12546           revert patch that breaks applications, reapply after release
12547           to get this fixed properly
12548
12549 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12550
12551         * gst/gsttag.c: (_gst_tag_initialize):
12552         * gst/gsttag.h:
12553           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12554
12555 2004-02-04  David Schleef  <ds@schleef.org>
12556
12557         Fix some memleaks:
12558         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12559         (gst_spider_plug_from_srcpad):
12560         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12561
12562 2004-02-04  David Schleef  <ds@schleef.org>
12563
12564         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12565         a GstRealPad before accessing its structure members.
12566
12567 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12568
12569         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12570         (gst_clock_get_speed):
12571         * gst/gstclock.h:
12572           reset padding, remove unused fields
12573
12574 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12575
12576         * gst/autoplug/gstspideridentity.c:
12577         (gst_spider_identity_sink_loop_type_finding):
12578           use get_allowed_caps, not get_caps (fixes #132519)
12579         * gst/elements/gsttypefind.c: (stop_typefinding):
12580           use correct order when sending buffers and seeking
12581
12582 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12583
12584         * configure.ac:
12585         * gst/gstelement.h:
12586         * gst/gstpad.h:
12587         * gst/gstqueue.h:
12588           upgrade libtool CURRENT, reset padding
12589
12590 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12591
12592         * configure.ac:
12593           bump to prerelease
12594           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12595
12596 2004-02-04  David Schleef  <ds@schleef.org>
12597
12598         * docs/random/ds/0.9-suggested-changes: random notes
12599         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12600         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12601         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12602         expansion.
12603         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12604         (gst_filesink_get_query_types): same
12605         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12606         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12607         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12608         to use new GST_PTR_FORMAT.
12609         * gst/gstelement.h: deprecate function factory macros
12610         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12611         These are our last variadic macros that can't be replaced with
12612         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12613         attempting to deprecate gst_element_clock_wait().
12614         * gst/gstevent.h: same
12615         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12616         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12617         * gst/gstpad.h: deprecate function factory macros similar to above.
12618
12619 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12620
12621         * configure.ac:
12622         * tools/Makefile.am:
12623         * tools/gst-run.c: (popt_callback), (hash_print_key),
12624         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12625         (get_candidates), (main):
12626           add new source file to generate non-versioned wrapper binaries
12627           for our tools.
12628
12629 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12630
12631         * gst/gstevent.c: (_gst_event_free):
12632           actually break; inside the switch statement
12633         * gst/parse/grammar.y:
12634           fix memleak where GValues weren't unset
12635
12636 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12637
12638         * gst/gststructure.c: (gst_structure_from_string):
12639           fix huge memleak
12640         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12641         (new_entry), (gst_type_find_element_chain):
12642         * gst/gstelement.c: (gst_element_base_class_init),
12643         (gst_element_class_set_details):
12644         * gst/gstpad.c: (gst_pad_can_link_filtered):
12645           fix smaller memleaks
12646         * gst/gstpad.c: (gst_real_pad_dispose):
12647           check that explicit caps are gone
12648         * gst/gststructure.c: (gst_structure_free):
12649           actually free the structure
12650         * gst/gstelement.c: (gst_element_clear_pad_caps):
12651           unset explicit caps
12652
12653 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12654
12655         * tools/Makefile.am:
12656           use AM_CFLAGS since all the CFLAGS are the same
12657           use AM_LDFAGS
12658
12659 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12660
12661         * docs/manual/gnome.xml:
12662           expand example a little
12663         * gst/gst.c: (gst_init_with_popt_table),
12664         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12665           make sure popt option displays are done with right textdomain
12666           use GstPoptOption type
12667         * gst/gst.h:
12668           create GstPoptOption type
12669
12670 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12671
12672         * gst/gsterror.c: (_gst_stream_errors_init):
12673         * gst/gsterror.h:
12674           adding error type for no codec
12675         * po/POTFILES.in:
12676           add gst-inspect
12677         * po/nl.po:
12678           update dutch translation
12679         * tools/gst-inspect.c: (print_element_list), (main):
12680           do proper internationalization
12681         * tools/gst-launch.c: (idle_func):
12682           remove commented out function call
12683
12684 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * docs/README:
12687           add some error fixing notes
12688         * docs/gst/gstreamer-sections.txt:
12689           remove double entries
12690         * docs/gst/tmpl/gstbin.sgml:
12691         * docs/gst/tmpl/gstclock.sgml:
12692           remove override
12693         * docs/gst/tmpl/gstelement.sgml:
12694         * docs/gst/tmpl/gstindex.sgml:
12695         * docs/gst/tmpl/gstobject.sgml:
12696         * docs/gst/tmpl/gstpadtemplate.sgml:
12697         * docs/gst/tmpl/gstreamer-unused.sgml:
12698         * docs/gst/tmpl/gsttag.sgml:
12699         * docs/gst/tmpl/gstthread.sgml:
12700         * docs/gst/tmpl/gstxml.sgml:
12701         * gst/gsttag.h:
12702           sync header prototypes with c decls
12703         * gst/gsttaginterface.c:
12704           fix doc headers
12705
12706 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12707
12708         * gst/parse/Makefile.am:
12709         * gst/gstobject.h:
12710           get rid of gstmarshal.h dependency. It's not needed.
12711         * gst/gst.h:
12712         * gst/elements/gstfakesink.c:
12713         * gst/elements/gstfakesrc.c:
12714         * gst/elements/gstidentity.c:
12715         * gst/gstbin.c:
12716         * gst/gstelement.c:
12717         * gst/gstindex.c:
12718         * gst/gstobject.c:
12719         * gst/gstpad.c:
12720         * gst/gstthread.c:
12721         * gst/gstxml.c:
12722         * libs/gst/control/dparam.c:
12723         * libs/gst/control/dparammanager.c:
12724           include gstmarshal.h.
12725         Fixes #132045
12726
12727 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12728
12729         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12730         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12731         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12732         * gst/elements/gstfilesrc.h:
12733           don't ref the filesrc when creating mmaped buffers. Don't keep a
12734           list of not-yet-destroyed buffers.
12735         * gst/gstbuffer.h:
12736           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12737
12738 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12739
12740         * gst/gst.c: (init_pre):
12741           remove textdomain
12742
12743 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12744
12745         * docs/pwg/advanced-events.xml:
12746         * docs/pwg/advanced-scheduling.xml:
12747         * docs/pwg/intro-basics.xml:
12748         * docs/pwg/other-manager.xml:
12749         * docs/pwg/other-nton.xml:
12750         * docs/pwg/other-ntoone.xml:
12751         * docs/pwg/other-oneton.xml:
12752         * docs/pwg/pwg.xml:
12753           All sort of documentation... Forgot what. Point is that I want this
12754           in before I leave. The 'other-*' will be the last section and will
12755           explain issues specific to these type of elements.
12756
12757 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12758
12759         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12760         (gst_filesrc_get_read):
12761           set all the values on buffers that we can
12762
12763 2004-02-02  David Schleef  <ds@schleef.org>
12764
12765         Change usage of isblah() to g_ascii_isblah() to be more locale
12766         independent.  (#133076)
12767         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12768         * gst/gstutils.c:
12769         * gst/parse/parse.l:
12770
12771 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12772
12773         reviewed by: David Schleef  <ds@schleef.org>
12774
12775         Fix memory leaks:
12776         * gst/gstcaps.c: (gst_caps_to_string):
12777         * gst/registries/gstxmlregistry.c:
12778         (gst_xml_registry_add_path_list_func),
12779         (gst_xml_registry_parse_padtemplate):
12780
12781 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12782
12783         * gst/gstelement.c: (gst_element_default_error):
12784           suffix error messages with period
12785
12786 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12787
12788         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12789         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12790         * gst/gsterror.c: (gst_error_get_message):
12791           Suffix with dots
12792         * po/fr.po:
12793         * po/nl.po:
12794           Update translation files
12795
12796 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12797
12798         * gst/autoplug/gstspideridentity.c:
12799         (gst_spider_identity_sink_loop_type_finding):
12800         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12801         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12802         (gst_filesink_close_file), (gst_filesink_handle_event),
12803         (gst_filesink_chain):
12804         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12805         (gst_filesrc_get_read), (gst_filesrc_open_file):
12806         * gst/elements/gstidentity.c: (gst_identity_chain):
12807         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12808         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12809         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12810         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12811         * gst/gsterror.c: (_gst_core_errors_init),
12812         (_gst_library_errors_init), (_gst_resource_errors_init),
12813         (_gst_stream_errors_init), (gst_error_get_message):
12814         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12815         (gst_pad_recover_caps_error), (gst_pad_pull):
12816         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12817         * gst/schedulers/gstbasicscheduler.c:
12818         (gst_basic_scheduler_chainhandler_proxy),
12819         (gst_basic_scheduler_gethandler_proxy),
12820         (gst_basic_scheduler_cothreaded_chain):
12821           Suffix error messages with period.
12822           Use (NULL) instead of NULL
12823
12824 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12825
12826         * docs/gst/tmpl/gstelement.sgml:
12827         * docs/gst/tmpl/gstxml.sgml:
12828         * gst/gstelement.c: (gst_element_error_full):
12829           add element path to error
12830
12831 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12832
12833         * docs/random/mimetypes:
12834           update raw int/float info
12835         * gst/gsttag.c: (_gst_tag_initialize):
12836         * gst/gsttag.h:
12837           add GST_TAG_ENCODER
12838
12839 2004-01-30  David Schleef  <ds@schleef.org>
12840
12841         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12842           missing (#132991)
12843
12844 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12845
12846         reviewed by Benjamin Otte 
12847           parts of the patch submitted in bug #113913
12848
12849         * configure.ac:
12850           use AC_C_INLINE. Use = instead of == with test
12851         * examples/plugins/example.c:
12852         * gst/autoplug/gstspideridentity.c:
12853         * gst/elements/gstfdsrc.c:
12854         * gst/elements/gstfilesrc.c:
12855         * gst/elements/gstidentity.c:
12856         * gst/elements/gstmultidisksrc.c:
12857         * gst/elements/gststatistics.c:
12858         * gst/gstelement.c:
12859         * gst/gstobject.c:
12860         * gst/gstpad.c:
12861         * gst/gstpipeline.c:
12862         * gst/gstthread.c:
12863           don't end enums with a comma
12864         * gst/gstindex.c: (gst_index_compare_func):
12865           do explicit casting to gint
12866         * gst/gsttrace.c: (gst_trace_text_flush):
12867           #define strsize as a macro
12868
12869 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12870
12871         * docs/README:
12872         * docs/gst/gstreamer-docs.sgml:
12873         * docs/gst/gstreamer-sections.txt:
12874         * docs/gst/tmpl/gstelement.sgml:
12875         * docs/gst/tmpl/gsterror.sgml:
12876         * docs/gst/tmpl/gstinterface.sgml:
12877         * docs/gst/tmpl/gstreamer-unused.sgml:
12878         * docs/gst/tmpl/gststructure.sgml:
12879         * docs/gst/tmpl/gsttag.sgml:
12880         * docs/gst/tmpl/gsttaginterface.sgml:
12881         * docs/gst/tmpl/gstvalue.sgml:
12882         make sure all API ends up in the built docs
12883         * gst/gstinterface.c:
12884         * gst/gststructure.c: (gst_structure_id_set_value),
12885         (gst_structure_set_value), (gst_structure_id_get_value):
12886         * gst/gststructure.h:
12887         * gst/gstvalue.h:
12888         sync .h with .c declarations
12889
12890 2004-01-30  Julien Moutte  <julien@moutte.net>
12891
12892         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12893         Ronald will fix riffread.
12894
12895 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12896
12897         * docs/pwg/advanced-interfaces.xml:
12898           Added tuner interface docs.
12899
12900 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12901
12902         * docs/random/mimetypes:
12903           correct Theora information
12904         * gst/gstelement.h:
12905           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12906
12907 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12908
12909         * gst/gstelement.c: (gst_element_error_full):
12910         * gst/gstelement.h:
12911           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12912
12913 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12914
12915         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12916         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12917         again and even before DISCONT.
12918         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12919         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12920         bytestream so that it's not stopping to fill the bytestream if events
12921         different than EOS or DISCONT are received. Instead it process them so
12922         that they go downstream.
12923
12924 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12925
12926         * docs/gst/tmpl/gstelement.sgml:
12927         * docs/gst/tmpl/gstreamer-unused.sgml:
12928         * docs/gst/tmpl/gstxml.sgml:
12929         * gst/autoplug/gstspideridentity.c:
12930         (gst_spider_identity_sink_loop_type_finding):
12931         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12932         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12933         (gst_filesink_close_file), (gst_filesink_handle_event),
12934         (gst_filesink_chain):
12935         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12936         (gst_filesrc_get_read), (gst_filesrc_open_file):
12937         * gst/elements/gstidentity.c: (gst_identity_chain):
12938         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12939         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12940         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12941         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12942         * gst/gstelement.h:
12943         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12944         (gst_pad_recover_caps_error), (gst_pad_pull):
12945         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12946         * gst/schedulers/gstbasicscheduler.c:
12947         (gst_basic_scheduler_chainhandler_proxy),
12948         (gst_basic_scheduler_gethandler_proxy),
12949         (gst_basic_scheduler_cothreaded_chain):
12950           gst_element_error -> GST_ELEMENT_ERROR
12951
12952 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12953
12954         * docs/Makefile.am:
12955         * docs/gst/tmpl/gstelement.sgml:
12956         * docs/gst/tmpl/gstxml.sgml:
12957         * docs/manuals.mak:
12958         * docs/pwg/advanced-request.xml:
12959         * docs/pwg/advanced-scheduling.xml:
12960         * docs/pwg/advanced-tagging.xml:
12961           fix non-validating docbook using CDATA
12962           make sure make check-local gets run first to check if it validates
12963
12964 2004-01-29  Julien MOUTTE <julien@moutte.net>
12965
12966         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12967         handling (up and downstream).
12968         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12969         my_filter thing.
12970
12971 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12972
12973         * docs/pwg/advanced-tagging.xml:
12974           Add docs about tag writing.
12975
12976 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12977
12978         * docs/pwg/advanced-tagging.xml:
12979           Add a part about tag reading and application signalling... Tag
12980           writing still needs to be documented.
12981         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12982           We can set file locations in READY, too.
12983
12984 2004-01-29  Julien MOUTTE <julien@moutte.net>
12985
12986         * docs/random/ds/element-checklist: Adding some notes about src
12987         events.
12988
12989 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12990
12991         * docs/random/mimetypes:
12992           Update docs to point to correct elements for various mimetypes, and
12993           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12994           <stephane.loeuillet@tiscali.fr>.
12995
12996 2004-01-28  David Schleef  <ds@schleef.org>
12997
12998         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12999
13000 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13001
13002         * docs/random/mimetypes:
13003           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13004           undefined"
13005         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13006           make it only work in NULL.
13007         * gst/gstcaps.c:
13008           don't posion NULL caps
13009         * gst/gstelement.c: (gst_element_set_time):
13010           add debugging statement
13011         * gst/gstelement.c: (gst_element_emit_found_tag),
13012         (gst_element_found_tag_func), (gst_element_found_tags):
13013         * gst/gstelement.h:
13014           These functions take const taglists
13015         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13016           fix memleak
13017         * gst/gstpad.c: (gst_pad_event_default):
13018           make more effort on handling discont and clocks, g_warn if everything
13019           fails
13020         * gst/gststructure.c: (gst_structure_remove_fields),
13021         (gst_structure_remove_fields_valist):
13022         * gst/gststructure.h:
13023           add gst_structure_remove_fields(_valist)
13024         * gst/gsttag.c:
13025           fix doc glitch
13026
13027 2004-01-28  David Schleef  <ds@schleef.org>
13028
13029         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13030         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13031         Fix memory leakage of gst_caps_to_string().
13032
13033         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13034         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13035         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13036         (gst_spider_identity_sink_loop_type_finding):
13037         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13038         (find_suggest):
13039         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13040         (gst_pad_set_explicit_caps):
13041         * gst/parse/grammar.y:
13042
13043 2004-01-28  David Schleef  <ds@schleef.org>
13044
13045         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13046         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13047         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13048         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13049         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13050         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13051         (gst_debug_log_default), (_gst_info_printf_extension),
13052         (_gst_info_printf_extension_arginfo):  Add printf extension.
13053         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13054         * gst/gststructure.c: (gst_structure_to_string),
13055         (_gst_structure_parse_value): Use gst_value_deserialize() and
13056         remove old code.
13057         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13058         (gst_value_deserialize_boolean), (gst_strtoi),
13059         (gst_value_deserialize_int), (gst_value_deserialize_double),
13060         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13061         a bunch of deserialize functions and gst_value_deserialize.
13062         * gst/gstvalue.h: er, _de_serialize, not unserialize
13063         * testsuite/caps/string-conversions.c: (main): We don't currently
13064         handle (float) in caps, so convert these to (double).
13065         * testsuite/debug/Makefile.am: Add new test for the printf extension
13066         * testsuite/debug/printf_extension.c: (main): same
13067
13068 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13069
13070         * docs/random/company/time:
13071           Add some docs about clocking and time
13072
13073 2004-01-28  Julien MOUTTE <julien@moutte.net>
13074
13075         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13076
13077 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13078
13079         * docs/pwg/advanced-clock.xml:
13080         * docs/pwg/advanced-dparams.xml:
13081         * docs/pwg/advanced-events.xml:
13082         * docs/pwg/advanced-interfaces.xml:
13083         * docs/pwg/advanced-midi.xml:
13084         * docs/pwg/advanced-request.xml:
13085         * docs/pwg/advanced-scheduling.xml:
13086         * docs/pwg/advanced-tagging.xml:
13087         * docs/pwg/advanced-types.xml:
13088         * docs/pwg/appendix-checklist.xml:
13089         * docs/pwg/building-boiler.xml:
13090         * docs/pwg/building-chainfn.xml:
13091         * docs/pwg/building-filterfactory.xml:
13092         * docs/pwg/building-pads.xml:
13093         * docs/pwg/building-props.xml:
13094         * docs/pwg/building-signals.xml:
13095         * docs/pwg/building-state.xml:
13096         * docs/pwg/building-testapp.xml:
13097         * docs/pwg/intro-basics.xml:
13098         * docs/pwg/intro-preface.xml:
13099         * docs/pwg/other-autoplugger.xml:
13100         * docs/pwg/other-sink.xml:
13101         * docs/pwg/other-source.xml:
13102         * docs/pwg/titlepage.xml:
13103           fix up id's
13104
13105 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13106
13107         * docs/95NonPath:
13108         * docs/HACKING:
13109         * docs/README:
13110         * docs/building-the-docs-on-debian:
13111           collect relevant bits of doc info
13112
13113 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13114
13115         * docs/pwg/advanced_tagging.xml:
13116           Half-assed commit so Thomas can re-arrange document IDs here to be
13117           consistent, too.
13118
13119 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13120
13121         * docs/manual/autoplugging.xml:
13122         * docs/manual/bins-api.xml:
13123         * docs/manual/bins.xml:
13124         * docs/manual/buffers-api.xml:
13125         * docs/manual/buffers.xml:
13126         * docs/manual/clocks.xml:
13127         * docs/manual/components.xml:
13128         * docs/manual/cothreads.xml:
13129         * docs/manual/debugging.xml:
13130         * docs/manual/dparams-app.xml:
13131         * docs/manual/dynamic.xml:
13132         * docs/manual/elements-api.xml:
13133         * docs/manual/elements.xml:
13134         * docs/manual/factories.xml:
13135         * docs/manual/gnome.xml:
13136         * docs/manual/goals.xml:
13137         * docs/manual/helloworld.xml:
13138         * docs/manual/helloworld2.xml:
13139         * docs/manual/init-api.xml:
13140         * docs/manual/intro.xml:
13141         * docs/manual/links-api.xml:
13142         * docs/manual/links.xml:
13143         * docs/manual/manual.xml:
13144         * docs/manual/motivation.xml:
13145         * docs/manual/pads-api.xml:
13146         * docs/manual/pads.xml:
13147         * docs/manual/plugins-api.xml:
13148         * docs/manual/plugins.xml:
13149         * docs/manual/programs.xml:
13150         * docs/manual/queues.xml:
13151         * docs/manual/quotes.xml:
13152         * docs/manual/schedulers.xml:
13153         * docs/manual/states-api.xml:
13154         * docs/manual/states.xml:
13155         * docs/manual/threads.xml:
13156         * docs/manual/typedetection.xml:
13157         * docs/manual/xml.xml:
13158           use chapter, part, section or misc as id starts for all bits
13159
13160 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13161
13162         * docs/gst/gstreamer-sections.txt:
13163           Fix up TITLE of the sections
13164
13165 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13166
13167         * docs/pwg/advanced_interfaces.xml:
13168           Add documentation on propertyprobing.
13169         * docs/pwg/advanced_events.xml:
13170         * docs/pwg/advanced_tagging.xml:
13171         * docs/pwg/building_boiler.xml:
13172         * docs/pwg/building_filterfactory.xml:
13173         * docs/pwg/pwg.xml:
13174           Move filterfactory and tagging into their own chapter, add a chapter
13175           on events. all these are empty placeholders that will be filled in
13176           some day.
13177
13178 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13179
13180         * docs/pwg/advanced_interfaces.xml:
13181           Docs for mixer interface. Also a check for website uploading.
13182
13183 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13184
13185         * docs/HACKING:
13186         * docs/Makefile.am:
13187         * docs/faq/Makefile.am:
13188         * docs/gst/Makefile.am:
13189         * docs/gst/tmpl/gstelement.sgml:
13190         * docs/gst/tmpl/gstplugin.sgml:
13191         * docs/gst/tmpl/gstreamer-unused.sgml:
13192         * docs/libs/Makefile.am:
13193         * docs/manual/Makefile.am:
13194         * docs/manuals.mak:
13195         * docs/pwg/Makefile.am:
13196         * docs/upload.mak:
13197           Separate out upload target and make it similar for
13198           both docbook and gtk-doc docs
13199
13200 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13201
13202         * docs/manuals.mak:
13203           Fix upload target to work with freedesktop
13204
13205 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13206
13207         * docs/pwg/advanced_types.xml:
13208           Add notes on creating your own types.
13209         * docs/pwg/building_boiler.xml:
13210         * docs/pwg/building_pads.xml:
13211         * docs/pwg/building_state.xml:
13212           Add some stuff about how to retrieve values from structures, how
13213           that relates to types and change layout slightly again to be almost
13214           perfect.
13215
13216 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13217
13218         * docs/pwg/advanced_dparams.xml:
13219         * docs/pwg/advanced_scheduling.xml:
13220           Change index layout slightly.
13221
13222 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13223
13224         * docs/pwg/advanced_clock.xml:
13225         * docs/pwg/advanced_interfaces.xml:
13226         * docs/pwg/advanced_midi.xml:
13227           General placeholders for now.
13228         * docs/pwg/advanced_request.xml:
13229           Explanation about sometimes and request pads.
13230         * docs/pwg/advanced_scheduling.xml:
13231           Concept of bytestream, loopfunctions and schedulers.
13232         * docs/pwg/building_boiler.xml:
13233           Add something about plugin-init.
13234
13235 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13236
13237         * docs/pwg/building_pads.xml:
13238           Fix broken docbook
13239
13240 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13241
13242         * docs/pwg/advanced_interfaces.xml:
13243         * docs/pwg/pwg.xml:
13244           Add as a placeholder for future filling-in.
13245         * docs/pwg/basics_autoplugging.xml:
13246         * docs/pwg/basics_buffers.xml:
13247         * docs/pwg/basics_elements.xml:
13248         * docs/pwg/basics_events.xml:
13249         * docs/pwg/basics_plugins.xml:
13250         * docs/pwg/basics_types.xml:
13251           Remove, because unused (this is all in intro_basics.xml).
13252         * docs/pwg/building_signals.xml:
13253           Short intro to signals + reference to GObject docs - we really
13254           shouldn't go into these sort of things to deply because we don't
13255           use them that extensively anyway.
13256         * docs/pwg/building_state.xml:
13257           Explanation of states. Benjamin, please check.
13258         * docs/pwg/building_testapp.xml:
13259           Put everything in one page - putting only a few lines of content
13260           per page doesn't really make sense.
13261
13262           Time to get into the advanced topics. ;).
13263
13264 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13265
13266         * docs/pwg/advanced_types.xml:
13267           Finish documenting the current state of mimetypes.
13268         * docs/pwg/building_boiler.xml:
13269         * docs/pwg/building_chainfn.xml:
13270         * docs/pwg/building_pads.xml:
13271         * docs/pwg/building_props.xml:
13272         * docs/pwg/building_testapp.xml:
13273           Start documenting the "how to build a simple audio filter" part
13274           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13275           states and (maybe?) a short introduction to capsnego in the chapter
13276           on pads (building_pads.xml). Capsnego should probably be explained
13277           fully in advanced_capsnego.xml or so.
13278
13279 2004-01-26  David Schleef  <ds@schleef.org>
13280
13281         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13282         * gst/gstpad.h: Add new function to allow element to (somewhat)
13283         specify non-fixed caps on a pad.
13284         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13285         that I added a few weeks ago.
13286
13287 2004-01-26  David Schleef  <ds@schleef.org>
13288
13289         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13290           making try_set_caps() work with non-fixed caps.
13291
13292 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13293
13294         * docs/pwg/advanced_types.xml:
13295         * docs/pwg/intro_basics.xml:
13296         * docs/pwg/intro_preface.xml:
13297         * docs/pwg/pwg.xml:
13298         * docs/pwg/titlepage.xml:
13299           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13300           in here (docs/random/mimetypes), and will from there on work on both
13301           updating outdated parts and adding missing parts.
13302           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13303
13304 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13305
13306         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13307           policy is set
13308
13309 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13310
13311         * gst/gstelement.h:
13312           remove gst_element_factory_get_version. It doesn't exist anymore.
13313         * gst/gstplugin.c:
13314         * gst/gstplugin.h:
13315           remove gst_plugin_set_name and change gst_plugin_get_longname to
13316           gst_plugin_get_description to match code.
13317         * gst/gsterror.h:
13318           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13319         * gst/gstpad.c: (gst_pad_try_set_caps):
13320           make it work with nonfixed caps.
13321           Note that even in the nonfixed case the link function of the pad
13322           that tries to set caps isn't called.
13323
13324 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13325
13326         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13327           fix bug where buffer was not assembled correctly
13328         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13329           silence by default
13330         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13331           only seek if there's no more buffers that could work without seeking
13332
13333 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13334
13335         * gst/gsttag.c: (_gst_tag_initialize):
13336         * gst/gsttag.h:
13337           Add application tag (for encoding/muxing app).
13338
13339 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13340
13341         * autogen.sh:
13342           make autopoint force, and libtoolize not copy
13343         * common/m4/as-docbook.m4:
13344           added docbook xml catalog setup check
13345         * common/m4/gst-doc.m4:
13346           use docbook check
13347
13348 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13349
13350         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13351         * gst/gsttag.h:
13352           add GstTagFlag
13353
13354 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13355
13356         * docs/gst/gstreamer-sections.txt:
13357         * docs/gst/tmpl/gst.sgml:
13358         * docs/gst/tmpl/gstbuffer.sgml:
13359         * docs/gst/tmpl/gstclock.sgml:
13360         * docs/gst/tmpl/gstelement.sgml:
13361         * docs/gst/tmpl/gstreamer-unused.sgml:
13362         * docs/gst/tmpl/gstxml.sgml:
13363           sync latest API changes to docs
13364
13365 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * gst/gstpluginfeature.c:
13368           fix doc snippet
13369         * tools/gst-inspect.c: (print_element_list):
13370           fix output of typefind
13371           add GPL header
13372         * tools/gst-launch.c:
13373           add GPL header
13374
13375 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13376
13377         * gst/elements/Makefile.am:
13378         * gst/elements/gstelements.c:
13379         * gst/elements/gsttypefindelement.c:
13380         * gst/elements/gsttypefindelement.h:
13381         * po/POTFILES.in:
13382         * po/fr.po:
13383         * po/nl.po:
13384           renamed gsttypefindelement to gsttypefind, conserving CVS history
13385
13386 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13387
13388         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13389         * gst/gsttag.h:
13390           add some tags used in ogg as well
13391           fix _ in replaygain tags
13392
13393 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13394
13395         * gst/gsterror.h:
13396           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13397
13398 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13399
13400         * gst/gstelement.c: (gst_element_error_full):
13401         * gst/gstelement.h:
13402           change _extended to _full
13403
13404 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13405
13406         reviewed by: <delete if not using a buddy>
13407
13408         * docs/gst/tmpl/gst.sgml:
13409         * docs/gst/tmpl/gstbuffer.sgml:
13410         * docs/gst/tmpl/gstclock.sgml:
13411         * docs/gst/tmpl/gstelement.sgml:
13412         * docs/gst/tmpl/gstreamer-unused.sgml:
13413         * docs/gst/tmpl/gstxml.sgml:
13414         * gst/gstelement.c: (gst_element_error_full):
13415         * gst/gstelement.h:
13416
13417 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13418
13419         * gst/gstelement.h: fix _gst_element_error_printf prototype
13420
13421 2004-01-20  David Schleef  <ds@schleef.org>
13422
13423         * gst/gststructure.c: (gst_structure_to_string):
13424         Convert function to use gst_value_serialize().
13425         * gst/gstvalue.c: (gst_value_serialize_list),
13426         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13427         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13428         (gst_value_serialize_int), (gst_value_serialize_double),
13429         (gst_string_wrap), (gst_value_serialize_string),
13430         (gst_value_serialize), (gst_value_deserialize):
13431         * gst/gstvalue.h:
13432         Add implementations for serialize.
13433
13434 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13435
13436         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13437         we want to keep that one in the future or change xvidenc.c to use 
13438         another error.
13439
13440 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * gst/gstelement.c: (_gst_element_error_printf):
13443         * gst/gstelement.h:
13444           privatise function
13445
13446 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13447
13448         * docs/random/error:
13449           doc explaining error system
13450         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13451           cleanup
13452
13453 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * gst/gst-i18n-app.h:
13456         * gst/gst-i18n-lib.h:
13457           remove inclusion of config.h
13458         * po/POTFILES.in:
13459         * po/nl.po:
13460           add gst/gstelement.c
13461
13462 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13463
13464         * po/nl.po: updated Dutch translation
13465
13466 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13467
13468         * gst/gsterror.c: (_gst_core_errors_init),
13469         (_gst_library_errors_init), (_gst_resource_errors_init),
13470         (_gst_stream_errors_init):
13471         remove ending punctuation dots
13472
13473 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13474
13475         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13476         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13477         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13478         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13479         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13480         use GST_ERROR_SYSTEM
13481
13482 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13483
13484         * gst/gstelement.c: (gst_element_error_printf),
13485         (gst_element_error_extended):
13486         * gst/gstelement.h:
13487           add a helper printf function so we can have NULL values passed.
13488
13489 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13490
13491         * gst/gstelement.h:
13492           add G_STMT macros to gst_element_error, which isn't strictly
13493           necessary but people tell me to anyway.
13494
13495 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13496
13497         * gst/Makefile.am:
13498         * gst/autoplug/gstspideridentity.c:
13499         (gst_spider_identity_sink_loop_type_finding):
13500         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13501         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13502         (gst_filesink_close_file), (gst_filesink_handle_event),
13503         (gst_filesink_chain):
13504         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13505         (gst_filesrc_map_region), (gst_filesrc_get_read),
13506         (gst_filesrc_open_file):
13507         * gst/elements/gstidentity.c: (gst_identity_chain):
13508         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13509         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13510         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13511         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13512         * gst/gst.h:
13513         * gst/gst_private.h:
13514         * gst/gstelement.c: (gst_element_class_init),
13515         (gst_element_default_error), (gst_element_error_func),
13516         (gst_element_error_extended):
13517         * gst/gstelement.h:
13518         * gst/gsterror.c: (_gst_core_errors_init),
13519         (_gst_library_errors_init), (_gst_resource_errors_init),
13520         (_gst_stream_errors_init), (gst_error_get_message):
13521         * gst/gsterror.h:
13522         * gst/gstinfo.c: (_gst_debug_init):
13523         * gst/gstmarshal.list:
13524         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13525         (gst_pad_recover_caps_error), (gst_pad_pull):
13526         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13527         * gst/schedulers/gstbasicscheduler.c:
13528         (gst_basic_scheduler_chainhandler_proxy),
13529         (gst_basic_scheduler_gethandler_proxy),
13530         (gst_basic_scheduler_cothreaded_chain):
13531         * po/POTFILES.in:
13532         * po/fr.po:
13533         * po/nl.po:
13534           change error signal
13535           add error categories
13536
13537 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13538
13539         * gst/gsttag.c: (_gst_tag_initialize):
13540         * gst/gsttag.h:
13541         Add replaygain tag
13542
13543 2004-01-18  Colin Walters  <walters@verbum.org>
13544
13545         * examples/retag/retag.c: Call gst_init before processing
13546         program args.  Add g_assert to _link_many call.
13547
13548 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13549
13550         * gst/gstpad.c: (gst_pad_alloc_buffer):
13551           Return a newly allocated buffer when the pad has no peer.
13552
13553 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13554
13555         * gst/gstclock.c: (gst_clock_get_time):
13556           make it compile with gcc 2.95 again.
13557           Patch by Scott Wheeler
13558
13559 2004-01-15  David Schleef  <ds@schleef.org>
13560
13561         * gst/gstcaps.h:
13562         Added gst_caps_is_simple() macro.
13563         * testsuite/caps/caps.c: (test1):
13564         * testsuite/caps/intersect2.c: (main):
13565         * testsuite/caps/intersection.c: (main):
13566         Fixes to make 'make check' work again after removing
13567         gst_caps_is_chained().
13568
13569 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13570
13571         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13572         and additions to the MIDI document.
13573
13574 2004-01-15  David Schleef  <ds@schleef.org>
13575
13576         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13577         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13578         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13579
13580 2004-01-15  David Schleef  <ds@schleef.org>
13581
13582         * gst/gstqueue.c:
13583         * gst/gstqueue.h:
13584         Fix the spelling of "treshold" and make min_threshold actually
13585         affect the queue.
13586
13587 2004-01-15  David Schleef  <ds@schleef.org>
13588
13589         * gst/gstcaps.c:
13590         Add lots of documentation.
13591         * gst/gstcaps.h:
13592         Deprecate a few functions.
13593         * gst/gstpad.c:
13594         Removed use of deprecated functions.
13595
13596 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13597
13598         * gst/gstpad.c: (gst_pad_is_linked):
13599         * gst/gstpad.h:
13600           implement gst_pad_is_linked
13601         * gst/gstelement.h:
13602           reserve space for initiate_state_change
13603
13604 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13605
13606         * gst/autoplug/gstspideridentity.c:
13607         (gst_spider_identity_sink_loop_type_finding):
13608           break infinite loop by just returning instead of looping
13609         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13610           set event time difference correctly. Set it to 1 second instead
13611           of 100ms to be more tolerant
13612         * gst/gstelement.c: (gst_element_set_time):
13613           add debugging output
13614
13615 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13616
13617         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13618           query if buffers are inside the pool, ignore events
13619
13620 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13621
13622         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13623         (gst_clock_set_speed), (gst_clock_set_active),
13624         (gst_clock_is_active), (gst_clock_reset),
13625         (gst_clock_handle_discont):
13626         * gst/gstclock.h:
13627           deprecate old interface and disable functions that aren't in use
13628           anymore.
13629         * gst/gstelement.h:
13630         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13631         (gst_element_set_time), (gst_element_adjust_time):
13632           add concept of "element time" and functions to get/set this time.
13633         * gst/gstelement.c: (gst_element_change_state):
13634           update element time correctly.
13635         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13636           This is a debug message, not a g_critical.
13637         * gst/gstpad.c: (gst_pad_event_default):
13638           handle discontinuous events right with element time.
13639         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13640           update to clocking fixes.
13641           set clocks on elements in READY=>PAUSED. The old behaviour caused
13642           a wrong element time on the first element that started playing.
13643         * gst/schedulers/gstbasicscheduler.c:
13644         (gst_basic_scheduler_class_init):
13645         * gst/schedulers/gstoptimalscheduler.c:
13646         (gst_opt_scheduler_class_init):
13647           remove code that just implements the default behaviour.
13648         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13649           update to use new clocking functions
13650         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13651         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13652           update to test new element time.
13653         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13654           use _get_allowed_caps instead of _get_caps. This catches filtered
13655           caps correctly.
13656         * testsuite/debug/commandline.c:
13657           update for new GST_DEBUG syntax.
13658         * testsuite/threads/Makefile.am:
13659           disable a test that only works sometimes.
13660
13661 2004-01-13  Julien MOUTTE <julien@moutte.net>
13662
13663         * po/LINGUAS: Adding fr.
13664         * po/fr.po: Adding french translation.
13665
13666 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13667
13668         * gst/parse/grammar.y:
13669         * po/POTFILES.in:
13670         * po/nl.po:
13671         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13672           translate parsing error messages
13673
13674 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13675
13676         * po/POTFILES.in: adding gst-launch
13677         * po/nl.po: updated translation, all 99 strings translated
13678         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13679         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13680           fix strings for translation
13681
13682 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13683
13684         * gst/gst.c:
13685           - capitalize beginnings of popt options
13686           - fix strings for translation
13687           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13688
13689 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13690
13691         * po/README: add some notes on how to update translations
13692
13693 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13694
13695         * ABOUT-NLS: removed, is autogenerated from autopoint
13696         * autogen.sh: add autopoint stuff
13697         * configure.ac: fix up gettext stuff
13698         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13699         * gst/elements/gsttypefindelement.c: add header include
13700         * gst/gettext.h: add header, copy from system-installed header
13701         * gst/gst-i18n-app.h: to be included by each app having translations
13702         * gst/gst-i18n-lib.h: to be included by each lib having translations
13703         * gst/gst.c: (init_pre): fix up gettext calls
13704         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13705         * po/LINGUAS: the new way to specify translations present
13706         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13707         * po/Makevars: the variables filled in for GStreamer
13708         * po/POTFILES.in: added new files with translations
13709         * po/de.po: has new strings
13710         * po/nl.po: readded, has new strings
13711
13712 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13713
13714         * gst/gsttag.c: fix some strings marked for translation
13715
13716 2004-01-13  Iain <iain@prettypeople.org>
13717
13718         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13719         group when we add an element to it, cos we unref it when we remove one
13720
13721 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13722
13723         * testsuite/debug/commandline.c: (debug_not_reached):
13724         * testsuite/debug/output.c: (check_message):
13725           fix testsuite
13726
13727 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13728
13729         * examples/cutter/.cvsignore:
13730         * examples/helloworld/.cvsignore:
13731         * examples/launch/.cvsignore:
13732         * examples/manual/.cvsignore:
13733         * examples/mixer/.cvsignore:
13734         * examples/pingpong/.cvsignore:
13735         * examples/plugins/.cvsignore:
13736         * examples/queue/.cvsignore:
13737         * examples/queue2/.cvsignore:
13738         * examples/queue3/.cvsignore:
13739         * examples/queue4/.cvsignore:
13740         * examples/retag/.cvsignore:
13741         * examples/thread/.cvsignore:
13742         * examples/typefind/.cvsignore:
13743         * examples/xml/.cvsignore:
13744         * gst/.cvsignore:
13745         * gst/autoplug/.cvsignore:
13746         * gst/elements/.cvsignore:
13747         * gst/indexers/.cvsignore:
13748         * gst/parse/.cvsignore:
13749         * gst/registries/.cvsignore:
13750         * gst/schedulers/.cvsignore:
13751         * libs/gst/bytestream/.cvsignore:
13752         * libs/gst/control/.cvsignore:
13753         * libs/gst/getbits/.cvsignore:
13754         * tests/.cvsignore:
13755         * tests/bufspeed/.cvsignore:
13756         * tests/instantiate/.cvsignore:
13757         * tests/memchunk/.cvsignore:
13758         * tests/muxing/.cvsignore:
13759         * tests/sched/.cvsignore:
13760         * tests/seeking/.cvsignore:
13761         * tests/threadstate/.cvsignore:
13762         * testsuite/.cvsignore:
13763         * testsuite/caps/.cvsignore:
13764         * testsuite/cleanup/.cvsignore:
13765         * testsuite/dynparams/.cvsignore:
13766         * testsuite/plugin/.cvsignore:
13767         * tools/.cvsignore:
13768           update - this is huge, because it includes *.bb, *.bbg and *.da files
13769           which are generated for gcov.
13770
13771 2004-01-11  David Schleef  <ds@schleef.org>
13772
13773         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13774         a function to parse integers in ways that strto[u]l() does not.
13775
13776 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13777
13778         * tools/gst-inspect.c: (print_caps):
13779           improve output of caps a bit
13780
13781 2004-01-11  David Schleef  <ds@schleef.org>
13782
13783         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13784         inherit correct flags (READONLY and DONTKEEP).
13785
13786 2004-01-11  David Schleef  <ds@schleef.org>
13787
13788         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13789         (gst_filesrc_map_region):
13790         * gst/gstbuffer.c: (_gst_buffer_initialize),
13791         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13792         (gst_buffer_new), (gst_buffer_create_sub),
13793         (gst_buffer_is_span_fast), (gst_buffer_span):
13794         * gst/gstbuffer.h:
13795         Change GstBuffer private structure element names. (all files)
13796         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13797         (gst_queue_link):
13798         * gst/gstqueue.h:
13799         Implement getcaps/pad_link functions that handle the case where
13800         there are data in the queue.
13801
13802 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13803
13804         * gst/elements/gstbufferstore.c:
13805           initialize debugging structure correctly
13806         * gst/elements/gsttee.c: (gst_tee_set_property):
13807           g_object_notify when property was changed
13808         * gst/elements/gsttypefindelement.c:
13809         (gst_type_find_element_change_state):
13810           clear caps correctly
13811
13812 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13813
13814         * gst/gstqueue.c: (gst_queue_init):
13815           Use better defaults for when a queue should block. This
13816           gets rid of jerky playback for quite a few files.
13817           It takes more memory.
13818
13819 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13820
13821         (gst_xml_registry_parse_padtemplate):
13822           make critical message slightly more useful
13823
13824 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13825
13826         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13827         (gst_debug_message_get), (gst_debug_log_default):
13828         * gst/gstinfo.h:
13829           Change gst_debug_log(_valist) to take a const format string.
13830           Change prototype of log function and functions using those to 
13831           take a GstDebugMessage instead of a string that requires using
13832           gst_debug_message_get.
13833
13834 2004-01-08  David Schleef  <ds@schleef.org>
13835
13836         * Makefile.am:
13837         * configure.ac:
13838         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13839         and -ftest-coverage, which allows gcov to show information about
13840         testsuite coverage.
13841
13842 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13843
13844         * gst/gstutils.h:
13845           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13846           GST_PARENT_CALL_WITH_DEFAULT
13847         * gst/elements/gstaggregator.c: 
13848         * gst/elements/gstbufferstore.c: 
13849         * gst/elements/gstfakesink.c: 
13850         * gst/elements/gstfakesrc.c: 
13851         * gst/elements/gstfdsink.c: 
13852         * gst/elements/gstfdsrc.c: 
13853         * gst/elements/gstfilesink.c: 
13854         * gst/elements/gstfilesrc.c: 
13855         * gst/elements/gstidentity.c: 
13856         * gst/elements/gstmd5sink.c: 
13857         * gst/elements/gstmultidisksrc.c:
13858         * gst/elements/gstpipefilter.c: 
13859         * gst/elements/gstshaper.c:
13860         * gst/elements/gststatistics.c:
13861         * gst/elements/gsttee.c:
13862         * gst/elements/gsttypefindelement.c:
13863           use them.
13864
13865 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13866
13867         * docs/gst/gstreamer-docs.sgml: remove props
13868         * docs/gst/gstreamer-sections.txt: remove props
13869         * docs/gst/tmpl/gst.sgml:
13870         * docs/gst/tmpl/gstbin.sgml:
13871         * docs/gst/tmpl/gstbuffer.sgml:
13872         * docs/gst/tmpl/gstcaps.sgml:
13873         * docs/gst/tmpl/gstclock.sgml:
13874         * docs/gst/tmpl/gstelement.sgml:
13875         * docs/gst/tmpl/gstindex.sgml:
13876         * docs/gst/tmpl/gstobject.sgml:
13877         * docs/gst/tmpl/gstpad.sgml:
13878         * docs/gst/tmpl/gstpadtemplate.sgml:
13879         * docs/gst/tmpl/gstreamer-unused.sgml:
13880         * docs/gst/tmpl/gstthread.sgml:
13881         * docs/gst/tmpl/gstxml.sgml:
13882           sync with code reorganization
13883
13884 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13885
13886         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13887         Make the 'Could not find compatible pad' message more informative.
13888
13889 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13890                                                                                 
13891         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13892           Fix for if we pass NULL as property to location.
13893         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13894         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13895           Fix for instantiate-test (see below).
13896         * gst/gststructure.c: (_gst_structure_parse_value):
13897           Fix compile error on gcc-2.96.
13898         * configure.ac:
13899         * tests/Makefile.am:
13900         * tests/instantiate/Makefile.am:
13901         * tests/instantiate/create.c: (create_all_elements), (main):
13902           Add a test that instantiates all elements. This makes it easy to
13903           track dead code for old API/design (like setting event functions
13904           on sink pads and so on).
13905
13906 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13907
13908         * gst/gstcaps.c: (gst_caps_append_structure):
13909           Move the poisoning to allow a NULL structure
13910         * gst/gstevent.c: (_gst_event_free):
13911           When freeing a navigation event, free the structure
13912           also
13913
13914 2004-01-04  David Schleef  <ds@schleef.org>
13915
13916         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13917         Remove usage of gst_pad_proxy_fixate.
13918         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13919         (gst_caps_split_one), (gst_caps_replace):
13920         Add poisoning code.
13921         * gst/gstmarshal.list:
13922         Add pointer__pointer for fixate signal
13923         * gst/gstpad.c: (gst_real_pad_class_init),
13924         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13925         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13926         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13927         Add poisoning code. Add fixate signal on RealPad. Change
13928         set_explicit_caps() to take const GstCaps, like try_set_caps().
13929         * gst/gstpad.h:
13930         * testsuite/caps/Makefile.am:
13931         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13932
13933 2004-01-03  David Schleef  <ds@schleef.org>
13934
13935         * gst/elements/gsttypefindelement.c:
13936         (gst_type_find_element_have_type), (gst_type_find_element_init):
13937         Use gst_pad_use_explicit_caps for src pad.
13938         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13939         before using it.
13940
13941 2004-01-03  David Schleef  <ds@schleef.org>
13942
13943         * gst/gstelement.c: (gst_element_link_pads_filtered),
13944         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13945         that linking was successful.
13946         * gst/gstpad.c: (gst_pad_link_free),
13947         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13948         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13949         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13950         GstPadLinkReturn correctly between functions, and don't fail
13951         when DELAYED is used (DELAYED is very important).  Better
13952         cleanup on unlinking and unnegotiation.  Should fix some spider
13953         bugs.
13954
13955 2004-01-02  David Schleef  <ds@schleef.org>
13956
13957         * gst/gstelement.c: (gst_element_class_init),
13958         (gst_element_base_class_init): ->padtemplates should be cleared
13959         in base_init, since we need to have a fresh list for every
13960         class.  (Alternately, we chould copy the list and share the
13961         actual pad templates (not the list), but that would require
13962         changing every plugin to move pad template registration from
13963         base_init to class_init.)
13964
13965 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13966
13967         * gst/gstelement.c: (gst_element_class_add_pad_template):
13968           Refuse registering a pad template if another pad template
13969           with the same name already exists (#114715).
13970
13971 2004-01-02  David Schleef  <ds@schleef.org>
13972
13973         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13974         (gst_caps_is_equal_fixed): Add new function.
13975         * gst/gstcaps.h: ditto.
13976         * gst/gstpad.c: (gst_real_pad_class_init),
13977         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13978         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13979         check new caps against existing caps -- if they're the same, return
13980         OK without renegotiating.  caps-nego-failed signal fixed so that
13981         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13982         to save an extra caps copy.  Don't complete negotiation if a pad
13983         link function returns DELAYED.
13984
13985 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13986
13987         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13988           Fix wrong g_return_if_fail
13989
13990 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13991
13992         * gst/gstbin.c: (gst_bin_class_init):
13993         Change the marshalling of element_added/element_removed
13994         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13995         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13996
13997 2004-01-01  David Schleef  <ds@schleef.org>
13998
13999         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14000         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14001         (gst_pad_use_explicit_caps):
14002         * gst/gstpad.h:
14003         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14004         to use an internal getcaps and link fuction so that negotiation
14005         always results in the explicitly set caps.
14006         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14007         are particularly useful for decoders.
14008
14009 2003-12-31  David Schleef  <ds@schleef.org>
14010
14011         * gst/elements/gstidentity.c: (gst_identity_class_init),
14012         (gst_identity_init), (gst_identity_chain),
14013         (gst_identity_set_property), (gst_identity_get_property):
14014         * gst/elements/gstidentity.h:
14015         * gst/gstqueue.c: (gst_queue_init):
14016           Negotiation fixes.
14017
14018 2003-12-31  David Schleef  <ds@schleef.org>
14019
14020         * gst/gstcaps.c: (gst_caps_intersect),
14021         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14022           Implement gst_caps_normalize().
14023         * testsuite/caps/normalisation.c: (main):
14024           Add an additional test
14025
14026 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14027
14028         * gst/gstqueue.c: (gst_queue_init):
14029           use gst_pad_proxy_getcaps()
14030
14031 2003-12-31  David Schleef  <ds@schleef.org>
14032
14033         * gst/elements/gstshaper.c: (gst_shaper_link):
14034         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14035         * gst/gstqueue.c: (gst_queue_link):
14036           Negotiation fixes.
14037
14038 2003-12-31  David Schleef  <ds@schleef.org>
14039
14040         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14041         * gst/gstpad.h: Add functions that are useful as default pad
14042         link and fixate functions for elements.
14043
14044 2003-12-30  David Schleef  <ds@schleef.org>
14045
14046         * gst/gstpad.c: (gst_pad_link_try):
14047           Fix segfault when attempting to return to old caps
14048
14049 2003-12-29  David Schleef  <ds@schleef.org>
14050
14051         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14052         (gst_caps_structure_simplify), (gst_caps_simplify):
14053         * gst/gstcaps.h:
14054           Add simplify function
14055         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14056         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14057         * gst/gstpad.h:
14058           Copy over srcnotify, sinknotify when calling old pad_link
14059           functions.  Add new is_negotiated() function.
14060         * gst/gststructure.c: (gst_structure_copy):
14061           Fix an incredibly stupid bug that should have been noticed
14062           weeks ago.  _copy() returned the argument, not the new copy.
14063
14064 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14065
14066         * gst/gstcaps.c: (gst_caps_append):
14067           add sanity checks
14068         * gst/gstcaps.h: (gst_caps_debug):
14069           remove, it doesn't exist anymore.
14070         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14071         (gst_element_threadsafe_properties_post_run):
14072           make debugging messages not clutter up THREAD debug category
14073         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14074         (gst_element_change_state):
14075           update to new caps API
14076         * gst/gstinterface.c: (gst_implements_interface_cast):
14077           don't put vital code in g_return_if_fail
14078         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14079         (gst_pad_link_filtered):
14080           add pst_pad_try_link and use it.
14081         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14082           implement correctly, deprecate first one.
14083         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14084           add and implement.
14085         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14086           implement.
14087         (gst_pad_get_negotiated_caps):
14088           add and implement. Make GST_PAD_CAPS call this function.
14089         (gst_pad_get_caps):
14090           remove unneeded check..
14091         (gst_pad_recover_caps_error):
14092           disable, always return FALSE.
14093         (gst_real_pad_dispose):
14094           don't free caps and appfilter anymore, they're unused.
14095         * gst/gstpad.h:
14096           Reflect changes mentioned above.
14097         * gst/gstsystemclock.c: (gst_system_clock_wait):
14098           Make 'clock is way behind' a debugging message.
14099         * gst/gstthread.c: (gst_thread_change_state):
14100           Fix debugging message
14101
14102 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14103
14104         * gst/gstinfo.h:
14105           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14106         * docs/gst/tmpl/gstreamer-unused.sgml:
14107           removed all traces of cvs conflicts
14108
14109 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14110
14111         * configure.ac:
14112         * gst/schedulers/cothreads_compat.h:
14113         * libs/Makefile.am:
14114           remove last instances of wingo cothread usage
14115
14116 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14117
14118         * gst/gstplugin.c:
14119         * gst/gstversion.h.in:
14120         * gst/parse/grammar.y:
14121           change comment block from /** to /* when not gtk-doc comments
14122
14123 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * gst/gst.c: whitespace and doc style fixes
14126
14127 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14128
14129         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14130
14131 2003-12-24  Colin Walters  <walters@verbum.org>
14132
14133         * gst/elements/gsttypefindelement.c:
14134           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14135           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14136           Don't double-free caps.
14137
14138 2003-12-23  David Schleef  <ds@schleef.org>
14139
14140         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14141           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14142           Many little fixes and additions of debug statements to
14143           get rhythmbox working.
14144
14145 2003-12-23  Colin Walters  <walters@verbum.org>
14146
14147         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14148         Use GST_PAD_LINK_SUCCESSFUL.
14149
14150 2003-12-23  David Schleef  <ds@schleef.org>
14151
14152         * gst/elements/gstaggregator.c:
14153         * gst/elements/gsttee.c:
14154           Use gst_pad_proxy_getcaps().
14155         * gst/gstpad.c:
14156         * gst/gstpad.h:
14157           Add gst_pad_proxy_getcaps(), which filter elements can use
14158           as a generic getcaps implementation.
14159           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14160           was advertised.
14161
14162 2003-12-23  David Schleef  <ds@schleef.org>
14163
14164         * gst/gstpad.c:
14165           Rearrange/rewrite much of the pad negotiation code, since it
14166           resembled pasta.  This actually changes the way some
14167           negotiation works, since the previous code was inconsistent
14168           depending on how it was invoked.  Add (internal) structure
14169           GstPadLink, which is used to hold some information (more in
14170           the future) about the link between two pads.  Fixes a number
14171           of bugs, including random lossage of filter caps when the
14172           initial negotiation is delayed.  A few functions are still
14173           unimplemented.
14174         * gst/gstpad.h:
14175           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14176           these when testing GstPadLinkReturn values instead of comparing
14177           directly.
14178
14179 2003-12-23  David Schleef  <ds@schleef.org>
14180
14181         * gst/gstvalue.c: 
14182         * gst/gstvalue.h:
14183           Rearrange lots of code.  Change registration of compare function
14184           into registration of compare/serialize/deserialize functions.
14185           Doesn't include implementation of gst_value_[de]serialize(),
14186           but that should be easy.
14187
14188 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14189
14190         * docs/gst/gstreamer-sections.txt:
14191         * docs/gst/tmpl/gstprops.sgml: removed
14192         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14193           David removed props and caps code, so let's remove their docs as well.
14194           Removed all no longer existing symbols from gstreamer-sections.txt
14195           
14196 2003-12-22  Colin Walters  <walters@verbum.org>
14197
14198         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14199           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14200           of tags directly.
14201
14202 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14203
14204         * gst/elements/gstelements.c:
14205           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14206         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14207           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14208           gst_caps (peer).
14209
14210 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14211
14212         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14213         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14214         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14215         (gst_spider_identity_sink_loop_type_finding):
14216         * gst/autoplug/gstspideridentity.h:
14217           Fix autoplugging in spider element, so it works with new caps.
14218           This was mainly caused by identifying empty caps incorrectly.
14219
14220 2003-12-22  David Schleef  <ds@schleef.org>
14221
14222         * gststructure.c, gstvalue.c, gstvalue.h: Add
14223           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14224           using g_value_copy()
14225
14226 2003-12-21  David Schleef  <ds@schleef.org>
14227
14228         * many, many files: Merge CAPS branch.  This includes:
14229           - implemention of GstValue and several GstValue types
14230           - implemention of GstStructure
14231           - entire rewrite of GstCaps
14232           - removal of GstProps
14233           - many changes to GstPad to compensate for new caps paradigm
14234           - removal of GstBufferpool
14235         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14236         gstvalue.h, gst/gstcaps[2]*.[ch]:
14237           - rename gstcaps2.[ch] to gstcaps.[ch]
14238
14239 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14240
14241         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14242         (gst_queue_chain), (gst_queue_handle_src_event):
14243           implement timeout for sending events. Workaround for if the
14244           pipeline on this queue is not passing any data.
14245
14246 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14247                                                                                 
14248         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14249         * moved CVS to freedesktop.org