added about 100 symbols from gstreamer-unused.txt to the right sections fixed more...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/gst/gstreamer-docs.sgml:
4         * docs/gst/gstreamer-sections.txt:
5         * docs/gst/gstreamer.types:
6         * docs/gst/tmpl/.cvsignore:
7         * gst/gstbin.h:
8         * gst/gstbus.c:
9         * gst/gstelement.c:
10         * gst/gstevent.h:
11           added about 100 symbols from gstreamer-unused.txt to the right sections
12           fixed more broken comments
13           added GstBus to docs
14
15 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
16
17         * docs/gst/gstreamer-sections.txt:
18         * docs/gst/tmpl/.cvsignore:
19         * docs/gst/tmpl/gstbin.sgml:
20         * docs/gst/tmpl/gstbuffer.sgml:
21         * gst/base/gstbasesrc.c:
22         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
23         * gst/gstbuffer.c:
24         * gst/gstbuffer.h:
25         * tools/gst-launch.1.in:
26           inlined more doc comments, added missing comments and fixed comments
27           fixed typos
28
29 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
32           some debugging
33         * gst/gstcaps.h:
34           whitespace fixes
35         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
36           more debugging
37         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
38         * gst/gststructure.h:
39           add a fixate function for booleans; add a FIXME that these func
40           names should probably be gst_structure_fixate_*
41
42 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
43
44         * docs/gst/gstreamer-docs.sgml:
45         * docs/gst/gstreamer-sections.txt:
46         * gst/Makefile.am:
47         * gst/gstbin.c: (gst_bin_get_type),
48         (gst_bin_child_proxy_get_child_by_index),
49         (gst_bin_child_proxy_get_children_count),
50         (gst_bin_child_proxy_init):
51         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
52         (gst_child_proxy_get_child_by_index),
53         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
54         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
55         (gst_child_proxy_get), (gst_child_proxy_set_property),
56         (gst_child_proxy_set_valist), (gst_child_proxy_set),
57         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
58         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
59         * gst/gstchildproxy.h:
60         * gst/parse/grammar.y:
61         * tools/gst-inspect.c: (print_interfaces),
62         (print_element_properties_info), (print_element_info):
63          ported gstchildproxy over from 0.8
64          ported gst-inspect fixes and enhancements over from 0.8
65
66 2005-08-22  Wim Taymans  <wim@fluendo.com>
67
68         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
69         (gst_base_transform_handle_buffer):
70         Also call the transform function if we have ANY caps.
71
72         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
73         Fix debug info.
74
75 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
76
77         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
78           Don't pretend to handle seek events if the source is not seekable
79
80 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
81
82         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
83           Remove extra parameter to debug output
84
85         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
86         (gst_base_src_do_seek), (gst_base_src_activate_push):
87           Fix seek event handling.
88
89         * gst/gstpipeline.c: (gst_pipeline_change_state):
90         * gst/gstqueue.c: (gst_queue_handle_sink_event),
91         (gst_queue_src_activate_push):
92           Don't start the src pad task on FLUSH_STOP if the pad
93           isn't linked.
94           Debug changes.
95
96 2005-08-22  Wim Taymans  <wim@fluendo.com>
97
98         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
99         Added check for gst_static_caps_get() refcounting.
100
101 2005-08-22  Wim Taymans  <wim@fluendo.com>
102
103         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
104         Make _static_caps_get() refcounting sane.
105         
106         * gst/gstelement.c: (gst_element_set_state):
107         Add g_return_val_if_fail() to protect against segfaults.
108
109 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
110
111         * docs/gst/tmpl/gstevent.sgml:
112         * gst/gstevent.c:
113         * gst/gstevent.h:
114           inlined remaining docs, added missing doc comments
115
116 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
117
118         * check/gst/gstbin.c: (GST_START_TEST):
119           since we don't know when preroll is done, use refcount range
120           check for the sink
121         * gst/check/gstcheck.h:
122           add macro for checking refcount range
123
124 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
125
126         * check/Makefile.am:
127           clean up environment for when registry gets built versus
128           when actual tests are run; valgrind seems to not report
129           leaks if GST_PLUGIN_PATH is set to some specific values
130         * check/gst/gstbin.c: (GST_START_TEST):
131           add more refcounting checks; maybe this exposes a
132           preroll lock bug ?
133         * common/check.mak:
134         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
135         * gst/check/gstcheck.h:
136         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
137         (gst_bin_change_state):
138         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
139           add/fix debugging/whitespace
140
141 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
142
143         * check/gst/gstevent.c: (event_probe), (test_event),
144         (GST_START_TEST):
145          Er, don't call gst_bin_watch_for_state_change you idiot.
146
147 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
148
149         * check/Makefile.am:
150           Use CHECK_CFLAGS and CHECK_LIBS
151         * check/gst/gstevent.c: (event_probe), (test_event),
152         (GST_START_TEST):
153           Don't leak events.
154         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
155         (gst_base_src_start), (gst_base_src_stop),
156         (gst_base_src_activate_push), (gst_base_src_activate_pull),
157         (gst_base_src_change_state):
158           Sprinkle gst_base_src_stop liberally around error paths to fix
159           problems reusing a source after failed state changes.
160         * gst/base/gsttypefindhelper.c: (helper_find_peek),
161         (helper_find_suggest), (gst_type_find_helper):
162           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
163         * gst/gstevent.h:
164         * docs/gst/tmpl/gstevent.sgml:
165           Migrate part of the docs from the SGML file. Wait for ensonic to
166           tell me how I did it wrong ;)
167         * tools/gst-typefind.c: (main):
168           Extra robustness to state changes between files.
169
170 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
171
172         * check/Makefile.am:
173           don't valgrind the controller test - it's leaking - Stefan, HELP
174         * gst/check/gstcheck.c: (gst_check_message_error),
175         (gst_check_chain_func), (gst_check_setup_element),
176         (gst_check_teardown_element), (gst_check_setup_src_pad),
177         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
178         (gst_check_teardown_sink_pad):
179         * gst/check/gstcheck.h:
180           add a bunch of methods to set up elements, and src and sink pads
181         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
182         * check/elements/identity.c: (setup_identity), (cleanup_identity),
183         (GST_START_TEST):
184           use them
185         * gst/gstmessage.c:
186         * gst/gsttag.h:
187           whitespace/doc fixes
188
189 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
190
191         * gst/gstelement.h:
192           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
193           be handled by the application and not always printed as well
194
195 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * check/Makefile.am:
198           set GST_TOOLS_DIR
199         * gst/check/gstcheck.c: (gst_check_message_error):
200         * gst/check/gstcheck.h:
201           add a fail_unless_equals_int
202           add fail_unless for error messages
203
204 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
205
206         * check/Makefile.am:
207         * check/gst.supp:
208         * common/Makefile.am:
209         * common/check.mak:
210         * common/gst.supp:
211           factor out some of the common stuff so we can use it
212
213 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
214
215         * check/Makefile.am:
216         * check/gst/gstiterator.c: (GST_START_TEST):
217         * check/gst/gstsystemclock.c: (GST_START_TEST),
218         (gst_systemclock_suite):
219         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
220         * gst/gstclock.c:
221           valgrind more tests
222
223 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
224
225         * check/elements/.cvsignore:
226         * check/elements/gstfakesrc.c:
227           rename to name of element
228         * check/elements/identity.c: (chain_func), (event_func),
229         (setup_identity), (cleanup_identity), (GST_START_TEST),
230         (identity_suite), (main):
231           add a test for identity
232         * check/Makefile.am:
233         * pkgconfig/Makefile.am:
234         * pkgconfig/gstreamer-check.pc.in:
235         * pkgconfig/gstreamer-check-uninstalled.pc.in:
236         * gst/check:
237         * gst/Makefile.am:
238         * configure.ac:
239           move the check stuff to a library that gets installed
240         * check/gst-libs/controller.c: (GST_START_TEST):
241         * check/gst-libs/gdp.c:
242         * check/gst/gst.c: (GST_START_TEST):
243         * check/gst/gstbin.c:
244         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
245         * check/gst/gstbus.c:
246         * check/gst/gstcaps.c: (GST_START_TEST):
247         * check/gst/gstelement.c:
248         * check/gst/gstghostpad.c:
249         * check/gst/gstiterator.c:
250         * check/gst/gstmessage.c:
251         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
252         * check/gst/gstobject.c:
253         * check/gst/gstpad.c: (GST_START_TEST):
254         * check/gst/gststructure.c: (GST_START_TEST):
255         * check/gst/gstsystemclock.c: (GST_START_TEST),
256         (gst_systemclock_suite):
257         * check/gst/gsttag.c: (gst_tag_suite):
258         * check/gst/gstvalue.c:
259         * check/pipelines/cleanup.c:
260         * check/pipelines/simple_launch_lines.c:
261         * check/states/sinks.c:
262           change include statement
263
264         * docs/gst/gstreamer-sections.txt:
265         * docs/gst/tmpl/gstpad.sgml:
266           document more pad stuff
267         * gst/gstminiobject.c: (gst_mini_object_ref),
268         (gst_mini_object_unref):
269           debug refcounting
270
271 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
272
273         * docs/gst/tmpl/gst.sgml:
274         * gst/gst.c:
275           eliminate another tmpl file, fix spelling in the long-description
276
277 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
278
279         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
280         (test_event), (timediff), (gstevents_suite):
281           Should fix build on 64-bit arch's
282
283 2005-08-18  Andy Wingo  <wingo@pobox.com>
284
285         Make sure that when a pipeline goes to PLAYING, that data has
286         actually hit the sink.
287
288         * check/states/sinks.c (test_sink): A sink that doesn't get any
289         data shouldn't return SUCCESS for going to either PLAYING or
290         PAUSED. Test also the return values on the way back down.
291
292         * gst/gstelement.c (gst_element_set_state): When changing the
293         state of an element currently changing state asynchronously, go to
294         lost-state after commiting the pending state. Makes future calls
295         to get_state continue to return ASYNC.
296
297         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
298         ASYNC when going to PLAYING if we still don't have preroll, as can
299         happen with live sources.
300
301 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
302
303         * docs/pwg/advanced-types.xml:
304           Hack long paragraph into 2 chunks as a workaround for buggy
305           jadetex version in sid and breezy that loops infinitely and
306           eats all RAM.
307
308 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
309
310         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
311         (test_event), (timediff), (gstevents_suite):
312           Provide more error margin in clock measurements to allow for 
313           g_get_current_time inaccuracies.
314
315 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
316
317         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
318         (test_event), (timediff), (gstevents_suite):
319            Fix error message output so I might be able to tell why the
320            test works here but fails on the build farm.
321
322 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
323
324         * check/Makefile.am:
325         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
326         (test_event), (timediff), (gstevents_suite), (main):
327           I wrote a test!
328
329         * docs/design/part-seeking.txt:
330           Spelling correction
331
332         * docs/gst/tmpl/gstevent.sgml:
333         * docs/gst/tmpl/gstfakesrc.sgml:
334           Docs updates.
335
336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
337           Treat a buffer-without-newsegment the same as a receiving 
338           a newsegment not in time format, and disable syncing to the clock
339           with a warning.
340
341         * gst/gstbus.c: (gst_bus_set_sync_handler):
342           Assert if anyone tries to replace the existing sync_handler for bus, 
343           as only the owner should be setting it.
344
345         * gst/gstevent.h:
346           Have a fixed set of custom event enums with events identified by
347           their structure name (as in 0.8), rather than a free-for-all
348           allowing collisions between enum values from different plugins.
349
350         * gst/gstpad.c: (gst_pad_class_init):
351           Docs change.
352           
353         * gst/gstqueue.c: (gst_queue_handle_sink_event):
354           Handle out-of-band downstream events from the sending thread.
355
356 2005-08-17  Andy Wingo  <wingo@pobox.com>
357
358         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
359         play-timeout==0 to mean no timeout at all. In that case, don't
360         bother with a get_state or a warning, just return directly, even
361         if it's ASYNC.
362
363         * gst/base/gstbasetransform.c: Debug changes.
364
365         * gst/gstutils.h:
366         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
367         ensure bins post state change messages. A bit of a hack but I can't
368         think of a way to avoid it.
369
370         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
371
372 2005-08-16  Andy Wingo  <wingo@pobox.com>
373
374         * gst/base/gstadapter.h:
375         * gst/base/gstadapter.c (gst_adapter_take): New function, like
376         peek() but you own the data. Not terribly efficient atm.
377
378 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
379
380         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
381         (gst_element_found_tags):
382         * gst/gstutils.h:
383           Add two utility functions for tag handling.
384
385 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
386
387         * docs/manual/advanced-dataaccess.xml:
388         * docs/manual/basics-helloworld.xml:
389           Fix docs to use _bin_add() before _link(), which fixes the examples
390           with recent core versions (reported by Madhan Raj M
391           <raj_madan@rediffmail.com>, #313199).
392
393 2005-08-16  Wim Taymans  <wim@fluendo.com>
394
395         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
396         Added subtract checks.
397
398         * docs/design/part-events.txt:
399         Some more docs about newsegment
400
401         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
402         Fix FIXME
403
404         * gst/gstcaps.c: (gst_caps_to_string):
405         Add comments, cleanups.
406         
407         * gst/gstelement.c: (gst_element_save_thyself):
408         cleanups
409         
410         * gst/gstvalue.c: (gst_value_collect_int_range),
411         (gst_string_unwrap), (gst_value_union_int_int_range),
412         (gst_value_union_int_range_int_range),
413         (gst_value_intersect_int_int_range),
414         (gst_value_intersect_int_range_int_range),
415         (gst_value_intersect_double_double_range),
416         (gst_value_intersect_double_range_double_range),
417         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
418         (gst_value_subtract_int_range_int),
419         (gst_value_subtract_double_range_double),
420         (gst_value_subtract_double_range_double_range),
421         (gst_value_subtract_from_list), (gst_value_subtract_list),
422         (gst_value_can_compare), (gst_value_compare_fraction):
423         Cleanups, add comments, remove unneeded asserts.
424
425 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * tools/gst-launch.c: (event_loop):
428           don't convert NULL structures to strings
429
430 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
431
432         * docs/gst/gstreamer-sections.txt:
433           made some defines private
434         * docs/gst/tmpl/gstconfig.sgml:
435         * docs/gst/tmpl/gstqueue.sgml:
436         * docs/gst/tmpl/gsttaglist.sgml:
437         * docs/gst/tmpl/gsttypes.sgml:
438         * docs/gst/tmpl/gstutils.sgml:
439         * docs/pwg/appendix-porting.xml:
440         * gst/base/gstbasesink.h:
441         * gst/base/gstbasesrc.c:
442         * gst/base/gstbasesrc.h:
443         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
444         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
445         * gst/gstelement.c: (gst_element_class_init):
446         * gst/gstpad.c: (gst_pad_class_init):
447         * gst/gstqueue.c: (gst_queue_class_init):
448         * gst/gstxml.c: (gst_xml_class_init):
449           documented all undocumented signal inline
450         * libs/gst/controller/gst-controller.h:
451           added padding
452
453 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
454
455         * docs/pwg/appendix-porting.xml:
456           Document _set_link_function -> _set_setcaps_function.
457
458 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * check/Makefile.am:
461           add a .check target for running the check
462         * check/gst-libs/controller.c: (GST_START_TEST):
463           cosmetic fixups
464         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
465           complete checks for gstbuffer; would be nice if I could get the
466           gcov stuff to work so I can see if I actually completed gstbuffer.c
467         * check/gstcheck.h:
468           add ASSERT_BUFFER_REFCOUNT
469
470 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
471
472         * docs/gst/gstreamer-sections.txt:
473         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
474         * gst/gsttag.h:
475           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
476           spew out a warning if a tag that is already registered
477           is re-registered, unless it is re-registered with a 
478           different type (#308438).
479
480 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
481
482         * docs/pwg/appendix-porting.xml:
483         * docs/pwg/building-state.xml:
484           Add some paragraphs about state changes in 0.9 to the PWG
485           and the porting guide, in particular about the new meaning
486           of GST_STATE_PAUSED and how to write state change functions
487           with concurrent access by multiple threads in mind.
488
489 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
490
491         * docs/gst/gstreamer-docs.sgml:
492         * docs/libs/gstreamer-libs-docs.sgml:
493           added deprecation and since indexes
494         * libs/gst/controller/gst-controller.c:
495         * libs/gst/controller/gst-helper.c:
496           added since tags
497
498
499 2005-08-11  Wim Taymans  <wim@fluendo.com>
500
501         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
502         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
503         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
504         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
505         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
506         (gst_ghost_pad_set_target):
507         Actually implement (re)setting the target on a ghostpad
508         as described in the docs.
509
510 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
511
512         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
513           Check whether GST_DEBUG_NO_COLOR environment variable is
514           set and disable coloured debug output if that is the case.
515
516 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
517
518         * gst/base/gsttypefindhelper.c: (helper_find_peek),
519         (gst_type_find_helper):
520           The memory returned by gst_type_find_peek() needs to
521           stay valid until the end of a typefind function, and
522           typefind functions may keep results from different 
523           offsets around, so we can't just unref the buffer from
524           the previous _peek(), but have to save all buffers 
525           returned by _peek() until typefinding is done and only
526           free them then.
527
528 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
529
530         * docs/gst/gstreamer-sections.txt:
531         * gst/gstutils.h:
532           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
533
534 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
535
536         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
537           Fix a pretty good memleak.
538
539 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
540
541         * gst/gstiterator.h:
542           Fix wrong include and 'make distcheck'.
543
544 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
545
546         * gst/gstbin.c: (bin_bus_handler):
547           Use gst_element_post_message() instead.
548
549 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
550
551         * gst/base/gstadapter.h:
552         * gst/base/gstbasesink.h:
553         * gst/base/gstbasesrc.h:
554         * gst/base/gstbasetransform.h:
555         * gst/base/gstcollectpads.h:
556         * gst/base/gstpushsrc.h:
557         * gst/gstiterator.h:
558           Add padding to our base elements' class and instance structs and
559           to GstIterator (you will need to rebuild all plugins and apps!)
560
561 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
562
563         * gst/gstbin.c: (bin_bus_handler):
564           Make default message forwarding from child->bus to bin->bus
565           threadsafe and make it not emit warnings if the parent has no bus.
566
567 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
568
569         * gst/gstelement.c: (activate_pads):
570           On paused->ready, set pad->caps to NULL, as is the documented
571           behaviour in this state change. Fixes playback of series of
572           media files when visualization is enabled in Totem.
573
574 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
575
576         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
577           Allow NULL as filter-caps (which means "any").
578
579 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
580
581         * docs/libs/gstreamer-libs-sections.txt:
582         * libs/gst/controller/gst-controller.c:
583         * libs/gst/controller/gst-controller.h:
584         * libs/gst/controller/gst-helper.c:
585           adding more entries to the docs and fix small doc-bugs
586
587 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
588
589         * docs/gst/gstreamer-docs.sgml:
590         * docs/gst/gstreamer-sections.txt:
591         * docs/gst/gstreamer.types:
592         * docs/gst/tmpl/gstbasesink.sgml:
593         * docs/gst/tmpl/gstbasesrc.sgml:
594         * docs/gst/tmpl/gstbasetransform.sgml:
595         * docs/gst/tmpl/gstfakesrc.sgml:
596         * gst/base/gstcollectpads.c:
597         * gst/base/gstcollectpads.h:
598         * libs/gst/controller/gst-controller.c:
599         * libs/gst/controller/gst-controller.h:
600         * libs/gst/controller/gst-helper.c:
601         * libs/gst/controller/gst-interpolation.c:
602         * libs/gst/controller/lib.c:
603           added long/short desc for controller docs
604           added collectpads base class docs
605           added correct includes to base-class docs
606
607 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
608
609         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
610         (gst_test_mono_source_set_property),
611         (gst_test_mono_source_class_init), (GST_START_TEST),
612         (gst_controller_suite):
613         * docs/gst/gstreamer-docs.sgml:
614         * docs/gst/gstreamer-sections.txt:
615         * docs/gst/gstreamer.types:
616         * docs/libs/gstreamer-libs-docs.sgml:
617         * docs/libs/gstreamer-libs-sections.txt:
618         * gst/base/gstadapter.c:
619         * libs/gst/controller/gst-controller.c:
620         (gst_controlled_property_new), (gst_controlled_property_free),
621         (gst_controller_new_valist),
622         (gst_controller_remove_properties_valist),
623         (gst_controller_sink_values), (_gst_controller_finalize):
624         * libs/gst/controller/gst-controller.h:
625         * libs/gst/controller/gst-helper.c:
626         (gst_object_control_properties), (gst_object_uncontrol_properties),
627         (gst_object_get_controller), (gst_object_set_controller),
628         (gst_object_sink_values), (gst_object_get_value_arrays),
629         (gst_object_get_value_array):
630           more tests (and fixes) for the controller
631           more docs for the controller
632           integrated companies docs for the adapter 
633
634 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
635
636         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
637         (GST_START_TEST), (fakesrc_suite):
638           add tests for sizetype
639
640 2005-08-04  Andy Wingo  <wingo@pobox.com>
641
642         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
643         fixes buffer_alloc proxying among other things.
644
645         * gst/base/gstbasetransform.c:
646         * gst/base/gstbasetransform.h:
647         Revert patch to gstbasetransform from 7-28 removing
648         delay_configure.
649
650         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
651         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
652         Semantics changed, should return not the size of the output buffer
653         but the byte size of a buffer with a given caps.
654
655         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
656         debug object.
657         (gst_base_transform_configure_caps): Don't set out_size here: (in,
658         out) are not the pad caps until setcaps finishes.
659         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
660         not-in-place case as well. Deal with changing from in-place to
661         not-in-place within calling pad_alloc_buffer. Still a bit
662         concerned about the overhead here...
663
664 2005-08-03  Andy Wingo  <wingo@pobox.com>
665
666         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
667         fixating is an error.
668
669 2005-08-04  Edward Hervey  <edward@fluendo.com>
670
671         * gst/base/gstadapter.h: 
672         Added gst_adapter_get_type() to the header
673
674 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
675
676         * check/Makefile.am:
677         * check/gst-libs/controller.c:
678         * libs/gst/controller/gst-controller.c:
679         (gst_controller_new_valist):
680           added check test suite for the controller
681         * gst/base/gstpushsrc.c:
682           fixed a doc typo
683
684 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
685
686         * docs/gst/Makefile.am:
687         * docs/gst/gstreamer-docs.sgml:
688         * docs/gst/gstreamer-sections.txt:
689         * docs/gst/gstreamer.types:
690         * docs/gst/tmpl/gstfakesrc.sgml:
691         * gst/base/README:
692         * gst/base/gstbasesink.c:
693         * gst/base/gstbasesink.h:
694         * gst/base/gstbasesrc.c:
695         * gst/base/gstbasesrc.h:
696         * gst/base/gstbasetransform.c:
697         * gst/base/gstpushsrc.c:
698         * gst/base/gstpushsrc.h:
699           add short/long description docs to base classes
700           add pushsrc to the docs
701           remove consolidated doc fragments
702
703 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
704
705         * configure.ac:
706         * docs/libs/Makefile.am:
707         * docs/libs/gstreamer-libs-docs.sgml:
708         * docs/libs/gstreamer-libs-sections.txt:
709         * docs/libs/gstreamer-libs.types:
710         * examples/Makefile.am:
711         * examples/controller/.cvsignore:
712         * examples/controller/Makefile.am:
713         * examples/controller/audio-example.c: (main):
714         * libs/gst/Makefile.am:
715         * libs/gst/controller/.cvsignore:
716         * libs/gst/controller/Makefile.am:
717         * libs/gst/controller/gst-controller.c:
718         (on_object_controlled_property_changed), (gst_timed_value_compare),
719         (gst_timed_value_find),
720         (gst_controlled_property_set_interpolation_mode),
721         (gst_controlled_property_new), (gst_controlled_property_free),
722         (gst_controller_find_controlled_property),
723         (gst_controller_new_valist), (gst_controller_new),
724         (gst_controller_remove_properties_valist),
725         (gst_controller_remove_properties), (gst_controller_set),
726         (gst_controller_set_from_list), (gst_controller_unset),
727         (gst_controller_get), (gst_controller_get_all),
728         (gst_controller_sink_values), (gst_controller_get_value_arrays),
729         (gst_controller_get_value_array),
730         (gst_controller_set_interpolation_mode),
731         (_gst_controller_finalize), (_gst_controller_init),
732         (_gst_controller_class_init), (gst_controller_get_type):
733         * libs/gst/controller/gst-controller.h:
734         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
735         (g_object_uncontrol_properties), (g_object_get_controller),
736         (g_object_set_controller), (g_object_sink_values),
737         (g_object_get_value_arrays), (g_object_get_value_array):
738         * libs/gst/controller/gst-interpolation.c:
739         (gst_controlled_property_find_timed_value_node),
740         (interpolate_none_get), (interpolate_trigger_get),
741         (interpolate_trigger_get_value_array):
742         * libs/gst/controller/lib.c: (gst_controller_init):
743         * pkgconfig/Makefile.am:
744         * pkgconfig/gstreamer-control-uninstalled.pc.in:
745         * pkgconfig/gstreamer-control.pc.in:
746         * testsuite/Makefile.am:
747         * testsuite/controller/.cvsignore:
748         * testsuite/controller/Makefile.am:
749         * testsuite/controller/interpolator.c: (main):
750           added controller code
751           removed dparam pc files
752
753 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
754         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
755         (gst_collectpads_stop):
756           Broadcast the condition when shutting down, to make sure we wake all
757           threads up. Shut down pads on finalize, for safety.
758
759 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
760         * gst/base/gstbasetransform.c: (gst_base_transform_init),
761         (gst_base_transform_handle_buffer),
762         (gst_base_transform_change_state):
763           Handle PAUSED->READY->PAUSED transition after negotiation
764           occurred already.
765         * gst/gstmessage.c: (gst_message_init):
766           Extra piece of debug for new messages.
767
768 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
769
770         * configure.ac:
771         * docs/gst/tmpl/gstbasesrc.sgml:
772         * docs/gst/tmpl/gstelement.sgml:
773         * docs/gst/tmpl/gstevent.sgml:
774         * docs/gst/tmpl/gstfakesrc.sgml:
775         * docs/gst/tmpl/gstformat.sgml:
776         * docs/gst/tmpl/gstghostpad.sgml:
777         * docs/gst/tmpl/gstpad.sgml:
778         * docs/gst/tmpl/gstquery.sgml:
779         * docs/gst/tmpl/gststructure.sgml:
780         * docs/gst/tmpl/gsttaglist.sgml:
781         * docs/gst/tmpl/gstvalue.sgml:
782         * docs/libs/gstreamer-libs-docs.sgml:
783         * docs/libs/gstreamer-libs-sections.txt:
784         * docs/libs/gstreamer-libs.types:
785         * libs/gst/Makefile.am:
786         * libs/gst/control/.cvsignore:
787         * libs/gst/control/Makefile.am:
788         * libs/gst/control/control.c:
789         * libs/gst/control/control.h:
790         * libs/gst/control/dparam.c:
791         * libs/gst/control/dparam.h:
792         * libs/gst/control/dparam_smooth.c:
793         * libs/gst/control/dparam_smooth.h:
794         * libs/gst/control/dparamcommon.h:
795         * libs/gst/control/dparammanager.c:
796         * libs/gst/control/dparammanager.h:
797         * libs/gst/control/dplinearinterp.c:
798         * libs/gst/control/dplinearinterp.h:
799         * libs/gst/control/unitconvert.c:
800         * libs/gst/control/unitconvert.h:
801         * testsuite/Makefile.am:
802         * testsuite/dynparams/.cvsignore:
803         * testsuite/dynparams/Makefile.am:
804         * testsuite/dynparams/dparamstest.c:
805         * tools/Makefile.am:
806         * tools/gst-inspect.c: (print_element_info), (main):
807         * tools/gst-xmlinspect.c: (print_element_info), (main):
808           deactivate and remove dparams (libgstcontrol)
809
810 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * gst/elements/gsttypefindelement.c:
813         (gst_type_find_element_have_type), (gst_type_find_element_init),
814         (stop_typefinding), (gst_type_find_element_handle_event),
815         (gst_type_find_element_chain), (gst_type_find_element_getrange):
816         * gst/elements/gsttypefindelement.h:
817           Set caps on all outgoing buffers, not just the first one.
818
819 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
820
821         * gst/elements/gsttypefindelement.c:
822         (gst_type_find_element_have_type),
823         (gst_type_find_element_check_set_buffer_caps),
824         (gst_type_find_element_init), (stop_typefinding),
825         (gst_type_find_element_handle_event),
826         (gst_type_find_element_chain), (gst_type_find_element_getrange):
827         * gst/elements/gsttypefindelement.h:
828           Set caps on first outgoing buffer when we've found the type.
829
830 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
831
832         * docs/gst/gstreamer-docs.sgml:
833         * docs/gst/gstreamer-sections.txt:
834         * docs/gst/tmpl/gstscheduler.sgml:
835         * docs/gst/tmpl/gstschedulerfactory.sgml:
836           Remove some old cruft from docs.
837
838 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
839
840         * gst/gstpad.h:
841           Fix inline docs for GstPadLinkReturn.
842           
843         * gst/gststructure.c: (gst_structure_has_name):
844         * gst/gststructure.h:
845         * docs/gst/gstreamer-sections.txt:
846           New API: gst_structure_has_name().
847
848 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
849
850         * configure.ac:
851           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
852           and _LARGEFILE_SOURCE in config.h as required. Do not 
853           export those flags in our .pc files any longer (#142209).
854
855           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
856
857         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
858         (gst_file_sink_do_seek), (gst_file_sink_event),
859         (gst_file_sink_get_current_offset), (gst_file_sink_render):
860           Redo seek/tell calls with large file support in mind; add some
861           debugging messages; add log message that tells us when large
862           file support is unavailable or not enabled for some reason.
863
864         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
865           Add log message that tells us when large file support 
866           is unavailable or not enabled for some reason.
867
868 2005-07-29  Wim Taymans  <wim@fluendo.com>
869
870         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
871         Added test for removing an element with ghostpad from a bin.
872         Fixed test as current implementation does the right thing.
873
874         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
875         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
876         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
877         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
878         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
879         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
880         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
881         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
882         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
883         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
884         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
885         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
886         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
887         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
888         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
889         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
890         * gst/gstghostpad.h:
891         Clean up ghostpads, remove properties for internal stuff.
892         Make threadsafe.
893         Fix refcounting.
894         Prepare for switching targets, not all use cases work yet.
895
896 2005-07-29  Wim Taymans  <wim@fluendo.com>
897
898         * docs/design/part-gstghostpad.txt:
899         Small update.
900
901         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
902         (gst_bin_remove_func):
903         Unlinking pads while holding the bin LOCK is not a good
904         idea.
905
906         * gst/gstpad.c: (gst_pad_class_init),
907         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
908         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
909         No prob setting template after creating the pad.
910
911 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
912
913         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
914         (gst_bus_peek), (gst_bus_source_dispatch),
915         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
916         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
917           gst_bus_poll may be called from other threads. Handle
918           this nicely by not making poll_data disappear off the
919           stack once gst_bus_poll returns.
920           gst_bus_peek now increments the refcount on the returned
921           message.
922
923 2005-07-29  Wim Taymans  <wim@fluendo.com>
924
925         * docs/design/part-gstghostpad.txt:
926         Overview of current GhostPad datastructures and use
927         cases for changing the target.
928
929 2005-07-28  Wim Taymans  <wim@fluendo.com>
930
931         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
932         Added checks for hierarchy consistency whan adding linked
933         elements to bins.
934
935         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
936         Added check to test element scheduling without bin/pipeline.
937
938         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
939         First add elements to bin, then link.
940         
941         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
942         (gst_bin_remove_func):
943         Unlink pads from elements added/removed from bin to maintain
944         hierarchy consistency.
945
946 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
947
948         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
949         (gst_base_transform_handle_buffer):
950         * gst/base/gstbasetransform.h:
951           Remove broken delay_configure (fixes renegotiation of software
952           scaling pipelines); remove some leftover printf()s.
953
954 2005-07-28  Wim Taymans  <wim@fluendo.com>
955
956         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
957         Added some more tests for wrong hierarchy
958
959         * docs/design/part-overview.txt:
960         Some updates.
961
962         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
963         Cleanups.
964
965         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
966         (gst_element_dispose):
967         Some more cleanups.
968
969         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
970         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
971         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
972         (gst_pad_set_caps), (gst_pad_send_event):
973         Check for correct hierarchy when linking pads. Moving to
974         strict requirement for ghostpads when linking elements in
975         different bins.
976
977         * gst/gstpad.h:
978         Clean ups. Added WRONG_HIERARCHY return value.
979
980 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
981
982         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
983           Better debug if no transform is possible.
984
985 2005-07-27  Wim Taymans  <wim@fluendo.com>
986
987         * docs/random/wtay/network-transp:
988         Some old doc I had.
989
990 2005-07-27  Wim Taymans  <wim@fluendo.com>
991
992         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
993         (gst_dp_event_from_packet):
994         Fix serialization of seek events.
995
996 2005-07-27  Wim Taymans  <wim@fluendo.com>
997
998         * check/gst-libs/gdp.c: (GST_START_TEST):
999         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1000         Fix compilation and fix event serialization.
1001
1002 2005-07-27  Wim Taymans  <wim@fluendo.com>
1003
1004         * CHANGES-0.9:
1005         * docs/design/part-TODO.txt:
1006         * docs/design/part-events.txt:
1007         Some docs updates
1008
1009         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1010         (gst_base_sink_event), (gst_base_sink_do_sync),
1011         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1012         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1013         (gst_base_src_do_seek), (gst_base_src_event_handler),
1014         (gst_base_src_loop):
1015         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1016         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1017         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1018         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1019         (gst_base_transform_set_passthrough),
1020         (gst_base_transform_is_passthrough):
1021         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1022         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1023         Event updates.
1024
1025         * gst/gstbuffer.h:
1026         Use faster casts.
1027
1028         * gst/gstelement.c: (gst_element_seek):
1029         * gst/gstelement.h:
1030         Update gst_element_seek.
1031
1032         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1033         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1034         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1035         (gst_event_new_eos), (gst_event_new_newsegment),
1036         (gst_event_parse_newsegment), (gst_event_new_tag),
1037         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1038         (gst_event_parse_qos), (gst_event_new_seek),
1039         (gst_event_parse_seek), (gst_event_new_navigation):
1040         * gst/gstevent.h:
1041         Make GstEvent use GstStructure. Add parsing code, make sure the
1042         API is sufficiently generic.
1043         Mark possible directions of events and serialization.
1044
1045         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1046         (_gst_message_copy), (gst_message_new_segment_start),
1047         (gst_message_new_segment_done), (gst_message_new_custom),
1048         (gst_message_parse_segment_start),
1049         (gst_message_parse_segment_done):
1050         Small cleanups.
1051
1052         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1053         (gst_pad_set_caps), (gst_pad_send_event):
1054         Update for new events. 
1055         Catch events sent in wrong directions.
1056
1057         * gst/gstqueue.c: (gst_queue_link_src),
1058         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1059         (gst_queue_handle_src_query):
1060         Event updates.
1061
1062         * gst/gsttag.c:
1063         * gst/gsttag.h:
1064         Remove event code from this file.
1065
1066         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1067         (gst_dp_event_from_packet):
1068         Event updates.
1069
1070 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1071
1072         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1073         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1074         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1075           Make debugging actually useful.
1076
1077 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1078
1079         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1080         (gst_pad_fixate_caps):
1081           Implement default fixation once again, so that gst_pad_fixate()
1082           actually does anything at all. This probably needs to be some
1083           sort of a last resort, and use profile-based fixation first, but
1084           since that doesn't exist yet, this is the best we have. Fixes
1085           visualization in Totem.
1086
1087 2005-07-22  Wim Taymans  <wim@fluendo.com>
1088
1089         * docs/design/part-events.txt:
1090         Small update.
1091
1092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1093         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1094         (gst_base_sink_activate_pull):
1095         Some more comments.
1096
1097         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1098         (gst_fake_src_create):
1099         Fix handoff marshall.
1100
1101         * gst/elements/gstidentity.c: (gst_identity_class_init),
1102         (gst_identity_transform_ip):
1103         We're a real inplace element.
1104
1105         * gst/gstbus.c: (gst_bus_post):
1106         Added some comments.
1107
1108         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1109         * tests/muxing/case1.c: (main):
1110         * tests/sched/dynamic-pipeline.c: (main):
1111         * tests/sched/interrupt1.c: (main):
1112         * tests/sched/interrupt2.c: (main):
1113         * tests/sched/interrupt3.c: (main):
1114         * tests/sched/runxml.c: (main):
1115         * tests/sched/sched-stress.c: (main):
1116         * tests/seeking/seeking1.c: (event_received), (main):
1117         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1118         (main):
1119         * tests/threadstate/threadstate3.c: (main):
1120         * tests/threadstate/threadstate4.c: (main):
1121         * tests/threadstate/threadstate5.c: (main):
1122         Fix the tests.
1123
1124 2005-07-21  Wim Taymans  <wim@fluendo.com>
1125
1126         * docs/design/part-seeking.txt:
1127         Some small additions.
1128
1129         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1130         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1131         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1132         * gst/base/gstbasesink.h:
1133         discont values are gint64, handle the math correctly.
1134
1135         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1136         Make the basesrc report error if the source pad is not linked.
1137
1138         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1139         (gst_queue_loop), (gst_queue_handle_src_query),
1140         (gst_queue_src_activate_push):
1141         Make queue collect data even if the srcpad is not linked.
1142         Start pushing out data as soon as it is linked.
1143
1144         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1145         * gst/gstutils.h:
1146         Added gst_flow_get_name() to ease error reporting.
1147
1148 2005-07-20  Wim Taymans  <wim@fluendo.com>
1149
1150         * gst/gstmessage.c: (gst_message_new_segment_start),
1151         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1152         (gst_message_parse_segment_done):
1153         * gst/gstmessage.h:
1154         Added a bunch of messages for advanced seeking.
1155
1156         * gst/parse/grammar.y:
1157         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1158         (gst_dpman_state_changed):
1159         Fix some new-pad -> pad-added signals
1160
1161 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1162
1163         * docs/manual/appendix-porting.xml:
1164         * docs/pwg/appendix-porting.xml:
1165           Document new-pad/state-change signal renames and the FixedList
1166           type rename.
1167
1168 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1169
1170         * docs/manual/advanced-autoplugging.xml:
1171         * docs/manual/basics-helloworld.xml:
1172         * docs/manual/basics-pads.xml:
1173         * docs/random/ds/0.9-suggested-changes:
1174         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1175         * gst/gstelement.h:
1176         * gst/gstevent.h:
1177         * gst/gstformat.h:
1178         * gst/gstquery.h:
1179         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1180         (gst_structure_parse_array), (gst_structure_parse_value):
1181         * gst/gstvalue.c: (gst_type_is_fixed),
1182         (gst_value_list_prepend_value), (gst_value_list_append_value),
1183         (gst_value_list_get_size), (gst_value_list_get_value),
1184         (gst_value_transform_array_string), (gst_value_serialize_array),
1185         (gst_value_deserialize_array), (gst_value_intersect_array),
1186         (gst_value_is_fixed), (_gst_value_initialize):
1187         * gst/gstvalue.h:
1188           GstElement::new-pad -> pad-added, GstElement::state-change ->
1189           state-changed, GstValueFixedList -> GstValueArray, add format and
1190           flags as their own arguments in gst_element_seek() (should improve
1191           "bindeability"), remove function generators since they don't work
1192           under a whole bunch of compilers (they were deprecated already
1193           anyway).
1194
1195 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1196
1197         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1198         (_gst_debug_register_funcptr):
1199         * gst/gstinfo.h:
1200           Fix illegal cast on some platforms (#309253).
1201
1202 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1203
1204         * gst/gstmessage.c: (gst_message_new_custom):
1205         * gst/gstmessage.h:
1206           Add _new_custom, make _new_application a macro to _new_custom.
1207
1208 2005-07-20  Wim Taymans  <wim@fluendo.com>
1209
1210         * gst/base/gstbasesrc.c: (gst_base_src_init),
1211         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1212         * gst/base/gstbasesrc.h:
1213         Add a gboolean to decide when to push out a discont.
1214
1215         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1216         (gst_queue_loop), (gst_queue_handle_src_query),
1217         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1218         (gst_queue_set_property), (gst_queue_get_property):
1219         Some cleanups.
1220
1221         * tests/threadstate/threadstate1.c: (main):
1222         Make a thread test compile and run... very silly..
1223
1224
1225 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1226
1227         * docs/manual/appendix-porting.xml:
1228           Mention removal of libgstgconf-0.9.la and existence of gconf
1229           elements.
1230
1231 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1232
1233         * docs/pwg/advanced-clock.xml:
1234         * docs/pwg/appendix-porting.xml:
1235         * docs/pwg/intro-preface.xml:
1236         * docs/pwg/other-base.xml:
1237         * docs/pwg/other-manager.xml:
1238         * docs/pwg/other-nton.xml:
1239         * docs/pwg/other-ntoone.xml:
1240         * docs/pwg/other-oneton.xml:
1241         * docs/pwg/pwg.xml:
1242           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1243           demuxer), remove n-to-n (was never written), fix some code examples
1244           and links and update the porting section to include all this.
1245
1246 2005-07-19  Wim Taymans  <wim@fluendo.com>
1247
1248         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1249         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1250         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1251         (gst_queue_src_activate_push), (gst_queue_change_state),
1252         (gst_queue_get_property):
1253         * gst/gstqueue.h:
1254         Propagate GstFlowReturn more intelligently upstream and output
1255         an ERROR/EOS when streaming stopped due to fatal error.
1256
1257 2005-07-19  Wim Taymans  <wim@fluendo.com>
1258
1259         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1260         Don't block forever for the state change to complete, the
1261         pipeline already did with a sensible timeout.
1262
1263 2005-07-19  Wim Taymans  <wim@fluendo.com>
1264
1265         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1266         Make sure we never call the create function is we
1267         got deactivated.
1268
1269 2005-07-19  Andy Wingo  <wingo@pobox.com>
1270
1271         * gst/parse/parse.l: Attempt to solve bug #172815.
1272
1273 2005-07-19  Wim Taymans  <wim@fluendo.com>
1274
1275         * docs/design/part-clocks.txt:
1276         * docs/design/part-events.txt:
1277         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1278         Small docs updates.
1279         Only update the seeking values when we are not
1280         busy streaming.
1281
1282 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1283
1284         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1285           Oops, ignore the result of gst_pad_push_event here.
1286
1287 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1288
1289         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1290         (gst_base_src_activate_push):
1291           Send discont event from the loop function, as pads
1292           aren't activated yet in the activate_push handler.
1293
1294         * gst/gstbin.c: (bin_bus_handler):
1295           Don't leak element name.
1296
1297 2005-07-18  Andy Wingo  <wingo@pobox.com>
1298
1299         * configure.ac: Use AS_LIBTOOL_TAGS.
1300
1301 2005-07-18  Wim Taymans  <wim@fluendo.com>
1302
1303         * docs/gst/gstreamer.types:
1304         Remove deleted types.
1305
1306 2005-07-18  Wim Taymans  <wim@fluendo.com>
1307
1308         * check/elements/gstfakesrc.c: (GST_START_TEST):
1309         * configure.ac:
1310         * gst/Makefile.am:
1311         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1312         (init_popt_callback):
1313         * gst/gst.h:
1314         * gst/gst_private.h:
1315         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1316         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1317         * gst/gstbin.h:
1318         * gst/gstbus.h:
1319         * gst/gstconfig.h.in:
1320         * gst/gstelement.c: (gst_element_class_init),
1321         (gst_element_set_base_time), (gst_element_get_base_time),
1322         (iterator_fold_with_resync), (gst_element_change_state),
1323         (gst_element_dispose), (gst_element_get_bus):
1324         * gst/gstelement.h:
1325         * gst/gstelementfactory.h:
1326         * gst/gsterror.c: (_gst_core_errors_init):
1327         * gst/gsterror.h:
1328         * gst/gstevent.h:
1329         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1330         * gst/gstindex.c:
1331         * gst/gstinfo.c: (_gst_debug_init):
1332         * gst/gstmessage.c: (_gst_message_copy):
1333         * gst/gstmessage.h:
1334         * gst/gstminiobject.h:
1335         * gst/gstobject.c:
1336         * gst/gstobject.h:
1337         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1338         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1339         * gst/gstpad.h:
1340         * gst/gstparse.h:
1341         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1342         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1343         (gst_pipeline_get_last_stream_time):
1344         * gst/gstpipeline.h:
1345         * gst/gstpluginfeature.h:
1346         * gst/gstquery.h:
1347         * gst/gstscheduler.c:
1348         * gst/gstscheduler.h:
1349         * gst/gststructure.h:
1350         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1351         (gst_task_finalize), (gst_task_func), (gst_task_create),
1352         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1353         (gst_task_stop), (gst_task_pause):
1354         * gst/gsttask.h:
1355         * gst/gsttypefind.h:
1356         * gst/gsttypes.h:
1357         * gst/registries/gstlibxmlregistry.c: (load_feature),
1358         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1359         * gst/registries/gstxmlregistry.c:
1360         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1361         * gst/schedulers/threadscheduler.c:
1362         * libs/gst/control/dparammanager.h:
1363         * tools/gst-inspect.c: (print_element_list),
1364         (print_plugin_features), (print_element_features):
1365         * tools/gst-xmlinspect.c: (print_element_list),
1366         (print_plugin_info), (main):
1367         Removed plugable schedulers.
1368         Removed Scheduler/Manager from elements.
1369         Removed gsttypes.h, rearranged includes.
1370         Removed dependency pad<->element, element<>pipeline, and
1371         various others,  fix includes.
1372         implement gst_pad_get_parent() with gst_object_get_parent()
1373         Make GstTask sefcontained.
1374         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1375         timeout.
1376         Fix endless loop in iterator_fold_with_resync.
1377
1378
1379 2005-07-18  Wim Taymans  <wim@fluendo.com>
1380
1381         * gst/Makefile.am:
1382         * gst/gstarch.h:
1383         Remove old file.
1384
1385 2005-07-18  Wim Taymans  <wim@fluendo.com>
1386
1387         * gst/Makefile.am:
1388         No more cothreads.h
1389
1390 2005-07-18  Wim Taymans  <wim@fluendo.com>
1391
1392         * gst/cothreads.c:
1393         * gst/cothreads.h:
1394         Let's remove these.
1395
1396 2005-07-18  Wim Taymans  <wim@fluendo.com>
1397
1398         * docs/design/part-dynamic.txt:
1399         * docs/design/part-events.txt:
1400         * docs/design/part-seeking.txt:
1401         Some more docs in the works.
1402
1403         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1404         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1405         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1406         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1407         (gst_base_transform_handle_buffer),
1408         (gst_base_transform_sink_activate_push),
1409         (gst_base_transform_src_activate_pull),
1410         (gst_base_transform_set_passthrough),
1411         (gst_base_transform_is_passthrough):
1412         Refcounting fixes.
1413
1414         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1415         Cleanups.
1416
1417         * gst/gstevent.c: (gst_event_finalize):
1418         Set SRC to NULL.
1419
1420         * gst/gstutils.c: (gst_element_unlink),
1421         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1422         (gst_pad_proxy_setcaps):
1423         * gst/gstutils.h:
1424         Add _get_parent_element() to get a pads parent as an element.
1425
1426 2005-07-18  Wim Taymans  <wim@fluendo.com>
1427
1428         * check/gst/gstbin.c: (GST_START_TEST):
1429         Remove bogus test.
1430
1431 2005-07-18  Wim Taymans  <wim@fluendo.com>
1432
1433         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1434         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1435         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1436         (gst_base_sink_event), (gst_base_sink_do_sync),
1437         (gst_base_sink_chain), (gst_base_sink_loop),
1438         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1439         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1440         Refcounting fixes.
1441         Fix logic for returning ASYNC when not prerolled.
1442
1443 2005-07-18  Wim Taymans  <wim@fluendo.com>
1444
1445         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1446         Fix nasty refcount bug.
1447
1448 2005-07-16 Philippe Khalaf <burger@speedy.org>
1449         * gst/elements/gstfdsrc.c:
1450         * gst/elements/gstfdsrc.h:
1451         * gst/elements/gstelements.c:
1452         * gst/elements/Makefile.am:
1453         Ported fdsrc to 0.9.
1454
1455 2005-07-16  Wim Taymans  <wim@fluendo.com>
1456
1457         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1458         (gst_base_sink_do_sync):
1459         Fix compile error.
1460
1461 2005-07-16  Wim Taymans  <wim@fluendo.com>
1462
1463         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1464         (gst_base_sink_event), (gst_base_sink_get_times),
1465         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1466         * gst/base/gstbasesink.h:
1467         Store and use discont values when syncing buffers as described
1468         in design docs.
1469         
1470         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1471         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1472         (gst_base_src_activate_push):
1473         Push discont event when starting.
1474
1475         * gst/elements/gstidentity.c: (gst_identity_transform):
1476         Small cleanups.
1477
1478         * gst/gstbin.c: (gst_bin_change_state):
1479         Small cleanups in base_time  distribution.
1480
1481         * gst/gstelement.c: (gst_element_set_base_time),
1482         (gst_element_get_base_time), (gst_element_change_state):
1483         * gst/gstelement.h:
1484         Added methods for the base_time of the element.
1485         Some MT fixes.
1486
1487         * gst/gstpipeline.c: (gst_pipeline_send_event),
1488         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1489         (gst_pipeline_get_last_stream_time):
1490         * gst/gstpipeline.h:
1491         MT fixes.
1492         Handle seeking as described in design doc, remove stream_time
1493         hack.
1494         Cleanups clock and stream_time selection code. Added accessors
1495         for the stream_time.
1496         
1497
1498 2005-07-16  Andy Wingo  <wingo@pobox.com>
1499
1500         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1501         (#305291).
1502
1503 2005-07-16  Wim Taymans  <wim@fluendo.com>
1504
1505         * check/gst/gstbin.c: (GST_START_TEST):
1506         Make elements silent as the deep_notify refs the
1507         parent, which might make the test fail.
1508
1509         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1510         Don't hold the lock for too long.
1511
1512 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1513
1514         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1515           Don't unref the caps we passed to gst_caps_make_writable() after
1516           passing them. gst_caps_make_writable() will do that for us.
1517
1518 2005-07-15  Andy Wingo  <wingo@pobox.com>
1519
1520         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1521         (#157311).
1522
1523         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1524         own marshalling function for the handoff signal. Properly type the
1525         buffer as a buffer. Fixes some warnings. Should do a more general
1526         solution.
1527         (gst_identity_class_init): Plug into the right marshaller.
1528
1529 2005-07-15  Wim Taymans  <wim@fluendo.com>
1530
1531         * docs/design/part-TODO.txt:
1532         * docs/design/part-clocks.txt:
1533         * docs/design/part-element-sink.txt:
1534         * docs/design/part-events.txt:
1535         * docs/design/part-gstpipeline.txt:
1536         Updated docs, mostly DISCONT related.
1537
1538 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1539
1540         * docs/pwg/building-pads.xml:
1541           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1542
1543 2005-07-15  Andy Wingo  <wingo@pobox.com>
1544
1545         * tools/gst-typefind.c: Update, add copyright block.
1546
1547         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1548         Normalize and truncate caps before fixation.
1549
1550         * gst/gstcaps.h:
1551         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1552         discards all but the first structure from its argument.
1553
1554 2005-07-15  Wim Taymans  <wim@fluendo.com>
1555
1556         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1557         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1558         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1559         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1560         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1561         (gst_base_transform_chain), (gst_base_transform_change_state),
1562         (gst_base_transform_set_passthrough),
1563         (gst_base_transform_is_passthrough):
1564         * gst/base/gstbasetransform.h:
1565         Make passthrough work using the bufferpools.
1566         Changed API a bit, subclasses have to write into a buffer
1567         provided by the base class.
1568         More debug info in nego functions.
1569         
1570         * gst/elements/gstidentity.c: (gst_identity_init),
1571         (gst_identity_transform):
1572         Port to new base class.
1573
1574 2005-07-15  Wim Taymans  <wim@fluendo.com>
1575
1576         * gst/gstmessage.c: (gst_message_new_state_changed):
1577         * tools/gst-launch.c: (event_loop), (main):
1578         Totally dump messages in -launch with the -m option.
1579         Fix message name for State messages,
1580
1581 2005-07-14  Wim Taymans  <wim@fluendo.com>
1582
1583         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1584         Post error messages on errors.
1585
1586 2005-07-14  Wim Taymans  <wim@fluendo.com>
1587
1588         * gst/gstcaps.c: (gst_caps_do_simplify):
1589         Remove debug info.
1590
1591         * gst/gsterror.h:
1592         Define error for stream stopped.
1593
1594         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1595         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1596         Do proper return values.
1597
1598         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1599         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1600         (gst_pad_get_range):
1601         Better return values.
1602
1603         * gst/gstpad.h:
1604         Reorganise return values, add macro to check for fatal errors.
1605
1606         * gst/gstqueue.c: (gst_queue_chain):
1607         Return proper GstFlowReturn values,
1608
1609 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1610
1611         * docs/gst/gstreamer-sections.txt:
1612         * docs/gst/gstreamer.types:
1613         * docs/gst/tmpl/gst.sgml:
1614         * docs/gst/tmpl/gstbasesink.sgml:
1615         * docs/gst/tmpl/gstbasesrc.sgml:
1616         * docs/gst/tmpl/gstbasetransform.sgml:
1617         * docs/gst/tmpl/gstbin.sgml:
1618         * docs/gst/tmpl/gstbuffer.sgml:
1619         * docs/gst/tmpl/gstcaps.sgml:
1620         * docs/gst/tmpl/gstclock.sgml:
1621         * docs/gst/tmpl/gstcompat.sgml:
1622         * docs/gst/tmpl/gstconfig.sgml:
1623         * docs/gst/tmpl/gstelement.sgml:
1624         * docs/gst/tmpl/gstelementdetails.sgml:
1625         * docs/gst/tmpl/gstelementfactory.sgml:
1626         * docs/gst/tmpl/gstenumtypes.sgml:
1627         * docs/gst/tmpl/gsterror.sgml:
1628         * docs/gst/tmpl/gstevent.sgml:
1629         * docs/gst/tmpl/gstfakesink.sgml:
1630         * docs/gst/tmpl/gstfakesrc.sgml:
1631         * docs/gst/tmpl/gstfilesink.sgml:
1632         * docs/gst/tmpl/gstfilesrc.sgml:
1633         * docs/gst/tmpl/gstfilter.sgml:
1634         * docs/gst/tmpl/gstformat.sgml:
1635         * docs/gst/tmpl/gstghostpad.sgml:
1636         * docs/gst/tmpl/gstimplementsinterface.sgml:
1637         * docs/gst/tmpl/gstindex.sgml:
1638         * docs/gst/tmpl/gstindexfactory.sgml:
1639         * docs/gst/tmpl/gstinfo.sgml:
1640         * docs/gst/tmpl/gstiterator.sgml:
1641         * docs/gst/tmpl/gstmacros.sgml:
1642         * docs/gst/tmpl/gstmemchunk.sgml:
1643         * docs/gst/tmpl/gstminiobject.sgml:
1644         * docs/gst/tmpl/gstobject.sgml:
1645         * docs/gst/tmpl/gstpad.sgml:
1646         * docs/gst/tmpl/gstpadtemplate.sgml:
1647         * docs/gst/tmpl/gstparse.sgml:
1648         * docs/gst/tmpl/gstpipeline.sgml:
1649         * docs/gst/tmpl/gstplugin.sgml:
1650         * docs/gst/tmpl/gstpluginfeature.sgml:
1651         * docs/gst/tmpl/gstquery.sgml:
1652         * docs/gst/tmpl/gstqueue.sgml:
1653         * docs/gst/tmpl/gstregistry.sgml:
1654         * docs/gst/tmpl/gstregistrypool.sgml:
1655         * docs/gst/tmpl/gstscheduler.sgml:
1656         * docs/gst/tmpl/gstschedulerfactory.sgml:
1657         * docs/gst/tmpl/gststructure.sgml:
1658         * docs/gst/tmpl/gstsystemclock.sgml:
1659         * docs/gst/tmpl/gsttaglist.sgml:
1660         * docs/gst/tmpl/gsttagsetter.sgml:
1661         * docs/gst/tmpl/gsttrace.sgml:
1662         * docs/gst/tmpl/gsttrashstack.sgml:
1663         * docs/gst/tmpl/gsttypefind.sgml:
1664         * docs/gst/tmpl/gsttypefindfactory.sgml:
1665         * docs/gst/tmpl/gsttypes.sgml:
1666         * docs/gst/tmpl/gsturihandler.sgml:
1667         * docs/gst/tmpl/gsturitype.sgml:
1668         * docs/gst/tmpl/gstutils.sgml:
1669         * docs/gst/tmpl/gstvalue.sgml:
1670         * docs/gst/tmpl/gstversion.sgml:
1671         * docs/gst/tmpl/gstxml.sgml:
1672         * docs/libs/tmpl/gstcontrol.sgml:
1673         * docs/libs/tmpl/gstdataprotocol.sgml:
1674         * docs/libs/tmpl/gstdparam.sgml:
1675         * docs/libs/tmpl/gstdplinint.sgml:
1676         * docs/libs/tmpl/gstdpman.sgml:
1677         * docs/libs/tmpl/gstdpsmooth.sgml:
1678         * docs/libs/tmpl/gstgetbits.sgml:
1679         * docs/libs/tmpl/gstunitconvert.sgml:
1680         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1681         (gst_push_src_base_init), (gst_push_src_class_init),
1682         (gst_push_src_init), (gst_push_src_create):
1683         * gst/base/gstpushsrc.h:
1684         * gst/elements/gstelements.c:
1685         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1686         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1687         (gst_fake_sink_init), (gst_fake_sink_set_property),
1688         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1689         (gst_fake_sink_event), (gst_fake_sink_preroll),
1690         (gst_fake_sink_render), (gst_fake_sink_change_state):
1691         * gst/elements/gstfakesink.h:
1692         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1693         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1694         (gst_fake_src_base_init), (gst_fake_src_class_init),
1695         (gst_fake_src_init), (gst_fake_src_event_handler),
1696         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1697         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1698         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1699         (gst_fake_src_create_buffer), (gst_fake_src_create),
1700         (gst_fake_src_start), (gst_fake_src_stop):
1701         * gst/elements/gstfakesrc.h:
1702         * gst/elements/gstfilesink.c: (_do_init),
1703         (gst_file_sink_base_init), (gst_file_sink_class_init),
1704         (gst_file_sink_init), (gst_file_sink_dispose),
1705         (gst_file_sink_set_location), (gst_file_sink_set_property),
1706         (gst_file_sink_get_property), (gst_file_sink_open_file),
1707         (gst_file_sink_close_file), (gst_file_sink_query),
1708         (gst_file_sink_event), (gst_file_sink_render),
1709         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1710         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1711         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1712         * gst/elements/gstfilesink.h:
1713         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1714         (gst_file_src_class_init), (gst_file_src_init),
1715         (gst_file_src_finalize), (gst_file_src_set_location),
1716         (gst_file_src_set_property), (gst_file_src_get_property),
1717         (gst_file_src_map_region), (gst_file_src_map_small_region),
1718         (gst_file_src_create_mmap), (gst_file_src_create_read),
1719         (gst_file_src_create), (gst_file_src_is_seekable),
1720         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1721         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1722         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1723         (gst_file_src_uri_handler_init):
1724         * gst/elements/gstfilesrc.h:
1725           more autistic cleanliness in functions/names/defines
1726
1727 2005-07-13  Andy Wingo  <wingo@pobox.com>
1728
1729         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1730         source couldn't negotiate.
1731
1732         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1733         connections again.
1734
1735         * gst/gstutils.h:
1736         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1737         function. I am channeling Hades. Put your boots on suckers!!!
1738
1739 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1740
1741         * testsuite/caps/Makefile.am:
1742         * testsuite/caps/value_compare.c:
1743         * testsuite/caps/value_intersect.c:
1744         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1745           move two testsuite apps over to the check dir
1746
1747 2005-07-12  Wim Taymans  <wim@fluendo.com>
1748
1749         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1750         Added more debug info in the negotiate process.
1751
1752         * gst/gstmessage.h:
1753         Prepare for segment playback.
1754
1755         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1756         Better debugging.
1757
1758         * gst/gstutils.c:
1759         Some more docs.
1760
1761         * tools/gst-launch.c: (main):
1762         NULL pipeline on errors.
1763
1764 2005-07-12  Andy Wingo  <wingo@pobox.com>
1765
1766         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1767         not it comes from a malloc region. Make sure our copy gets freed.
1768
1769 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1770
1771         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1772         * check/gst/gstmessage.c: (GST_START_TEST):
1773         * check/gst/gststructure.c: (GST_START_TEST),
1774         (gst_structure_suite), (main):
1775           more testing
1776         * gst/gstelement.c: (gst_element_message_full):
1777           clean up GError and debug string now that they get copied
1778         * gst/gstmessage.c: (gst_message_new_error),
1779         (gst_message_new_warning), (gst_message_parse_error),
1780         (gst_message_parse_warning):
1781           use GST_TYPE_G_ERROR for structure_new, and take copies of
1782           arguments, so that we don't mess up refcounting
1783
1784 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1785
1786         * check/Makefile.am:
1787           add per-test valgrind targets
1788         * check/gst-libs/gdp.c: (GST_START_TEST),
1789         (gst_data_protocol_suite), (main):
1790           clean up
1791
1792 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1793
1794         * check/Makefile.am:
1795           instate more valgrindable tests
1796         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1797         (GST_START_TEST), (fakesrc_suite):
1798         * check/gst/gstpad.c: (GST_START_TEST):
1799         * check/gst/gststructure.c: (GST_START_TEST):
1800           fix test leaks
1801         * docs/gst/tmpl/gstminiobject.sgml:
1802         * gst/gstpad.c: (gst_pad_finalize):
1803           fix the static mutex leak
1804
1805 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1806
1807         * check/Makefile.am:
1808           add two more tests for valgrinding
1809         * check/gst/gstvalue.c: (GST_START_TEST):
1810           test refcount of deserialized buffer, found a leak
1811         * docs/gst/gstreamer-docs.sgml:
1812         * docs/gst/gstreamer-sections.txt:
1813         * docs/gst/gstreamer.types:
1814         * docs/gst/tmpl/gstminiobject.sgml:
1815           add miniobject to docs
1816         * gst/gstminiobject.c:
1817           add some docs
1818         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1819         (gst_string_unwrap):
1820           fix a hard-to-find invalid write for one of the tests
1821           fix a leak for deserialized buffers
1822
1823 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1824
1825         * docs/pwg/advanced-events.xml:
1826         * docs/pwg/advanced-request.xml:
1827         * docs/pwg/advanced-scheduling.xml:
1828         * docs/pwg/appendix-porting.xml:
1829         * docs/pwg/building-boiler.xml:
1830         * docs/pwg/intro-preface.xml:
1831         * docs/pwg/other-ntoone.xml:
1832           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1833           of example code and explanation for pad activation, loop() and
1834           getrange() functions and a bit more. Remove old comments pointing
1835           to loop-functions.
1836         * examples/pwg/Makefile.am:
1837           Add loop/getrange examples.
1838
1839 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1840
1841         * configure.ac:
1842           check for valgrind binary + some fixes
1843         * check/gst.supp:
1844           valgrind suppressions for the tests
1845         * check/Makefile.am:
1846           add a valgrind: target that valgrinds the unit tests
1847         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1848         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1849         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1850         * check/gst/gstghostpad.c:
1851           added some cleanup
1852         * check/gst/gstdata.c:
1853           removed
1854         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1855         (thread_unref), (gst_mini_object_suite), (main):
1856           added
1857         * gst/gst.c: (gst_deinit):
1858         * gst/gst.h:
1859           add a method to clean up.
1860         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1861         (gst_system_clock_obtain):
1862           allow for disposing the system clock.
1863         * tools/gst-launch.c: (main):
1864           deinit
1865
1866 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1867
1868         * docs/gst/tmpl/gstbasesrc.sgml:
1869         * docs/gst/tmpl/gstfakesrc.sgml:
1870         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1871         (gst_base_src_init), (gst_base_src_set_property),
1872         (gst_base_src_get_property), (gst_base_src_get_range),
1873         (gst_base_src_start):
1874         * gst/base/gstbasesrc.h:
1875           add num-buffers property
1876         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1877         (gst_fakesrc_init), (gst_fakesrc_set_property),
1878         (gst_fakesrc_get_property), (gst_fakesrc_create),
1879         (gst_fakesrc_start):
1880           remove num-buffers property
1881
1882 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1883
1884         * docs/gst/gstreamer-sections.txt:
1885         * docs/gst/tmpl/gstbasesink.sgml:
1886         * docs/gst/tmpl/gstbasesrc.sgml:
1887         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1888         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1889         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1890         (gst_base_sink_set_property), (gst_base_sink_get_property),
1891         (gst_base_sink_handle_object), (gst_base_sink_event),
1892         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1893         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1894         (gst_base_sink_loop), (gst_base_sink_deactivate),
1895         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1896         (gst_base_sink_change_state):
1897         * gst/base/gstbasesink.h:
1898         * gst/base/gstbasesrc.h:
1899         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1900         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1901         (gst_filesink_init):
1902           more macro splitting
1903
1904 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * gst/gstelement.c: (gst_element_get_bus):
1907           add debug
1908         * tools/gst-launch.c: (check_intr), (event_loop):
1909           fix bus leaks
1910
1911 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1912
1913         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1914           fix a caps leak
1915
1916 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1917
1918         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1919         (gst_base_src_finalize):
1920           add finalize method and clean up properly
1921         * gst/gstpipeline.c: (gst_pipeline_dispose):
1922           add debug
1923
1924 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1925
1926         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1927         (gst_bin_suite):
1928           add more things to check
1929         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1930         * gst/gstelement.c:
1931           more debug
1932
1933 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1934
1935         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1936         (GST_START_TEST), (fakesrc_suite):
1937         * check/gst-libs/gdp.c: (GST_START_TEST):
1938         * check/gst/gst.c: (GST_START_TEST):
1939         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1940         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1941         * check/gst/gstbus.c: (GST_START_TEST):
1942         * check/gst/gstcaps.c: (GST_START_TEST):
1943         * check/gst/gstdata.c: (GST_START_TEST):
1944         * check/gst/gstelement.c: (GST_START_TEST):
1945         * check/gst/gstghostpad.c: (GST_START_TEST):
1946         * check/gst/gstiterator.c: (GST_START_TEST):
1947         * check/gst/gstmessage.c: (GST_START_TEST):
1948         * check/gst/gstobject.c: (GST_START_TEST):
1949         * check/gst/gstpad.c: (GST_START_TEST):
1950         * check/gst/gststructure.c: (GST_START_TEST):
1951         * check/gst/gstsystemclock.c: (GST_START_TEST),
1952         (gst_systemclock_suite):
1953         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1954         * check/gst/gstvalue.c: (GST_START_TEST):
1955         * check/pipelines/cleanup.c: (GST_START_TEST):
1956         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1957         * check/states/sinks.c: (GST_START_TEST):
1958         * check/gstcheck.c: (gst_check_init):
1959         * check/gstcheck.h:
1960           add debugging category
1961           use GST_START_TEST now, so we add a debug line
1962
1963 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1964
1965         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1966           add test for state change message on a bin
1967         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1968           add another test
1969         * gst/gstbin.c: (gst_bin_init):
1970         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1971         * gst/gstelement.c: (gst_element_post_message),
1972         (gst_element_set_state):
1973         * gst/gstelementfactory.c: (gst_element_factory_create):
1974         * gst/gstmessage.c: (gst_message_new):
1975         * gst/gstscheduler.c:
1976           various debugging additions and cleanups
1977
1978 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1979
1980         * check/Makefile.am:
1981         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1982         (main):
1983           adding tests for elements
1984         * gst/gstelement.c: (gst_element_dispose):
1985
1986 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1987
1988         * gst/registries/gstlibxmlregistry.c: (load_feature):
1989           plug more leaks.  A simple gst_init() now is leakfree, yay.
1990
1991 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1992
1993         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1994         (gst_xml_registry_load):
1995           plug another memleak
1996
1997 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1998
1999         * configure.ac:
2000           use GST_SET_ERROR_CFLAGS
2001         * docs/faq/cvs.xml:
2002           change to ERROR_CFLAGS
2003
2004 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2005
2006         * configure.ac:
2007           make GST_ERROR_CFLAGS overridable and re-enable Werror
2008         * docs/faq/cvs.xml:
2009           add a note about error CFLAGS
2010         * docs/gst/tmpl/gstfakesrc.sgml:
2011         * gst/elements/gstfakesrc.c:
2012           comment out some unused code
2013         * gst/gst.c: (split_and_iterate):
2014         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2015         (load_feature):
2016           plug some memleaks
2017
2018 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2019
2020         * common/Makefile.am:
2021         * common/gtk-doc.mak:
2022         * docs/gst/Makefile.am:
2023           factor out gtk-doc.mak
2024
2025 2005-07-07  Wim Taymans  <wim@fluendo.com>
2026
2027         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2028         (gst_thread_scheduler_dispose):
2029         Unlock the STREAM_LOCK completely.
2030
2031 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2032
2033         * check/Makefile.am:
2034         * check/elements/.cvsignore:
2035         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2036         (START_TEST), (fakesrc_suite), (main):
2037         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2038         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2039         (gst_fakesrc_create), (gst_fakesrc_start):
2040         * gst/elements/gstfakesrc.h:
2041           adding a first element test
2042
2043 2005-07-07  Andy Wingo  <wingo@pobox.com>
2044
2045         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2046         debug message.
2047
2048 2005-07-07  Wim Taymans  <wim@fluendo.com>
2049
2050         * gst/gstquery.c:
2051         * gst/gstquery.h:
2052         Remove old types
2053
2054 2005-07-07  Wim Taymans  <wim@fluendo.com>
2055
2056         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2057         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2058         Allow subclasses to implement their own negotiation.
2059
2060 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2061
2062         * docs/design/part-gstbin.txt:
2063         * docs/design/part-gstpipeline.txt:
2064           Update design notes to reflect the movement of
2065           responsibility for bus handling from GstPipeline to
2066           GstBin
2067
2068 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2069
2070         * configure.ac:
2071           Remove unnecessary queue2/3/4 examples.
2072
2073 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2074
2075         * examples/Makefile.am:
2076         * examples/helloworld/helloworld.c: (event_loop), (main):
2077         * examples/queue/queue.c: (event_loop), (main):
2078         * examples/queue2/queue2.c: (main):
2079           Update a couple of the examples to work again.
2080
2081         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2082         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2083          Spelling corrections and extra debug.
2084         
2085         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2086         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2087         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2088         * gst/gstbin.h:
2089         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2090         (gst_pipeline_change_state):
2091         * gst/gstpipeline.h:
2092           Move the bus handler for children to the GstBin, and create a
2093           separate bus for receiving messages from children to the one the
2094           bus sends 'upwards' on.
2095
2096 2005-07-06  Wim Taymans  <wim@fluendo.com>
2097
2098         * gst/base/README:
2099         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2100         (gst_base_sink_handle_object), (gst_base_sink_loop),
2101         (gst_base_sink_change_state):
2102         * gst/base/gstbasesink.h:
2103         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2104         (gst_base_src_init), (gst_base_src_setcaps),
2105         (gst_base_src_getcaps), (gst_base_src_loop),
2106         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2107         (gst_base_src_start), (gst_base_src_change_state):
2108         * gst/base/gstbasesrc.h:
2109         Make basesrc negotiate.
2110         Handle the case where preroll fails in basesink.
2111         Update README.
2112
2113 2005-07-06  Wim Taymans  <wim@fluendo.com>
2114
2115         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2116         Implement the fixate function.
2117         Clean up acceptcaps.
2118
2119 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2120
2121         * docs/pwg/building-filterfactory.xml:
2122         * docs/pwg/pwg.xml:
2123           Remove never-written filter-factory chapter; I'll add the various
2124           base classes to part 4 ("other element types") later on.
2125
2126 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2127
2128         * docs/pwg/advanced-negotiation.xml:
2129         * docs/pwg/building-boiler.xml:
2130         * docs/pwg/building-pads.xml:
2131         * docs/pwg/pwg.xml:
2132         * examples/pwg/Makefile.am:
2133           Add a chapter on caps negotiation, simplify the original code
2134           samples a bit w.r.t. caps negotiation, add link to the advanced
2135           section. Add a bunch of examples showing different use cases of
2136           different types of caps negotiation. Upstream renegotiation isn't
2137           fully documented yet since nobody knows how that works.
2138
2139 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2140
2141         * check/gst/gstpad.c:
2142         * check/gstcheck.c:
2143         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2144           if pad has no parent, return NULL as list of internal links
2145
2146 2005-07-05  Andy Wingo  <wingo@pobox.com>
2147
2148         * gst/elements/gstfilesrc.c:
2149         * gst/elements/gstfakesrc.c: 
2150         * gst/base/gstpushsrc.c:
2151         * gst/base/gstbasesrc.h: 
2152         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2153         
2154 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2155
2156         * Makefile.am:
2157           better report generation target (lcov needs a patch)
2158
2159 2005-07-05  Andy Wingo  <wingo@pobox.com>
2160
2161         * gst/elements, testsuite: Null if we got it...
2162
2163 2005-07-05  Wim Taymans  <wim@fluendo.com>
2164
2165         * configure.ac:
2166         * libs/gst/dataprotocol/Makefile.am:
2167         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2168         * libs/gst/dataprotocol/dataprotocol.h:
2169         * pkgconfig/Makefile.am:
2170         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2171         * pkgconfig/gstreamer-dataprotocol.pc.in:
2172         Ported dataprotol to 0.9. 
2173         Added pkgconfig files.
2174
2175 2005-07-05  Andy Wingo  <wingo@pobox.com>
2176
2177         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2178         Default to returning TRUE for the case when tranform_caps returns
2179         a fixed caps, like for identity or volume.
2180
2181         * check/gst/gstbus.c (pound_bus_with_messages): 
2182         * check/gst/gstmessage.c (START_TEST): 
2183         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2184         message API change.
2185
2186         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2187         logic weaks here: always run transform_caps, trying passthrough
2188         operation only if the original caps intersects with the transform.
2189
2190         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2191         source and sink caps.
2192
2193         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2194         Intersect the peer caps with the pad template before going into
2195         transform_caps.
2196         (gst_base_transform_transform_caps): More debugging.
2197
2198         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2199         src argument.
2200
2201 2005-07-04  Edward Hervey  <edward@fluendo.com>
2202
2203         * gst/gstutils.c:
2204         * gst/gstutils.h:
2205         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2206         in bindings.
2207
2208 2005-07-04  Andy Wingo  <wingo@pobox.com>
2209
2210         * check/gst/gstpad.c: Only set explicit caps on pads.
2211
2212 2005-07-01  Andy Wingo  <wingo@pobox.com>
2213
2214         * tests/network-clock.scm: Commentary update.
2215
2216         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2217         Didn't really make sense, not implementable with basetransform,
2218         etc.
2219         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2220         attempt at implementing the sync property, needs an unlock method.
2221
2222         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2223         New func, by default returns the same caps (the identity
2224         transformation).
2225         (gst_base_transform_getcaps): Uses transform_caps to return
2226         something sensible.
2227         (gst_base_transform_setcaps): Complicated logic to get caps on
2228         both pads, even if they are different, and to call set_caps once
2229         for every time both pads get their caps set.
2230         (gst_base_transform_handle_buffer): Give the ref to the transform
2231         function. Allows in-place modification of the buffer.
2232
2233         * gst/base/gstbasetransform.h (transform_caps): New class method.
2234         Given caps on one side, what can I do on the other.
2235         (set_caps): Take two caps, one for each side of the element.
2236
2237         * gst/gstpad.h:
2238         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2239         caps in place. This is safe because we can check the mutability of
2240         the caps, and a good idea because fixate functions are just called
2241         as a matter of last resort. (Not actually implemented.)
2242         (gst_pad_set_caps): If the caps we're setting is actually the same
2243         as the existing pad caps, just update the pointer without calling
2244         setcaps. Assert that caps is either NULL or fixed, as per the
2245         docs.
2246
2247         * gst/gstghostpad.c: Update for fixate changes.
2248
2249 2005-07-02  Andy Wingo  <wingo@pobox.com>
2250
2251         * gst/gstcaps.c:
2252         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2253         two refcounts makes it immutable, which is enough. Doc more.
2254
2255 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2256
2257         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2258           Put the mini_object into GValue as a mini_object,
2259           not a gpointer, since that's how we declared
2260           the signal.
2261
2262 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2263
2264         * examples/pwg/Makefile.am:
2265           Fix buildbot again.
2266
2267 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2268
2269         * docs/pwg/building-testapp.xml:
2270           Add extra check.
2271         * examples/pwg/Makefile.am:
2272           Fix buildbot.
2273
2274 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2275
2276         * configure.ac:
2277         * examples/Makefile.am:
2278         * examples/pwg/Makefile.am:
2279         * examples/pwg/extract.pl:
2280           Enable building the PWG examples.
2281         * docs/pwg/advanced-interfaces.xml:
2282           Add URI interface stub.
2283         * docs/pwg/advanced-types.xml:
2284         * docs/pwg/other-autoplugger.xml:
2285         * docs/pwg/appendix-porting.xml:
2286         * docs/pwg/pwg.xml:
2287           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2288         * docs/pwg/building-boiler.xml:
2289         * docs/pwg/building-chainfn.xml:
2290         * docs/pwg/building-pads.xml:
2291         * docs/pwg/building-props.xml:
2292         * docs/pwg/building-state.xml:
2293         * docs/pwg/building-testapp.xml:
2294           Update the building-*.xml parts for 0.9 changes. All examples
2295           code blocks compile in examples/pwg/*.
2296
2297 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2298
2299         * docs/manual/advanced-autoplugging.xml:
2300         * docs/manual/appendix-checklist.xml:
2301         * docs/manual/appendix-integration.xml:
2302         * docs/manual/highlevel-components.xml:
2303           Fix playbin/decodebin examples, update docs a bit, mention bus
2304           instead of signals in various places, mention kmplayer and
2305           kaffeine since they have a working GStreamer backend in the KDE
2306           section.
2307
2308 2005-06-30  Wim Taymans  <wim@fluendo.com>
2309
2310         * CHANGES-0.9:
2311         * docs/design/draft-ghostpads.txt:
2312         * docs/design/draft-push-pull.txt:
2313         * docs/design/draft-query.txt:
2314         * docs/design/part-TODO.txt:
2315         * docs/design/part-query.txt:
2316         Added CHANGES-0.9 doc, updated status of other docs.
2317         
2318         * gst/gstquery.h:
2319         Remove "hmm" macro
2320
2321 2005-06-30  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2324         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2325         (gst_base_sink_change_state):
2326         * gst/base/gstbasesink.h:
2327         Some tweaks, only EOS and a buffer complete a preroll.
2328
2329 2005-06-30  Andy Wingo  <wingo@pobox.com>
2330
2331         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2332         activate_push down to the internal pad as well.
2333
2334 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2335
2336         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2337
2338         * gst/gsttaginterface.c:
2339           Some documentation fixes (#307394 and #307397).
2340
2341 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2342
2343         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2344
2345         * gst/gstvalue.c: (gst_value_intersect_list):
2346           Fix memleak (#309125).
2347
2348 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2349
2350         * docs/manual/advanced-dataaccess.xml:
2351           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2352         * docs/manual/basics-pads.xml:
2353           Add reference for filtered caps to above chapter.
2354
2355 2005-06-30  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2358         (gst_bin_change_state):
2359         Probes are gone.
2360         Lame attempt at making the state change function a bit
2361         more readable.
2362
2363 2005-06-30  Wim Taymans  <wim@fluendo.com>
2364
2365         * docs/design/part-clocks.txt:
2366         * docs/design/part-element-sink.txt:
2367         * docs/design/part-events.txt:
2368         * docs/design/part-preroll.txt:
2369         * docs/design/part-states.txt:
2370         Some more tweeks and additions to the docs.
2371
2372 2005-06-30  Wim Taymans  <wim@fluendo.com>
2373
2374         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2375         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2376         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2377         (gst_pad_check_pull_range), (gst_pad_get_range),
2378         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2379         * gst/gstpad.h:
2380         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2381         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2382         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2383         (gst_pad_remove_buffer_probe):
2384         Removed atomic operations, use existing LOCK.
2385         Move exception handling out of main code path.
2386
2387 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2388
2389         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2390         (silly_return_true_function), (gst_pad_class_init),
2391         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2392         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2393         (gst_pad_send_event):
2394           Fix accumulator, add default value by using _emitv() instead
2395           of _emit() for signal emission.
2396
2397 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2398
2399         * docs/manual/advanced-dataaccess.xml:
2400         * examples/manual/Makefile.am:
2401           Add probe example.
2402         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2403           Make work (??).
2404
2405 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2406
2407         * gst/elements/gstfilesink.c: (gst_filesink_render):
2408           Simplify code so that we don't have to handle short
2409           writes and return GST_FLOW_ERROR if an error occured.
2410
2411 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2412
2413         * docs/gst/gstreamer-docs.sgml:
2414           Remove probes more.
2415
2416 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2417
2418         * docs/gst/gstreamer-sections.txt:
2419         * docs/gst/tmpl/gstpad.sgml:
2420         * docs/gst/tmpl/gstprobe.sgml:
2421         * gst/Makefile.am:
2422         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2423         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2424         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2425         (gst_pad_push_event), (gst_pad_send_event):
2426         * gst/gstpad.h:
2427         * gst/gstutils.c: (gst_pad_add_data_probe),
2428         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2429         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2430         (gst_pad_remove_buffer_probe):
2431         * gst/gstutils.h:
2432           Remove old probes, add new g-signal-based probes and some utility
2433           functions.
2434
2435 2005-06-29  Edward Hervey  <edward@fluendo.com>
2436
2437         * gst/gstelementfactory.c:
2438         * gst/gstutils.h:
2439         * gst/gstutils.c:
2440         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2441         the definition to the header file.
2442
2443 2005-06-29  Andy Wingo  <wingo@pobox.com>
2444
2445         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2446         plugins from the source directory.
2447
2448 2005-06-29  Wim Taymans  <wim@fluendo.com>
2449
2450         * docs/gst/tmpl/gstbuffer.sgml:
2451         * docs/gst/tmpl/gstclock.sgml:
2452         Some fixings for blantently wrong text.
2453
2454 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2455
2456         * check/Makefile.am:
2457         * gst/gst.c: (add_path_func), (init_pre):
2458         * gst/gstregistry.c: (gst_registry_add_path):
2459           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2460           only scan the GST_PLUGIN_PATH locations, and not add
2461           system locations
2462
2463 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2464
2465         * docs/gst/gstreamer-sections.txt:
2466         * docs/gst/tmpl/gstbasesrc.sgml:
2467         * gst/gstelement.c:
2468         * gst/gstelement.h:
2469         * gst/gstevent.c:
2470         * gst/gstutils.c:
2471           doc fixes
2472
2473 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2474
2475         * docs/manual/advanced-autoplugging.xml:
2476           Fix autoplugging example.
2477
2478 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2479
2480         * docs/manual/advanced-autoplugging.xml:
2481         * docs/manual/mime-world.fig:
2482           Try to get autoplugging working, fix type detection. Fix text
2483           in hello-world image.
2484
2485 2005-06-29  Wim Taymans  <wim@fluendo.com>
2486
2487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2488         (gst_base_sink_change_state):
2489         Small debug line.
2490
2491         * gst/gstclock.h:
2492         map SIGNAL and BROADCAST to the right function.
2493
2494         * gst/gstobject.h:
2495         Remove redundant braces.
2496
2497         * gst/gstpad.c: (gst_pad_set_caps):
2498         Don't call setcaps function when reseting caps to NULL.
2499
2500         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2501         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2502         (gst_system_clock_id_unschedule):
2503         Use BROADCAST as this is what we do.
2504
2505 2005-06-29  Wim Taymans  <wim@fluendo.com>
2506
2507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2508         We are actually prerolling before commiting the state
2509         change. 
2510
2511 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2512
2513         * docs/manual/advanced-clocks.xml:
2514         * docs/manual/advanced-interfaces.xml:
2515         * docs/manual/advanced-metadata.xml:
2516         * docs/manual/advanced-position.xml:
2517         * docs/manual/advanced-schedulers.xml:
2518         * docs/manual/advanced-threads.xml:
2519         * docs/manual/appendix-porting.xml:
2520         * docs/manual/basics-bins.xml:
2521         * docs/manual/basics-bus.xml:
2522         * docs/manual/basics-elements.xml:
2523         * docs/manual/basics-helloworld.xml:
2524         * docs/manual/basics-pads.xml:
2525         * docs/manual/highlevel-components.xml:
2526         * docs/manual/manual.xml:
2527         * docs/manual/thread.fig:
2528           Update (until threads/scheduling) Application Development Manual;
2529           remove GstThread, add GstBus, add simple porting checklist, add
2530           documentation for tag writing, clocks, make all examples until this
2531           part compile and run.
2532         * examples/manual/Makefile.am:
2533           Update from changes to Application Development Manual; add bus
2534           example, remove thread example.
2535
2536 2005-06-28  Wim Taymans  <wim@fluendo.com>
2537
2538         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2539         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2540         (gst_bus_source_dispatch):
2541         Add debugging messages.
2542         Make internal methods static.
2543         Handle the case where the bus is flushed in the handler.
2544         
2545         * gst/gstelement.c: (gst_element_get_bus):
2546         Fix refcount in _get_bus();
2547
2548         * gst/gstpipeline.c: (gst_pipeline_change_state),
2549         (gst_pipeline_get_clock_func):
2550         Clock refcounting fixes.
2551         Handle the case where preroll timed out more gracefully.
2552         
2553         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2554         Clean up the internal thread in dispose. This is needed
2555         for subclasses that actually get disposed.
2556         
2557         * gst/schedulers/threadscheduler.c:
2558         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2559         (gst_thread_scheduler_dispose):
2560         Free thread pool in dispose.
2561
2562 2005-06-28  Andy Wingo  <wingo@pobox.com>
2563
2564         * tests/network-clock-utils.scm (debug, print-event): New utils.
2565
2566         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2567         (*packet-loss*): Unified loss probability.
2568         (network-time): Report out-of-band events.
2569
2570         * tests/plot-data: Add support for out-of-band events. Hack it
2571         into this script instead of passing it down the pipe; should fix
2572         this later.
2573
2574 2005-06-28  Wim Taymans  <wim@fluendo.com>
2575
2576         * docs/gst/gstreamer.types:
2577         * docs/gst/tmpl/gstbasesrc.sgml:
2578         * docs/gst/tmpl/gstpad.sgml:
2579         Docs fixes.
2580
2581 2005-06-28  Wim Taymans  <wim@fluendo.com>
2582
2583         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2584         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2585         (gst_proxy_pad_do_fixatecaps):
2586         Correctly proxy the check_pull_range function.
2587
2588 2005-06-28  Andy Wingo  <wingo@pobox.com>
2589
2590         * tests/network-clock.scm: Removed need for slib.
2591         
2592 2005-06-28  Wim Taymans  <wim@fluendo.com>
2593
2594         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2595         (gst_basesink_preroll_queue_flush):
2596         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2597         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2598         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2599         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2600         (gst_proxy_pad_set_property):
2601         * gst/gstpad.c:
2602         * gst/gstpad.h:
2603         * gst/gstqueue.c: (gst_queue_init):
2604         The deprecated pad loop function is removed now.
2605
2606 2005-06-28  Andy Wingo  <wingo@pobox.com>
2607
2608         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2609         New parameters, simulate network packet loss.
2610
2611         * tests/network-clock-utils.scm: Initialize the RNG.
2612
2613 2005-06-28  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2616         (gst_basesink_event), (gst_basesink_deactivate):
2617         Flushing the preroll queue always needs to unlock the waiters.
2618
2619 2005-06-28  Edward Hervey  <edward@fluendo.com>
2620
2621         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2622         Wheen a seek was successful on a pipeline, set the stream_time to the
2623         seek offset in order to have a synchronized stream_time.
2624
2625 2005-06-28  Wim Taymans  <wim@fluendo.com>
2626
2627         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2628         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2629         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2630         (gst_proxy_pad_do_fixatecaps):
2631         Call wrapper function instead of just calling the function
2632         pointers. This takes care of any locking and whatmore.
2633
2634 2005-06-28  Wim Taymans  <wim@fluendo.com>
2635
2636         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2637         (gst_pad_pull_range):
2638         * gst/gstpad.h:
2639         CONNECTED -> LINKED.
2640
2641 2005-06-28  Andy Wingo  <wingo@pobox.com>
2642
2643         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2644         source-munging commit!!!
2645
2646         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2647         (gst_object_sink): Take gpointer arguments, not GstObject --
2648         avoids casts. Like GLib.
2649
2650         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2651         activate.
2652
2653 2005-06-27  Andy Wingo  <wingo@pobox.com>
2654
2655         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2656         remaining buffer.
2657
2658         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2659         returns a sorted copy of the trace list.
2660         (gst_alloc_trace_print_live): New API, only prints traces with
2661         live objects. Sort the list.
2662         (gst_alloc_trace_print_all): Sort the list.
2663         (gst_alloc_trace_print): Align columns.
2664
2665         * gst/elements/gstttypefindelement.c:
2666         * gst/elements/gsttee.c:
2667         * gst/base/gstbasesrc.c:
2668         * gst/base/gstbasesink.c:
2669         * gst/base/gstbasetransform.c:
2670         * gst/gstqueue.c: Adapt for pad activation changes.
2671
2672         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2673         sched.
2674         (gst_pipeline_dispose): Drop ref on sched.
2675
2676         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2677         (gst_pad_activate_default): Push mode by default.
2678         (pre_activate_switch, post_activate_switch): New stubs, things to
2679         do before and after switching activation modes on pads.
2680         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2681         the pad's activate function to choose which mode to activate.
2682         Shortcut on deactivation and call the right function directly.
2683         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2684         mode.
2685         (gst_pad_activate_push): New API, same for push mode.
2686         (gst_pad_set_activate_function) 
2687         (gst_pad_set_activatepull_function) 
2688         (gst_pad_set_activatepush_function): Setters for new API.
2689
2690         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2691         Trace all miniobjects.
2692         (gst_mini_object_make_writable): Unref the arg if we copy, like
2693         gst_caps_make_writable.
2694
2695         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2696
2697         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2698         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2699         Adapt for new pad API.
2700
2701         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2702
2703         * gst/gstelement.h:
2704         * gst/gstelement.c (gst_element_iterate_src_pads) 
2705         (gst_element_iterate_sink_pads): New API functions.
2706         
2707         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2708         should fold into gstiterator.c in some form.
2709         (gst_element_pads_activate): Simplified via use of fold and
2710         delegation of decisions to gstpad->activate.
2711
2712         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2713         help in debugging.
2714
2715         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2716         class once in init, like gstmessage. Didn't run into this issue
2717         but it seems correct. Don't initialize a trace, gstminiobject does
2718         that.
2719
2720         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2721         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2722         to the bus.
2723         (assert_live_count): New util function, uses alloc traces to check
2724         cleanup.
2725
2726         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2727         To be modified when unlink drops the internal pad.
2728
2729 2005-06-27  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2732         (gst_bin_change_state):
2733         Cleanup the get_state() function a little, make sure it
2734         iterates the same set of elements.
2735         Added stub iterate_state_order().
2736
2737 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2738
2739         * docs/gst/gstreamer-docs.sgml:
2740         * docs/gst/gstreamer-sections.txt:
2741         * docs/gst/gstreamer.types:
2742         * docs/gst/tmpl/gstbasesink.sgml:
2743         * docs/gst/tmpl/gstbasesrc.sgml:
2744         * docs/gst/tmpl/gstbasetransform.sgml:
2745         * docs/gst/tmpl/gstelement.sgml:
2746         * docs/gst/tmpl/gstiterator.sgml:
2747         * gst/base/gstbasesrc.c:
2748         * gst/base/gstbasesrc.h:
2749         * gst/base/gstbasetransform.h:
2750         * gst/gstelement.c:
2751         * gst/gstiterator.h:
2752           adding basetransform and iterator docs
2753
2754 2005-06-27  Andy Wingo  <wingo@pobox.com>
2755
2756         * docs/design/part-activation.txt: Notes on how activation should
2757         work -- not quite implemented yet.
2758
2759 2005-06-25  Wim Taymans  <wim@fluendo.com>
2760
2761         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2762         At least get the chain function correct, needs more
2763         fixing.
2764
2765 2005-06-25  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2768         (gst_basesink_handle_object), (gst_basesink_event),
2769         (gst_basesink_do_sync), (gst_basesink_handle_event),
2770         (gst_basesink_change_state):
2771         * gst/gsttask.h:
2772         Right, two problems here: ghostpads don't take locks and
2773         glib _rec_mutex_lock_full() with depth==0 still locks.
2774         Catch illegal locking and g_warn them.
2775
2776 2005-06-25  Wim Taymans  <wim@fluendo.com>
2777
2778         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2779         Have to check for completion now...
2780
2781 2005-06-25  Wim Taymans  <wim@fluendo.com>
2782
2783         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2784         (gst_basesink_handle_object), (gst_basesink_event),
2785         (gst_basesink_do_sync), (gst_basesink_handle_event),
2786         (gst_basesink_change_state):
2787         * gst/gstpad.h:
2788         Unlock STREAM_LOCK whatever the recursion was.
2789
2790 2005-06-25  Wim Taymans  <wim@fluendo.com>
2791
2792         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2793         (gst_basesink_preroll_queue_empty),
2794         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2795         (gst_basesink_event), (gst_basesink_do_sync),
2796         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2797         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2798         (gst_basesink_change_state):
2799         Reworked the base sink, handle event and buffer serialisation
2800         correctly and removed possible deadlock.
2801         Handle EOS correctly.
2802
2803 2005-06-25  Wim Taymans  <wim@fluendo.com>
2804
2805         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2806         (gst_pipeline_change_state):
2807         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2808         Allow elements to post EOS in the state change function.
2809         Fix up -launch, make it exit the poll loop when the
2810         pipeline actually changed state.
2811         Fix up warning parsing in -launch.
2812
2813 2005-06-25  Wim Taymans  <wim@fluendo.com>
2814
2815         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2816         (gst_tee_sink_activate):
2817         Core takes STREAM_LOCK for us now.
2818
2819 2005-06-25  Wim Taymans  <wim@fluendo.com>
2820
2821         * gst/gstelement.c: (gst_element_get_state_func),
2822         (gst_element_set_state):
2823         * gst/gstelement.h:
2824         * gst/gstmessage.c: (gst_message_parse_error),
2825         (gst_message_parse_warning):
2826         Keep track of current target state while performing a state
2827         change so that subclasses can do something interesting.
2828         Fix parsing of warning/error messages when GError is NULL.
2829
2830 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2831
2832         * docs/gst/Makefile.am:
2833         * docs/gst/gstreamer-docs.sgml:
2834         * docs/gst/gstreamer-sections.txt:
2835         * docs/gst/gstreamer.types:
2836         * docs/gst/tmpl/gstbasesink.sgml:
2837         * docs/gst/tmpl/gstbasesrc.sgml:
2838         * docs/gst/tmpl/gstbin.sgml:
2839         * docs/gst/tmpl/gstcompat.sgml:
2840         * docs/gst/tmpl/gstfakesink.sgml:
2841         * docs/gst/tmpl/gstfakesrc.sgml:
2842         * docs/gst/tmpl/gstfilesink.sgml:
2843         * docs/gst/tmpl/gstfilesrc.sgml:
2844         * docs/gst/tmpl/gstindex.sgml:
2845         * docs/manual/appendix-quotes.xml:
2846         * gst/base/gstbasesrc.h:
2847         * gst/elements/gstfakesrc.h:
2848         * gst/gstmessage.h:
2849           start pulling in base classes and elements in our docs
2850
2851 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2852
2853         * docs/gst/Makefile.am:
2854         * docs/libs/Makefile.am:
2855           fixed make distcheck with gtk-doc 1.3
2856
2857 2005-06-23  Wim Taymans  <wim@fluendo.com>
2858
2859         * gst/gstelement.c: (gst_element_get_state_func),
2860         (gst_element_set_state), (gst_element_change_state):
2861         When the state did not change, also report NO_PREROLL
2862         when it matters.
2863
2864 2005-06-23  Wim Taymans  <wim@fluendo.com>
2865
2866         * gst/gstpad.c: (gst_pad_event_default):
2867         * gst/gstqueue.c: (gst_queue_loop):
2868         No unsafe task pausing please.
2869
2870 2005-06-23  Wim Taymans  <wim@fluendo.com>
2871
2872         * gst/schedulers/threadscheduler.c:
2873         (gst_thread_scheduler_task_start),
2874         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2875         Ref the task before pushing it on the threadpool. This
2876         makes sure that we have a ref when the threadfunction is
2877         actually called.
2878
2879 2005-06-23  Andy Wingo  <wingo@pobox.com>
2880
2881         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2882         offset is greater than the file's size.
2883
2884         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2885         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2886         * gst/gstobject.c (gst_object_class_init): Make the class lock
2887         recursive. Wim won't let me drop deep_notify. Decodebin works
2888         again, whoopdy doo.
2889
2890         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2891         internal pad, and hacks accordingly. Doesn't do it on the target
2892         pad because we change its caps. Probably catches all cases of
2893         interest tho.
2894         (gst_ghost_pad_set_property): Connect to notify::caps as
2895         appropritate.
2896
2897         * tests/network-clock.scm (plot-simulation): Pipe data to the
2898         elite python skript.
2899
2900         * tests/network-clock-utils.scm (define-parameter): New macro,
2901         defines a parameter that can be set via the command line.
2902         (set-parameter!, parse-parameter-arguments): Command line args
2903         parser.
2904
2905         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2906         stdin.
2907
2908 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2909
2910         * gst/elements/gsttypefindelement.c:
2911         (gst_type_find_element_handle_event):
2912           Don't restart typefinding on a discont.
2913         * gst/gstelement.c: (gst_element_set_state):
2914           Debug spelling fix.
2915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2916           Allow changing mode of an active pad.
2917           Debug output fixes.
2918         * gst/registries/gstlibxmlregistry.c: (load_feature):
2919           Don't cast a static pad template to a normal pad template.
2920
2921 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2922
2923         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2924         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2925           remove gst_strtoll completely, since it didn't actually do
2926           anything more than what g_ascii_strtoull already does.
2927           check for range errors when deserializing
2928           do a cast for the unsigned cases; but further fixing needs
2929           a decision on what the interpretation of "(int)" and
2930           deserialization should be for values that fall outside the
2931           type's boundaries (ie, refuse, or interpret as casting)
2932
2933 2005-06-23  Wim Taymans  <wim@fluendo.com>
2934
2935         * check/Makefile.am:
2936         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2937         * docs/design/part-live-source.txt:
2938         * docs/design/part-states.txt:
2939         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2940         (gst_basesrc_set_live), (gst_basesrc_is_live),
2941         (gst_basesrc_get_range), (gst_basesrc_activate),
2942         (gst_basesrc_change_state):
2943         * gst/base/gstbasesrc.h:
2944         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2945         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2946         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2947         * gst/gstelement.c: (gst_element_get_state_func),
2948         (gst_element_set_state):
2949         * gst/gstelement.h:
2950         * gst/gsttypes.h:
2951         * tools/gst-launch.c: (event_loop), (main):
2952         Added support for live sources and other elements that
2953         cannot do preroll.
2954         Updated design docs, added live-source design doc.
2955         Implemented live source functionality in basesrc
2956         Fix error condition in _bin_get_state()
2957         Implement live source handling in -launch.
2958         Added check for live sources.
2959         Fixed case in GstBin where elements were changed state
2960         multiple times.
2961
2962
2963 2005-06-23  Andy Wingo  <wingo@pobox.com>
2964
2965         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2966         borken refcounting.
2967
2968         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2969         gst_caps_replace takes care of this for us.
2970
2971         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2972         gst_pad_set_caps on the target, not just its setcaps() function.
2973
2974         * tests/network-clock.scm: 
2975         * tests/network-clock-utils.scm: A network clock simulator.
2976         Something of an algorithmic testbed before doing something in C.
2977
2978 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2979
2980         * check/Makefile.am:
2981         * check/gst/capslist.h:
2982           copy over from 0.8, and add two with bitmasks specified with
2983           (int) 0xFF...
2984         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2985           add test to parse everything from capslist.h
2986         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2987         (main):
2988           add test for structure deserialization
2989         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2990           add tests for deserialization of strings to int types
2991         * gst/gststructure.c: (gst_structure_nth_field_name):
2992         * gst/gststructure.h:
2993           add a way to get the name of a field referenced by index
2994         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2995           instead of checking if the resulting long long lies between
2996           min and max, we check if the long long would fit into
2997           a number of bytes for the final type.
2998           This fixes cases where a string represents 2^32 - 1, which
2999           when cast to int would be the (valid) -1, but is bigger than
3000           G_MAXINT
3001
3002 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3003
3004         * gst/parse/grammar.y:
3005           add a log line for type deserialization
3006
3007 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3008
3009         * check/gst/gstvalue.c: (START_TEST):
3010         * gst/gstvalue.c: (gst_value_deserialize):
3011           return long long, not int, so gint64 deserialization actually
3012           works.  Is there any flag that makes the compiler check this ?
3013           Fixes #308559
3014
3015 2005-06-22  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/gstbuffer.h:
3018         Added convenience macros for setting buffers in GValue.
3019
3020 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3021
3022         * check/gst/.cvsignore:
3023         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3024           add a test deserializing int64, and comment part out because
3025           it fails, yay !
3026
3027 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3028
3029         * check/Makefile.am:
3030         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3031         * testsuite/Makefile.am:
3032         * testsuite/caps/Makefile.am:
3033         * testsuite/caps/value_serialize.c:
3034         * testsuite/test_gst_init.c:
3035           move a value_serialize test over
3036
3037 2005-06-20  Wim Taymans  <wim@fluendo.com>
3038
3039         * gst/gstpad.c:
3040         Small doc updates.
3041         
3042         * gst/gstvalue.c: (gst_value_compare_buffer),
3043         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3044         (gst_value_compare_flags), (gst_value_serialize_flags),
3045         (gst_value_deserialize_flags), (_gst_value_initialize):
3046         Fix serialisation of buffers, they are not boxed types anymore
3047
3048 2005-06-20  Wim Taymans  <wim@fluendo.com>
3049
3050         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3051         Testcase to show error in buffer-on-caps serialisation.
3052
3053 2005-06-20  Andy Wingo  <wingo@pobox.com>
3054
3055         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3056         will be adding to later.
3057
3058         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3059         if its socks fill with rocks.
3060         (gst_system_clock_obtain): Set the name on object construction.
3061         Avoid double-checked locking.
3062
3063 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3064
3065         * gst/gsturi.c: (gst_element_make_from_uri):
3066           Fix potential endless loop.
3067
3068 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3069
3070         * check/Makefile.am:
3071           add gsttag
3072         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3073         (main):
3074           move over from testsuite dir and clean up
3075         * configure.ac:
3076         * gst/gsttag.c:
3077         * testsuite/Makefile.am:
3078         * testsuite/tags/.cvsignore:
3079         * testsuite/tags/Makefile.am:
3080         * testsuite/tags/merge.c:
3081           remove testsuite/tags
3082
3083 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3084
3085         * docs/gst/gstreamer-sections.txt:
3086         * docs/gst/tmpl/gstenumtypes.sgml:
3087         * win32/gstenumtypes.c:
3088           clean up documentation build a little
3089
3090 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3091
3092         * check/gstcheck.h:
3093           add macros for checking refcounts on objects and caps
3094         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3095           add some more unit tests
3096         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3097         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3098           fix leaked refcounts (I hope :)) so unittest works
3099         * gst/gstpad.h:
3100           whitespace removal
3101
3102 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3103
3104         * configure.ac: back to HEAD
3105
3106 === release 0.9.1 ===
3107
3108 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3109
3110         * NEWS:
3111         * RELEASE:
3112           updated
3113
3114 2005-06-17  Andy Wingo  <wingo@pobox.com>
3115
3116         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3117         assert; it's always possible that the pad gets deactivated in
3118         between the checks in gstpad.c and the implementation. Rely on
3119         finish_preroll() to return a FLUSHING or similar instead of on the
3120         assert.
3121         
3122         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3123         clock and post an EOS message if we come out of finish_preroll in
3124         the playing state.
3125
3126 2005-06-16  David Schleef  <ds@schleef.org>
3127
3128         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3129         (gst_capsfilter_set_property): Allow NULL as possible value
3130         for filter_caps property, indicating GST_CAPS_ANY.
3131
3132 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3133
3134         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3135           fix debug output
3136         * gst/schedulers/Makefile.am:
3137           use libgst prefix
3138         * gstreamer.spec.in:
3139           fix spec for it
3140
3141 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3142
3143         * gstreamer.spec.in:
3144           clean up
3145
3146 2005-06-08  Andy Wingo  <wingo@pobox.com>
3147
3148         * gst/gstutils.c: RPAD fixes all around.
3149         (gst_element_link_pads): Refcounting fixes.
3150
3151         * tools/gst-inspect.c:
3152         * tools/gst-xmlinspect.c:
3153         * parse/grammar.y:
3154         * gst/base/gsttypefindhelper.c:
3155         * gst/base/gstbasesink.c:
3156         * gst/gstqueue.c: RPAD fixes.
3157
3158         * gst/gstghostpad.h:
3159         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3160         pads. The tricky thing is they provide both source and sink
3161         interfaces, since they proxy the internal pad for the external
3162         pad, and vice versa. Implement with lower-level ProxyPad objects,
3163         with the interior proxy pad as a child of the exterior ghost pad.
3164         Should write a doc on this.
3165         
3166         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3167         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3168         gst_object API.
3169         
3170         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3171         pads are real pads. No ghost pads in this file. Not documenting
3172         the myriad s/RPAD/PAD/ and REALIZE fixes.
3173         (gst_pad_class_init): Add properties for "direction" and
3174         "template". Both are construct-only, so they can't change during
3175         the life of the pad. Fixes properly deriving from GstPad.
3176         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3177         derived objects, just set properties when creating the objects via
3178         g_object_new.
3179         (gst_pad_get_parent): Implement as a function, return NULL if the
3180         parent is not an element.
3181         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3182         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3183         
3184         * gst/gstobject.c (gst_object_class_init): Make name a construct
3185         property. Don't set it in the object init.
3186
3187         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3188         with UNKNOWN direction.
3189         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3190         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3191         (gst_element_remove_pad): Remove ghost-pad special cases.
3192         (gst_element_pads_activate): Remove rpad cruft.
3193
3194         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3195         catch the pad's-parent-not-an-element case.
3196
3197         * gst/gst.h: Include gstghostpad.h.
3198
3199         * gst/gst.c (init_post): No more real, ghost pads.
3200
3201         * gst/Makefile.am: Add gstghostpad.[ch].
3202
3203         * check/Makefile.am:
3204         * check/gst/gstbin.c:
3205         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3206         into a bin creates ghost pads, and that the refcounts are right.
3207         Partly moved from gstbin.c.
3208
3209 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3210
3211         * check/gst-libs/.cvsignore:
3212         * check/gst/.cvsignore:
3213         * check/pipelines/.cvsignore:
3214           ignore more
3215         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3216         (START_TEST), (cleanup_suite), (main):
3217           add some tests related to cleanup after running pipelines
3218
3219 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3220
3221         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3222           add a testsuite for GstBuffer
3223
3224 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3225
3226         * gst/gstminiobject.h:
3227           add defines for accessing the refcount
3228
3229 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3230
3231         * Makefile.am: added support for html unit test coverage reports
3232
3233 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3234
3235         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3236           Free existing caps if the capsfilter changes. Add a FIXME about
3237           setting those caps on the pads.
3238
3239         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3240           Before adding a ghost pad to a parent bin, check that there isn't
3241           already one for the element on the bin. Prevents infinite recursion
3242           when using decodebin in parse pipelines. Andy says he'll rewrite the
3243           way this works anyway, so ignore the hack.
3244
3245 2005-06-02  Andy Wingo  <wingo@pobox.com>
3246
3247         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3248         file size, pass it on to the type find helper.
3249
3250         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3251         segment_start and segment_end properly according to the seek
3252         method. Segment_end is still a bit flaky because offset can be
3253         negative for CUR and END cases, but it takes -1 as an "unset"
3254         value.
3255
3256 2005-06-02  Wim Taymans  <wim@fluendo.com>
3257
3258         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3259         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3260         (gst_basesink_activate):
3261         * gst/base/gstbasesink.h:
3262         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3263         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3264         (gst_pad_query), (gst_pad_start_task):
3265         * gst/gstpad.h:
3266         * gst/gstqueue.c: (gst_queue_bufferalloc),
3267         (gst_queue_handle_sink_event), (gst_queue_chain):
3268         Bufferalloc: return GstFlowReturn to more accuratly report
3269         why allocation failed.
3270
3271 2005-06-02  Wim Taymans  <wim@fluendo.com>
3272
3273         * gst/gstpipeline.c: (gst_pipeline_send_event):
3274         Take snapshot of state without blocking.
3275
3276 2005-06-02  Wim Taymans  <wim@fluendo.com>
3277
3278         * docs/design/part-TODO.txt:
3279         * docs/design/part-caps.txt:
3280         * docs/design/part-clocks.txt:
3281         * docs/design/part-negotiation.txt:
3282         * docs/design/part-preroll.txt:
3283         Small doc updates 
3284
3285 2005-05-30  Wim Taymans  <wim@fluendo.com>
3286
3287         * gst/elements/gstidentity.c: (gst_identity_event),
3288         (gst_identity_transform), (gst_identity_get_property):
3289         Protect last_message property as it is accessed from
3290         multiple threads.
3291
3292 2005-05-30  Wim Taymans  <wim@fluendo.com>
3293
3294         * gst/gstelement.c: (gst_element_init),
3295         (gst_element_pads_activate), (gst_element_change_state):
3296         Slicker pad activation code.
3297
3298 2005-05-30  Wim Taymans  <wim@fluendo.com>
3299
3300         * gst/Makefile.am:
3301         * gst/gstelement.h:
3302         * gst/gstelementfactory.h:
3303         * gst/gsttypes.h:
3304         Move elementfactory methods to separate .h file.
3305
3306 2005-05-30  Wim Taymans  <wim@fluendo.com>
3307
3308         * docs/design/part-overview.txt:
3309         * gst/gstsystemclock.h:
3310         Small typo fixes, doc updates.
3311
3312 2005-05-30  Wim Taymans  <wim@fluendo.com>
3313
3314         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3315         (init_popt_callback):
3316         Remove cpu-opt flag.
3317
3318 2005-05-30  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3321         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3322         * gst/gstbuffer.h:
3323         Avoid typechecking in places where not needed.
3324         Added accessor for malloc_data.
3325
3326 2005-05-30  Wim Taymans  <wim@fluendo.com>
3327
3328         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3329         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3330         (gst_pad_configure_sink), (gst_pad_configure_src),
3331         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3332         (gst_pad_start_task):
3333         Propagate errors from _set_caps() in configure_src/sink
3334         functions instead of returning TRUE.
3335         FLUSH events can travel up and downstream
3336
3337
3338 2005-05-30  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3341         (gst_basesink_activate):
3342         Handle EOS in preroll.
3343
3344 2005-05-30  Wim Taymans  <wim@fluendo.com>
3345
3346         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3347         (gst_queue_loop), (gst_queue_handle_src_event):
3348         Remove old pieces of code
3349         Flushing the queue in an upstream event is a very bad idea.
3350
3351 2005-05-26  Andy Wingo  <wingo@pobox.com>
3352
3353         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3354         gst_value_set_mini_object so as to add a ref on the object (which
3355         will be removed when the value is unset).
3356
3357         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3358         arg type in ::handoff.
3359
3360         * gst/gstelement.c (gst_element_change_state): Also deactivate
3361         pads in READY->NULL, just in case the element didn't make it to
3362         PAUSED. Wingo tested, Wim approved.
3363
3364 2005-05-26  Wim Taymans  <wim@fluendo.com>
3365
3366         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3367         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3368         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3369         A flushing pad cannot be used to alloc_buffer from.
3370
3371 2005-05-26  Wim Taymans  <wim@fluendo.com>
3372
3373         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3374         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3375         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3376         (gst_bus_create_watch), (gst_bus_add_watch_full):
3377         * gst/gstbus.h:
3378         Implement a real GSource and use g_main_context_wakeup() to
3379         signal new messages instead of the socketpair.
3380
3381 2005-05-25  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3384         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3385         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3386         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3387         (gst_pad_send_event), (gst_pad_start_task):
3388         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3389         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3390         (gst_queue_sink_activate), (gst_queue_src_activate),
3391         (gst_queue_change_state):
3392         * gst/gstqueue.h:
3393         Fix state changes for non sinks. We now change sinks, then elements
3394         with unconnected srcpads, then the rest.
3395         More efficient queue unlocking in flush and state changes.
3396         Set the pad activate mode even if it does not have an activate
3397         function.
3398
3399 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3400
3401         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3402           Don't go in pull mode for non-seekable sources.
3403         * gst/elements/gsttypefindelement.h:
3404         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3405         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3406         (free_entry), (stop_typefinding),
3407         (gst_type_find_element_handle_event), (find_peek),
3408         (gst_type_find_element_chain), (do_pull_typefind),
3409         (gst_type_find_element_change_state):
3410           Allow typefinding (w/o seeking) in push-mode, simplified version
3411           of what was in 0.8.
3412         * gst/gstutils.c: (gst_buffer_join):
3413         * gst/gstutils.h:
3414           gst_buffer_join() from 0.8.
3415
3416 2005-05-25  Wim Taymans  <wim@fluendo.com>
3417
3418         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3419         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3420         (gst_pad_send_event), (gst_pad_start_task):
3421         Disable attempt at mode switching until it is figured out.
3422
3423 2005-05-25  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3426         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3427         (gst_basesink_finish_preroll), (gst_basesink_chain),
3428         (gst_basesink_loop), (gst_basesink_activate),
3429         (gst_basesink_change_state):
3430         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3431         (gst_basesrc_get_range), (gst_basesrc_loop),
3432         (gst_basesrc_activate):
3433         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3434         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3435         (gst_real_pad_init), (gst_real_pad_set_property),
3436         (gst_real_pad_get_property), (gst_pad_set_active),
3437         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3438         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3439         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3440         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3441         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3442         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3443         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3444         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3445         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3446         (gst_pad_stop_task):
3447         * gst/gstpad.h:
3448         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3449         (gst_queue_loop), (gst_queue_src_activate):
3450         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3451         (gst_task_get_state):
3452         * gst/gsttask.h:
3453         * gst/schedulers/threadscheduler.c:
3454         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3455         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3456         in task function.
3457         Remove ACTIVE pad flag, use FLUSHING everywhere
3458         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3459         functions.
3460         Add locks around IS_FLUSHING when reading.
3461         Take STREAM lock in chain(), get_range() functions so plugins
3462         don't need to take it anymore.
3463         
3464
3465
3466 2005-05-25  Wim Taymans  <wim@fluendo.com>
3467
3468         * tools/gst-launch.c: (event_loop):
3469         Unref message after using its contents instead of
3470         before.
3471
3472 2005-05-24  Wim Taymans  <wim@fluendo.com>
3473
3474         * docs/design/draft-ghostpads.txt:
3475         * docs/design/draft-push-pull.txt:
3476         * docs/design/draft-query.txt:
3477         * docs/design/part-overview.txt:
3478         Docs updates, added general overview doc.
3479
3480 2005-05-21  David Schleef  <ds@schleef.org>
3481
3482         * docs/gst/tmpl/old/GstBin.sgml:
3483         * docs/gst/tmpl/old/GstBuffer.sgml:
3484         * docs/gst/tmpl/old/GstCaps.sgml:
3485         * docs/gst/tmpl/old/GstClock.sgml:
3486         * docs/gst/tmpl/old/GstCompat.sgml:
3487         * docs/gst/tmpl/old/GstData.sgml:
3488         * docs/gst/tmpl/old/GstElement.sgml:
3489         * docs/gst/tmpl/old/GstEvent.sgml:
3490         * docs/gst/tmpl/old/GstIndex.sgml:
3491         * docs/gst/tmpl/old/GstStructure.sgml:
3492         * docs/gst/tmpl/old/GstTag.sgml:
3493         * docs/gst/tmpl/old/cothreads.sgml:
3494         * docs/gst/tmpl/old/cothreads_compat.sgml:
3495         * docs/gst/tmpl/old/gettext.sgml:
3496         * docs/gst/tmpl/old/gobject2gtk.sgml:
3497         * docs/gst/tmpl/old/grammar.tab.sgml:
3498         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3499         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3500         * docs/gst/tmpl/old/gst_private.sgml:
3501         * docs/gst/tmpl/old/gstaggregator.sgml:
3502         * docs/gst/tmpl/old/gstarch.sgml:
3503         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3504         * docs/gst/tmpl/old/gstbufferstore.sgml:
3505         * docs/gst/tmpl/old/gstdata_private.sgml:
3506         * docs/gst/tmpl/old/gstdisksink.sgml:
3507         * docs/gst/tmpl/old/gstdisksrc.sgml:
3508         * docs/gst/tmpl/old/gstelementfactory.sgml:
3509         * docs/gst/tmpl/old/gstextratypes.sgml:
3510         * docs/gst/tmpl/old/gstfakesink.sgml:
3511         * docs/gst/tmpl/old/gstfakesrc.sgml:
3512         * docs/gst/tmpl/old/gstfdsink.sgml:
3513         * docs/gst/tmpl/old/gstfdsrc.sgml:
3514         * docs/gst/tmpl/old/gstfilesink.sgml:
3515         * docs/gst/tmpl/old/gstfilesrc.sgml:
3516         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3517         * docs/gst/tmpl/old/gstidentity.sgml:
3518         * docs/gst/tmpl/old/gstindexfactory.sgml:
3519         * docs/gst/tmpl/old/gstmarshal.sgml:
3520         * docs/gst/tmpl/old/gstmd5sink.sgml:
3521         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3522         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3523         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3524         * docs/gst/tmpl/old/gstpipefilter.sgml:
3525         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3526         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3527         * docs/gst/tmpl/old/gstshaper.sgml:
3528         * docs/gst/tmpl/old/gstspider.sgml:
3529         * docs/gst/tmpl/old/gstspideridentity.sgml:
3530         * docs/gst/tmpl/old/gststatistics.sgml:
3531         * docs/gst/tmpl/old/gsttee.sgml:
3532         * docs/gst/tmpl/old/gsttimecache.sgml:
3533         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3534         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3535         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3536         * docs/gst/tmpl/old/types.sgml:
3537           I didn't intend to add these or check them in.
3538
3539 2005-05-19  David Schleef  <ds@schleef.org>
3540
3541         * configure.ac: Use -no-common everywhere.  In a sane world, it
3542           would be the default in libtool, because without it, you can't
3543           build DLLs on Windows.
3544         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3545         * docs/gst/gstreamer-sections.txt:
3546         * docs/gst/tmpl/gstcpu.sgml:
3547         * docs/gst/tmpl/gstdata.sgml:
3548         * docs/gst/tmpl/gstthread.sgml:
3549
3550 2005-05-19  David Schleef  <ds@schleef.org>
3551
3552         * gst/gstminiobject.c: (gst_value_set_mini_object),
3553         (gst_value_take_mini_object), (gst_value_get_mini_object):
3554         * gst/gstminiobject.h: Add GValue set/get functions.
3555
3556 2005-05-19  Wim Taymans  <wim@fluendo.com>
3557
3558         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3559         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3560         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3561         * gst/gstbuffer.h:
3562         * gst/gstbus.c: (gst_bus_post):
3563         * gst/gstelement.c: (gst_element_get_random_pad):
3564         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3565         Make subbufer unref the parent in finalize.
3566         some more debugging info.
3567
3568
3569 2005-05-19  Wim Taymans  <wim@fluendo.com>
3570
3571         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3572         (gst_basesink_init), (gst_basesink_finalize),
3573         (gst_basesink_activate), (gst_basesink_change_state):
3574         Don't free preroll queue too early.
3575
3576 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3577
3578         * gst/Makefile.am:
3579         * gst/ROADMAP:
3580           Hi, I'm outdated. Please shoot me.
3581
3582 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3583
3584         * gst/gstpipeline.c: (gst_pipeline_send_event):
3585           Do not access variables after they have been deleted.
3586
3587 2005-05-19  Wim Taymans  <wim@fluendo.com>
3588
3589         * tools/gst-inspect.c: (print_plugin_features):
3590         A plugin feature does unfortunatly not use the
3591         object name yet...
3592
3593 2005-05-18  Wim Taymans  <wim@fluendo.com>
3594
3595         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3596         Port _span() functions to new subbuffers.
3597
3598 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3599
3600         * gst/gstbin.c: (gst_bin_add_func):
3601           Fix clock settery in bins when adding kids after the clock has
3602           been selected.
3603
3604 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3605
3606         * gst/elements/gstidentity.c: (gst_identity_class_init):
3607           Workaround until signals support GstMiniObject.
3608
3609 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3610
3611         * gst/gstbuffer.c:
3612         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3613
3614 2005-05-18  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/base/Makefile.am:
3617         * gst/base/gstadapter.c: (gst_adapter_base_init),
3618         (gst_adapter_class_init), (gst_adapter_init),
3619         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3620         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3621         (gst_adapter_flush), (gst_adapter_available),
3622         (gst_adapter_available_fast):
3623         * gst/base/gstadapter.h:
3624         Ported and added adapter to the base classes.
3625
3626 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3627
3628         * gst/gst.c:
3629         * gst/gstmessage.c:
3630           Make sure the class is reffed/unreffed once before threads can be
3631           used.  Fixes #304551.
3632
3633 2005-05-17  Wim Taymans  <wim@fluendo.com>
3634
3635         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3636         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3637         * gst/gstminiobject.c: (gst_mini_object_get_type),
3638         (gst_mini_object_free):
3639         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3640         (gst_pad_push), (gst_pad_push_event):
3641         * gst/gstqueue.c: (gst_queue_change_state):
3642         Don't queue buffers in basesink when we are flushing.
3643         Unref buffer when flushing in basesink.
3644         Flush queue when going to READY
3645         Unref buffer when _push() returns an error.
3646         Don't free MiniObject instance when refcount is incremented
3647         in _finalize() so that we can recover objects.
3648
3649 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3650
3651         * docs/manual/advanced-schedulers.xml:
3652         * docs/manual/appendix-checklist.xml:
3653         * docs/pwg/advanced-clock.xml:
3654         * docs/pwg/advanced-interfaces.xml:
3655         * docs/pwg/advanced-request.xml:
3656         * docs/pwg/advanced-types.xml:
3657         * docs/pwg/intro-preface.xml:
3658         * examples/plugins/example.c: (gst_example_get_type),
3659         (gst_example_class_init), (gst_example_chain),
3660         (gst_example_set_property), (gst_example_get_property),
3661         (gst_example_change_state), (plugin_init):
3662         * examples/plugins/example.h:
3663           small doc fixes
3664
3665 2005-05-17  Wim Taymans  <wim@fluendo.com>
3666
3667         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3668         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3669         * gst/gstqueue.c: (gst_queue_change_state):
3670         Clear queue when going to READY.
3671         Remove IN_SETCAPS flag too.
3672
3673 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3674
3675         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3676           Remove implicit cast from gboolean to GstElementStateReturn;
3677           make sure we still return failure in paused => ready case if
3678           the parent class fails to change state and our own stop 
3679           vfunc succeeds.
3680
3681 2005-05-17  Wim Taymans  <wim@fluendo.com>
3682
3683         * tools/gst-launch.c: (event_loop):
3684         Message was unreffed too soon.
3685
3686 2005-05-16  Andy Wingo  <wingo@pobox.com>
3687
3688         * gst/gstbin.c (sink_iterator_filter): Err... um...
3689
3690         * check/gst/gstbin.c (test_ghost_pads): New test for the
3691         ghosting-if-elements-not-in-same-bin behavior.
3692
3693 2005-05-16  David Schleef  <ds@schleef.org>
3694
3695         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3696         accessing refcount directly.
3697
3698 2005-05-15  David Schleef  <ds@schleef.org>
3699
3700         * check/Makefile.am: remove GstData checks
3701         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3702         * gst/Makefile.am: add miniobject, remove data
3703         * gst/gst.h: add miniobject, remove data
3704         * gst/gstdata.c: remove
3705         * gst/gstdata.h: remove
3706         * gst/gstdata_private.h: remove
3707         * gst/gsttypes.h: remove GstEvent and GstMessage
3708         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3709         * gst/gstmarshal.list: change BOXED -> OBJECT
3710
3711         Implement GstMiniObject.
3712         * gst/gstminiobject.c:
3713         * gst/gstminiobject.h:
3714
3715         Modify to be subclasses of GstMiniObject.
3716         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3717         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3718         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3719         (gst_subbuffer_get_type), (gst_subbuffer_init),
3720         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3721         (gst_buffer_span):
3722         * gst/gstbuffer.h:
3723         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3724         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3725         (_gst_event_copy), (gst_event_new):
3726         * gst/gstevent.h:
3727         * gst/gstmessage.c: (_gst_message_initialize),
3728         (gst_message_get_type), (gst_message_class_init),
3729         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3730         (gst_message_new), (gst_message_new_error),
3731         (gst_message_new_warning), (gst_message_new_tag),
3732         (gst_message_new_state_changed), (gst_message_new_application):
3733         * gst/gstmessage.h:
3734         * gst/gstprobe.c: (gst_probe_perform),
3735         (gst_probe_dispatcher_dispatch):
3736         * gst/gstprobe.h:
3737         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3738         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3739         (_gst_query_copy), (gst_query_new):
3740
3741         Update elements for GstData -> GstMiniObject changes
3742         * gst/gstquery.h:
3743         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3744         (gst_queue_chain), (gst_queue_loop):
3745         * gst/elements/gstbufferstore.c:
3746         (gst_buffer_store_add_buffer_func),
3747         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3748         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3749         (gst_fakesink_render):
3750         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3751         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3752         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3753         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3754         (gst_filesrc_create_read):
3755         * gst/elements/gstidentity.c: (gst_identity_class_init):
3756         * gst/elements/gsttypefindelement.c:
3757         (gst_type_find_element_src_event), (free_entry_buffers),
3758         (gst_type_find_element_handle_event):
3759         * libs/gst/dataprotocol/dataprotocol.c:
3760         (gst_dp_header_from_buffer):
3761         * libs/gst/dataprotocol/dataprotocol.h:
3762         * libs/gst/dataprotocol/dp-private.h:
3763
3764 2005-05-15  David Schleef  <ds@schleef.org>
3765
3766         * gst/elements/gstelements.c: Don't include headers that were
3767         just removed.
3768
3769 2005-05-15  David Schleef  <ds@schleef.org>
3770
3771         * gst/elements/Makefile.am: Remove some elements that don't
3772         need to be in the core (or even exist at all).
3773         * gst/elements/gstaggregator.c:
3774         * gst/elements/gstaggregator.h:
3775         * gst/elements/gstmd5sink.c:
3776         * gst/elements/gstmd5sink.h:
3777         * gst/elements/gstmultifilesrc.c:
3778         * gst/elements/gstmultifilesrc.h:
3779         * gst/elements/gstpipefilter.c:
3780         * gst/elements/gstpipefilter.h:
3781         * gst/elements/gstshaper.c:
3782         * gst/elements/gstshaper.h:
3783         * gst/elements/gststatistics.c:
3784         * gst/elements/gststatistics.h:
3785         * po/POTFILES.in: Remove above files.
3786
3787 2005-05-14  Andy Wingo  <wingo@pobox.com>
3788
3789         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3790         so as to get the refs right.
3791         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3792         unreffing objects that don't pass the filter.
3793
3794         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3795         gst_element_set_bus.
3796         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3797         normal cases, this will destroy the bus.
3798
3799         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3800         object.
3801
3802         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3803         has no sinks.
3804
3805 2005-05-13  Andy Wingo  <wingo@pobox.com>
3806
3807         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3808         gst_pad_link, call pad_link_maybe_ghosting,
3809         (pad_link_maybe_ghosting): Links pads, making sure that the
3810         elements being linked are in the same bin.
3811         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3812         Helpers for pad_link_maybe_ghosting.
3813
3814 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3815
3816         * configure.ac:
3817           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3818
3819 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3820
3821         * docs/design/part-element-source.txt:
3822           Mention GstPushSrc
3823
3824 2005-05-12  Wim Taymans  <wim@fluendo.com>
3825
3826         * gst/base/gstbasesink.c: (gst_basesink_init),
3827         (gst_basesink_activate):
3828         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3829         (gst_basesrc_is_seekable):
3830         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3831         (bin_element_is_sink), (gst_bin_change_state):
3832         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3833         * gst/gstelement.h:
3834         Identify sinks by their flag to avoid overly complicated
3835         checks (fow now).
3836         Do state changes even for elements not reachable from the
3837         sinks.
3838         BaseSink is a sink now :)
3839         Some more debugging info in the basesrc.
3840
3841
3842 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3843
3844         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3845           Implement _query on a bin, similar to _send_event.
3846
3847 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3848
3849         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3850           Discont event offset format should be GST_FORMAT_BYTES,
3851           not GST_FORMAT_TIME.
3852
3853 2005-05-12  Wim Taymans  <wim@fluendo.com>
3854
3855         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3856         Same fix as Ronald's but without the signal. 
3857
3858 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3859
3860         * gst/gstutils.c: (gst_element_query_position):
3861           No, an element is not a pad.
3862
3863 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3864
3865         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3866         (gst_bin_get_state):
3867           If a child is removed from a bin while we remove the child from
3868           the bin and while we're retrieving its state, signal this to the
3869           get_state function so we abort the wait (instead of waiting for
3870           a timeout) and can immediately re-iterate over all other elements.
3871
3872 2005-05-12  Wim Taymans  <wim@fluendo.com>
3873
3874         * gst/base/Makefile.am:
3875         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3876         (gst_basesrc_start):
3877         * gst/base/gstbasesrc.h:
3878         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3879         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3880         (gst_pushsrc_init), (gst_pushsrc_create):
3881         * gst/base/gstpushsrc.h:
3882         Added is_seekable to BaseSrc
3883         Added simple PushSrc.
3884
3885 2005-05-11  Wim Taymans  <wim@fluendo.com>
3886
3887         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3888         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3889         (gst_element_link_pads), (gst_element_query_position),
3890         (gst_element_query_convert), (intersect_caps_func),
3891         (gst_pad_query_position), (gst_pad_query_convert):
3892         Fix refcounting in utils function.
3893         No point in trying to activate a pad when it's added, it could
3894         be added from the state change function and then we deadlock, the
3895         element has to decide what to do.
3896
3897 2005-05-10  Andy Wingo  <wingo@pobox.com>
3898
3899         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3900         *all* the arguments.
3901
3902         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3903         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3904         lock (according to the docs -- if this is wrong change the docs).
3905
3906         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3907         flush messages in the NULL state.
3908
3909         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3910         message immediately and return.
3911         (gst_bus_set_flushing): New function. If a bus is flushing, it
3912         flushes out any queued messages and immediately unrefs new
3913         messages. This is so when an element goes to NULL, all of the
3914         unhandled messages coming from it can be freed, and their
3915         references to the element dropped. In other words: message source
3916         ref considered harmful :P
3917
3918         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3919         we're finished with it.
3920
3921         * gst/gstmessage.c (gst_message_new_state_changed): 
3922
3923 2005-05-10  Wim Taymans  <wim@fluendo.com>
3924
3925         * gst/gstvalue.c: (gst_value_compare_flags),
3926         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3927         (_gst_value_initialize):
3928         Added flags serialize/deserialize/compare code.
3929
3930 2005-05-09  Andy Wingo  <wingo@pobox.com>
3931
3932         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3933         Intersect the peer's caps with our caps.
3934
3935 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3936
3937         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3938         * gst/elements/gsttypefindelement.c: (find_peek):
3939           Handle negative offsets better. Fixes decodebin.
3940
3941 2005-05-09  Wim Taymans  <wim@fluendo.com>
3942
3943         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3944         (gst_base_transform_event):
3945         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3946         Implement accept_caps.
3947         Fix silly lock/unlock mismatch in base class.
3948
3949 2005-05-09  Wim Taymans  <wim@fluendo.com>
3950
3951         * docs/design/draft-push-pull.txt:
3952         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3953         * gst/elements/gstfilesink.c: (gst_filesink_init),
3954         (gst_filesink_query):
3955         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3956         (gst_type_find_handle_src_query), (find_element_get_length):
3957         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3958         * gst/gstelement.h:
3959         * gst/gstmessage.c:
3960         * gst/gstmessage.h:
3961         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3962         (gst_real_pad_get_caps_unlocked),
3963         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3964         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3965         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3966         (gst_real_pad_dispose), (gst_real_pad_finalize),
3967         (gst_pad_load_and_link), (gst_pad_save_thyself),
3968         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3969         (gst_pad_check_pull_range), (gst_pad_pull_range),
3970         (gst_pad_template_get_type), (gst_pad_template_class_init),
3971         (gst_pad_template_init), (gst_pad_template_dispose),
3972         (name_is_valid), (gst_static_pad_template_get),
3973         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3974         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3975         (gst_pad_get_element_private), (gst_pad_start_task),
3976         (gst_pad_pause_task), (gst_pad_stop_task),
3977         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3978         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3979         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3980         (gst_ghost_pad_new):
3981         * gst/gstpad.h:
3982         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3983         (gst_query_new_position), (gst_query_set_position),
3984         (gst_query_parse_position), (gst_query_new_convert),
3985         (gst_query_set_convert), (gst_query_parse_convert):
3986         * gst/gstquery.h:
3987         * gst/gstqueryutils.c:
3988         * gst/gstqueryutils.h:
3989         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3990         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3991         (gst_queue_handle_src_query):
3992         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3993         (gst_element_query_position), (gst_element_query_convert),
3994         (intersect_caps_func), (gst_pad_query_position),
3995         (gst_pad_query_convert):
3996         * gst/gstutils.h:
3997         * tools/gst-inspect.c: (print_pad_info):
3998         * tools/gst-xmlinspect.c: (print_element_info):
3999         Remove old query functions. Ported old code.
4000         Added position/convert helper functions to gstutils.
4001         Reordered gstpad.c code, grouping relevant things.
4002         Remove gst_message_new(), always need to speficy a specific
4003         message.
4004
4005
4006 2005-05-09  Andy Wingo  <wingo@pobox.com>
4007
4008         * gst/gstiterator.h: Add some includes.
4009
4010         * gst/gstqueryutils.h: Include more headers.
4011
4012         * gst/gstpad.h:
4013         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4014         some uses of gst_pad_query.
4015
4016         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4017         NULL out parameters.
4018         (gst_query_new_position): New proc, allocates a new position
4019         query.
4020
4021         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4022         gstqueryutils.c to the build.
4023
4024         * gst/gststructure.c (gst_structure_set_valist): Implement with
4025         the generic G_VALUE_COLLECT.
4026         
4027 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4028
4029         * gst/Makefile.am: (gst_headers):
4030         Added gstqueryutils.h to the list of headers to install, that was
4031         a 'nachty' move wingo :)
4032
4033 2005-05-06  Andy Wingo  <wingo@pobox.com>
4034
4035         * gst/gstquery.h
4036         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4037         GstData, init a memchunk.
4038         (standard_definitions): Add a few query types, deprecate a few.
4039         (gst_query_get_type): New proc.
4040         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4041         implementation.
4042         (gst_query_new_application, gst_query_get_structure): New public
4043         procs.
4044
4045         * docs/design/draft-query.txt: Removed LINKS from the query types,
4046         because all the rest can be dispatched to other pads -- seemed
4047         ugly to have a query that couldn't be dispatched. internal_links
4048         is fine as a pad method.
4049
4050         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4051         in gstpad.c, but maintain binary compatibility for the moment.
4052         Will fix before 0.9 is out.
4053
4054         * gst/gstqueryutils.c: 
4055         * gst/gstqueryutils.h: New files, implement 3 methods for each
4056         query type: parse_query, parse_response, and set. Probably need an
4057         allocator as well.
4058
4059         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4060
4061         * gst/elements/gstfilesink.c (gst_filesink_query2):
4062         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4063         query_types, and formats methods.
4064
4065         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4066         (gst_pad_set_query2_function): New functions.
4067         (gst_real_pad_init): Set query2_default as the default query2
4068         function. Basically just dispatches to internally linked pads.
4069
4070         Needs review!
4071         
4072         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4073         without using the atomic operations. Only one thread can possibly
4074         be accessing the data at this point. Changed so as to avoid
4075         gst_atomic operations.
4076
4077 2005-05-06  Wim Taymans  <wim@fluendo.com>
4078
4079         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4080         Also set caps if we use the fallback buffer alloc.
4081
4082 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4083
4084         * docs/gst/Makefile.am:
4085         * docs/gst/gstreamer-docs.sgml:
4086         * docs/gst/gstreamer-sections.txt:
4087         * docs/gst/tmpl/gstatomic.sgml:
4088         * docs/gst/tmpl/gstmemchunk.sgml:
4089         * testsuite/elements/struct_i386.h:
4090         * win32/GStreamer.vcproj:
4091         * win32/Makefile:
4092           Purge GstAtomic stuff from docs and win32 makefiles as well
4093
4094 2005-05-06  Wim Taymans  <wim@fluendo.com>
4095
4096         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4097         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4098         * gst/gstpad.c: (gst_pad_peer_get_caps):
4099         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4100         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4101         (gst_queue_src_activate), (gst_queue_change_state):
4102         * gst/gstqueue.h:
4103         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4104         (intersect_caps_func):
4105         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4106         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4107         Some fixes for the peer_get_caps() change.
4108
4109 2005-05-06  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4112         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4113         (gst_basesink_activate):
4114         Actually do something with error codes returned from the push
4115         functions.
4116
4117 2005-05-06  Wim Taymans  <wim@fluendo.com>
4118
4119         * docs/design/part-element-sink.txt:
4120         * docs/design/part-element-source.txt:
4121         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4122         (gst_basesink_event), (gst_basesink_activate):
4123         * gst/base/gstbasesink.h:
4124         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4125         (gst_basesrc_activate):
4126         * gst/base/gstbasesrc.h:
4127         * gst/gstelement.c: (gst_element_pads_activate):
4128         Some more documentation.
4129         Fixed scheduling decision in _pads_activate().
4130
4131 2005-05-05  Andy Wingo  <wingo@pobox.com>
4132
4133         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4134         the test suite.
4135
4136 2005-05-05  Wim Taymans  <wim@fluendo.com>
4137
4138         * gst/base/Makefile.am:
4139         * gst/base/gstbasesink.h:
4140         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4141         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4142         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4143         (gst_collectpads_class_init), (gst_collectpads_init),
4144         (gst_collectpads_finalize), (gst_collectpads_new),
4145         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4146         (find_pad), (gst_collectpads_remove_pad),
4147         (gst_collectpads_is_active), (gst_collectpads_collect),
4148         (gst_collectpads_collect_range), (gst_collectpads_start),
4149         (gst_collectpads_stop), (gst_collectpads_peek),
4150         (gst_collectpads_pop), (gst_collectpads_available),
4151         (gst_collectpads_read), (gst_collectpads_flush),
4152         (gst_collectpads_chain):
4153         * gst/base/gstcollectpads.h:
4154         * gst/elements/Makefile.am:
4155         * gst/elements/gstelements.c:
4156         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4157         (gst_fakesink_get_times), (gst_fakesink_event),
4158         (gst_fakesink_preroll), (gst_fakesink_render):
4159         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4160         (gst_filesink_init), (gst_filesink_set_location),
4161         (gst_filesink_open_file), (gst_filesink_close_file),
4162         (gst_filesink_pad_query), (gst_filesink_event),
4163         (gst_filesink_render), (gst_filesink_change_state):
4164         * gst/elements/gstfilesink.h:
4165         Added object to help in making collect pad based elements.
4166         Ported filesink.
4167         Make event function in sink baseclass return gboolean.
4168
4169 2005-05-05  Wim Taymans  <wim@fluendo.com>
4170
4171         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4172         (gst_bin_get_by_name):
4173         * gst/gstbuffer.h:
4174         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4175         (gst_clock_finalize):
4176         * gst/gstdata.c: (gst_data_replace):
4177         * gst/gstdata.h:
4178         * gst/gstelement.c: (gst_element_request_pad),
4179         (gst_element_pads_activate):
4180         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4181         (gst_object_unref):
4182         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4183         (gst_pad_set_checkgetrange_function),
4184         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4185         (gst_pad_check_pull_range), (gst_pad_pull_range),
4186         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4187         (gst_pad_pause_task), (gst_pad_stop_task):
4188         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4189         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4190         Fix name lookup in GstBin.
4191         Added _data_replace() function and _buffer_replace()
4192         Use finalize method to clean up clock.
4193         Fix refcounting on request pads.
4194         Fix pad schedule mode error.
4195         Some more object refcounting debug info,
4196
4197
4198 2005-05-04  Andy Wingo <wingo@pobox.com>
4199
4200         * check/Makefile.am:
4201         * docs/gst/tmpl/gstatomic.sgml:
4202         * docs/gst/tmpl/gstplugin.sgml:
4203         * gst/base/gstbasesink.c: (gst_basesink_activate):
4204         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4205         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4206         (gst_basesrc_query), (gst_basesrc_set_property),
4207         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4208         (gst_basesrc_activate):
4209         * gst/base/gstbasesrc.h:
4210         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4211         (gst_base_transform_src_activate):
4212         * gst/elements/gstelements.c:
4213         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4214         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4215         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4216         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4217         (gst_type_find_element_checkgetrange),
4218         (gst_type_find_element_activate):
4219         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4220         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4221         (gst_caps_load_thyself):
4222         * gst/gstelement.c: (gst_element_pads_activate),
4223         (gst_element_save_thyself), (gst_element_restore_thyself):
4224         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4225         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4226         * gst/gstpad.h:
4227         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4228         (gst_xml_parse_file), (gst_xml_parse_memory),
4229         (gst_xml_get_element), (gst_xml_make_element):
4230         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4231         (_file_index_id_save_xml), (gst_file_index_commit):
4232         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4233         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4234         (load_paths):
4235         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4236         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4237         * tools/gst-complete.c: (main):
4238         * tools/gst-compprep.c: (main):
4239         * tools/gst-inspect.c: (print_element_properties_info):
4240         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4241         * tools/gst-xmlinspect.c: (print_element_properties):
4242         GCC 4 fixen.
4243         
4244 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         * gst/gstplugin.c: (gst_plugin_check_module),
4247         (gst_plugin_check_file), (gst_plugin_load_file):
4248             apply patch from #172526 to make register work on MacOSX
4249
4250 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * docs/gst/tmpl/gstconfig.sgml:
4253         * gst/gstconfig.h.in:
4254           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4255         * testsuite/debug/printf_extension.c: (main):
4256           Do not use GST_PTR_FORMAT on pointers to types with
4257           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4258         * testsuite/elements/property.h:
4259           use correct printf format
4260
4261 2005-05-02  Wim Taymans  <wim@fluendo.com>
4262
4263         * docs/design/draft-push-pull.txt:
4264         * docs/design/draft-query.txt:
4265         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4266         (gst_basesrc_start):
4267         Added draft for new query API.
4268         Added draft for better selecting scheduling methods.
4269         Make basesrc ignore length if the subclass does not support
4270         it.
4271
4272 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * gst/Makefile.am:
4275           possible fixes for automake-1.5 - _LIBADD is reserved
4276
4277 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4278
4279         * docs/faq/Makefile.am:
4280         * docs/manual/Makefile.am:
4281         * docs/manuals.mak:
4282         * docs/pwg/Makefile.am:
4283         * gst/Makefile.am:
4284           possible fixes for automake-1.5
4285
4286 2005-04-28  Wim Taymans  <wim@fluendo.com>
4287
4288         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4289         (gst_basesink_pad_getcaps), (gst_basesink_init),
4290         (gst_basesink_do_sync):
4291         * gst/gstclock.c: (gst_clock_entry_new):
4292         * gst/gstevent.c: (gst_event_discont_get_value):
4293         * gst/gstpipeline.c: (pipeline_bus_handler),
4294         (gst_pipeline_change_state):
4295         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4296         Better debugging of clocking info.
4297         Allow NULL values when getting discont values.
4298
4299 2005-04-27  Wim Taymans  <wim@fluendo.com>
4300
4301         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4302         * check/gst/gstpad.c: (gst_pad_suite):
4303         Increase timeout for checks.
4304
4305 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4306
4307         * check/Makefile.am:
4308           fix the broken rule for cleanup.  Apparently this rule is
4309           only needed on FC2, so maybe this warrants further autotool
4310           inspection.
4311
4312 2005-04-26  Wim Taymans  <wim@fluendo.com>
4313
4314         * gst/gsttrashstack.h:
4315         Ooohh. a nasty one! After having a failed pop() from the stack,
4316         it's possible that the stack is empty. In that case, don't
4317         follow the NULL pointer.
4318
4319 2005-04-25  Wim Taymans  <wim@fluendo.com>
4320
4321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4322         (gst_pad_set_checkgetrange_function),
4323         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4324         (gst_pad_check_pull_range), (gst_pad_pull_range),
4325         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4326         (gst_pad_pause_task), (gst_pad_stop_task):
4327         * gst/gstplugin.c: (gst_plugin_load):
4328         * gst/gstplugin.h:
4329         Remove gst_library_load as it does more harm than good with
4330         the new g_module flags.
4331         Revert bogus caps template check in pad linking, pad caps
4332         are important when linking not the template, which is more
4333         general than the current caps.
4334
4335 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4336
4337         * gst/autoplug/.cvsignore:
4338         * gst/autoplug/Makefile.am:
4339         * gst/autoplug/gstsearchfuncs.c:
4340         * gst/autoplug/gstsearchfuncs.h:
4341         * gst/autoplug/gstspider.c:
4342         * gst/autoplug/gstspider.h:
4343         * gst/autoplug/gstspideridentity.c:
4344         * gst/autoplug/gstspideridentity.h:
4345         * gst/autoplug/spidertest.c:
4346           Die, spider, die.
4347
4348 2005-04-25  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4351         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4352         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4353         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4354         * gst/gstpad.h:
4355         Added stubs for unimplemented functions. 
4356
4357 2005-04-24  David Schleef  <ds@schleef.org>
4358
4359         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4360         please fix.
4361
4362 2005-04-24  David Schleef  <ds@schleef.org>
4363
4364         Convert everything from GstAtomicInt to g_atomic_int_*, and
4365         remove gstatomic.
4366         * gst/Makefile.am:
4367         * gst/gstatomic.c:
4368         * gst/gstatomic.h:
4369         * gst/gstatomic_impl.h:
4370         * gst/gstbuffer.c:
4371         * gst/gstcaps.c:
4372         * gst/gstcaps.h:
4373         * gst/gstclock.c:
4374         * gst/gstclock.h:
4375         * gst/gstdata.c:
4376         * gst/gstdata.h:
4377         * gst/gstdata_private.h:
4378         * gst/gstevent.c:
4379         * gst/gstinfo.c:
4380         * gst/gstinfo.h:
4381         * gst/gstmessage.c:
4382         * gst/gstobject.c:
4383         * gst/gstobject.h:
4384         * gst/gststructure.c:
4385         * gst/gststructure.h:
4386         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4387         * gst/gstutils.h:
4388
4389 2005-04-24  David Schleef  <ds@schleef.org>
4390
4391         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4392         make the regressions tests work.  Remove some code that is no
4393         longer true.
4394         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4395         Disable warning for pads without templates.
4396
4397 2005-04-24  David Schleef  <ds@schleef.org>
4398
4399         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4400         functions that handle filtered links.
4401         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4402         removed functions.
4403         * gst/gstutils.c: Fix/remove utility functions that handle
4404         filtered caps.
4405         * gst/gstutils.h:
4406         * gst/gstvalue.c: Add serialization/deserialization of caps
4407         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4408         requires fixing so that the filter caps notation creates
4409         a capsfilter element and sets the filter_caps property.  I
4410         think everyone probably wants to keep the shorthand notation.
4411         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4412         * docs/gst/tmpl/gstpad.sgml:
4413
4414         * gst/elements/gstelements.c: Register capsfilter element.
4415         * gst/Makefile.am: fix spacing
4416         * docs/random/ds/0.9-suggested-changes: random
4417
4418 2005-04-23  David Schleef  <ds@schleef.org>
4419
4420         * gst/elements/Makefile.am:
4421         * gst/elements/gstcapsfilter.c: New element that acts like an
4422         identity, but filters caps.  Will eventually replace filtered
4423         caps in pad linking.
4424         * gst/gstutils.c: (gst_element_create_all_pads): New function
4425         to create all the ALWAYS pads that are registered with an
4426         element class.  This functionality should eventually be
4427         merged in with GstElement initialization.
4428         * gst/gstutils.h:
4429         * testsuite/trigger/README: part of trigger test code that should
4430         have been checked in a long time ago.
4431
4432 2005-04-23  David Schleef  <ds@schleef.org>
4433
4434         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4435         needed with new versions of libtool (nobody will confirm this),
4436         and hard to carry around.
4437         * gst/autoplug/Makefile.am:
4438         * gst/base/Makefile.am:
4439         * gst/elements/Makefile.am:
4440         * gst/indexers/Makefile.am:
4441         * gst/schedulers/Makefile.am:
4442         * libs/gst/bytestream/Makefile.am:
4443         * libs/gst/control/Makefile.am:
4444         * libs/gst/dataprotocol/Makefile.am:
4445         * libs/gst/getbits/Makefile.am:
4446
4447 2005-04-21  Wim Taymans  <wim@fluendo.com>
4448
4449         * docs/design/draft-push-pull.txt:
4450         * docs/design/part-MT-refcounting.txt:
4451         * docs/design/part-TODO.txt:
4452         * docs/design/part-caps.txt:
4453         * docs/design/part-events.txt:
4454         * docs/design/part-gstbus.txt:
4455         * docs/design/part-gstpipeline.txt:
4456         * docs/design/part-messages.txt:
4457         * docs/design/part-push-pull.txt:
4458         * docs/design/part-query.txt:
4459         Some more docs.
4460
4461 2005-04-21  Wim Taymans  <wim@fluendo.com>
4462
4463         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4464         (gst_message_new), (gst_message_new_error),
4465         (gst_message_new_warning), (gst_message_new_tag),
4466         (gst_message_new_state_changed), (gst_message_new_application),
4467         (gst_message_get_structure):
4468         * gst/gstmessage.h:
4469         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4470         (gst_structure_copy_conditional):
4471         Use parent refcount in GstMessage to ensure GstStructure
4472         consistency.
4473         Cleaned up headers a bit.
4474         
4475
4476 2005-04-20  Wim Taymans  <wim@fluendo.com>
4477
4478         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4479         (gst_basesink_pad_getcaps), (gst_basesink_init),
4480         (gst_basesink_chain_unlocked):
4481         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4482         (gst_type_find_helper):
4483         * gst/elements/gsttypefindelement.c:
4484         (gst_type_find_element_have_type), (gst_type_find_element_init),
4485         (stop_typefinding), (gst_type_find_element_handle_event),
4486         (find_suggest), (gst_type_find_element_chain),
4487         (gst_type_find_element_checkgetrange),
4488         (gst_type_find_element_getrange), (do_typefind),
4489         (gst_type_find_element_activate):
4490         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4491         (gst_buffer_default_free), (gst_buffer_default_copy),
4492         (gst_buffer_set_caps):
4493         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4494         (gst_caps_replace):
4495         * gst/gstmessage.c: (gst_message_new),
4496         (gst_message_new_state_changed):
4497         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4498         (gst_pad_set_checkgetrange_function),
4499         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4500         (gst_pad_set_caps), (gst_pad_check_pull_range),
4501         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4502         * gst/gstpad.h:
4503         * gst/gsttypefind.c: (gst_type_find_register):
4504         Make gst_caps_replace() work like other _replace() functions.
4505         Use _caps_replace() where possible.
4506         Make sure _message_new() initialises its field.
4507         Add gst_static_pad_template_get_caps()
4508
4509
4510 2005-04-18  Andy Wingo  <wingo@pobox.com>
4511
4512         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4513         on the peer, not the pad. I think that was a typo. Pass an extra
4514         arg to see if random access is possible. Activate the pads as
4515         PULL_RANGE if possible.
4516
4517         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4518
4519         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4520         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4521         to PROP_....
4522
4523 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4524
4525         * docs/faq/using.xml:
4526           Add note on gstreamer-properties (#154996).
4527
4528 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4529
4530         * docs/random/bbb/optional-properties:
4531           Some analysis on optional properties.
4532
4533 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4534
4535         * docs/gst/tmpl/gstelementfactory.sgml:
4536         * gst/gstelement.h:
4537         * gst/gstelementfactory.c: (gst_element_factory_init),
4538         (gst_element_factory_cleanup), (gst_element_register),
4539         (__gst_element_factory_add_static_pad_template),
4540         (gst_element_factory_get_static_pad_templates),
4541         (gst_element_factory_can_src_caps),
4542         (gst_element_factory_can_sink_caps):
4543         * gst/registries/Makefile.am:
4544         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4545         (gst_xml_registry_class_init), (gst_xml_registry_init),
4546         (gst_xml_registry_new), (gst_xml_registry_set_property),
4547         (gst_xml_registry_get_property), (get_time), (make_dir),
4548         (gst_xml_registry_get_perms_func),
4549         (plugin_times_older_than_recurse), (plugin_times_older_than),
4550         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4551         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4552         (add_to_char_array), (read_string), (read_uint), (read_enum),
4553         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4554         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4555         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4556         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4557         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4558         (gst_xml_registry_rebuild):
4559         * gst/registries/gstlibxmlregistry.h:
4560         * tools/gst-compprep.c: (main):
4561         * tools/gst-inspect.c: (print_pad_templates_info):
4562         * tools/gst-xmlinspect.c: (print_element_info):
4563           Use libxml2 for registry parsing, use staticpadtemplates in
4564           elementfactories. Makes gst_init() +/- 10x faster.
4565
4566 2005-04-12  Wim Taymans  <wim@fluendo.com>
4567
4568         * gst/base/Makefile.am:
4569         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4570         (gst_basesink_pad_getcaps), (gst_basesink_init),
4571         (gst_basesink_event), (gst_basesink_change_state):
4572         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4573         (gst_basesrc_init), (gst_basesrc_query),
4574         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4575         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4576         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4577         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4578         (gst_basesrc_stop), (gst_basesrc_activate),
4579         (gst_basesrc_change_state):
4580         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4581         (helper_find_suggest), (gst_type_find_helper):
4582         * gst/base/gsttypefindhelper.h:
4583         * gst/elements/Makefile.am:
4584         * gst/elements/gstelements.c:
4585         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4586         (gst_fakesink_get_times), (gst_fakesink_event),
4587         (gst_fakesink_preroll), (gst_fakesink_render):
4588         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4589         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4590         (gst_fakesrc_get_property), (gst_fakesrc_create),
4591         (gst_fakesrc_start), (gst_fakesrc_stop):
4592         * gst/elements/gstfakesrc.h:
4593         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4594         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4595         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4596         (gst_filesrc_create_read), (gst_filesrc_create),
4597         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4598         (gst_filesrc_start):
4599         * gst/elements/gsttypefindelement.c:
4600         (gst_type_find_element_have_type), (gst_type_find_element_init),
4601         (start_typefinding), (stop_typefinding), (push_buffer_store),
4602         (gst_type_find_element_handle_event),
4603         (gst_type_find_element_chain),
4604         (gst_type_find_element_checkgetrange),
4605         (gst_type_find_element_getrange), (do_typefind),
4606         (gst_type_find_element_activate),
4607         (gst_type_find_element_change_state):
4608         * gst/elements/gsttypefindelement.h:
4609         * gst/gstpipeline.c: (pipeline_bus_handler):
4610         Added typefind helper.
4611         Small preroll fix in the base sink.
4612         Disable typefind code in basesrc.
4613         Crude port of typefindelement.
4614         Fakesrc cleanups.
4615
4616
4617 2005-04-11  Wim Taymans  <wim@fluendo.com>
4618
4619         * check/gst/gstbus.c: (gstbus_suite):
4620         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4621         * check/gstcheck.h:
4622           Fix up the timeout so that the test does not fail.
4623
4624 2005-04-06  Wim Taymans  <wim@fluendo.com>
4625
4626         * gst/base/README:
4627         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4628         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4629         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4630         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4631         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4632         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4633         (gst_basesrc_stop), (gst_basesrc_activate),
4634         (gst_basesrc_change_state), (basesrc_find_peek),
4635         (basesrc_find_suggest), (gst_basesrc_type_find):
4636         * gst/base/gstbasesrc.h:
4637         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4638         (gst_filesrc_class_init), (gst_filesrc_init),
4639         (gst_filesrc_finalize), (gst_filesrc_set_location),
4640         (gst_filesrc_set_property), (gst_filesrc_get_property),
4641         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4642         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4643         (gst_filesrc_create_read), (gst_filesrc_create),
4644         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4645         * gst/elements/gstfilesrc.h:
4646         * gst/gstelement.c: (gst_element_get_state_func),
4647         (gst_element_lost_state), (gst_element_pads_activate):
4648         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4649         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4650         (gst_pad_pull_range):
4651         * gst/gstpad.h:
4652         More work on the generic source base class, implement seeking,
4653         query.
4654         Make filesrc extend the base source class.
4655         Added gst_pad_set_checkgetrange_function to GstPad.
4656
4657 2005-04-06  Andy Wingo  <wingo@pobox.com>
4658
4659         * pkgconfig/gstreamer-base.pc.in:
4660         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4661
4662         * pkgconfig/Makefile.am:
4663         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4664
4665 2005-04-04  Wim Taymans  <wim@fluendo.com>
4666
4667         * gst/base/Makefile.am:
4668         * gst/base/README:
4669         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4670         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4671         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4672         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4673         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4674         (gst_basesrc_base_init), (gst_basesrc_class_init),
4675         (gst_basesrc_init), (gst_basesrc_get_formats),
4676         (gst_basesrc_get_query_types), (gst_basesrc_query),
4677         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4678         (gst_basesrc_set_property), (gst_basesrc_get_property),
4679         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4680         (gst_basesrc_loop), (gst_basesrc_activate),
4681         (gst_basesrc_change_state):
4682         * gst/base/gstbasesrc.h:
4683         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4684         (gst_fakesrc_class_init), (gst_fakesrc_init),
4685         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4686         (gst_fakesrc_get_property), (gst_fakesrc_create):
4687         * gst/elements/gstfakesrc.h:
4688         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4689         (gst_filesrc_open_file), (gst_filesrc_loop),
4690         (gst_filesrc_activate), (filesrc_find_peek),
4691         (gst_filesrc_type_find):
4692         Made base source class, make fakesrc extend it.
4693         Add comments to basesink class.
4694         Some filesrc cleanup.
4695
4696 2005-03-31  David Schleef  <ds@schleef.org>
4697
4698         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4699         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4700         expected to link against libgstreamer.
4701         * gst/base/Makefile.am: link against libgstreamer
4702         * gst/elements/Makefile.am: same
4703
4704 2005-03-31  Andy Wingo  <wingo@pobox.com>
4705
4706         * tests/instantiate/Makefile.am:
4707         * tests/instantiate/caps.c: Add test to test speed of caps copy
4708         and free.
4709
4710         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4711         GMemChunk to be fair.
4712
4713         * gst/gsttrashstack.h: Remove warning about using the fallback
4714         trash stack implementation, it's still faster than malloc.
4715
4716 2005-03-30  Andy Wingo  <wingo@pobox.com>
4717
4718         * tests/complexity.c: Add a copyright.
4719
4720 2005-03-31  Wim Taymans  <wim@fluendo.com>
4721
4722         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4723         (gst_base_transform_class_init), (gst_base_transform_init),
4724         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4725         (gst_base_transform_get_property),
4726         (gst_base_transform_sink_activate),
4727         (gst_base_transform_src_activate),
4728         (gst_base_transform_change_state):
4729         * gst/base/gstbasetransform.h:
4730         * gst/elements/gstidentity.c: (gst_identity_class_init),
4731         (gst_identity_event), (gst_identity_check_perfect),
4732         (gst_identity_transform), (gst_identity_start),
4733         (gst_identity_stop):
4734         Added start/stop methods to transform base class so subclasses 
4735         don't need to deal with state changes even.
4736
4737 2005-03-31  Wim Taymans  <wim@fluendo.com>
4738
4739         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4740         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4741         * gst/gstevent.h:
4742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4743         (gst_pad_pull_range):
4744         Added rate to the discont event to prepare for variable speed
4745         and reverse playback.
4746
4747 2005-03-29  David Schleef  <ds@schleef.org>
4748
4749         * configure.ac:
4750         * testsuite/trigger/Makefile.am:
4751         * testsuite/trigger/trigger.c: A little example program to show
4752         how trigger-based elements can work.
4753
4754 2005-03-29  Wim Taymans  <wim@fluendo.com>
4755
4756         * gst/base/Makefile.am:
4757         * gst/base/README:
4758         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4759         (gst_basesink_base_init), (gst_basesink_class_init),
4760         (gst_basesink_pad_getcaps), (gst_basesink_init),
4761         (gst_basesink_activate), (gst_basesink_change_state):
4762         * gst/base/gstbasesink.h:
4763         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4764         (gst_base_transform_base_init), (gst_base_transform_finalize),
4765         (gst_base_transform_class_init), (gst_base_transform_init),
4766         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4767         (gst_base_transform_event), (gst_base_transform_getrange),
4768         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4769         (gst_base_transform_set_property),
4770         (gst_base_transform_get_property),
4771         (gst_base_transform_sink_activate),
4772         (gst_base_transform_src_activate),
4773         (gst_base_transform_change_state):
4774         * gst/base/gstbasetransform.h:
4775         * gst/elements/gstidentity.c: (gst_identity_finalize),
4776         (gst_identity_class_init), (gst_identity_init),
4777         (gst_identity_event), (gst_identity_check_perfect),
4778         (gst_identity_transform), (gst_identity_set_property),
4779         (gst_identity_get_property), (gst_identity_change_state):
4780         * gst/elements/gstidentity.h:
4781         * gst/gstelement.c: (gst_element_get_state_func),
4782         (gst_element_lost_state), (gst_element_pads_activate):
4783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4784         (gst_pad_check_pull_range), (gst_pad_pull_range):
4785         * gst/gstpad.h:
4786         Simplify pad activation.
4787         Added function to check if pull_range can be performed.
4788         Error out when pulling inactive or flushing pads.
4789         Removed const from refcounted types as it does not make sense.
4790         Simplify pad templates in basesink
4791         Added base class for simple 1-to-1 transforms.
4792         Make identity subclass the base transform.
4793
4794 2005-03-29  Andy Wingo  <wingo@pobox.com>
4795
4796         * docs/libs/gstreamer-libs-overrides.txt: 
4797         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4798         really don't understand what's going on, but like whatever. I want
4799         green buildbot!
4800
4801         * docs/gst/Makefile.am:
4802         * docs/libs/Makefile.am: Dist the overrides files.
4803
4804         * check/Makefile.am (clean-local): Remove .libs directories.
4805
4806         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4807         elements to EXTRA_DIST, so po/ files are happy.
4808
4809         * po/POTFILES.in: Er, remove it here.
4810
4811         * po/POTFILES: Remove gstspider.c.
4812
4813         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4814
4815         * docs/libs/gstreamer-libs-docs.sgml: 
4816         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4817         bytestream.
4818
4819         * tests/complexity.c (main): Set the length of the preroll queue
4820         on the sinks to prevent a lockup.
4821
4822         * libs/gst/dataprotocol/Makefile.am: 
4823         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4824         the same as the one in check/gst-libs/gdp.c.
4825
4826         * po/, docs/gst/: Commit automatic changes to docs and po files.
4827
4828         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4829         the versioned libgstbase.
4830
4831         * check/Makefile.am: Depend on an unversioned gst-register, seems
4832         to make autoconf happier.
4833
4834         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4835
4836 2005-03-28  Wim Taymans  <wim@fluendo.com>
4837
4838         * configure.ac:
4839         * docs/design/part-gstelement.txt:
4840         * docs/design/part-negotiation.txt:
4841         * docs/design/part-preroll.txt:
4842         * docs/design/part-scheduling.txt:
4843         * docs/design/part-states.txt:
4844         * gst/Makefile.am:
4845         * gst/base/Makefile.am:
4846         * gst/base/README:
4847         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4848         (gst_basesink_base_init), (gst_basesink_class_init),
4849         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4850         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4851         (gst_basesink_set_pad_functions),
4852         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4853         (gst_basesink_set_property), (gst_basesink_get_property),
4854         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4855         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4856         (gst_basesink_preroll_queue_push),
4857         (gst_basesink_preroll_queue_empty),
4858         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4859         (gst_basesink_event), (gst_basesink_get_times),
4860         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4861         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4862         (gst_basesink_loop), (gst_basesink_activate),
4863         (gst_basesink_change_state):
4864         * gst/base/gstbasesink.h:
4865         * gst/elements/Makefile.am:
4866         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4867         (gst_fakesink_class_init), (gst_fakesink_init),
4868         (gst_fakesink_set_property), (gst_fakesink_get_property),
4869         (gst_fakesink_get_times), (gst_fakesink_event),
4870         (gst_fakesink_preroll), (gst_fakesink_render),
4871         (gst_fakesink_change_state):
4872         * gst/elements/gstfakesink.h:
4873         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4874         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4875         * gst/gstelement.c: (gst_element_add_pad),
4876         (gst_element_get_state_func), (gst_element_abort_state),
4877         (gst_element_commit_state), (gst_element_lost_state),
4878         (gst_element_set_state), (gst_element_pads_activate):
4879         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4880         * gst/gstpipeline.c: (gst_pipeline_send_event),
4881         (gst_pipeline_change_state):
4882         Added state change code.
4883         Added/updated docs.
4884         Added sink base class, make fakesink extend the base class.
4885         Small cleanups in GstPipeline.
4886
4887 2005-03-26  David Schleef  <ds@schleef.org>
4888
4889         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4890         is broken and should be implemented in a different library.
4891         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4892         * gst/gst.h: remove gstcpu.h
4893         * gst/gstcpu.c: remove
4894         * gst/gstcpu.h: remove
4895         * gst/Makefile.am.future: Remove this file.  It's ancient.
4896
4897 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4898
4899         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4900         (gst_bin_send_event):
4901           Add default event/set_manager handlers. The set_manager handler
4902           takes care that the manager is distributed over kids that were
4903           already in the bin before the manager was set. The event handler
4904           is a utility virtual function that sends the event over all sinks,
4905           so that gst_element_send_event (bin, event); has the expected
4906           behaviour.
4907         * gst/gstpad.c: (gst_pad_event_default):
4908           Re-install default event handling for discontinuities, so that
4909           seeking works without requiring hacks in applications or extra
4910           code in sinks.
4911         * gst/gstpipeline.c: (gst_pipeline_class_init),
4912         (gst_pipeline_send_event):
4913           Half hack, half utility: set a pipeline to PAUSED for seek events,
4914           since that is the only way we can guarantee a/v sync. Means that
4915           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4916           and it "just works".
4917
4918 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4919
4920         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4921           Lock/unlock mismatch.
4922
4923 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4924
4925         * docs/faq/gst-uninstalled:
4926           add gst-plugins-base
4927         * docs/gst/Makefile.am:
4928           don't error out until docs are fixed
4929         * docs/gst/gstreamer.types:
4930           remove thread
4931
4932 2005-03-22  Wim Taymans  <wim@fluendo.com>
4933
4934         * check/Makefile.am:
4935         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4936         * gst/gststructure.c: (gst_structure_set_valist),
4937         (gst_structure_copy_conditional):
4938         Activated more tests.
4939         Added message test.
4940         Added G_TYPE_POINTER to GstStructure.
4941         
4942
4943 2005-03-22  Wim Taymans  <wim@fluendo.com>
4944
4945         * docs/design/part-TODO.txt:
4946         * docs/design/part-events.txt:
4947         * docs/design/part-gstbin.txt:
4948         * docs/design/part-gstbus.txt:
4949         * docs/design/part-gstpipeline.txt:
4950         * docs/design/part-messages.txt:
4951         * gst/gstbus.c:
4952         * gst/gstmessage.c:
4953         Docs updates
4954
4955 2005-03-21  Wim Taymans  <wim@fluendo.com>
4956
4957         * gst/gstbus.c: (gst_bus_post):
4958         Fix copy-and-paste error.
4959
4960 2005-03-21  Wim Taymans  <wim@fluendo.com>
4961
4962         * check/Makefile.am:
4963         * gst/Makefile.am:
4964         * gst/elements/Makefile.am:
4965         * gst/elements/gstelements.c:
4966         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4967         (gst_fakesink_event), (gst_fakesink_chain):
4968         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4969         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4970         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4971         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4972         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4973         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4974         (gst_fakesrc_loop), (gst_fakesrc_activate),
4975         (gst_fakesrc_change_state):
4976         * gst/elements/gstfakesrc.h:
4977         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4978         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4979         (gst_filesrc_open_file), (gst_filesrc_loop),
4980         (gst_filesrc_activate), (gst_filesrc_change_state),
4981         (filesrc_find_peek), (filesrc_find_suggest),
4982         (gst_filesrc_type_find):
4983         * gst/elements/gstidentity.c: (gst_identity_finalize),
4984         (gst_identity_class_init), (gst_identity_init),
4985         (gst_identity_proxy_getcaps), (identity_queue_push),
4986         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4987         (gst_identity_getrange), (gst_identity_chain),
4988         (gst_identity_sink_loop), (gst_identity_src_loop),
4989         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4990         (gst_identity_set_property), (gst_identity_get_property),
4991         (gst_identity_change_state):
4992         * gst/elements/gstidentity.h:
4993         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4994         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4995         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4996         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4997         (gst_tee_sink_activate):
4998         * gst/elements/gsttee.h:
4999         * gst/gst.c: (gst_register_core_elements), (init_post):
5000         * gst/gst.h:
5001         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5002         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5003         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5004         (gst_bin_change_state):
5005         * gst/gstbin.h:
5006         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5007         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5008         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5009         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5010         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5011         (bus_watch_callback), (bus_watch_destroy),
5012         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5013         (poll_timeout), (gst_bus_poll):
5014         * gst/gstbus.h:
5015         * gst/gstcaps.h:
5016         * gst/gstdata.h:
5017         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5018         (gst_element_post_message), (gst_element_message_full),
5019         (gst_element_get_state_func), (gst_element_get_state),
5020         (gst_element_abort_state), (gst_element_commit_state),
5021         (gst_element_lost_state), (gst_element_set_state),
5022         (gst_element_pads_activate), (gst_element_change_state),
5023         (gst_element_dispose), (gst_element_set_manager_func),
5024         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5025         (gst_element_set_manager), (gst_element_get_manager),
5026         (gst_element_set_bus), (gst_element_get_bus),
5027         (gst_element_set_scheduler), (gst_element_get_scheduler):
5028         * gst/gstelement.h:
5029         * gst/gstevent.c: (gst_event_new_segment_seek),
5030         (gst_event_new_flush):
5031         * gst/gstevent.h:
5032         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5033         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5034         (gst_message_new_eos), (gst_message_new_error),
5035         (gst_message_new_warning), (gst_message_new_tag),
5036         (gst_message_new_state_changed), (gst_message_new_application),
5037         (gst_message_get_structure), (gst_message_parse_tag),
5038         (gst_message_parse_state_changed), (gst_message_parse_error),
5039         (gst_message_parse_warning):
5040         * gst/gstmessage.h:
5041         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5042         (gst_real_pad_set_property), (gst_pad_set_active),
5043         (gst_pad_is_active), (gst_pad_set_blocked_async),
5044         (gst_pad_set_blocked), (gst_pad_is_blocked),
5045         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5046         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5047         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5048         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5049         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5050         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5051         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5052         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5053         (gst_pad_set_caps), (gst_pad_configure_sink),
5054         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5055         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5056         (gst_real_pad_dispose), (gst_real_pad_finalize),
5057         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5058         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5059         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5060         * gst/gstpad.h:
5061         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5062         (pipeline_bus_handler), (gst_pipeline_change_state),
5063         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5064         * gst/gstpipeline.h:
5065         * gst/gstprobe.h:
5066         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5067         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5068         (gst_queue_link_src), (gst_queue_bufferalloc),
5069         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5070         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5071         (gst_queue_loop), (gst_queue_handle_src_event),
5072         (gst_queue_handle_src_query), (gst_queue_src_activate),
5073         (gst_queue_change_state):
5074         * gst/gstqueue.h:
5075         * gst/gstscheduler.c: (gst_scheduler_init),
5076         (gst_scheduler_dispose), (gst_scheduler_create_task),
5077         (gst_scheduler_factory_create):
5078         * gst/gstscheduler.h:
5079         * gst/gststructure.c: (gst_structure_get_type),
5080         (gst_structure_copy_conditional):
5081         * gst/gststructure.h:
5082         * gst/gsttaginterface.h:
5083         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5084         (gst_task_init), (gst_task_dispose), (gst_task_create),
5085         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5086         (gst_task_pause):
5087         * gst/gsttask.h:
5088         * gst/gstthread.c:
5089         * gst/gstthread.h:
5090         * gst/gsttypes.h:
5091         * gst/schedulers/Makefile.am:
5092         * gst/schedulers/cothreads_compat.h:
5093         * gst/schedulers/entryscheduler.c:
5094         * gst/schedulers/faircothreads.c:
5095         * gst/schedulers/faircothreads.h:
5096         * gst/schedulers/fairscheduler.c:
5097         * gst/schedulers/gstbasicscheduler.c:
5098         * gst/schedulers/gstoptimalscheduler.c:
5099         * gst/schedulers/gthread-cothreads.h:
5100         * gst/schedulers/threadscheduler.c:
5101         (gst_thread_scheduler_task_get_type),
5102         (gst_thread_scheduler_task_class_init),
5103         (gst_thread_scheduler_task_init),
5104         (gst_thread_scheduler_task_start),
5105         (gst_thread_scheduler_task_stop),
5106         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5107         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5108         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5109         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5110         (plugin_init):
5111         * libs/gst/Makefile.am:
5112         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5113         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5114         (gst_file_pad_parent_set):
5115         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5116         (gst_dp_event_from_packet):
5117         * tests/complexity.c: (main):
5118         * tests/mass_elements.c: (main):
5119         * testsuite/states/locked.c: (message_received), (main):
5120         * testsuite/states/parent.c: (main):
5121         * tools/gst-inspect.c: (print_element_flag_info),
5122         (print_implementation_info), (print_pad_info):
5123         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5124         (main):
5125         * tools/gst-md5sum.c: (event_loop), (main):
5126         * tools/gst-typefind.c: (main):
5127         * tools/gst-xmlinspect.c: (print_element_info):
5128         Next big merge.
5129         Added GstBus for mainloop integration.
5130         Added GstMessage for sending notifications on the bus.
5131         Added GstTask as an abstraction for pipeline entry points.
5132         Removed GstThread.
5133         Removed Schedulers.
5134         Simplified GstQueue for multithreaded core.
5135         Made _link threadsafe, removed old capsnego.
5136         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5137         Added pad blocking functions.
5138         Reworked scheduling functions in GstPad to prepare for
5139         scheduling updates soon.
5140         Moved events out of data stream.
5141         Simplified GstEvent types.
5142         Added return values to push/pull.
5143         Removed clocking from GstElement.
5144         Added prototypes for state change function for next merge.
5145         Removed iterate from bins and state change management.
5146         Fixed some elements, disabled others for now.
5147         Fixed -inspect and -launch.
5148         Added check for GstBus.
5149
5150 2005-03-10  Wim Taymans  <wim@fluendo.com>
5151
5152         * docs/design/part-MT-refcounting.txt:
5153         * docs/design/part-clocks.txt:
5154         * docs/design/part-gstelement.txt:
5155         * docs/design/part-gstobject.txt:
5156         * docs/design/part-standards.txt:
5157         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5158         (gst_bin_remove_func), (gst_bin_remove):
5159         * gst/gstbin.h:
5160         * gst/gstbuffer.c:
5161         * gst/gstcaps.h:
5162         * testsuite/clock/clock1.c: (main):
5163         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5164         (main):
5165         * testsuite/dlopen/loadgst.c: (do_test):
5166         * testsuite/refcounting/bin.c: (add_remove_test1),
5167         (add_remove_test2), (main):
5168         * testsuite/refcounting/element.c: (main):
5169         * testsuite/refcounting/element_pad.c: (main):
5170         * testsuite/refcounting/pad.c: (main):
5171         * tools/gst-launch.c: (sigint_handler_sighandler):
5172         * tools/gst-typefind.c: (main):
5173         Doc updates.
5174         Added doc about clock.
5175         removed gst_bin_iterate_recurse_up(), marked methods
5176         for removal.
5177         Fix more testsuites.
5178
5179 2005-03-09  Wim Taymans  <wim@fluendo.com>
5180
5181         * gst/gstpad.c: (gst_pad_get_direction),
5182         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5183         (gst_pad_collect_valist):
5184         * testsuite/bins/interface.c: (main):
5185         * testsuite/caps/audioscale.c: (test_caps):
5186         * testsuite/caps/caps.c: (test1), (test2), (test3):
5187         * testsuite/caps/deserialize.c: (main):
5188         * testsuite/caps/enumcaps.c: (main):
5189         * testsuite/caps/filtercaps.c: (main):
5190         * testsuite/caps/intersect2.c: (main):
5191         * testsuite/caps/random.c: (main):
5192         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5193         * testsuite/caps/sets.c: (check_caps):
5194         * testsuite/caps/simplify.c: (check_caps), (main):
5195         * testsuite/caps/subtract.c: (check_caps):
5196         Fix _pad_get_direction wrt ghostpads.
5197         Fix caps testsuite.
5198
5199 2005-03-09  Wim Taymans  <wim@fluendo.com>
5200
5201         * check/Makefile.am:
5202         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5203         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5204         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5206         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5207         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5208         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5209         (bin_element_is_sink), (gst_bin_iterate_sinks),
5210         (gst_bin_iterate_all_by_interface):
5211         * gst/gstbin.h:
5212         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5213         (gst_element_change_state), (gst_element_dispose),
5214         (gst_element_finalize), (gst_element_set_loop_function):
5215         * gst/gstelement.h:
5216         * gst/gstiterator.c: (find_custom_fold_func):
5217         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5218         (gst_pad_collectv), (gst_pad_collect_valist),
5219         (gst_pad_template_new):
5220         * gst/gstpipeline.c: (gst_pipeline_class_init),
5221         (gst_pipeline_dispose), (gst_pipeline_set_property),
5222         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5223         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5224         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5225         * gst/gstutils.h:
5226         * gst/schedulers/entryscheduler.c:
5227         * gst/schedulers/gstbasicscheduler.c:
5228         (gst_basic_scheduler_cothreaded_chain),
5229         (gst_basic_scheduler_chain_add_element):
5230         * testsuite/bins/interface.c: (main):
5231         Added GstBin test.
5232         Added GstSystemClock test.
5233         Implemented clock distribution code in GstBin.
5234         Implemented iterate sinks method for future use.
5235         Rearranged gstelement.h
5236         Fix GstIterator comparison bug.
5237         Moved some code to GstPipeline, mostly clocking related.
5238
5239 2005-03-09  Wim Taymans  <wim@fluendo.com>
5240
5241         * configure.ac:
5242         * gst/gst_private.h:
5243         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5244         (gst_bin_remove_func), (gst_bin_remove),
5245         (gst_bin_get_by_name_recurse_up):
5246         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5247         (gst_clock_id_compare_func), (gst_clock_id_wait),
5248         (gst_clock_id_wait_async), (gst_clock_init),
5249         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5250         * gst/gstelement.h:
5251         * gst/gstinfo.c: (_gst_debug_init):
5252         * gst/gstobject.h:
5253         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5254         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5255         * gst/gstpad.h:
5256         Bump version number, we're now 0.9.0
5257         Add future debugging category.
5258         Fix NULL _unref() in _get_by_name_recurse_up
5259         Rearrange gstpad.h.
5260         Update some docs.
5261
5262 2005-03-08  Wim Taymans  <wim@fluendo.com>
5263
5264         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5265         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5266         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5267         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5268         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5269         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5270         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5271         * gst/elements/gstidentity.c: (gst_identity_class_init):
5272         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5273         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5274         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5275         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5276         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5277         (gst_tee_link):
5278         * gst/gstelement.c: (gst_element_class_init),
5279         (gst_element_base_class_init), (gst_element_init),
5280         (gst_element_get_random_pad), (gst_element_wait_state_change),
5281         (gst_element_change_state), (gst_element_dispose),
5282         (gst_element_finalize), (gst_element_set_loop_function):
5283         * gst/gstelement.h:
5284         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5285         * gst/gstthread.c: (gst_thread_class_init),
5286         (gst_thread_release_children_locks), (gst_thread_change_state):
5287         * gst/schedulers/gstbasicscheduler.c:
5288         (gst_basic_scheduler_loopfunc_wrapper),
5289         (gst_basic_scheduler_chain_wrapper),
5290         (gst_basic_scheduler_src_wrapper),
5291         (gst_basic_scheduler_remove_element):
5292         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5293         Remove threadsafe properties. Fix elements because GObject
5294         complains when installing a property before declaring a
5295         set/get_property handler.
5296         Rearrange gstelement.h file, use STATE macros for state locks.
5297         Free mutexes in the finalize method instead of dispose.
5298
5299 2005-03-08  Wim Taymans  <wim@fluendo.com>
5300
5301         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5302         * gst/gstthread.c: (gst_thread_release_children_locks):
5303         Added parentage check.
5304         Fix build og GstThread again.
5305
5306 2005-03-08  Wim Taymans  <wim@fluendo.com>
5307
5308         * docs/design/part-MT-refcounting.txt:
5309         * docs/design/part-conventions.txt:
5310         * docs/design/part-gstobject.txt:
5311         * docs/design/part-relations.txt:
5312         * docs/design/part-standards.txt:
5313         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5314         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5315         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5316         (gst_bin_iterate_all_by_interface):
5317         * gst/gstbuffer.h:
5318         * gst/gstclock.h:
5319         * gst/gstelement.c: (gst_element_class_init),
5320         (gst_element_change_state), (gst_element_set_loop_function):
5321         * gst/gstelement.h:
5322         * gst/gstiterator.c:
5323         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5324         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5325         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5326         (gst_object_set_parent), (gst_object_unparent),
5327         (gst_object_check_uniqueness):
5328         * gst/gstobject.h:
5329         Docs updates, clean up some headers.
5330
5331 2005-03-07  Wim Taymans  <wim@fluendo.com>
5332
5333         * check/.cvsignore:
5334         * check/Makefile.am:
5335         * check/gst-libs/.cvsignore:
5336         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5337         * check/gst/.cvsignore:
5338         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5339         (START_TEST), (gstbus_suite), (main):
5340         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5341         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5342         (gst_data_suite), (main):
5343         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5344         (add_fold_func), (gstiterator_suite), (main):
5345         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5346         (thread_name_object), (thread_name_object_default),
5347         (gst_object_name_compare), (gst_object_suite), (main):
5348         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5349         (gst_pad_suite), (main):
5350         * check/gstcheck.c: (gst_check_log_message_func),
5351         (gst_check_log_critical_func), (gst_check_init):
5352         * check/gstcheck.h:
5353         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5354         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5355         Added checks.
5356
5357 2005-03-07  Wim Taymans  <wim@fluendo.com>
5358
5359         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5360         (gst_list_iterator_next), (gst_list_iterator_resync),
5361         (gst_list_iterator_free), (gst_iterator_new_list),
5362         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5363         (gst_iterator_free), (gst_iterator_push), (filter_next),
5364         (filter_resync), (filter_uninit), (filter_free),
5365         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5366         (gst_iterator_foreach), (find_custom_fold_func),
5367         (gst_iterator_find_custom):
5368         * gst/gstiterator.h:
5369         Added missing files.
5370
5371 2005-03-07  Wim Taymans  <wim@fluendo.com>
5372
5373         * Makefile.am:
5374         * configure.ac:
5375         * docs/design/part-MT-refcounting.txt:
5376         * docs/design/part-conventions.txt:
5377         * docs/design/part-gstobject.txt:
5378         * docs/design/part-relations.txt:
5379         * examples/mixer/mixer.c: (main):
5380         * examples/thread/thread.c: (eos), (main):
5381         * gst/Makefile.am:
5382         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5383         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5384         (gst_spider_plug_from_srcpad):
5385         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5386         (gst_spider_identity_change_state),
5387         (gst_spider_identity_sink_loop_type_finding):
5388         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5389         * gst/elements/gstidentity.c: (gst_identity_init):
5390         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5391         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5392         * gst/elements/gsttypefindelement.c: (free_entry):
5393         * gst/gst.c:
5394         * gst/gst.h:
5395         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5396         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5397         (gst_bin_set_index), (gst_bin_set_element_sched),
5398         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5399         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5400         (gst_bin_iterate_elements), (iterate_child_recurse),
5401         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5402         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5403         (compare_interface), (gst_bin_get_by_interface),
5404         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5405         * gst/gstbin.h:
5406         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5407         (gst_buffer_default_free), (gst_buffer_default_copy),
5408         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5409         (gst_buffer_create_sub):
5410         * gst/gstbuffer.h:
5411         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5412         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5413         (gst_caps_unref), (gst_static_caps_get),
5414         (gst_caps_remove_and_get_structure), (gst_caps_append),
5415         (gst_caps_append_structure), (gst_caps_remove_structure),
5416         (gst_caps_copy_nth), (gst_caps_set_simple),
5417         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5418         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5419         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5420         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5421         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5422         (gst_caps_structure_figure_out_union),
5423         (gst_caps_switch_structures), (gst_caps_do_simplify),
5424         (gst_caps_replace), (gst_caps_from_string),
5425         (gst_caps_copy_conditional):
5426         * gst/gstcaps.h:
5427         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5428         (_gst_clock_id_free), (gst_clock_id_unref),
5429         (gst_clock_id_compare_func), (gst_clock_id_wait),
5430         (gst_clock_id_wait_async), (gst_clock_class_init),
5431         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5432         (gst_clock_get_time), (gst_clock_set_time_adjust),
5433         (gst_clock_set_property), (gst_clock_get_property):
5434         * gst/gstclock.h:
5435         * gst/gstcompat.h:
5436         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5437         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5438         * gst/gstdata.h:
5439         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5440         (gst_element_requires_clock), (gst_element_provides_clock),
5441         (gst_element_set_clock), (gst_element_clock_wait),
5442         (gst_element_wait), (gst_element_set_time_delay),
5443         (gst_element_is_indexable), (gst_element_add_pad),
5444         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5445         (pad_compare_name), (gst_element_get_static_pad),
5446         (gst_element_request_pad), (gst_element_get_request_pad),
5447         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5448         (gst_element_class_get_pad_template_list),
5449         (gst_element_class_get_pad_template), (gst_element_error_func),
5450         (gst_element_get_random_pad), (gst_element_get_event_masks),
5451         (gst_element_send_event), (gst_element_seek),
5452         (gst_element_get_query_types), (gst_element_query),
5453         (gst_element_get_formats), (gst_element_convert),
5454         (gst_element_is_locked_state), (gst_element_set_locked_state),
5455         (gst_element_sync_state_with_parent), (gst_element_change_state),
5456         (gst_element_finalize), (gst_element_yield),
5457         (gst_element_interrupt), (gst_element_set_scheduler),
5458         (gst_element_get_scheduler), (gst_element_set_loop_function):
5459         * gst/gstelement.h:
5460         * gst/gstevent.h:
5461         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5462         (gst_format_get_by_nick), (gst_format_get_details),
5463         (gst_format_iterate_definitions):
5464         * gst/gstformat.h:
5465         * gst/gstindex.c: (gst_index_gtype_resolver):
5466         * gst/gstinfo.c:
5467         * gst/gstinfo.h:
5468         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5469         (gst_mem_chunk_free):
5470         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5471         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5472         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5473         (gst_object_dispatch_properties_changed),
5474         (gst_object_set_name_default), (gst_object_set_name),
5475         (gst_object_get_name), (gst_object_set_name_prefix),
5476         (gst_object_get_name_prefix), (gst_object_set_parent),
5477         (gst_object_get_parent), (gst_object_unparent),
5478         (gst_object_check_uniqueness), (gst_object_save_thyself),
5479         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5480         (gst_object_set_property), (gst_object_get_property),
5481         (gst_object_get_path_string):
5482         * gst/gstobject.h:
5483         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5484         (gst_real_pad_init), (gst_real_pad_get_property),
5485         (gst_pad_custom_new), (gst_pad_get_direction),
5486         (gst_pad_set_active), (gst_pad_is_active),
5487         (gst_pad_set_event_function), (gst_pad_is_linked),
5488         (gst_pad_link_free), (gst_pad_link_intersect),
5489         (gst_pad_link_fixate), (gst_pad_set_caps),
5490         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5491         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5492         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5493         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5494         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5495         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5496         (gst_pad_realize), (gst_pad_get_allowed_caps),
5497         (gst_real_pad_dispose), (gst_real_pad_finalize),
5498         (gst_pad_collectv), (gst_pad_collect_valist),
5499         (gst_pad_template_dispose), (gst_pad_template_new),
5500         (gst_pad_get_internal_links):
5501         * gst/gstpad.h:
5502         * gst/gstpipeline.c: (gst_pipeline_dispose),
5503         (gst_pipeline_change_state):
5504         * gst/gstpipeline.h:
5505         * gst/gstplugin.c:
5506         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5507         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5508         * gst/gstpluginfeature.h:
5509         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5510         * gst/gstquery.c: (_gst_query_type_initialize),
5511         (gst_query_type_register), (gst_query_type_get_by_nick),
5512         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5513         * gst/gstquery.h:
5514         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5515         * gst/gstscheduler.c: (gst_scheduler_add_element),
5516         (gst_scheduler_factory_create):
5517         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5518         (gst_structure_free), (gst_structure_set_name),
5519         (gst_structure_id_set_value), (gst_structure_set_value),
5520         (gst_structure_set_valist), (gst_structure_remove_field),
5521         (gst_structure_remove_fields),
5522         (gst_structure_remove_fields_valist),
5523         (gst_structure_remove_all_fields), (gst_structure_foreach),
5524         (gst_structure_map_in_place),
5525         (gst_caps_structure_fixate_field_nearest_int),
5526         (gst_caps_structure_fixate_field_nearest_double):
5527         * gst/gststructure.h:
5528         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5529         (gst_system_clock_init), (gst_system_clock_dispose),
5530         (gst_system_clock_async_thread),
5531         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5532         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5533         * gst/gstsystemclock.h:
5534         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5535         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5536         * gst/gsttaginterface.c:
5537         * gst/gstthread.c: (gst_thread_dispose),
5538         (gst_thread_release_children_locks), (gst_thread_change_state),
5539         (gst_thread_main_loop):
5540         * gst/gsttrashstack.h:
5541         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5542         * gst/gsttypes.h:
5543         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5544         (gst_element_request_pad), (gst_element_get_pad_from_template),
5545         (gst_element_request_compatible_pad),
5546         (gst_element_get_compatible_pad_filtered),
5547         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5548         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5549         (gst_element_link_many), (gst_element_link),
5550         (gst_element_link_pads), (gst_element_unlink_pads),
5551         (gst_element_unlink_many), (gst_element_unlink),
5552         (gst_pad_can_link_filtered), (gst_pad_can_link),
5553         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5554         (gst_object_default_error), (gst_bin_add_many),
5555         (gst_bin_remove_many), (gst_element_populate_std_props),
5556         (gst_element_class_install_std_props), (gst_buffer_merge),
5557         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5558         (link_fold_func), (gst_pad_proxy_setcaps):
5559         * gst/gstutils.h:
5560         * gst/gstvalue.c: (gst_value_deserialize_string):
5561         * gst/parse/grammar.y:
5562         * gst/schedulers/gstbasicscheduler.c:
5563         (gst_basic_scheduler_cothreaded_chain),
5564         (gst_basic_scheduler_chain_recursive_add),
5565         (gst_basic_scheduler_pad_link):
5566         * gst/schedulers/gstoptimalscheduler.c:
5567         (get_group_schedule_function),
5568         (gst_opt_scheduler_state_transition),
5569         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5570         * libs/gst/bytestream/bytestream.c:
5571         * libs/gst/dataprotocol/dataprotocol.c:
5572         (gst_dp_header_from_buffer):
5573         * po/nb.po:
5574         * po/ru.po:
5575         * tests/threadstate/threadstate2.c: (eos):
5576         * tools/gst-compprep.c: (main):
5577         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5578         (print_pad_info), (print_children_info):
5579         * tools/gst-launch.c: (idle_func), (main):
5580         * tools/gst-md5sum.c: (idle_func), (main):
5581         * tools/gst-xmlinspect.c: (print_element_info):
5582         First THREADED backport attempt, focusing on adding locks and
5583         making sure the API is threadsafe. Needs more work. More docs
5584         follow this week.
5585
5586 2005-02-24  Andy Wingo  <wingo@pobox.com>
5587
5588         * tests/bench-complexity.scm:
5589         * tests/complexity.gnuplot: New files, good for running complexity
5590         benchmarks.
5591
5592         * tests/Makefile.am:
5593         * tests/complexity.c: New test, sets up N elements, at each level
5594         teeing into M streams per element. Eeeenteresting.
5595
5596         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5597         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5598         running bench-mass_elements.scm.
5599
5600         * tests/bench-mass_elements.scm: New script, runs mass_elements
5601         for various numbers of identities, outputting the results to a
5602         file. Requires guile 1.6. Just for testing.
5603
5604 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5605
5606         * gst/schedulers/fairscheduler.c:
5607           compile with debug disabled
5608
5609 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5610
5611         * configure.ac:
5612           hunting season on 0.9 is now OPEN
5613
5614 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5615
5616         * docs/libs/tmpl/gstcontrol.sgml:
5617         * docs/libs/tmpl/gstdparam.sgml:
5618         * docs/libs/tmpl/gstdplinint.sgml:
5619         * docs/libs/tmpl/gstdpman.sgml:
5620         * docs/libs/tmpl/gstdpsmooth.sgml:
5621         * docs/libs/tmpl/gstunitconvert.sgml:
5622           more docs for the state of dparams
5623
5624 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5625
5626         * gst/gstelementfactory.c: (gst_element_factory_create):
5627         * gst/gstobject.c: (gst_object_init),
5628         (gst_object_set_name_default), (gst_object_set_name):
5629           name objects by default, not in gst_element_factory_create. Allows
5630           using elements created with g_object_new. (fixes #167283)
5631
5632 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5633
5634         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5635           make the time that debugging functions print relative to when
5636           gst_init was called
5637
5638 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5639
5640         * gst/gsttaginterface.c:
5641           Fix inline docs: tag setter vararg functions are NULL-terminated,
5642           GST_TAG_INVALID doesn't exist any more.
5643
5644 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5645
5646         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5647         Allocate the 1 byte more memory that was forgotten!!!!!
5648         fixes memory corruption on 64bit platforms
5649
5650 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5651
5652         * docs/pwg/building-pads.xml:
5653         * docs/pwg/intro-basics.xml:
5654           fixed a few typos, relabeled introductionary list of types
5655         * docs/random/ensonic/dparams.txt:
5656           more notes abut dparam changes
5657         * libs/gst/control/dparam.c: (gst_dparam_attach):
5658         * libs/gst/control/dparammanager.c:
5659         * libs/gst/control/dparammanager.h:
5660           - many comments and notes on dparam implementation
5661           - new dparams are were not initialized to the default value
5662             from param spec
5663
5664 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5665
5666         submitted by: Peter Astakhov
5667
5668         * po/LINGUAS:
5669         * po/ru.po:
5670           adding Russian translation
5671
5672 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5673
5674         * configure.ac:
5675         * docs/gst/Makefile.am:
5676         * docs/libs/Makefile.am:
5677           make sure popt is added to gtk-doc flags.  Fixes #147782.
5678
5679 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5680
5681         * docs/faq/using.xml:
5682           Fix typo in FAQ (artssink => artsdsink)
5683
5684 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5685
5686         * tools/gst-launch.1.in:
5687           Fix typo (#166699).
5688
5689 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5690
5691         * docs/faq/using.xml:
5692           Add -v argument to fakesrc/fakesink gst-launch line,
5693           so that the promised output will actually show up.
5694
5695 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5696
5697         * gst/gstthread.c: (gst_thread_change_state):
5698           Implement state-change error handling (#166073).
5699
5700 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5701
5702         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5703           Release interrupt after handling (#166250).
5704
5705 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5706
5707         * configure.ac:
5708           back to HEAD
5709
5710 === release 0.8.9 ===
5711
5712 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5713
5714         * NEWS:
5715         * RELEASE:
5716         * configure.ac:
5717           releasing 0.8.9, "Like Eating Glass"
5718
5719 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5720
5721         submitted by: Clytie Siddall
5722
5723         * po/vi.po: Added Vietnamese translation
5724
5725 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         patch by: Tim Philipp-Müller
5728
5729         * configure.ac:
5730         * gst/gstpad.c:
5731           unref data when probe function returns FALSE.  Fixes #166362
5732
5733 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5734
5735         * gst/gst.c: (gst_init_get_popt_table):
5736           Fix typo (#166269).
5737
5738 2005-02-04  Andy Wingo  <wingo@pobox.com>
5739
5740         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5741         the debugging on whether the caps are compatible.
5742
5743 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5744
5745         * docs/manual/basics-elements.xml:
5746           Fix two typos.
5747
5748 2005-02-02  Wim Taymans  <wim@fluendo.com>
5749
5750         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5751         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5752         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5753         Remove some FIXMEs after analysing and commenting why they
5754         are not issues.
5755
5756 2005-02-02  Wim Taymans  <wim@fluendo.com>
5757
5758         * gst/schedulers/gstoptimalscheduler.c:
5759         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5760         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5761         (get_invalid_call), (chain_invalid_call),
5762         (get_group_schedule_function), (loop_group_schedule_function),
5763         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5764         (gst_opt_scheduler_state_transition),
5765         (gst_opt_scheduler_add_element),
5766         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5767         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5768         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5769         (gst_opt_scheduler_show):
5770         Added lock to protect scheduler data structures.
5771
5772 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5773
5774         * testsuite/threads/threadi.c: (cb_data):
5775           Fix buglet in test.
5776
5777 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5778
5779         * testsuite/threads/Makefile.am:
5780         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5781           On Wim's request, split the test in three separately-compiled
5782           tests that each test a very specific bug. Two of them still fail,
5783           will create bugs for those. threadi.c indicates why they fail.
5784
5785 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5786
5787         * gst/schedulers/gstoptimalscheduler.c:
5788         (get_group_schedule_function):
5789           Try to work with the threading mess that queue_link is.
5790
5791 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5792
5793         * gst/gstbin.c: (gst_bin_remove_func):
5794           Explicitely make an element release locks in a group when being
5795           remove from a bin.
5796         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5797           If there's no scheduler, always return immediately (similar to
5798           gst_element_interrupt).
5799
5800 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5801
5802         * gst/gstbin.c: (gst_bin_child_state_change_func):
5803           Remove a piece of code that could never be reached.
5804         * docs/gst/gstreamer-sections.txt:
5805         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5806         (gst_pad_call_get_function):
5807         * gst/gstpad.h:
5808         * testsuite/pad/Makefile.am:
5809           Fix #150546, enable tests.
5810
5811 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5812
5813         * docs/pwg/advanced-types.xml:
5814           Fix description for buffer-frames=0.
5815         * docs/gst/tmpl/gstbin.sgml:
5816         * gst/gstbin.c: (gst_bin_child_state_change_func),
5817         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5818         * gst/gstbin.h:
5819         * testsuite/threads/Makefile.am:
5820         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5821         (cb_state), (cb_play), (main):
5822           Fix non-recursive state changes to *really* change the state
5823           of the object, and not just call parent_class->state_change.
5824           Fix a lot of lockups caused by this. Fixes #132775. Add test
5825           for the problem. Also enable test to show #142588 (fixed).
5826         * gst/gstthread.c: (gst_thread_change_state),
5827         (gst_thread_child_state_change):
5828           Don't exit the thread if we go to NULL and are inside thread
5829           context. Instead, return control to the main thread context
5830           and exit from there.
5831         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5832           Don't unset virtual functions, since those may still be used.
5833           That's not necessarily correct, but suffices for now.
5834         * configure.ac:
5835         * testsuite/Makefile.am:
5836         * testsuite/pad/Makefile.am:
5837         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5838         (gst_test_sink_base_init), (gst_test_sink_chain),
5839         (gst_test_sink_init), (main):
5840         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5841         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5842         (main):
5843         * testsuite/pad/link.c: (gst_test_element_class_init),
5844         (gst_test_element_base_init), (gst_test_src_get),
5845         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5846         (gst_test_filter_loop), (gst_test_filter_init),
5847         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5848         (cb_error), (main):
5849           Add tests to show #150546. Pass, but should fail (currently
5850           disabled from the testsuite).
5851         * gst/gstscheduler.c: (gst_scheduler_dispose):
5852           Dereference child schedulers on dispose (#94464).
5853         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5854           Fix typo.
5855         * testsuite/threads/thread.c: (main):
5856           Add more debug.
5857
5858 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5859
5860         * gst/gstpad.c: (gst_pad_push):
5861           Oops, revert previous commit, broke testsuite...
5862
5863 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5864
5865         * gst/gstpad.c: (gst_pad_push):
5866           Add check that the pad on which the push is performed is not a
5867           get-based pad (#150546).
5868
5869 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5870
5871         * gst/elements/gsttypefindelement.c:
5872         (gst_type_find_element_handle_event):
5873           Fix buffer pushing if stream EOSes during typefinding.
5874
5875 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5876
5877         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5878
5879         * gst/gstvalue.c: (gst_string_wrap):
5880           Allow NULL-strings as argument (#165365).
5881
5882 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5883
5884         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5885
5886         * gst/schedulers/faircothreads.c:
5887         (gst_fair_scheduler_cothread_queue_show):
5888           Fix build without debug enabled.
5889
5890 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5891
5892         * docs/gst/gstreamer-sections.txt:
5893         * docs/libs/gstreamer-libs-docs.sgml:
5894         * docs/libs/gstreamer-libs-sections.txt:
5895         * docs/libs/tmpl/gstcontrol.sgml:
5896         * docs/libs/tmpl/gstdparam.sgml:
5897         * docs/libs/tmpl/gstdplinint.sgml:
5898         * docs/libs/tmpl/gstdpman.sgml:
5899         * docs/libs/tmpl/gstdpsmooth.sgml:
5900         * docs/libs/tmpl/gstputbits.sgml:
5901         * docs/libs/tmpl/gstunitconvert.sgml:
5902         * libs/gst/control/dparam.c:
5903         * libs/gst/control/dparam.h:
5904         * libs/gst/control/dparammanager.c:
5905         (gst_dpman_add_required_dparam_callback),
5906         (gst_dpman_add_required_dparam_direct),
5907         (gst_dpman_add_required_dparam_array),
5908         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5909         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5910         (gst_dpman_get_manager)
5911           restructured DParam docs
5912
5913 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5914
5915         * gst-element-check.m4:
5916           Only check for gst-inspect if we haven't already
5917           found it in previous element check runs
5918
5919 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5920
5921         * docs/gst/Makefile.am:
5922         * docs/libs/Makefile.am:
5923           fixed install rules to treat style.css as optional
5924
5925 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5926
5927         * docs/gst/Makefile.am:
5928         * docs/libs/Makefile.am:
5929           install style.css along with docs
5930         * docs/gst/tmpl/gstbin.sgml:
5931         * docs/gst/tmpl/gstclock.sgml:
5932         * docs/gst/tmpl/gstdata.sgml:
5933         * docs/gst/tmpl/gstelement.sgml:
5934         * gst/gstbin.h:
5935         * gst/gstelement.c: (gst_element_class_init):
5936         * gst/gstelement.h:
5937           fixing incomplete docs
5938
5939 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5940
5941         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5942           Don't unref seek event twice when fflush() fails
5943           
5944 2005-01-22  David Schleef  <ds@schleef.org>
5945
5946         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5947
5948 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5949
5950         * docs/gst/Makefile.am:
5951         * docs/libs/Makefile.am:
5952           added params for deprecation guards
5953         * gst/gst.c:
5954         * gst/gst.h:
5955         * gst/gsterror.c: (_gst_resource_errors_init),
5956         (_gst_stream_errors_init):
5957         * gst/gsterror.h:
5958           documented some more enums
5959
5960 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5961         * gst/autoplug/gstspideridentity.c:
5962         Cosmetic fix - spider_find_peek should be static
5963         * gst/parse/parse.l:
5964         Applying fix for #164261
5965
5966 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5967
5968         * docs/gst/gstreamer-sections.txt:
5969         * docs/gst/tmpl/gstplugin.sgml:
5970         * docs/libs/gstreamer-libs-sections.txt:
5971         * docs/libs/tmpl/gstcontrol.sgml:
5972         * gst/gstbuffer.h:
5973         * gst/gsttag.h:
5974         * gst/gstvalue.c:
5975           added docs for the TAG defines
5976
5977 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5978
5979         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5980           Only unref entry if there is an entry.
5981
5982 2005-01-17  Wim Taymans  <wim@fluendo.com>
5983
5984         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5985         (remove_from_group), (schedule_group), (normalize_group),
5986         (gst_opt_scheduler_iterate):
5987         Also ref/unref decoupled elements before iterating the
5988         group since they are not added to the list of elements.
5989
5990 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5991
5992         * docs/manual/highlevel-components.xml:
5993           Add subtitle/streamselection as new features to playbin.
5994
5995 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5996
5997         * docs/manual/manual.xml:
5998           Re-enable dataaccess docs (oops).
5999
6000 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6001
6002         * docs/pwg/advanced-types.xml:
6003         * docs/random/mimetypes:
6004           Add documentation on libsndfile types (#163309), by Steve Baker
6005           <steve@stevebaker.org>.
6006         * gst/gstelement.c: (gst_element_release_request_pad):
6007           If an element has no explicit function, just remove the pad.
6008
6009 2005-01-17  Luca Ognibene  <luogni@tin.it>
6010
6011         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6012
6013         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6014           Fix memleak (#163801).
6015
6016 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6017
6018         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6019           I think this is actually more correct...
6020
6021 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6022
6023         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6024           Another workaround for memory access while destroyed in callback.
6025           Please, someone with refcount knowledge, have a look at this.
6026
6027 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         * docs/faq/faq.xml:
6030         * docs/faq/legal.xml:
6031           move the legal Q&A here
6032
6033 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6034
6035         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6036         (gst_tee_request_new_pad):
6037           Fix negotiation.
6038
6039 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6040
6041         * docs/random/omega/caps2:
6042         * testsuite/caps/caps_strings:
6043           replace framerate aproximations by their real value
6044           (24000/1001, 30000/1001, 60000/1001)
6045           Partially fixes bug #164049
6046
6047 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6048
6049         * docs/gst/Makefile.am:
6050           don't fail on the stupid GstPoptOption
6051
6052 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6053
6054         * gst/gstpad.h:
6055         * gst/gstprobe.c:
6056           allow probes to work on ghost pads by realizing the pad
6057           probe debugging
6058
6059 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6060
6061         * docs/gst/gstreamer-sections.txt:
6062         * docs/gst/tmpl/gstpad.sgml:
6063         * gst/gstpad.c: (gst_pad_set_active_recursive):
6064         * gst/gstpad.h:
6065           Add gst_pad_set_active_recursive().
6066
6067 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6068
6069         * docs/random/release:
6070           updates
6071         * gst/gst_private.h:
6072         * gst/gstinfo.c:
6073         * gst/gstobject.c:
6074           move deep_notify logging to a new category
6075         * gst/gstprobe.c:
6076         * gst/gstprobe.h:
6077           add stuff so bindings can wrap probes
6078
6079 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6080
6081         * gst/gstplugin.c: (gst_plugin_load):
6082           Fix plugin loading if plugin/lib was already loaded. Fixes
6083           #163383
6084
6085 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6086
6087         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6088
6089         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6090           Protect plugin loading by a mutex so it's threadsafe. Fixes
6091           #163234.
6092
6093 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6094
6095         * gst/gstevent.c: (_gst_event_copy):
6096           Reference source object when copying events, since it'll be
6097           dereferenced on event dereferencing as well.
6098
6099 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6100
6101         * docs/gst/gstreamer-sections.txt:
6102         * docs/gst/tmpl/gstevent.sgml:
6103         * gst/gstevent.c: (gst_event_new_filler_stamped),
6104         (gst_event_filler_get_duration):
6105         * gst/gstevent.h:
6106           Add two new functions for filler events (which are used to
6107           synchronize streams if one of them is not having any data
6108           for a while) without interrupting the actual data-stream.
6109           Basically a no-op.
6110         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6111         (gst_queue_link_sink), (gst_queue_link_src),
6112         (gst_queue_change_state):
6113           Allow for renegotiation while filled. Required for stream
6114           switching while playing.
6115
6116 2005-01-08  Benjamin Otte  <otte@gnome.org>
6117
6118         * gst/gstelement.c: (gst_element_link_many):
6119           fix up g_return_if_fail's
6120         * po/LINGUAS:
6121         * po/de.po:
6122           add German translation, that was somehow not included
6123
6124 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6125
6126         * docs/random/mimetypes:
6127           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6128           do not add them to riff-lib as they are not common
6129
6130 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6131
6132         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6133           Check for existence of probe after performing the probe before
6134           re-accessing it to prevent segfaults caused by removal of the
6135           probe in the callback.
6136
6137 2005-01-05  David Schleef  <ds@schleef.org>
6138
6139         * testsuite/registry/Makefile.am:
6140         * testsuite/registry/gst-print-formats.c:
6141         (print_pad_templates_info), (print_element_list),
6142         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6143         (g_list_uniqify), (get_pad_templates_info),
6144         (get_element_mime_list), (print_mime_list), (main): A little
6145         program that looks through the registry to find elements of
6146         a given type.  Not particularly interesting as a test, except
6147         that there's no other test covering the same area.
6148
6149 2005-01-05  David Schleef  <ds@schleef.org>
6150
6151         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6152         (fault_handler_sigaction), (fault_spin),
6153         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6154         in signal.h-type signal handlers by not calling forbidden functions,
6155         including gst_element_set_state().
6156
6157 2005-01-05  David Schleef  <ds@schleef.org>
6158
6159         * gst/gstvalue.h: Mark _gst_reserved[] as private
6160
6161 2005-01-05  David Schleef  <ds@schleef.org>
6162
6163         * gst/gstvalue.c: Fix doc build problem.
6164
6165 2005-01-05  David Schleef  <ds@schleef.org>
6166
6167         * gst/gstvalue.c: Add some documentation
6168
6169 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6170
6171         * docs/README:
6172           another shell oneliner for empty return value docs
6173         * gst/gstcaps.c:
6174         * gst/gstvalue.c:
6175         * libs/gst/control/dparam.c:
6176           more doc fixes (parameters and return values)
6177
6178 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6179
6180         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6181
6182         * gst/gstregistry.h:
6183         * gst/registries/gstxmlregistry.c:
6184           Fix macro's for Mingw (fixes #162276).
6185
6186 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6187
6188         * docs/README:
6189           quick shell oneliner to find undocumented members
6190         * docs/gst/tmpl/gstplugin.sgml:
6191         * docs/gst/tmpl/gstscheduler.sgml:
6192         * docs/gst/tmpl/gstthread.sgml:
6193           more enumtypes cleanup
6194         * gst/gsterror.h:
6195           activated documentation comments, now someone needs to document
6196           the enums :(
6197
6198 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6199
6200         * docs/manual/manual.xml:
6201           Add dataaccess part (doh!).
6202
6203 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6204
6205         * docs/manual/advanced-autoplugging.xml:
6206           Fix typo (intiate -> initiate).
6207
6208 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6209
6210         * docs/random/bbb/streamselection:
6211           Add some notes on how to handle multi-subtitle/-audio streams.
6212
6213 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * docs/gst/gstreamer-docs.sgml:
6216         * docs/gst/gstreamer-sections.txt:
6217         * docs/gst/tmpl/gstenumtypes.sgml:
6218         * docs/gst/tmpl/gsterror.sgml:
6219         * docs/gst/tmpl/gstevent.sgml:
6220         * docs/gst/tmpl/gstpad.sgml:
6221         * docs/gst/tmpl/gstpadtemplate.sgml:
6222         * docs/gst/tmpl/gstthread.sgml:
6223           removed gstenumtypes section from docs and put all the enums into
6224           their sections
6225
6226 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6227
6228         * gst/gstplugin.c:
6229           document gst_library_load a bit more (riff special case + return
6230           value if already loaded)
6231         * testsuite/bytestream/filepadsink.c:
6232           plugin name is 'gstbytestream', not 'bytestream'
6233
6234 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6235
6236         * docs/random/bbb/subtitles:
6237           Add some first mind rumblings on proper subtitle support.
6238
6239 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6240
6241         * po/ca.po:
6242         * po/sv.po:
6243           updated translations
6244
6245 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6246
6247         * docs/manual/advanced-dataaccess.xml:
6248           Add section on how to use fakesrc/fakesink/identity in your
6249           application, plus section on how to embed plugins. Also mention
6250           probes.
6251         * docs/manual/appendix-checklist.xml:
6252         * docs/manual/appendix-debugging.xml:
6253         * docs/manual/appendix-gnome.xml:
6254         * docs/manual/appendix-integration.xml:
6255           Debug -> checklist, GNOME -> integration, add sections on Linux,
6256           KDE integration and add other things useful for application
6257           development.
6258         * docs/manual/manual.xml:
6259           Remove some fixmes, update some file pointers.
6260         * docs/pwg/appendix-checklist.xml:
6261           Fix typo.
6262         * docs/pwg/building-boiler.xml:
6263           Remove ugly header and add commented fixme.
6264         * docs/pwg/pwg.xml:
6265           Add fixme.
6266         * examples/manual/Makefile.am:
6267           Add example for added docs.
6268
6269 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6270
6271         * configure.ac:
6272           back to HEAD
6273
6274 === release 0.8.8 ===
6275
6276 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6277
6278         * NEWS:
6279         * RELEASE:
6280         * configure.ac:
6281           Releasing 0.8.8, "I'll Take Care Of You"
6282
6283 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * configure.ac:
6286           second prerelease
6287
6288 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6289
6290         patch by: Wim Taymans
6291
6292         * gst/gstbin.c:
6293           Fix for #159852 - make iterate emission threadsafe
6294
6295 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6296
6297         * docs/faq/cvs.xml:
6298           notes about new fdo account request
6299
6300 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6301
6302         * docs/gst/gstreamer-docs.sgml:
6303         * docs/gst/tmpl/gstenumtypes.sgml:
6304         * docs/gst/tmpl/gstplugin.sgml:
6305         * docs/libs/gstreamer-libs-docs.sgml:
6306           Added missing short docs. Added ids for navigation.
6307
6308 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6309
6310         * docs/manual/advanced-autoplugging.xml:
6311         * docs/manual/advanced-schedulers.xml:
6312         * docs/manual/advanced-threads.xml:
6313           Rewrites. Remove cothreads, go a bit into opt specifically,
6314           document threads and their gotchas, and do some technical stuff
6315           on autoplugging plus add some working examples. Fixes #157395.
6316         * examples/manual/Makefile.am:
6317           Add typefind/autoplugger example (one that actually works).
6318           Remove queue example since it's a duplicate of the thread one.
6319
6320 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6321
6322         * gst/gstvalue.c: (gst_value_deserialize_string):
6323           use deprecated g_value_set_string_take_ownership to keep compatible
6324           with glib 2.2
6325
6326 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6327
6328         * gst/gstvalue.c: (gst_value_deserialize_string):
6329           revert last patch, only dom a g_utf8_validate now before accepting
6330           the string - caps parsing strips " from strings so we can't rely on
6331           them
6332         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6333           disable a test that tested the above and comment it
6334
6335 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6336
6337         Patch reviewed by David Schleef  <ds@schleef.org>
6338
6339         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6340         bug #153882)
6341         * win32/gstenumtypes.h: same
6342
6343 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6344
6345         * gst/gstpad.c: (gst_pad_query):
6346           Do query on realized pad, similar to how convert/send_event handle
6347           this. Also makes sense, since this pad belongs to the function to
6348           which this query will be sent. Fixes #158163.
6349
6350 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6351
6352         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6353
6354 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6355
6356         * docs/faq/general.xml: fix pipeline to actually work
6357
6358 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6359
6360         * gst/gstvalue.c: (gst_value_deserialize_string):
6361           check that a simple string that gets deserialized does not contain
6362           invalid characters
6363         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6364           remove a test that tested a wring behaviour
6365
6366 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6367
6368         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6369
6370         * docs/manual/intro-motivation.xml:
6371           Fix typos.
6372
6373 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6374
6375         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6376
6377         * docs/gst/tmpl/gstprobe.sgml:
6378           Fix documentation of probe callback - it is supposed to return
6379           FALSE, not TRUE, to remove data from the stream (#159087).
6380
6381 2004-12-16  Daniel Gazard  <dany42@free.fr>
6382
6383         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6384
6385         * gst/gstelementfactory.c: (gst_element_factory_create):
6386           Fix compile failure if compiling without libxml2 support (#149936).
6387
6388 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6389
6390         * docs/manual/advanced-autoplugging.xml:
6391         * docs/manual/highlevel-components.xml:
6392           Move spider from autoplugging to components. Autoplugging is for
6393           internals, not for solutions. ;-).
6394
6395 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6396
6397         * docs/random/ds/0.9-suggested-changes:
6398           Make note on device/location/uri property names.
6399
6400 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6401
6402         * docs/manual/advanced-autoplugging.xml:
6403         * docs/manual/advanced-clocks.xml:
6404         * docs/manual/advanced-interfaces.xml:
6405         * docs/manual/advanced-metadata.xml:
6406         * docs/manual/advanced-position.xml:
6407         * docs/manual/advanced-schedulers.xml:
6408         * docs/manual/advanced-threads.xml:
6409         * docs/manual/appendix-gnome.xml:
6410         * docs/manual/appendix-programs.xml:
6411         * docs/manual/appendix-quotes.xml:
6412         * docs/manual/autoplugging.xml:
6413         * docs/manual/basics-bins.xml:
6414         * docs/manual/basics-data.xml:
6415         * docs/manual/basics-elements.xml:
6416         * docs/manual/basics-helloworld.xml:
6417         * docs/manual/basics-init.xml:
6418         * docs/manual/basics-pads.xml:
6419         * docs/manual/basics-plugins.xml:
6420         * docs/manual/bins-api.xml:
6421         * docs/manual/bins.xml:
6422         * docs/manual/buffers-api.xml:
6423         * docs/manual/buffers.xml:
6424         * docs/manual/clocks.xml:
6425         * docs/manual/components.xml:
6426         * docs/manual/cothreads.xml:
6427         * docs/manual/debugging.xml:
6428         * docs/manual/dparams-app.xml:
6429         * docs/manual/dynamic.xml:
6430         * docs/manual/elements-api.xml:
6431         * docs/manual/elements.xml:
6432         * docs/manual/factories.xml:
6433         * docs/manual/gnome.xml:
6434         * docs/manual/goals.xml:
6435         * docs/manual/helloworld.xml:
6436         * docs/manual/helloworld2.xml:
6437         * docs/manual/highlevel-components.xml:
6438         * docs/manual/highlevel-xml.xml:
6439         * docs/manual/init-api.xml:
6440         * docs/manual/intro-basics.xml:
6441         * docs/manual/intro-motivation.xml:
6442         * docs/manual/intro-preface.xml:
6443         * docs/manual/intro.xml:
6444         * docs/manual/links-api.xml:
6445         * docs/manual/links.xml:
6446         * docs/manual/manual.xml:
6447         * docs/manual/motivation.xml:
6448         * docs/manual/pads-api.xml:
6449         * docs/manual/pads.xml:
6450         * docs/manual/plugins-api.xml:
6451         * docs/manual/plugins.xml:
6452         * docs/manual/programs.xml:
6453         * docs/manual/queues.xml:
6454         * docs/manual/quotes.xml:
6455         * docs/manual/schedulers.xml:
6456         * docs/manual/states-api.xml:
6457         * docs/manual/states.xml:
6458         * docs/manual/threads.xml:
6459         * docs/manual/typedetection.xml:
6460         * docs/manual/win32.xml:
6461         * docs/manual/xml.xml:
6462           Try 2. This time, include a short preface as a "general
6463           introduction", also add code blocks around all code samples
6464           so they get compiled. We still need a way to tell readers
6465           the filename of the code sample. In some cases, don't show
6466           all code in the documentation, but do include it in the generated
6467           code. This allows for focussing on specific bits in the docs,
6468           while still having a full test application available.
6469         * examples/manual/Makefile.am:
6470           Fix up examples for new ADM. Add several of the new examples that
6471           were either added or were missing from the build system.
6472         * examples/manual/extract.pl:
6473           Allow nameless blocks.
6474
6475 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6476
6477         * docs/manual/elements-api.xml:
6478         * docs/manual/helloworld.xml:
6479         * examples/manual/extract.pl:
6480           fix last example.  Add example of adding code blocks that are not
6481           shown in docbook output.
6482
6483 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6484
6485         * docs/manual/dynamic.xml:
6486         * docs/manual/elements-api.xml:
6487         * docs/manual/gnome.xml:
6488         * docs/manual/helloworld2.xml:
6489         * docs/manual/init-api.xml:
6490         * docs/manual/queues.xml:
6491         * docs/manual/threads.xml:
6492         * docs/manual/xml.xml:
6493         * examples/manual/extract.pl:
6494           Make it possible to extract example code from separate blocks.
6495           Should make Ronald happy.
6496
6497 2004-12-15  Wim Taymans  <wim@fluendo.com>
6498
6499         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6500         (remove_from_group), (group_elements_set_visited),
6501         (normalize_group), (gst_opt_scheduler_iterate):
6502         Fix bug where a flag was not updated on a decoupled entry point 
6503         because we were just checking the group element list and decoupled
6504         elements are not in that list..
6505
6506 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6507
6508         * docs/manual/advanced-autoplugging.xml:
6509         * docs/manual/advanced-clocks.xml:
6510         * docs/manual/advanced-dparams.xml:
6511         * docs/manual/advanced-interfaces.xml:
6512         * docs/manual/advanced-metadata.xml:
6513         * docs/manual/advanced-position.xml:
6514         * docs/manual/advanced-schedulers.xml:
6515         * docs/manual/advanced-threads.xml:
6516         * docs/manual/appendix-debugging.xml:
6517         * docs/manual/appendix-gnome.xml:
6518         * docs/manual/appendix-programs.xml:
6519         * docs/manual/appendix-quotes.xml:
6520         * docs/manual/appendix-win32.xml:
6521         * docs/manual/autoplugging.xml:
6522         * docs/manual/basics-bins.xml:
6523         * docs/manual/basics-data.xml:
6524         * docs/manual/basics-elements.xml:
6525         * docs/manual/basics-helloworld.xml:
6526         * docs/manual/basics-init.xml:
6527         * docs/manual/basics-pads.xml:
6528         * docs/manual/basics-plugins.xml:
6529         * docs/manual/bins-api.xml:
6530         * docs/manual/bins.xml:
6531         * docs/manual/buffers-api.xml:
6532         * docs/manual/buffers.xml:
6533         * docs/manual/clocks.xml:
6534         * docs/manual/components.xml:
6535         * docs/manual/cothreads.xml:
6536         * docs/manual/debugging.xml:
6537         * docs/manual/dparams-app.xml:
6538         * docs/manual/dynamic.xml:
6539         * docs/manual/elements-api.xml:
6540         * docs/manual/elements.xml:
6541         * docs/manual/factories.xml:
6542         * docs/manual/gnome.xml:
6543         * docs/manual/goals.xml:
6544         * docs/manual/helloworld.xml:
6545         * docs/manual/helloworld2.xml:
6546         * docs/manual/highlevel-components.xml:
6547         * docs/manual/highlevel-xml.xml:
6548         * docs/manual/init-api.xml:
6549         * docs/manual/intro-motivation.xml:
6550         * docs/manual/intro-preface.xml:
6551         * docs/manual/intro.xml:
6552         * docs/manual/links-api.xml:
6553         * docs/manual/links.xml:
6554         * docs/manual/manual.xml:
6555         * docs/manual/motivation.xml:
6556         * docs/manual/pads-api.xml:
6557         * docs/manual/pads.xml:
6558         * docs/manual/plugins-api.xml:
6559         * docs/manual/plugins.xml:
6560         * docs/manual/programs.xml:
6561         * docs/manual/queues.xml:
6562         * docs/manual/quotes.xml:
6563         * docs/manual/schedulers.xml:
6564         * docs/manual/states-api.xml:
6565         * docs/manual/states.xml:
6566         * docs/manual/threads.xml:
6567         * docs/manual/typedetection.xml:
6568         * docs/manual/win32.xml:
6569         * docs/manual/xml.xml:
6570           First try at rewriting the ADM. Needs lotsamore work, but some
6571           parts might already be somewhat useful.
6572         * docs/pwg/advanced-interfaces.xml:
6573           Remove properties interface, it never actually existed (except for
6574           on my HD...).
6575
6576 2004-12-13  David Schleef  <ds@schleef.org>
6577
6578         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6579         be NULL (bug #160220).
6580
6581 2004-12-13  David Schleef  <ds@schleef.org>
6582
6583         * configure.ac: remove all mmx stuff, because it's not used.
6584         * docs/random/ds/0.9-suggested-changes: additional notes
6585         * include/Makefile.am: we don't use these anymore
6586         * include/mmx.h: remove
6587         * include/sse.h: remove
6588
6589 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6590
6591         * docs/random/mimetypes:
6592           Add FOURCC code for h264 codec (VSSH)
6593           Add alternate FOURCC codes for h263 related codecs
6594
6595 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6596
6597         * docs/manual/programs.xml:
6598           Added more gst-launch examples.
6599
6600 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6601
6602         * gst/gstqueue.c: (gst_queue_handle_src_query):
6603           Check for availability again.
6604
6605 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6606
6607         * gst/gstcaps.c: (gst_caps_compare_structures):
6608           Simple caps go first. This has the nice side-effect of fixing an
6609           obscure warning.
6610
6611 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6612
6613         * gst/gstversion.h.in:
6614           Protect header.
6615
6616 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6617
6618         * gst/schedulers/gstoptimalscheduler.c:
6619         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6620         (gst_opt_scheduler_get_wrapper):
6621           When we're recursing into a chain run, only run the directly
6622           related group, not all queued ones. This will fix a possible
6623           deadlock in chains with more than two groups.
6624
6625 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6626
6627         * autogen.sh:
6628           remove patch if autopoint fails
6629
6630 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6631
6632         * docs/gst/gstreamer-sections.txt:
6633           Document Thomas' addition, fix build, make Luis the sheriff happy.
6634
6635 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6636
6637         * gst/gstplugin.c:
6638         * gst/gstplugin.h:
6639           add accessor for version field
6640
6641 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6642
6643         submitted by: Luca Ferretti <elle.uca@infinito.it>
6644
6645         * po/LINGUAS:
6646         * po/it.po:
6647           New tranlation added: Italian
6648
6649 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6650
6651         * gst/gstpad.c: (gst_pad_is_negotiated),
6652         (gst_pad_get_negotiated_caps):
6653           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6654           it doesn't actually check the contents), so be sure to hand it
6655           a RealPad else we'll crash.
6656
6657 2004-12-03  Wim Taymans  <wim@fluendo.com>
6658
6659         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6660         (gst_queue_link), (gst_queue_handle_src_query):
6661         Reverted to 1.110 until this makes the testsuite and various
6662         apps work.
6663
6664 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6665
6666         * docs/upload.mak: fix included CVS conflict strings
6667
6668 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6669
6670         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6671
6672         * gst/gstelement.c: (gst_element_error_full):
6673           Use g_error_new_literal because error text may have
6674           percentage signs in it. Fixes #160019.
6675
6676 2004-12-01  Benjamin Otte  <otte@gnome.org>
6677
6678         * gst/elements/gstbufferstore.c:
6679         (gst_buffer_store_add_buffer_func):
6680           don't try to make subbuffers bigger than they can be. (fixes
6681           #159970)
6682
6683 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6684
6685         * docs/gst/gstreamer-sections.txt:
6686         * docs/gst/tmpl/gstvalue.sgml:
6687           Add new function to docs to fix build.
6688
6689 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6690
6691         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6692         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6693         (_gst_pad_default_fixate_foreach):
6694         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6695         * gst/gstvalue.h:
6696           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6697           in some cases (arrays), the fixedness depends on the content.
6698         * gst/gstqueue.c: (gst_queue_handle_src_query):
6699           Check for availability before doing something.
6700
6701 2004-11-29  Wim Taymans  <wim@fluendo.com>
6702
6703         * testsuite/threads/Makefile.am:
6704         * testsuite/threads/signals.c: (gst_test_get_type),
6705         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6706         (gst_test_set_property), (gst_test_get_property),
6707         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6708         (gst_test_do_prop), (run_thread), (main):
6709         Added a bunch of testcases that show threadsafety bugs in glib.
6710
6711 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6712
6713         * docs/manual/programs.xml:
6714           Added a first batch of gst-launch examples, as provided by Ronald
6715           and others from the devel-mlist
6716
6717 2004-11-28  Benjamin Otte  <otte@gnome.org>
6718
6719         * gst/gstelement.c: (gst_element_negotiate_pads):
6720           simplify
6721         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6722         (gst_value_serialize_string), (gst_value_deserialize_string):
6723           add unwrapping of previously wrapped strings. Fix bug in wrapping
6724           while at it.
6725         * testsuite/caps/value_serialize.c: (test1),
6726         (test_string_serialization), (test_string_deserialization), (main):
6727           add tests for string (de)serialization
6728
6729 2004-11-26  Wim Taymans  <wim@fluendo.com>
6730
6731         * testsuite/threads/159566.c: (object_deep_notify), (main):
6732         * testsuite/threads/Makefile.am:
6733         Added testsuite to show bug #159566
6734
6735 2004-11-25  Wim Taymans  <wim@fluendo.com>
6736
6737         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6738         (gst_thread_child_state_change), (gst_thread_main_loop):
6739         Ref the thread object in the GThread mainloop. Break out of the
6740         thread mainloop if it holds the last ref. This properly exits
6741         the threads when disposing the thread from its own context. It
6742         also avoids possible deadlocks in the dispose function.
6743
6744 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6745
6746         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6747         it is necessary to wait.
6748
6749 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6750
6751         * docs/pwg/building-boiler.xml:
6752           Make description somewhat clearer.
6753
6754 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6755
6756         * docs/upload.mak:
6757           Apparently docs changed location on FDO's server.
6758
6759 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6760
6761         * docs/pwg/appendix-checklist.xml:
6762           Add some random notes on things to check when writing an element.
6763           This list can be extended as people see fit.
6764
6765 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6766
6767         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6768         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6769         pad. The queue will now wait until it is empty and forward the new
6770         caps to the source.
6771         * gst/gstbin.c (gst_bin_set_element_sched)
6772         (gst_bin_unset_element_sched): Make sure that all elements and
6773         links are registered and unregistered with the scheduler exactly
6774         once. This elaborates on a fix by Benjamin Otte, but
6775         guarantees that decoupled elements are also registered.
6776
6777 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * docs/manual/quotes.xml:
6780           add a quote
6781         * configure.ac:
6782         * gst/gst.c:
6783         * gst/gstinfo.c:
6784           add LIBDIR and move init message higher up so it's at the start
6785
6786 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6787
6788         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6789         * gstreamer.spec.in: add fair
6790
6791 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6792
6793         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6794         * gst/elements/gstidentity.c: (gst_identity_class_init):
6795           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6796           <teuf@gnome.org> (#157263).
6797         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6798         (gst_type_find_handle_src_query):
6799           Subtract size of internally stored data from position queries.
6800
6801 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6802
6803         * gst/schedulers/fairscheduler.c:
6804         * gst/schedulers/faircothreads.c:
6805         * gst/schedulers/faircothreads.h:
6806         New cothread based scheduler: Fair scheduler.
6807         * gst/schedulers/gthread-cothreads.h: 
6808         Add the standard #if around the whole file.
6809         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6810         compilation of the functions defined in this file. This is
6811         necessary to be able to use this file as a normal header.
6812         * gst/schedulers/Makefile.am: Add compiling support for fair
6813         scheduler.
6814         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6815         scheduler cothreads layer from documentation generation.
6816
6817 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6818
6819         * gst/autoplug/gstspideridentity.c:
6820         (gst_spider_identity_sink_loop_type_finding):
6821           Don't crash if that function is not implemented.
6822
6823 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6824
6825         * docs/pwg/advanced-types.xml:
6826           Another typo.
6827
6828 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6829
6830         * docs/pwg/intro-preface.xml:
6831           Hm, ok, so the brackets weren't really useful...
6832         * docs/pwg/other-ntoone.xml:
6833           Fix embarassing typo.
6834
6835 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6836
6837         * docs/pwg/intro-preface.xml:
6838           Rewrite preface.
6839
6840 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6841
6842         * docs/pwg/advanced-scheduling.xml:
6843         * docs/pwg/advanced-tagging.xml:
6844         * docs/pwg/advanced-types.xml:
6845         * docs/pwg/building-boiler.xml:
6846         * docs/pwg/building-chainfn.xml:
6847         * docs/pwg/building-signals.xml:
6848         * docs/pwg/building-state.xml:
6849         * docs/pwg/building-testapp.xml:
6850         * docs/pwg/intro-basics.xml:
6851         * docs/pwg/other-manager.xml:
6852         * docs/pwg/other-source.xml:
6853           Typo fixes.
6854         * docs/pwg/other-manager.xml:
6855           Add some first content. No example code yet.
6856         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6857           Remove double newlines.
6858
6859 2004-11-04  Wim Taymans  <wim@fluendo.com>
6860
6861         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6862         (remove_from_group), (normalize_group), (group_migrate_connected),
6863         (gst_opt_scheduler_iterate):
6864         * testsuite/schedulers/.cvsignore:
6865         * testsuite/schedulers/Makefile.am:
6866         * testsuite/schedulers/queue_link.c: (main):
6867         Added testcase for scheduler segfault.
6868         Fix scheduler segfault when removing a decoupled
6869         entry point as the last element from a group.
6870
6871 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6872
6873         * gst/gstmarshal.list: add missing marshaller, fixes build
6874
6875 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6876
6877         * docs/random/signal: added notes about using BOXED for GstBuffer
6878         signal marshallers, not POINTER
6879
6880 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6881
6882         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6883         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6884         POINTER=>BOXED changes to marshal GstBuffers
6885
6886 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6887
6888         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6889         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6890
6891 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6892
6893         * docs/gst/gstreamer-sections.txt:
6894         * docs/gst/tmpl/gstcaps.sgml:
6895         * docs/gst/tmpl/gsterror.sgml:
6896         * docs/gst/tmpl/gstinfo.sgml:
6897         * docs/gst/tmpl/gstmacros.sgml:
6898         * docs/gst/tmpl/gstutils.sgml:
6899         * docs/random/ensonic/interfaces.txt:
6900         * gst/gstinfo.h:
6901           added some more docs, removed two obsolete defines
6902
6903 2004-11-02  Kjartan Maraas <as at gnome.org>
6904
6905         reviewed by: Wim Taymans, Ronald Bultje.
6906
6907         * gst/cothreads.c: (cothread_create):
6908         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6909         (gst_bin_child_state_change_func):
6910         * gst/gstbuffer.c: (gst_buffer_span):
6911         * gst/gstelement.c: (gst_element_get_index),
6912         (gst_element_get_event_masks), (gst_element_get_query_types),
6913         (gst_element_get_formats):
6914         * gst/gsterror.c: (_gst_core_errors_init),
6915         (_gst_library_errors_init), (_gst_resource_errors_init),
6916         (_gst_stream_errors_init):
6917         * gst/gstobject.c: (gst_object_default_deep_notify):
6918         * gst/gstpad.c: (gst_pad_get_event_masks),
6919         (gst_pad_get_internal_links_default):
6920         * gst/gstplugin.c: (gst_plugin_register_func),
6921         (gst_plugin_get_module):
6922         * gst/gststructure.c: (gst_structure_get_string),
6923         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6924         (gst_structure_to_abbr):
6925         * gst/gstutils.c: (gst_print_element_args):
6926         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6927         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6928         Aplied part of patch #157127: Cleanup of issues reported by 
6929         sparse.
6930         Also do not try to use cothreads when there is no cothread
6931         context yet.
6932
6933 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6934
6935         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6936         (gst_opt_scheduler_iterate):
6937         Applied patch #154061. Running a pipeline in which an element 
6938         calls GST_ELEMENT_ERROR in the chain function, the opt 
6939         scheduler doesn't unref the chain so it never gets freed.
6940
6941 2004-11-02  Wim Taymans  <wim@fluendo.com>
6942
6943         * gst/gststructure.c: (gst_structure_get_abbrs),
6944         (gst_structure_from_abbr), (gst_structure_to_abbr):
6945         Remove that ugly if-then thing in the code that converts
6946         between strings and types.
6947
6948 2004-11-02  Wim Taymans  <wim@fluendo.com>
6949
6950         * gst/gstscheduler.c: (gst_scheduler_add_element),
6951         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6952         Aplied clock distribution patch, this should fix bug
6953         #148787.
6954
6955 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6956
6957         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6958
6959         * po/LINGUAS:
6960         * po/nb.po:
6961           Added Norwegian Bokmaal translation
6962
6963 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6964
6965         * tools/gst-inspect.c: (print_signal_info):
6966           print signal arguments as pointers if they are
6967
6968 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6969
6970         * docs/pwg/building-boiler.xml:
6971           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6972
6973 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6974
6975         * gst/parse/parse.l:
6976         * testsuite/parse/parse1.c: (main):
6977         Since parse can do 'element name=a:b' make 'a:b.' work as
6978         well. 
6979         Added testcase to verify fix.
6980
6981 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6982
6983         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6984         Use the realpad when printing the direction.
6985         Add extra \n when printing extensions of typefind factories.
6986
6987 2004-10-13  David Schleef  <ds@schleef.org>
6988
6989         * examples/manual/Makefile.am: $< isn't portable in Makefile
6990         rules.
6991
6992 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6993
6994         * docs/gst/tmpl/gstobject.sgml:
6995         * docs/gst/tmpl/gstplugin.sgml:
6996         * docs/gst/tmpl/gstpluginfeature.sgml:
6997         * docs/gst/tmpl/gstregistry.sgml:
6998         * docs/gst/tmpl/gstversion.sgml:
6999         * gst/gstbin.c:
7000           more api documentation
7001         * gst/gstplugin.c: (gst_plugin_register_func),
7002         (gst_plugin_check_file), (gst_plugin_load_file):
7003           better error signaling and logging
7004
7005 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7006
7007         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7008           Subtract current queue contents from position queries.
7009
7010 2004-10-11  Johan Dahlin  <johan@gnome.org>
7011
7012         * gst/gsturi.c (gst_uri_get_location): unescape string
7013         (gst_uri_construct): escape string.
7014
7015 2004-10-11  Benjamin Otte  <otte@gnome.org>
7016
7017         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7018         (gst_pad_try_set_caps_nonfixed):
7019           allow renegotiation of unconnected pads (as inside spider). Simply
7020           return OK if unconnected - mimic try_set_caps there.
7021
7022 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7023
7024         * gst/gstbin.c: (gst_bin_sync_children_state):
7025           Add missing break.
7026
7027 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7028
7029         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7030         Set element to EOS before sending EOS event
7031
7032 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7033
7034         * gst/elements/gsttypefindelement.c:
7035         (gst_type_find_element_handle_event):
7036         Handle EOS events when doing the transition from
7037         typefind to data passing. This should fix the
7038         infinite loops in short files.
7039
7040 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7041
7042         * gst/gstthread.c: (gst_thread_change_state),
7043         (gst_thread_child_state_change):
7044         Make sure no iteration happens while performing
7045         the state change as it could mess up the internal
7046         consistency of the thread state.
7047
7048 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7049
7050         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7051         (gst_thread_change_state), (gst_thread_child_state_change):
7052         Do not try to grab the iterate lock in the state change method
7053         when we are in the same thread as the iterate or else we
7054         could deadlock. Some other cleanups.
7055
7056 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7057
7058         * configure.ac:
7059           bump nano to cvs
7060
7061 === release 0.8.7 ===
7062
7063 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7064
7065         * configure.ac:
7066         * NEWS:
7067         * RELEASE:
7068         * configure.ac:
7069           releasing 0.8.7, "A Cruise"
7070
7071 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7072
7073         * docs/random/mimetypes:
7074         Add an entry for Sony ATRAC3 audio format with mime-type
7075         used by rmdemux et riff-read
7076
7077 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7078
7079         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7080         Push the buffer store instead of clearing it in case that
7081         the stream is not seekable.
7082
7083 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7084
7085         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7086         (gst_thread_main_loop):
7087         Lock the iteration and the state change so that automatic
7088         negotiation and fixation does not happen at the same time
7089         as the in stream negotiation.
7090
7091 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7092
7093         * configure.ac:
7094           bump nano to cvs
7095
7096 === release 0.8.6 ===
7097
7098 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7099
7100         * configure.ac:
7101         * NEWS:
7102         * RELEASE:
7103         * configure.ac:
7104           releasing 0.8.6, "Narc"
7105
7106 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7107
7108         * configure.ac:
7109           prerel bump
7110
7111 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         patch by: Steve Lhomme
7114
7115         * gst/elements/gstfakesrc.c:
7116         * gst/elements/gstidentity.c:
7117         * gst/gstthread.c:
7118           Fix for #153881
7119
7120 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7121
7122         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7123         Fix threadsafety of the crc checking function.
7124
7125 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         patch by: Ronald Bultje
7128
7129         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7130         (gst_type_find_element_handle_event),
7131         (gst_type_find_element_chain):
7132         * gst/elements/gsttypefindelement.h:
7133          #153657.
7134          Filter out discont event from seekable sources when typefind
7135          asks them to seek.  Fixes typefind with demuxers for
7136          avi, asf and matroska.
7137
7138 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7139
7140         * docs/gst/gstreamer-sections.txt:
7141         * gst/gstcaps.c:
7142         * gst/gstcaps.h:
7143         * gst/gstpad.c:
7144           Revert preferred caps: (#147789)
7145
7146 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7147
7148         * win32/dirent.c:
7149           fix a memory leak
7150
7151 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7152
7153         * configure.ac:
7154           bump for prerelease
7155
7156 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7157
7158         * docs/Makefile.am:
7159         * docs/manual/elements-api.xml:
7160           restructure so that common stuff is shown first
7161         * docs/manual/init-api.xml:
7162           convert to examples
7163         * docs/manual/manual.xml:
7164         * docs/manuals.mak:
7165         * docs/url.entities:
7166           link to API on the website, possibly override later in build
7167         * examples/manual/.cvsignore:
7168           ignore more
7169         * examples/manual/Makefile.am:
7170           add more examples
7171         * examples/manual/extract.pl:
7172           error out on failure
7173
7174 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7175
7176         * docs/gst/tmpl/gstthread.sgml:
7177         * docs/manual/init-api.xml:
7178         * examples/manual/Makefile.am:
7179           convert two code bits to examples
7180
7181 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7182
7183         * gst/gstelement.c: (gst_element_change_state):
7184           Well, actually, I was about to remove this insane assert when
7185           I noticed Wim already did that. A warning is nice so we can
7186           fix actual ugs (using --g-fatal-warnings and backtraces), so
7187           I added that instead.
7188
7189 2004-09-06  Wim Taymans  <wim@fluendo.com>
7190
7191         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7192         (gst_element_threadsafe_properties_post_run),
7193         (gst_element_set_state), (gst_element_change_state):
7194         Added extra refcounting around various places. 
7195
7196 2004-09-06  Wim Taymans  <wim@fluendo.com>
7197
7198         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7199         Fix debug info.
7200
7201 2004-09-06  Wim Taymans  <wim@fluendo.com>
7202
7203         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7204         (remove_from_group):
7205         Some more debug info.
7206
7207 2004-09-03  Wim Taymans  <wim@fluendo.com>
7208
7209         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7210         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7211         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7212         (gst_fakesrc_get), (gst_fakesrc_change_state):
7213         * gst/elements/gstfakesrc.h:
7214         * gst/elements/gstidentity.c: (gst_identity_class_init),
7215         (gst_identity_init), (gst_identity_chain),
7216         (gst_identity_set_property), (gst_identity_get_property),
7217         (gst_identity_change_state):
7218         * gst/elements/gstidentity.h:
7219         Added datarate properties to limit the datarate.
7220
7221 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7222
7223         * gst/autoplug/gstspider.c: (plugin_init):
7224           don't set a rank. We don't want to autoplug by inserting spiders.
7225
7226 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7227
7228         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7229         (gst_spider_identity_plug):
7230           add a template for spider's sink
7231         * gst/gst.c: (gst_register_core_elements):
7232           queue's rank should be NULL, we don't want spider to add it.
7233
7234 2004-08-18  David Schleef  <ds@schleef.org>
7235
7236         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7237         * docs/libs/Makefile.am: same
7238         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7239         * docs/random/ds/0.9-planning: random additions
7240         * docs/random/ds/0.9-suggested-changes: same
7241         * gst/gstxml.h: remove vestigal GstXMLNs definition
7242
7243         Preferred caps: (#147789)
7244         * docs/gst/gstreamer-sections.txt: Add symbols
7245         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7246         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7247         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7248         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7249         (gst_caps_get_preferred), (gst_caps_set_preferred),
7250         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7251         (gst_caps_use_preferred): Handle caps preferences
7252         * gst/gstcaps.h: Add caps preferences
7253         * gst/gstpad.c: (gst_pad_link_get_preferred),
7254         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7255         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7256         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7257         negotiation.
7258
7259 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7260
7261         * gst/autoplug/gstspideridentity.c:
7262         (gst_spider_identity_request_new_pad):
7263         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7264         (gst_aggregator_init):
7265         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7266         (gst_fakesink_init):
7267         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7268         (gst_fakesrc_init):
7269         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7270         (gst_fdsink_init):
7271         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7272         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7273         (gst_filesink_init):
7274         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7275         (gst_filesrc_init):
7276         * gst/elements/gstidentity.c: (gst_identity_base_init),
7277         (gst_identity_init):
7278         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7279         (gst_multifilesrc_init):
7280         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7281         (gst_pipefilter_init):
7282         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7283         (gst_statistics_init):
7284         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7285         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7286           s/gst_pad_new/&_from_template/
7287           register pad templates in the base_init function
7288           add static pad template definitions
7289
7290 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7291
7292         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7293         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7294         * testsuite/refcounting/pad.c: (main):
7295         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7296           s/gst_pad_new/&_from_template/
7297           prepare deprecation of gst_pad_new
7298
7299 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7300
7301         patch by: Luca Ognibene <skaboy81@virgilio.it>
7302
7303         * gst/gstcaps.c:
7304         * gst/gstelement.c:
7305         * gst/gstpad.c:
7306         * gst/gstxml.c:
7307           fix memleaks.  Fixes #150001
7308
7309 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7310
7311         * docs/random/ds/0.9-suggested-changes:
7312           add notes - mostly about pad templates
7313
7314 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7315
7316         * win32/GStreamer.vcproj:
7317           temporary locale files are .gmo not .mo
7318
7319 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7320
7321         * configure.ac: bump nano to cvs
7322
7323 === release 0.8.5 ===
7324
7325 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7326
7327         * configure.ac:
7328           releasing 0.8.5, "Stuttgart"
7329         * NEWS:
7330         * RELEASE:
7331         * configure.ac:
7332         * docs/random/release:
7333           updates for release
7334
7335 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7336
7337         patch by: Wim Taymans (wim@fluendo.com)
7338
7339         * gst/gstbuffer.c:
7340         * gst/gstindex.h:
7341         * libs/gst/dataprotocol/dataprotocol.c:
7342           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7343
7344 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7345
7346         * Makefile.am:
7347         * win32/MANIFEST:
7348           add win32 dir to the build.  Fixes #149981.
7349
7350 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7351
7352         * configure.ac:
7353           bump libtool versioning
7354         * gst/gststructure.c:
7355           mark function as static
7356         * po/af.po:
7357         * po/az.po:
7358         * po/ca.po:
7359         * po/cs.po:
7360         * po/en_GB.po:
7361         * po/fr.po:
7362         * po/nl.po:
7363         * po/sq.po:
7364         * po/sr.po:
7365         * po/sv.po:
7366         * po/tr.po:
7367         * po/uk.po:
7368           translations update
7369         * win32/README.txt:
7370           trademark protection
7371
7372 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7373
7374         * configure.ac:
7375           fix GST_ORIGIN
7376           set GST_PACKAGE to source, and distinguish between release and other
7377         * tools/gst-inspect.c:
7378           print out plugin an element factory is part of so we see this info
7379
7380 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7381
7382         * docs/gst/gstreamer-sections.txt:
7383         * docs/gst/tmpl/gstbuffer.sgml:
7384         * docs/gst/tmpl/gstschedulerfactory.sgml:
7385           reorder docs a little, make GstBuffer's more sensible.
7386         * gst/gstbuffer.h:
7387           API: added GST_BUFFER_FLAG_DELTA_UNIT
7388         * gst/gstscheduler.c:
7389           comment API addition
7390
7391 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7392
7393         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7394           work with non-regular files that can be mmapped (like /dev/zero)
7395         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7396           get rid of typefinds that require a seek when we can't seek instead
7397           of trying them over and over again
7398         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7399           return non-zero failure value when the pipeline was interrupted or
7400           an error occurred
7401
7402 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7403
7404         * win32/config.h:
7405         * win32/GStreamer.vcproj:
7406           compile and install the locales
7407
7408 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7409
7410         * gst/gstvalue.c:
7411           fix a possible memory leak under Windows
7412
7413 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7414
7415         * win32/GStreamer.vcproj:
7416           fix a memory leak that occured under Windows
7417         * win32/gstreamer.def:
7418           add gst_scheduler_register
7419
7420 2004-08-11  Benjamin Otte  <otte@gnome.org>
7421
7422         * docs/gst/gstreamer-sections.txt:
7423         * gst/gstscheduler.c: (gst_scheduler_register):
7424         * gst/gstscheduler.h:
7425           API:
7426           add gst_scheduler_register shortcut similar to gst_element_register
7427         * gst/schedulers/entryscheduler.c: (plugin_init):
7428         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7429         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7430           use it
7431
7432 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7433
7434         * gst/gstvalue.h:
7435           fix a memory leak that occured under Windows
7436
7437 2004-08-10  Colin Walters  <walters@redhat.com>
7438
7439         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7440         Don't use O_EXCL to open temporary registry.  It will prevent
7441         registry creation if a temporary one already exists, which
7442         is unnecessary.
7443
7444 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7445
7446         * docs/gst/gstreamer-sections.txt:
7447         * docs/gst/tmpl/gstvalue.sgml:
7448           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7449
7450 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7451
7452         * win32/gstbytestream.vcproj:
7453         * win32/gstelements.vcproj:
7454         * win32/gstgetbits.vcproj:
7455         * win32/gst-inspect.vcproj:
7456         * win32/gst-launch.vcproj:
7457         * win32/gstoptimalscheduler.vcproj:
7458         * win32/GStreamer.vcproj:
7459         * win32/gst-register.vcproj:
7460         * win32/gstspider.vcproj:
7461           update the include and lib dirs to fit standard libraries as
7462           described in the Win32 manual
7463
7464 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7465
7466         * win32/config.h:
7467         * win32/gstversion.h:
7468           enable NLS again, push the version number for the coming 0.8.5 release
7469
7470 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7471
7472         * gst/gstvalue.h:
7473           export gst_type_XXX for windows DLLs
7474
7475 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7476
7477         * docs/faq/gst-uninstalled:
7478           fix PKG_CONFIG_PATH and PYTHONPATH
7479         * gst/schedulers/Makefile.am:
7480           cleanup
7481         * libs/gst/bytestream/bytestream.c:
7482           remove newline
7483         * po/LINGUAS:
7484         * po/sq.po:
7485           adding Albanian translation (Laurent Dhima)
7486         * po/cs.po:
7487           updated
7488
7489 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7490
7491         * po/ca.po:
7492         * po/sv.po:
7493           updated translations
7494
7495 2004-08-04  Benjamin Otte  <otte@gnome.org>
7496
7497         * tests/mass_elements.c: (main):
7498           allow specifying src and sink element explicitly, so I can test
7499           videotestsrc instead of fakesrc
7500
7501 2004-08-04  Benjamin Otte  <otte@gnome.org>
7502
7503         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7504         (gst_structure_id_empty_new), (gst_structure_empty_new),
7505         (gst_structure_copy):
7506           add gst_structure_id_empty_new_with_size to allow preallocating
7507           value array sizes. Use this in gst_structure_copy to get rid of
7508           reallocs.
7509           don't do quark=>string=>quark when copying structures
7510
7511 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7512
7513         * docs/manual/win32.xml:
7514         * win32/README.txt:
7515           update documentation with the clean version of dependencies
7516
7517 2004-08-03  Benjamin Otte  <otte@gnome.org>
7518
7519         * gst/schedulers/entryscheduler.c:
7520         (gst_entry_scheduler_remove_element):
7521           fix for GST_DISABLE_DEBUG
7522         * tools/gst-launch.c: (print_tag):
7523           fixes for G_DISABLE_ASSERT
7524
7525 2004-08-03  Benjamin Otte  <otte@gnome.org>
7526
7527         * gst/gst.c: (gst_register_core_elements):
7528           fix for G_DISABLE_ASSERT
7529         * gst/gstinfo.c: (__gst_in_valgrind):
7530           add for GST_DISABLE_DEBUG
7531
7532 2004-08-03  Benjamin Otte  <otte@gnome.org>
7533
7534         * gst/parse/parse.l:
7535           fix for G_DISABLE_ASSERT
7536
7537 2004-08-03  Wim Taymans  <wim@fluendo.com>
7538
7539         * gst/gstbin.c: (gst_bin_get_type),
7540         (gst_bin_child_state_change_func):
7541         * gst/gstthread.c: (gst_thread_change_state):
7542         Backported some debug logging from a reverted patch
7543         Don't try to destroy the thread twice. Added some more
7544         debugging in GstThread. Unlock and signal even if we
7545         are in the thread context.
7546
7547 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7548
7549         * po/uk.po:
7550           updated translation
7551
7552 2004-07-30  David Schleef  <ds@schleef.org>
7553
7554         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7555
7556 2004-07-29  David Schleef  <ds@schleef.org>
7557
7558         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7559         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7560
7561 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7562
7563         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7564         (gst_bin_add_func), (gst_bin_remove_func),
7565         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7566         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7567         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7568         (gst_bin_sync_children_state):
7569         * gst/gstbin.h:
7570         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7571         (gst_thread_change_state):
7572         * testsuite/states/Makefile.am:
7573           revert state change patches as agreed so we can rework them
7574           gradually
7575
7576 2004-07-29  Benjamin Otte  <otte@gnome.org>
7577
7578         * libs/gst/control/Makefile.am:
7579           link to libgstreamer (fixes Debian bug 262019, see
7580           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7581
7582 2004-07-29  Wim Taymans  <wim@fluendo.com>
7583
7584         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7585         (check_from_fraction_convert), (transform_test), (main):
7586         Make the test less pedantic about float roundoff errors.
7587
7588 2004-07-29  Benjamin Otte  <otte@gnome.org>
7589
7590         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7591         (gst_filesrc_srcpad_event):
7592           make seek events to before start/after end of file not fail, but
7593           seek to start/end instead
7594         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7595           add more output
7596
7597 2004-07-29  Benjamin Otte  <otte@gnome.org>
7598
7599         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7600           check that caps are fixed
7601         * gst/gstpad.c: (gst_pad_template_new):
7602           don't try to simplify caps, costs too much time on gst_init
7603         * gst/gstplugin.c: (gst_plugin_add_feature):
7604           G_ERROR if features are added twice
7605         * gst/gsttypefind.c: (gst_type_find_register):
7606         * gst/gstelementfactory.c: (gst_element_register):
7607           don't add features twice
7608         * docs/random/ds/0.9-suggested-changes:
7609           add note about possible gst_init optimization
7610
7611 2004-07-28  David Schleef  <ds@schleef.org>
7612
7613         * testsuite/elements/Makefile.am:
7614         * testsuite/elements/struct_i386.h:
7615         * testsuite/elements/struct_size.c: (main):  A little test
7616         to keep distcheck from working if someone changes a structure
7617         size accidentally.
7618
7619 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7620
7621         * docs/libs/Makefile.am:
7622         * docs/libs/gstreamer-libs-docs.sgml:
7623         * docs/libs/gstreamer-libs-sections.txt:
7624         * docs/libs/tmpl/gstbytestream.sgml:
7625         * docs/libs/tmpl/gstcontrol.sgml:
7626         * docs/libs/tmpl/gstdataprotocol.sgml:
7627         * docs/libs/tmpl/gstgetbits.sgml:
7628         * libs/gst/bytestream/Makefile.am:
7629         * libs/gst/bytestream/bytestream.c:
7630         * libs/gst/bytestream/bytestream.h:
7631         * libs/gst/control/Makefile.am:
7632         * libs/gst/dataprotocol/Makefile.am:
7633         * libs/gst/getbits/Makefile.am:
7634         * libs/gst/getbits/getbits.h:
7635           various doc and style fixes, adding bytestream to libs docs.
7636
7637 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7638
7639         * docs/gst/gstreamer-docs.sgml:
7640         * docs/libs/Makefile.am:
7641         * docs/libs/gstreamer-libs-docs.sgml:
7642         * docs/libs/gstreamer-libs-sections.txt:
7643         * libs/gst/control/dparam.c:
7644           more doc fixes.  gst-libs docs now build the same way as gst.
7645
7646 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7647
7648         * configure.ac:
7649         * testsuite/Makefile.am:
7650         * testsuite/bins/Makefile.am:
7651         * testsuite/caps/Makefile.am:
7652         * testsuite/cleanup/Makefile.am:
7653         * testsuite/clock/Makefile.am:
7654         * testsuite/debug/Makefile.am:
7655         * testsuite/dlopen/Makefile.am:
7656         * testsuite/dynparams/Makefile.am:
7657         * testsuite/elements/.cvsignore:
7658         * testsuite/elements/Makefile.am:
7659         * testsuite/enumcaps/Makefile.am:
7660         * testsuite/enumcaps/enumcaps.c:
7661         * testsuite/ghostpads/Makefile.am:
7662         * testsuite/indexers/Makefile.am:
7663         * testsuite/negotiation/Makefile.am:
7664         * testsuite/parse/Makefile.am:
7665         * testsuite/plugin/Makefile.am:
7666         * testsuite/refcounting/Makefile.am:
7667         * testsuite/schedulers/.cvsignore:
7668         * testsuite/states/Makefile.am:
7669         * testsuite/tags/Makefile.am:
7670         * testsuite/threads/Makefile.am:
7671           fold enumcaps into caps dir
7672           clean up Makefile.am's for testsuite
7673
7674 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * docs/gst/Makefile.am:
7677         * docs/libs/Makefile.am:
7678           clean up docs build.  Fixes needless rebuilding of template files.
7679
7680 2004-07-28  Wim Taymans  <wim@fluendo.com>
7681
7682         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7683         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7684         Make sure that a bin state change tries to keep the children
7685         in sync. 
7686         Added debug logging to the thread.
7687
7688 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7689
7690         * win32/GStreamer.vcproj:
7691         * win32/gstreamer.def:
7692           more exports for the plugins
7693
7694 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7695
7696         * win32/gstgetbits.vcproj:
7697         * win32/gstgetbits.def:
7698         * win32/msvc71.sln:
7699           add support for the getbits plugin
7700
7701 2004-07-27  Wim Taymans  <wim@fluendo.com>
7702
7703         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7704         (gst_value_transform_fraction_double), (_gst_value_initialize):
7705         * testsuite/caps/Makefile.am:
7706         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7707         (check_from_fraction_convert), (transform_test), (main):
7708         Added transform functions between double and fraction.
7709         Added testcase to verify transforms
7710
7711 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7712
7713         * win32/GStreamer.vcproj:
7714           rename GStreamer-0.8.lib to libgstreamer.lib
7715
7716 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7717
7718         * win32/gstelements.vcproj:
7719         * win32/gstoptimalscheduler.vcproj:
7720           fixes for the Release build
7721
7722 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7723
7724         * win32/config.h:
7725           update the version number
7726
7727 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7728
7729         * win32/GStreamer.vcproj:
7730           add gstinterface to the build
7731
7732 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7733
7734         * win32/gstreamer.def:
7735           add many definitions needed by plugins,
7736           GST_CAT_DEFAULT only available in the Debug build ?
7737
7738 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7739
7740         * gst/gstelement.c: (gst_element_set_eos_recursive):
7741           various whitespace fixes.
7742           doc fix, fixes #148497
7743
7744 2004-07-25  Benjamin Otte  <otte@gnome.org>
7745
7746         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7747           don't delay links on the sink elements, it causes unnegotiated
7748           links.
7749         * gst/elements/gsttypefindelement.c:
7750         (gst_type_find_element_base_init):
7751           add our padtemplates, we indeed do have some.
7752         * gst/elements/gsttypefindelement.c:
7753         (gst_type_find_element_handle_event),
7754         (gst_type_find_element_chain):
7755           don't push data when typefinding failed.
7756         * gst/gstpad.c: (gst_pad_link_fixate):
7757           check that no fixate function returns empty caps.
7758         * gst/gstpad.c: (gst_pad_push):
7759           check that the link is negotiated before data gets pushed.
7760         * tools/gst-register.c: (main):
7761           don't assert (fixes #148283)
7762
7763 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7764
7765         * docs/gst/gstreamer-sections.txt:
7766         * docs/gst/tmpl/gstconfig.sgml:
7767           add GST_PLUGIN_EXPORT definition
7768
7769 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7770
7771         * gst/gstplugin.h:
7772         * gst/gstconfig.h.in:
7773         * win32/gstconfig.h:
7774         * win32/gstelements.def:
7775         * win32/gstelements.vcproj:
7776         * win32/gstoptimalscheduler.def:
7777         * win32/gstoptimalscheduler.vcproj:
7778         * win32/gstspider.def:
7779         * win32/gstspider.vcproj:
7780           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7781
7782 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7783
7784         * docs/gst/gstreamer-sections.txt:
7785           remove GST_CAT_DEFAULT because the type has changed
7786
7787 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7788
7789         * win32/gstbytestream.vcproj:
7790         * win32/gstelements.vcproj:
7791         * win32/gst-inspect.vcproj:
7792         * win32/gst-launch.vcproj:
7793         * win32/gstoptimalscheduler.vcproj:
7794         * win32/GStreamer.vcproj:
7795         * win32/gst-register.vcproj:
7796         * win32/gstspider.vcproj:
7797         * win32/msvc71.sln:
7798           Copy the files where needed after building, The testsuite will be
7799           built separately
7800
7801 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7802
7803         * win32/config.h:
7804         * win32/README.txt:
7805         * docs/manual/win32.xml:
7806         Fixed the plugin and GStreamer location
7807
7808 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7809
7810         * win32/gstreamer.def:
7811         More exports for the plugins
7812
7813 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7814
7815         * gst/gstinfo.h:
7816         Marc was right, we need to export literally GST_CAT_DEFAULT
7817
7818 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7819
7820         * win32/config.h:
7821         NLS crashes in gettext, disabled until this is solved
7822
7823 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7824
7825         * win32/gst-inspect.vcproj:
7826         * win32/gst-launch.vcproj:
7827         Should use NLS when available
7828
7829 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7830
7831         * gst/registries/gstxmlregistry.c:
7832         removing the file doesn't seem to be a good idea on Linux
7833
7834 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7835
7836         * gst/registries/gstxmlregistry.c:
7837         Remove the registry before renaming the tempfile (needed for Windows)
7838
7839 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7840
7841         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7842         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7843         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7844         * gst/elements/gstmultifilesrc.h:
7845         Added newmedia property so it generates newmedia events between each
7846         file when property is set, as well as fixed eos handling
7847
7848 2004-07-22  David Schleef  <ds@schleef.org>
7849
7850         * gst/gststructure.c: (gst_structure_id_empty_new),
7851         (gst_structure_empty_new):  Set type field correctly.
7852         * gst/gststructure.h: Check type field correctly.
7853         * testsuite/caps/Makefile.am:
7854         * testsuite/caps/structure.c: (test1), (main): Add a very small
7855         test for structures.
7856
7857 2004-07-22  David Schleef  <ds@schleef.org>
7858
7859         * docs/random/ds/0.9-suggested-changes: more comments
7860         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7861
7862 2004-07-22  Benjamin Otte  <otte@gnome.org>
7863
7864         * gst/gstelementfactory.c: (gst_element_register):
7865           set the factory in the class struct, so gst_element_get_factory
7866           actually works
7867         * gst/parse/grammar.y:
7868           set element to playing when it gets unlocked as we can't rely on the
7869           bin state - all elements in the bin state might still be locked in
7870           NULL)
7871
7872 2004-07-22  Benjamin Otte  <otte@gnome.org>
7873
7874         * gst/gstelement.c: (gst_element_set_state_func):
7875           make this a static function
7876
7877 2004-07-22  Wim Taymans  <wim@fluendo.com>
7878
7879         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7880         (gst_opt_scheduler_pad_link):
7881         fix 147894-2 and the group_link problem.
7882
7883 2004-07-22  Wim Taymans  <wim@fluendo.com>
7884
7885         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7886         (handoff_identity), (main):
7887         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7888         (handoff_identity), (main):
7889         * testsuite/schedulers/Makefile.am:
7890         * testsuite/schedulers/group_link.c: (main):
7891         Show bug in scheduler when linking chain and loop based element 
7892         where the chain based element was not yet in a group.
7893
7894 2004-07-21  Benjamin Otte  <otte@gnome.org>
7895
7896         * gst/.cvsignore:
7897         * gst/autoplug/.cvsignore:
7898         * gst/elements/.cvsignore:
7899         * gst/indexers/.cvsignore:
7900         * libs/gst/bytestream/.cvsignore:
7901         * libs/gst/control/.cvsignore:
7902         * libs/gst/getbits/.cvsignore:
7903         * testsuite/states/.cvsignore:
7904         * testsuite/threads/.cvsignore:
7905           keep this up to date, since I seem to be the only one who cares
7906           about not missing files on commits (editor's note: no you don't,
7907           but feel free to change them at the time you add stuff instead
7908           of later on)
7909
7910 2004-07-21  Benjamin Otte  <otte@gnome.org>
7911
7912         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7913         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7914         (gst_bin_child_state_change_func), (set_kid_state_func),
7915         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7916           make state changes work correctly and reentrant (so removing
7917           elements from bins during state changes of bins doesn't cause
7918           segfaults or even wrong states)
7919           add debugging category and debugging output to print children states
7920         * gst/gstbin.c: (gst_bin_dispose): 
7921           add some assertion checks
7922         * gst/gstbin.h:
7923         * gst/gstbin.c: (gst_bin_sync_children_state):
7924           deprecate this function - it just does gst_bin_set_state (bin,
7925           GST_STATE (bin)) 
7926         * testsuite/threads/queue.c: (main):
7927           don't use gst_bin_sync_children_state anymore
7928         * testsuite/states/Makefile.am:
7929         * testsuite/states/bin.c:
7930           test that the state changes of bins work as expected
7931         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7932           some adjustments to change states correctly, too
7933         * gst/gstthread.c: (gst_thread_change_state):
7934           don't enable/disable "threadsafe" properties, they're unused and
7935           cause random segfaults
7936         * testsuite/threads/Makefile.am:
7937           the queue check randomly passes now, ignore it
7938
7939 2004-07-21  Benjamin Otte  <otte@gnome.org>
7940
7941         * gst/gstpad.c:
7942           check if data is NULL before outputting debug info. (fixes #145100)
7943
7944 2004-07-21  Benjamin Otte  <otte@gnome.org>
7945
7946         * gst/schedulers/entryscheduler.c:
7947         (gst_entry_scheduler_loop_wrapper),
7948         (gst_entry_scheduler_chain_wrapper),
7949         (gst_entry_scheduler_get_wrapper):
7950           reset the state when the cothread starts, so we don't get assertion
7951           failures on restarting of cothreads
7952
7953 2004-07-20  Benjamin Otte  <otte@gnome.org>
7954
7955         * gst/gstelement.c: (gst_element_link_pads_filtered):
7956           use correct sinkpad, if only sinkpad is specified, but not srcpad
7957           (fixes #147889)
7958         * gst/gstelement.c: (gst_element_set_state_func),
7959         (gst_element_change_state): ref/unref the element, signal handlers
7960         could get rid of the element otherwise
7961
7962 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7963
7964         * docs/random/ds/0.9-suggested-changes:
7965           Make note about renaming fixed-list to array.
7966         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7967         (_gst_value_initialize):
7968           Add array intersections.
7969         * testsuite/caps/intersect2.c: (main):
7970           Add test for array intersections.
7971
7972 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7973
7974         * configure.ac: back to cvs
7975
7976 === release 0.8.4 ===
7977
7978 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7979
7980         * configure.ac:
7981           releasing 0.8.4, "Paella"
7982           bump libtool versioning
7983
7984 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         * po/LINGUAS:
7987         * po/ca.po:
7988           adding Catalan translation (Jordi Mallach)
7989
7990 2004-07-20  Wim Taymans  <wim@fluendo.com>
7991
7992         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7993         (handoff_identity), (main):
7994         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7995         (handoff_identity), (main):
7996         * testsuite/schedulers/Makefile.am:
7997         Added failing testcase for variant of #147894
7998
7999 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         patch by: David Moore
8002
8003         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8004         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8005         (group_migrate_connected):
8006         * testsuite/schedulers/Makefile.am:
8007           fix for #142813 (Deadlock in optimal scheduler)
8008
8009 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8010
8011         patch by: Wim Taymans
8012
8013         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8014         (gst_opt_scheduler_schedule_run_queue),
8015         (gst_opt_scheduler_get_wrapper), (get_group),
8016         (group_migrate_connected):
8017         * testsuite/schedulers/Makefile.am:
8018           fix for #147819 (Add some checks in the opt scheduler)
8019
8020 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8021
8022         patch by: Benjamin Otte
8023
8024         * gst/gstelementfactory.c: (__gst_element_details_set):
8025           fix for #147929: running gst-register in non-utf8 locale can cause
8026           invalid registry
8027
8028 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8029
8030         patch by: Wim Taymans
8031
8032         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8033         (group_has_element), (element_get_reachables_func),
8034         (group_migrate_connected):
8035           fix for #147894 (opt scheduler decoupled elements mismanagement)
8036         * testsuite/schedulers/Makefile.am:
8037           testsuite app now passes
8038
8039 2004-07-19  Wim Taymans  <wim@fluendo.com>
8040
8041         * testsuite/schedulers/147819.c: (handoff_identity1),
8042         (handoff_identity2), (main):
8043         * testsuite/schedulers/Makefile.am:
8044         Added testcase for bug 147819
8045
8046 2004-07-19  Wim Taymans  <wim@fluendo.com>
8047
8048         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8049         (handoff_identity), (main):
8050         * testsuite/schedulers/Makefile.am:
8051         Added testcase for bug 147894
8052
8053 2004-07-16  Wim Taymans  <wim@fluendo.com>
8054
8055         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8056         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8057         * testsuite/schedulers/Makefile.am:
8058         Added testsuite for bug 142183 in its two incarnations. Refcount
8059         is not increased for scheduled elements and threadsafe properties
8060         mutexes are not properly unlocked.
8061
8062 2004-07-16  Wim Taymans  <wim@fluendo.com>
8063
8064         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8065         (create_chain), (destroy_chain), (create_group), (destroy_group),
8066         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8067         (group_dec_link), (gst_opt_scheduler_pad_link),
8068         (group_inc_links_for_element), (group_migrate_connected):
8069         Call group_inc_link with the proper src->sink ordering -- 
8070         break this, and we break sort_chain. patch from wingo for bug
8071         147713.
8072         Partially revert patch 1.89. When adding a loop based element to 
8073         the scheduler, the links to other groups are automatically followed
8074         and incremented. This should not happen because the bin will call
8075         pad_link explicitly for those connection, resulting in them counted 
8076         twice. Results in assertion failure on pipeline cleanup.
8077
8078 2004-07-16  Wim Taymans  <wim@fluendo.com>
8079
8080         * testsuite/schedulers/143777-2.c: (main):
8081         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8082         (main):
8083         * testsuite/schedulers/Makefile.am:
8084         Added cleanup code to testcase 143777-2.
8085         Added testcase to show bug 147713, does not really show the
8086         deadlock as I can't figure out how to trigger it, but it does
8087         demonstrate bad ordering in the scheduler.
8088
8089 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8090
8091         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8092           change strndup to g_strndup.  Fixes #147707
8093
8094 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8095
8096         * po/af.po:
8097         * po/az.po:
8098         * po/cs.po:
8099         * po/en_GB.po:
8100         * po/fr.po:
8101         * po/nl.po:
8102         * po/sr.po:
8103         * po/sv.po:
8104         * po/tr.po:
8105         * po/uk.po:
8106           updated translations
8107
8108 2004-07-16  Benjamin Otte  <otte@gnome.org>
8109
8110         * gst/gstvalue.c: (gst_greatest_common_divisor):
8111           use ints and return ints, fractions only use ints, too, so this
8112           avoids accidently casting multiplications to unsigned
8113         (gst_value_lcopy_fraction): it's ints, not uint32
8114         (gst_value_set_fraction): disallow minint, multiplying and negation
8115           are broken with it
8116         (gst_value_fraction_multiply): fix to make large numbers work and get
8117         rid of the assumption that the multiplication of two ints fits an
8118         int64 - dunno if that's true for all systems
8119         * testsuite/caps/Makefile.am:
8120         * testsuite/caps/fraction-multiply-and-zero.c:
8121         (check_multiplication), (check_equal), (zero_test), (main):
8122           add tests for all the stuff above
8123         * testsuite/caps/value_compare.c: (test1):
8124           fix comment
8125         * tests/.cvsignore:
8126         * testsuite/caps/.cvsignore:
8127         * testsuite/debug/.cvsignore:
8128         * testsuite/dlopen/.cvsignore:
8129         * testsuite/states/.cvsignore:
8130           get up to date
8131
8132 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8133
8134         * docs/manual/bins-api.xml:
8135         * docs/manual/factories.xml:
8136         * docs/manual/helloworld.xml:
8137         * docs/manual/links-api.xml: 
8138           fixes for out of date info, incorrect info and grammar
8139
8140 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8141
8142         * docs/manual/pads.xml:
8143         * docs/manual/pads-api.xml: grammar fix
8144
8145 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8146
8147         * docs/manual/pads-api.xml: typo + grammar fix
8148
8149 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * docs/gst/gstreamer-sections.txt:
8152           add new symbols
8153         * docs/gst/tmpl/gstelement.sgml:
8154         * docs/gst/tmpl/gstpad.sgml:
8155         * docs/gst/tmpl/gsttypes.sgml:
8156         * docs/gst/tmpl/gstvalue.sgml:
8157           update docs
8158         * gst/gststructure.c: (gst_structure_set_valist),
8159         (gst_structure_from_abbr), (gst_structure_to_abbr):
8160         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8161         (gst_greatest_common_divisor), (gst_value_init_fraction),
8162         (gst_value_copy_fraction), (gst_value_collect_fraction),
8163         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8164         (gst_value_get_fraction_numerator),
8165         (gst_value_get_fraction_denominator),
8166         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8167         (gst_value_deserialize_fraction),
8168         (gst_value_transform_fraction_string),
8169         (gst_value_transform_string_fraction),
8170         (gst_value_compare_fraction), (_gst_value_initialize):
8171         * gst/gstvalue.h:
8172           adding GstFraction GValue type, get/set, and multiply
8173         * testsuite/caps/Makefile.am:
8174         * testsuite/caps/fraction.c: (test), (main):
8175         * testsuite/caps/string-conversions.c: (main):
8176         * testsuite/caps/value_compare.c: (test1), (main):
8177           add regression tests for GstFraction
8178
8179 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8180         
8181         * docs/manual/init-api.xml: Grammar fix
8182
8183 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8184
8185         * docs/manual/states.xml: Fix inconsistent information
8186
8187 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8188
8189         * gst/gstelement.c: (gst_element_set_state):
8190         * gst/gstpad.c: (gst_pad_try_set_caps):
8191         * gst/gststructure.c:
8192         * gst/gstthread.c: (gst_thread_child_state_change):
8193         * gst/gstvalue.c: (gst_value_compare_double):
8194         * gst/gstvalue.h:
8195         * testsuite/parse/parse1.c: (main):
8196           debugging additions and style cleanups
8197
8198 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8199
8200         * docs/manual/states.xml: Grammar fix
8201
8202 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8203
8204         * docs/manual/pads.xml: Grammar fix
8205
8206 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8207
8208         * docs/manual/elements.xml: Fixed image reference
8209
8210 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8211
8212         * docs/manual/goals.xml: Grammar fix
8213
8214 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8215
8216         * docs/manual/motivation.xml:
8217         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8218
8219 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8220
8221         * docs/manual/motivation.xml: Fix spelling
8222
8223 2004-07-15  Benjamin Otte  <otte@gnome.org>
8224
8225         * gst/gstelement.h: 
8226           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8227           strings.
8228         * gst/gstelement.c (gst_element_class_init):
8229           GError's are boxed, not objects
8230         * gst/gstmarshal.list:
8231           update list for the fixed error signal
8232
8233 2004-07-14  Andy Wingo  <wingo@pobox.com>
8234
8235         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8236         there all along, but the function wasn't. (guile-gstreamer's build
8237         system uses the address of the function -- I wasn't actually
8238         trying to use this.)
8239
8240 2004-07-14  Andy Wingo  <wingo@pobox.com>
8241
8242         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8243         as gst_pad_proxy_pad_link) just link to every other pad when they
8244         are called. In the case where the graph has cycles, this will mean
8245         that a call to try_set_caps will recurse. Allow this recursion
8246         and return OK, while we wait for the first try_set_caps to give a
8247         proper return value.
8248         (gst_pad_link_call_link_functions): Since this function is the
8249         only one to set the NEGOTIATING flag on a pad, if the flag is set
8250         it means that the link functions have indirectly recursed. If this
8251         happens, error out to avoid infinite recursion and an eventual
8252         SEGV.
8253         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8254         (gst_pad_proxy_getcaps): Intersect the result with the template
8255         caps to ensure that the return value is valid.
8256
8257 2004-07-14  Andy Wingo  <wingo@pobox.com>
8258
8259         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8260         one refcount, the calling function is the owner of the buffer.
8261
8262 2004-07-14  Wim Taymans  <wim@fluendo.com>
8263
8264         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8265         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8266         Fix stupid warning when an element is to be migrated but
8267         is already migrated.
8268
8269 2004-07-14  Wim Taymans  <wim@fluendo.com>
8270
8271         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8272         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8273         Make sure that a single non-loop-based element does not 
8274         end up in a group. This fixes the testsuite again.
8275
8276 2004-07-14  Wim Taymans  <wim@fluendo.com>
8277
8278         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8279         (add_to_group), (merge_groups), (schedule_group),
8280         (gst_opt_scheduler_get_wrapper), (group_elements),
8281         (group_dec_link), (gst_opt_scheduler_pad_link),
8282         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8283         (gst_opt_scheduler_iterate):
8284         move isolated groups to a new chain.
8285         Emit a warning instead of segfaulting in some error cases.
8286         Fix a bug where the link count between groups was not calculated 
8287         correctly. Fixes #144510.
8288
8289 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8290         * gst/elements/gstfilesrc.c:
8291           Binary files support under Windows now OK
8292       
8293 2004-07-13  Benjamin Otte  <otte@gnome.org>
8294
8295           compatibility fixes for Solaris 8/gcc 2.95
8296         * configure.ac:
8297           include libintl libs in LDFLAGS
8298         * gstvalue.c (gst_value_deserialize_buffer):
8299           cast isxdigit stuff to int to silence compiler warning
8300
8301 2004-07-12  Benjamin Otte  <otte@gnome.org>
8302
8303         * gst/gsttypes.h:
8304           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8305           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8306           just causes support madness
8307         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8308           make it work without this
8309         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8310         (gst_file_index_commit):
8311           glib IO channels don't want binary mode
8312         * testsuite/bytestream/filepadsink.c: (main):
8313         * testsuite/bytestream/test1.c: (read_param_file):
8314           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8315
8316 2004-07-12  Benjamin Otte  <otte@gnome.org>
8317
8318         * gst/gstelement.c: (gst_element_class_init),
8319         (gst_element_set_state), (gst_element_set_state_func):
8320           virutalize gst_element_set_state, use set_state member in class
8321           struct that was already added in 0.7 for this.
8322         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8323         (gst_bin_change_state):
8324           make gst_bin_foreach works similar to other foreach functions, plug
8325           memleaks in it. Make functions using it work with the new approach.
8326           Document gst_bin_foreach, so it can be exported if we want to
8327         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8328           use virtualized set_state to make set_state on bins set the state of
8329           all its children.
8330
8331 2004-07-12  Benjamin Otte  <otte@gnome.org>
8332
8333         * configure.ac:
8334           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8335           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8336         * gst/gstpad.c: (gst_pad_alloc_buffer):
8337           allow buffer_alloc functions to return NULL and allocate a normal
8338           buffer in that case
8339
8340 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8341         * gst/elements/gstfilesink.c:
8342         * gst/elements/gstfilesrc.c:
8343         * gst/indexers/gstfileindex.c:
8344         * gst/gsttypes.h:
8345         * testsuite/bytestream/filepadsink.c:
8346         * testsuite/bytestream/test1.c:
8347           Handle binary files under Windows
8348
8349 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8350         * docs/manual/win32.xml:
8351         * win32/config.h:
8352         * win32/gst-register.vcproj:
8353         * win32/gstreamer.def:
8354           Update to another gettext public build
8355
8356 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8357         * gst/gstplugin.c:
8358           Fix an impossible C syntax
8359         * win32/config.h:
8360           Disable i18n under Windows for the moment
8361         * win32/gst-register.vcproj:
8362           Use this configuration
8363
8364 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8365         * docs/manual/quotes.xml:
8366           Keep the quotes file alive
8367         * docs/random/ds/0.9-suggested-changes:
8368           Add the suggestion of including a 'rowstride' as part of video
8369           format caps
8370
8371 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8372
8373         * gst/gstelement.c: (gst_element_set_state),
8374         (gst_element_change_state):
8375           d'oh.  Set PENDING state correctly before forcing bin to change.
8376         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8377         (gst_structure_parse_fixed_list):
8378         * gst/schedulers/gstoptimalscheduler.c:
8379         (gst_opt_scheduler_state_transition):
8380         * testsuite/states/parent.c: (main):
8381           remove comment now that it's fixed.
8382
8383 2004-07-11  Benjamin Otte  <otte@gnome.org>
8384
8385         * gst/gstclock.h:
8386           GST_SECOND shouldn't cause a conversion to unsigned.
8387         * testsuite/clock/.cvsignore:
8388         * testsuite/clock/Makefile.am:
8389         * testsuite/clock/signedness.c: (main):
8390           make sure it never will again
8391
8392 2004-07-11  Andy Wingo  <wingo@pobox.com>
8393
8394         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8395         whose state is higher than the bin state, raise the bin state to
8396         ensure that bin state := highest child state.
8397         
8398 2004-07-11  Andy Wingo  <wingo@pobox.com>
8399
8400         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8401         procedure on the children of a bin. Assumes that the procedure can
8402         change the set of children.
8403         (set_kid_state_func): New static function.
8404         (gst_bin_change_state): Use gst_bin_foreach to call
8405         set_kid_state_func. Fixes a bug: if a child had a state-change
8406         handler that removes it from the bin, there would be a segfault.
8407         Hopefully it should also work in the case where the state-change
8408         handler on one child adds or removes other children. In any case,
8409         fixes should go to gst_bin_foreach.
8410
8411 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8412
8413         * gst/gstelement.c: (gst_element_set_state):
8414           compatibility fix for latest plugins release.  Change loop back
8415           to while {}
8416
8417 2004-07-09  Wim Taymans  <wim@fluendo.com>
8418
8419         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8420         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8421         (gst_thread_main_loop):
8422         Since remove is virtual in GstBin we must not assume the 
8423         elements GList to have anothing useful.
8424         Add some more logging to GstThread and be a bit more paranoid
8425         when resetting the scheduler.
8426         Set the state of the bin to NULL before removing the children.
8427
8428 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8429
8430         * testsuite/threads/Makefile.am:
8431         * testsuite/threads/threadg.c:
8432           added test to check if problem when removing all elements from a
8433           GstThread before setting GstThread state to NULL
8434
8435 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8436
8437         * docs/gst/tmpl/gstelement.sgml:
8438         * docs/gst/tmpl/gsttypes.sgml:
8439         * gst/gstbin.c: (gst_bin_change_state):
8440         * gst/gstelement.c: (gst_element_set_state),
8441         (gst_element_change_state):
8442           rework so that for bins we try to set the state on all children
8443           as well even if the bin is in the correct state already.
8444           change while to do so at least one iteration is done.
8445           For regular elements, we fall back to the previous behaviour for
8446           now since we first need a new plugins release.
8447         * testsuite/states/parent.c: (main):
8448           test for this case
8449           Fixes #123774
8450
8451 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8452
8453         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8454         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8455         (gst_queue_release_locks), (gst_queue_change_state),
8456         (gst_queue_set_property):
8457           add proper lock debugging.  Change dispose to finalize, since
8458           we're freeing mutexes and other stuff which should happen only once.
8459
8460 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8461
8462         * docs/gst/tmpl/gstelement.sgml:
8463         * docs/gst/tmpl/gstplugin.sgml:
8464         * docs/gst/tmpl/gsttypes.sgml:
8465         * docs/pwg/building-state.xml:
8466         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8467         * gst/gstelement.c: (gst_element_change_state):
8468         * gst/gstthread.c: (gst_thread_change_state):
8469           catch wrong state changes in element base class.
8470
8471 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8472
8473         * gst/gstinfo.h:
8474           clean up layout a little.
8475
8476 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8477
8478         * configure.ac:
8479         * testsuite/Makefile.am:
8480         * testsuite/states/Makefile.am:
8481         * testsuite/states/parent.c: (main):
8482           re-enable states testsuite dir.  Add test for state changes and
8483           parent behaviour
8484
8485 2004-07-09  Wim Taymans  <wim@fluendo.com>
8486
8487         * gst/schedulers/gstoptimalscheduler.c:
8488         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8489         (element_get_reachables_func), (element_get_reachables),
8490         (debug_element), (rechain_group), (group_migrate_connected),
8491         (gst_opt_scheduler_pad_unlink):
8492         Do not try to migrate decoupled elements to a new group since
8493         they are not added to groups.
8494
8495 2004-07-08  Benjamin Otte  <otte@gnome.org>
8496
8497         * gst/gstelement.c: (gst_element_error_func):
8498           make reentrant (= allow removing elements in error handler)
8499
8500 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8501
8502         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8503         (gst_pad_send_event), (gst_pad_call_chain_function):
8504           events sent to elements below PAUSED cannot be handled, so
8505           don't try to
8506
8507 2004-07-08  Wim Taymans  <wim@fluendo.com>
8508
8509         * gst/schedulers/gstoptimalscheduler.c:
8510         (chain_recursively_migrate_group), (create_group),
8511         (schedule_group), (gst_opt_scheduler_pad_link),
8512         (group_elements_set_visited), (element_get_reachables_func),
8513         (element_get_reachables), (group_can_reach_group), (debug_element),
8514         (rechain_group), (group_migrate_connected),
8515         (gst_opt_scheduler_pad_unlink):
8516         * testsuite/schedulers/Makefile.am:
8517         Implemented group splitting and rechaining.
8518         Fixes 143777 and 143777-2 in the testsuite.
8519
8520 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8521
8522         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8523           extra debugging
8524         * gst/gstevent.h:
8525         * gst/gstinfo.c: (gst_debug_log_default):
8526           print time nicely.  add thread pointer until someone figures out
8527           a completely portable way of getting at thread id's.
8528         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8529         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8530         (gst_pad_call_chain_function):
8531           extra debugging
8532         * gst/schedulers/gstoptimalscheduler.c:
8533         (get_group_schedule_function), (loop_group_schedule_function),
8534         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8535         (pad_clear_queued), (gst_opt_scheduler_iterate):
8536           rename BUFPEN and friends to DATAPEN since that's what they are.
8537
8538 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8539
8540         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8541         * gst/gstbuffer.h:
8542         * gst/gstpad.c:
8543           cleanups and debugging
8544
8545 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8546
8547         * configure.ac:
8548         * gst/gstvalue.c: (gst_value_compare_enum),
8549         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8550         (gst_value_can_compare), (gst_value_compare):
8551         * testsuite/Makefile.am:
8552         * testsuite/enumcaps/Makefile.am:
8553         * testsuite/enumcaps/enumcaps.c:
8554           Fix enum serialization, deserialization, comparison in caps, add
8555           a test to ensure that this continues working in the future.
8556
8557 2004-07-06  David Schleef  <ds@schleef.org>
8558
8559         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8560         Fix memleak.
8561
8562 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8563
8564         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8565         * gst/gstplugin.h:
8566         * gst/registries/gstxmlregistry.c:
8567         (plugin_times_older_than_recurse), (plugin_times_older_than),
8568         (gst_xml_registry_parse_padtemplate):
8569           only rebuild registry when actual plugins have a newer time than
8570           the registry.  Fixes #145520
8571
8572 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8573
8574         * docs/manual/manual.xml:
8575         * docs/manual/win32.xml:
8576           add chapter on win32 building.  fixes #142422
8577
8578 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8579
8580         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8581
8582         * gst/autoplug/gstspider.c: (gst_spider_init),
8583         (gst_spider_dispose):
8584           fix spider memleaks.  fixes #137863
8585
8586 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8589
8590         * gst/schedulers/gstoptimalscheduler.c:
8591         (gst_opt_scheduler_pad_unlink):
8592           fix SIGBUS error, fixes #145338
8593
8594 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8595
8596         * gst/gstobject.c: (gst_object_replace):
8597         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8598         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8599           clean up clock lifecycle.  Fixes #109831
8600
8601 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8602
8603         * po/LINGUAS:
8604         * po/cs.po:
8605           added Czech translation (Miloslav Trmac)
8606
8607 2004-07-04  David Schleef  <ds@schleef.org>
8608
8609         * tools/Makefile.am:
8610         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8611
8612 2004-07-04  David Schleef  <ds@schleef.org>
8613
8614         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8615
8616 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8617
8618         * gst/gstbin.c: (gst_bin_restore_thyself):
8619           chain to parent restore so the bins get restored correctly
8620           in the editor
8621
8622 2004-07-03  David Schleef  <ds@schleef.org>
8623
8624         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8625         Actually do something in these functions, like before the big
8626         caps change.  (bug #145137)
8627
8628 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8629
8630         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8631         (gst_element_get_compatible_pad_filtered):
8632         * gst/gstthread.c: (gst_thread_main_loop):
8633           more debugging
8634
8635 2004-07-02  David Schleef  <ds@schleef.org>
8636
8637         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8638         * gst/gstobject.h:
8639         * gst/gstparse.h:
8640         * gst/gsttrace.h:
8641         * gst/gstxml.h:
8642
8643 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * gst/gstpad.c: (gst_pad_check_schedulers),
8646         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8647         (gst_pad_link_prepare):
8648           revert until testsuite is fixed
8649
8650 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8651
8652         * testsuite/Makefile.am:
8653         * testsuite/caps/filtercaps.c: (main):
8654         * testsuite/clock/clock1.c: (main):
8655         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8656           fix some more tests
8657
8658 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8659
8660         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8661         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8662         * testsuite/cleanup/cleanup4.c: (main):
8663           fix testsuite
8664
8665 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8666
8667         * libs/gst/control/control.c:
8668         * libs/gst/control/dparam.c:
8669         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8670         * libs/gst/control/dparammanager.c:
8671         * libs/gst/control/dparammanager.h:
8672         * testsuite/dynparams/Makefile.am:
8673         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8674         (gst_dptest_change_state), (gst_dptest_chain), (main):
8675           fix testcase for dparams
8676           add debugging category
8677
8678 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8679
8680         * testsuite/Rules:
8681           change path
8682
8683 2004-07-02  Benjamin Otte  <otte@gnome.org>
8684
8685         * tests/.cvsignore:
8686         * tests/Makefile.am:
8687         * tests/mass_elements.c: (gst_get_current_time), (main):
8688           add simple benchmark to test various speeds of fakesrc ! identity !
8689           identity ! ... ! fakesink.
8690           Usage: mass_elements [num_identities] [num_buffers]
8691           If not specified they default to 1000.
8692
8693 2004-07-02  Benjamin Otte  <otte@gnome.org>
8694
8695         * gst/gstpad.c: (gst_pad_check_schedulers),
8696         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8697         (gst_pad_link_prepare):
8698           check that pads that get linked belong to the same manager. The old
8699           code allowed linking elements before putting them into bins, so it
8700           worked to link them and then put them in different threads, which
8701           lead to weird behaviour.
8702           Since this effectively disallows linking elements before putting
8703           them in a bin, some applications might not work after this and error
8704           out. If these applications are too critical, we might need to revert
8705           that patch. Please test this before the next release...
8706
8707 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8708
8709         * gst/gstpad.c: (gst_pad_get_caps):
8710           throw an error if the getcaps function does not return a subset of
8711           the template caps.
8712         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8713           make disconts without position info an error in debugging
8714         * tests/spidey_bench.c: (handoff), (main):
8715           don't count first try when averaging
8716
8717 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8718
8719         * gst/gstplugin.c: (gst_plugin_load_file):
8720           figure out problem with dynamic test
8721
8722 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * docs/gst/Makefile.am:
8725           fix docs build
8726
8727 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8728
8729         * po/POTFILES.in:
8730         * po/af.po:
8731         * po/az.po:
8732         * po/en_GB.po:
8733         * po/fr.po:
8734         * po/nl.po:
8735         * po/sr.po:
8736         * po/sv.po:
8737         * po/tr.po:
8738         * po/uk.po:
8739         * tools/gst-register.c: (plugin_added_func), (main):
8740           i18n-ize -register, fix plural
8741
8742 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8743
8744         * gst/elements/gstidentity.c: (gst_identity_class_init),
8745         (gst_identity_init), (gst_identity_chain),
8746         (gst_identity_set_property), (gst_identity_get_property):
8747         * gst/elements/gstidentity.h:
8748           check for perfect stream
8749
8750 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8751
8752         * gst/elements/gstidentity.c: (gst_identity_chain):
8753           print offset_end
8754
8755 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8756
8757         * docs/gst/Makefile.am:
8758         * docs/gst/gstreamer-docs.sgml:
8759           doc fixes
8760
8761 2004-06-24  David Schleef  <ds@schleef.org>
8762
8763         * autogen.sh:  Remove call to env, since the buildbot isn't
8764         broken anymore.
8765
8766 2004-06-24  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/elements/Makefile.am:
8769         * gst/elements/gstelements.c:
8770         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8771         (gst_multifdsink_class_init), (gst_multifdsink_init),
8772         (gst_multifdsink_add), (gst_multifdsink_remove),
8773         (gst_multifdsink_clear), (gst_multifdsink_chain),
8774         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8775         * gst/elements/gstmultifdsink.h:
8776         Added an element that writes to multiple filedescriptors at once.
8777
8778 2004-06-24  Benjamin Otte  <otte@gnome.org>
8779
8780         * gst/parse/grammar.y:
8781           don't try to link elements before they have been added to bins
8782
8783 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8784
8785         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8786         (gst_file_pad_get_length):
8787         * libs/gst/bytestream/filepad.h:
8788           add 2 new functions
8789
8790 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8791
8792         * docs/gst/gstreamer-sections.txt:
8793         remove from docs, the define that Benjamin removed from gstelement.h
8794
8795 2004-06-22  Benjamin Otte  <otte@gnome.org>
8796
8797         * gst/gstelement.h:
8798           remove define that referenced a nonexisting GstElement struct member
8799
8800 2004-06-20  Benjamin Otte  <otte@gnome.org>
8801
8802         * gst/gstdata.c: (gst_data_is_writable):
8803           whoops, return values were wrong, so writable data was marked as
8804           non-writable and vice versa. (fixes #143953, spotted by Francis
8805           Labonte)
8806           Shows how rarely we need to copy data ;)
8807
8808 2004-06-20  Benjamin Otte  <otte@gnome.org>
8809
8810         * testsuite/schedulers/.cvsignore:
8811         * testsuite/schedulers/Makefile.am:
8812         * testsuite/schedulers/143777-2.c: (main):
8813           add test for opt breakage in bug #143777
8814
8815 2004-06-20  Benjamin Otte  <otte@gnome.org>
8816
8817         * gst/gstpad.c: (gst_pad_call_chain_function):
8818           check for if we were unlinked while inside the chainfunction (fixes
8819           entrygthread having issues with #143777)
8820         * testsuite/schedulers/143777.c: (main):
8821         * testsuite/schedulers/Makefile.am:
8822           add a test for that fix
8823
8824 2004-06-20  Benjamin Otte  <otte@gnome.org>
8825
8826         * gst/gstvalue.c: (gst_value_set_int_range):
8827           test that start is smaller then end
8828         * libs/gst/bytestream/Makefile.am:
8829         * libs/gst/bytestream/filepad.c: 
8830         * libs/gst/bytestream/filepad.h:
8831           add GstFilePad - a pad that behaves like a FILE*
8832         * testsuite/bytestream/.cvsignore:
8833         * testsuite/bytestream/Makefile.am:
8834         * testsuite/bytestream/filepadsink.c: 
8835           test for the GstFilePad
8836
8837 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8838
8839         * gst/elements/gstidentity.c: (gst_identity_class_init),
8840         (gst_identity_init), (gst_identity_set_clock),
8841         (gst_identity_chain), (gst_identity_set_property),
8842         (gst_identity_get_property):
8843         * gst/elements/gstidentity.h:
8844         * gst/gstclock.c: (gst_clock_id_wait):
8845           add a "sync" property to sync to the clock
8846
8847 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8848
8849         * gst/gstelementfactory.c: (gst_element_factory_create):
8850           make the freakin "elementfactory bla has no type" message more
8851           useful. So we actually can do something when someone shows up
8852           complaining about it.
8853
8854 2004-06-15  Johan Dahlin  <johan@gnome.org>
8855
8856         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8857         found. This matches the old behavior better. Thanks to Thomas for
8858         pointing out.
8859
8860 2004-06-14  David Schleef  <ds@schleef.org>
8861
8862         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8863         -fomit-frame-pointer.  Appears to generate correct code in
8864         other cases as well.
8865
8866 2004-06-14  Johan Dahlin  <johan@gnome.org>
8867
8868         * tools/gst-inspect.c (main): Add two new command line options: -a
8869         to print all elements and -n to print the name on each line. Also
8870         fix some error reporting.
8871         (main): Simplify, remove -n and always print names if -a is specified
8872
8873 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8874
8875         * win32/gstconfig.h:
8876         * win32/GSTreamer.vcproj:
8877         * win32/Makefile:
8878         * gst/gstconfig.h.in:
8879         * gst/gst.h:
8880         * gst/gstbin.h:
8881         * gst/gstelement.h:
8882         * gst/gstevent.h:
8883         * gst/gstobject.h:
8884         * gst/gstpad.h:
8885         * docs/gst/gstreamer-sections.txt:
8886         * docs/gst/tmpl/gstconfig.sgml:
8887           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8888
8889 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8890         * docs/gst/gstreamer-sections.txt:
8891         * docs/gst/tmpl/gstconfig.sgml:
8892         Add the GSTREAMER_EXPORT macro to the docs
8893
8894 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8895
8896         * tools/gst-compprep.c: (handle_xmlerror), (main):
8897         Add a check for the version that introduced SetStructuredError to fix
8898         the build on FC1
8899
8900 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8901
8902         * win32/msvc71.sln:
8903         * win32/testsuite/:
8904           prepare to compile the testsuite with MSVC
8905
8906 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8907
8908         * docs/manual/win32.xml:
8909           attempt to transform the Win32 README into an XML doc
8910
8911 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8912
8913         * gst/gst.c:
8914         * gst/gstbin.*:
8915         * gst/config.h.in:
8916         * gst/gstelement.*:
8917         * gst/gstevent.h:
8918         * gst/gstobject.*:
8919         * gst/gstpad.h:
8920         * tools/gst-register.c:
8921         * win32/gstreamer.def:
8922           extern symbols are now exported for the Windows DLL
8923
8924 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8925
8926         * gst/gstinfo.h:
8927           fix a problem to enable/disable DEBUG under MSVC
8928
8929 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8930
8931         * win32/:
8932           enable more debug code in DEBUG build
8933
8934 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8935
8936         * win32/config.h:
8937         * gst/gst-i18n-app.h:
8938           enable NLS under Windows
8939
8940 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8941         * tools/gst-compprep.c: (handle_xmlerror), (main):
8942           Make an error that baffled me a bit clearer
8943
8944 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8945
8946         * gst/gstqueue.c:
8947           don't use g_queue_get_length () because it's 2.4, use ->length
8948
8949 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8950
8951         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8952
8953         * tools/gst-inspect.c: (print_signal_info):
8954           don't free random data twice. (fixes #144185)
8955
8956 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8957
8958         * gst/gstqueue.c:
8959         * gst/gstqueue.h:
8960           fix removing from the wrong queue on event timeout
8961           fix disposing of the event queue by casting correctly
8962           add mutexes for handling the event queue
8963           someone was sleeping when fixing queue last time around :)
8964
8965 2004-06-10  Johan Dahlin  <johan@gnome.org>
8966
8967         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8968         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8969
8970 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8971
8972         * docs/random/gdp:
8973         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8974         * libs/gst/dataprotocol/dataprotocol.c:
8975         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8976         (gst_dp_buffer_from_header):
8977         * libs/gst/dataprotocol/dataprotocol.h:
8978         * libs/gst/dataprotocol/dp-private.h:
8979           rev version to 0.1, add buffer flags and copy them
8980
8981 2004-06-09  Johan Dahlin  <johan@gnome.org>
8982
8983         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8984         the flags from the buffer we're copying.
8985
8986 2004-06-09  Wim Taymans  <wim@fluendo.com>
8987
8988         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8989         * gst/elements/gstidentity.c: (gst_identity_init),
8990         (gst_identity_chain):
8991         Print more buffer info in fakesink.
8992         Make identity output similar to fakesink.
8993
8994 2004-06-07  Daniel Gazard  <dany42@free.fr>
8995
8996         reviewed by Benjamin Otte  <otte@gnome.org>
8997
8998         * configure.ac:
8999           fix cross compiling not working. (fixes #143741)
9000
9001 2004-06-07  Benjamin Otte  <otte@gnome.org>
9002
9003         * gst/gstelement.c: (gst_element_set_time_delay):
9004           add failure check
9005         * gst/gstinfo.h:
9006           put brackets around macro arguments of GST_TIME_ARGS, add note to
9007           move it to correct header in 0.9
9008
9009 2004-06-07  Benjamin Otte  <otte@gnome.org>
9010
9011         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9012         (gst_file_index_load), (_file_index_id_save_entries),
9013         (gst_file_index_commit), (gst_file_index_add_association),
9014         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9015         (gst_file_index_plugin_init):
9016           make debugging use a default category
9017
9018 2004-06-06  David Moore  <dcm@acm.org>
9019
9020         reviewed by Benjamin Otte  <otte@gnome.org>
9021
9022         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9023         (gst_fdsrc_change_state):
9024           reset offset counter when going READY => PAUSED. (fixes #142903)
9025
9026 2004-06-06  ed@catmur.co.uk
9027
9028         reviewed by Benjamin Otte  <otte@gnome.org>
9029
9030         * gst/registries/gstxmlregistry.c:
9031         (gst_xml_registry_rebuild_recurse):
9032           don't rely on g_dir_open to figure out if a file is a directory, use
9033           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9034           directories. (fixes #142850)
9035
9036 2004-06-06  Benjamin Otte  <otte@gnome.org>
9037
9038         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9039           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9040         * libs/gst/bytestream/adapter.c:
9041         * libs/gst/bytestream/adapter.h:
9042           fix copyright in header and typo in debugging category name
9043
9044 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9045
9046         * configure.ac:
9047           bump nano to cvs
9048
9049 === release 0.8.3 ===
9050
9051 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * configure.ac:
9054           update libtool versioning
9055           do a new release
9056         * docs/gst/tmpl/gstelement.sgml:
9057         * docs/gst/tmpl/gsttypes.sgml:
9058         * gst/gstinfo.c: (_gst_debug_init):
9059           put back GST_CAT_DATAFLOW to fix API breakage
9060
9061 2004-06-04  David Schleef  <ds@schleef.org>
9062
9063         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9064
9065 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9066
9067         * configure.ac:
9068           bump nano to cvs
9069
9070 === release 0.8.2 ===
9071
9072 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9073
9074         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9075           check GST_DEBUG environment variable which is parsed the same way
9076           as --gst-debug=
9077
9078 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9079
9080         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9081                             gstmd5sink.c gstshaper.c gsttee.c
9082                             gsttypefindelement.c
9083         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9084
9085           - removing trailing commas at end of enums
9086             it is correct C99 code but C90 compilers would complain
9087             (AIX, Forte, ...)
9088             ('should' fix #143290, at least partially)
9089
9090 2004-05-27  Wim Taymans  <wim@fluendo.com>
9091
9092         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9093         (chain_group_set_enabled), (create_group), (add_to_group),
9094         (merge_groups), (setup_group_scheduler), (group_elements),
9095         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9096         Don't try to follow the pad connections with other groups
9097         when a loop based element is added to the scheduler because
9098         the bin will inform the scheduler about the pad links a little
9099         later.
9100
9101 2004-05-27  Wim Taymans  <wim@fluendo.com>
9102
9103         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9104         (remove_from_chain), (chain_group_set_enabled),
9105         (setup_group_scheduler), (group_element_set_enabled),
9106         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9107         (gst_opt_scheduler_show):
9108         Elements without a group can do a state change as well, just wait
9109         with the setup of the scheduling function when it is added to a
9110         chain.
9111
9112 2004-05-27  Wim Taymans  <wim@fluendo.com>
9113
9114         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9115         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9116         (merge_groups), (setup_group_scheduler),
9117         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9118         (gst_opt_scheduler_show):
9119         Fixes to maintain internal consistency of the scheduler data
9120         structures. 
9121          - adding an enabled group to a chain should increment the
9122            number of enabled elements in that chain.
9123          - removing an enabled group from a chain could disable the
9124            chain.
9125          - removing a disabled group from a chain could enable the
9126            chain.
9127          - add g_assert when internal inconsistency is detected.
9128          - adding an element to a group could increase the number of
9129            links this group has with other groups.
9130          - merging two groups also merges the chains.
9131          - also show group links in the _show method.
9132            
9133
9134 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9135
9136         * gst/gstcaps.c: (gst_caps_structure_simplify):
9137           don't print error messages when there is no error
9138         * gst/gstvalue.c: (gst_value_compare_int_range):
9139           compare the second value, too
9140         * testsuite/caps/Makefile.am:
9141         * testsuite/caps/random.c: (assert_on_error), (main):
9142           add tests to make sure the two things above are checked for
9143
9144 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9145
9146         * configure.ac:
9147         * libs/gst/dataprotocol/Makefile.am:
9148         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9149         * libs/gst/dataprotocol/dataprotocol.h:
9150           wrap header in GST_ENABLE_NEW.  make code use it
9151
9152 2004-05-23  Johan Dahlin  <johan@gnome.org>
9153
9154         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9155         so verbose and print GstElement signal names all the time.
9156
9157 2004-05-22  David Schleef  <ds@schleef.org>
9158
9159         * gst/registries/gstxmlregistry.c:
9160         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9161         (bug #142957)
9162
9163 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9164
9165         * configure.ac:
9166           scrub cflags for glib2 so gcc doesn't complain when glib is in
9167           /usr/local
9168
9169 2004-05-21  Johan Dahlin  <johan@gnome.org>
9170
9171         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9172         __GNUC__, patch from Brian Cameron, fixes bug #142804
9173
9174 2004-05-20  David Schleef  <ds@schleef.org>
9175
9176         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9177         comparison code.  (bug #142819)
9178
9179 2004-05-20  Wim Taymans  <wim@fluendo.com>
9180
9181         * gst/gstbuffer.c: (gst_buffer_default_copy):
9182         * gst/gstbuffer.h:
9183         Added Comment to a flag.
9184         copy relevant flags in _buffer_copy.
9185
9186 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9187
9188         reviewed by: Wim Taymans <wim at fluendo dot com>
9189
9190         * gst/gstbuffer.h:
9191           add GST_BUFFER_IN_CAPS buffer flag
9192         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9193         (gst_structure_parse_any_list), (gst_structure_parse_list),
9194         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9195         * gst/gstvalue.c: (gst_value_serialize_any_list),
9196         (gst_value_transform_any_list_string),
9197         (gst_value_list_prepend_value), (gst_value_list_append_value),
9198         (gst_value_list_get_size), (gst_value_list_get_value),
9199         (gst_value_transform_list_string),
9200         (gst_value_transform_fixed_list_string),
9201         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9202         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9203         (_gst_value_initialize):
9204         * gst/gstvalue.h:
9205           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9206           < , > as a format.
9207         * testsuite/caps/string-conversions.c: (main):
9208           add regression tests for < >
9209
9210 2004-05-20  Johan Dahlin  <johan@gnome.org>
9211
9212         * docs/gst/Makefile.am (all-local): Re-add
9213
9214 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9215
9216         * docs/gst/Makefile.am:
9217         * docs/gst/gstreamer-docs.sgml:
9218         * docs/libs/Makefile.am:
9219         * docs/libs/gstreamer-libs-docs.sgml:
9220           fix distcheck issues
9221
9222 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         * libs/gst/dataprotocol/Makefile.am:
9225           add to autotest
9226
9227 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9228
9229         * libs/gst/dataprotocol/Makefile.am:
9230         * libs/gst/dataprotocol/dataprotocol.c:
9231         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9232         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9233         * libs/gst/dataprotocol/dp-private.h:
9234           use GST macros to read/write fixed length ints
9235           add some more asserts
9236
9237 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9238
9239         * docs/libs/gstreamer-libs-docs.sgml:
9240         * docs/libs/gstreamer-libs-sections.txt:
9241           remove idct and putbits
9242         * configure.ac:
9243         * docs/libs/tmpl/gstdataprotocol.sgml:
9244         * libs/gst/Makefile.am:
9245         * libs/gst/dataprotocol/Makefile.am:
9246         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9247         (buffer_test), (caps_test), (event_test), (main):
9248         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9249         (gst_dp_dump_byte_array), (gst_dp_init),
9250         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9251         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9252         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9253         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9254         (gst_dp_validate_header), (gst_dp_validate_payload),
9255         (gst_dp_validate_packet), (plugin_init):
9256         * libs/gst/dataprotocol/dataprotocol.h:
9257         * libs/gst/dataprotocol/dp-private.h:
9258           add dataprotocol
9259
9260 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9261
9262         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9263           fix int variable deserialization and add a helper so we can actually
9264           debug this.
9265
9266 2004-05-18  David Schleef  <ds@schleef.org>
9267
9268         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9269           argv[0].  Calling yourself is probably not the best way to
9270           construct a test like this, btw.
9271
9272 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9273
9274         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9275           don't claim to be more intelligent than a scheduler when the
9276           scheduler claims the pipeline is stopped
9277         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9278         (safe_cothread_destroy),
9279         (gst_entry_scheduler_remove_all_cothreads),
9280         (gst_entry_scheduler_reset), (_remove_cothread),
9281         (gst_entry_scheduler_state_transition):
9282           hold off cothread destruction if we're not in main cothread
9283         * configure.ac:
9284         * testsuite/Makefile.am:
9285           add new test dir
9286         * testsuite/schedulers/.cvsignore:
9287         * testsuite/schedulers/Makefile.am:
9288           add tests
9289         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9290           check relinking and adding/removing elements from a running pipeline
9291         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9292           check unlinking in a running pipeline
9293         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9294           check unreffing a running pipeline
9295         * testsuite/schedulers/useless_iteration.c: (main):
9296           check iterating a pipeline that contains running threads works
9297
9298 2004-05-18  David Schleef  <ds@schleef.org>
9299
9300         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9301           is false.
9302
9303 2004-05-18  Wim Taymans  <wim@fluendo.com>
9304
9305         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9306         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9307         Fixed an error introduced with patch for 1.63. When setting
9308         a get based element as the entry point in a group, make sure
9309         to mark the group as GET based.
9310
9311 2004-05-18  Wim Taymans  <wim@fluendo.com>
9312
9313         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9314         (setup_group_scheduler), (loop_group_schedule_function),
9315         (gst_opt_scheduler_pad_link):
9316         Added some more debug info and fixed a bug where the group
9317         type was set to LOOP but it was in fact unknown.
9318
9319 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9320
9321         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9322           make resetting scheduler work twice in a row
9323
9324 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9325
9326         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9327         (CREATE_USERIALIZATION), (_gst_value_initialize),
9328         (gst_value_compare_float), (gst_value_serialize_float),
9329         (gst_value_deserialize_float), (gst_value_compare_enum),
9330         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9331           add serialization and comparison functions for long, int64, enum and
9332           float values
9333         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9334           use best serialization function in type hierarchy instead of only a
9335           matching one. This is required for enums to work.
9336         * gst/parse/grammar.y:
9337           use gst_caps_deserialize
9338         * testsuite/parse/Makefile.am:
9339           parse1 now works
9340         * testsuite/parse/parse1.c: (main):
9341           remove aggregator check, aggregator is broken, this test works now
9342           but fails because of bug #138012
9343         * testsuite/parse/parse2.c: (main):
9344           s/xvideosink/xvimagesink - this test looks a lot like we should
9345           disable it
9346
9347 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9348
9349         * gst/gstelement.c: (gst_element_class_init):
9350           whoops, store the signal id correctly
9351         * gst/schedulers/gstbasicscheduler.c:
9352         (gst_basic_scheduler_chain_wrapper):
9353           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9354           chain function isn't linked
9355
9356 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9357         * configure.ac:
9358         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9359         support until we decide where the flags should be used
9360         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9361         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9362         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9363         Output refused caps in the debug info
9364
9365 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9366
9367         * gst/elements/gstidentity.c: (gst_identity_chain):
9368           add duration debug
9369         * gst/gstinfo.c: (gst_debug_log_default):
9370           add timestamp
9371
9372 2004-05-13  Benjamin Otte  <otte@gnome.org>
9373
9374         * gst/gstpipeline.c: (gst_pipeline_dispose),
9375         (gst_pipeline_change_state):
9376           call gst_scheduler_reset on dispose (fixes #141416)
9377
9378 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9379
9380         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9381           compute mapsize correctly
9382         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9383           use correct datatypes when calling a varargs function
9384         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9385           push a DISCONT event as first thing
9386         * gst/gst_private.h:
9387         * gst/gstinfo.c: (_gst_debug_init):
9388           remove GST_DATAFLOW debugging category
9389         * gst/gstbin.c: (gst_bin_iterate):
9390           use GST_SCHEDULING category
9391         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9392         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9393         (gst_pad_call_get_function):
9394           add GST_DATAFLOW to easily track flow of buffers or events.
9395         * gst/gstqueue.c: (gst_queue_get_type),
9396         (gst_queue_handle_pending_events), (gst_queue_chain),
9397         (gst_queue_get), (gst_queue_handle_src_event):
9398           use own static debugging category GST_DATAFLOW for dataflow,
9399           use DEBUG category for showing which path events go, use LOG
9400           category for buffers.
9401
9402 2004-05-10  David Schleef  <ds@schleef.org>
9403
9404         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9405
9406 2004-05-10  David Schleef  <ds@schleef.org>
9407
9408         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9409         symbols, because otherwise we don't know what they are.  Thanks,
9410         the GStreamer team.
9411         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9412
9413 2004-05-10  David Schleef  <ds@schleef.org>
9414
9415         (from Steve Lhomme)
9416         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9417         are deleted.  Fix.
9418         * win32/Makefile.inspect:
9419         * win32/Makefile.launch:
9420         * win32/Makefile.register:
9421
9422 2004-05-10  David Schleef  <ds@schleef.org>
9423
9424         * gst/gstinfo.h: Add missing inline function.
9425         * gst/gsttrace.c: add include
9426         * gst/parse/grammar.y: remove unused code
9427         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9428         more portable.
9429         * tools/gst-register.c: wrap unistd.h
9430         
9431         More additions/fixes from Steve for the MSVC build.
9432         * win32/GStreamer.vcproj:
9433         * win32/Makefile:
9434         * win32/Makefile.inspect:
9435         * win32/Makefile.launch:
9436         * win32/Makefile.register:
9437         * win32/README.txt:
9438         * win32/gst-inspect.vcproj:
9439         * win32/gst-launch.vcproj:
9440         * win32/gst-register.vcproj:
9441         * win32/gstbytestream.def:
9442         * win32/gstbytestream.vcproj:
9443         * win32/gstconfig.h:
9444         * win32/gstelements.def:
9445         * win32/gstelements.vcproj:
9446         * win32/gstenumtypes.c:
9447         * win32/gstenumtypes.h:
9448         * win32/gstoptimalscheduler.def:
9449         * win32/gstoptimalscheduler.vcproj:
9450         * win32/gstreamer.def:
9451         * win32/gstspider.def:
9452         * win32/gstspider.vcproj:
9453         * win32/gstversion.h:
9454         * win32/msvc71.sln:
9455
9456 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9457
9458         * gst/gstelement.c: (gst_element_class_init),
9459         (gst_element_no_more_pads):
9460         * gst/gstelement.h:
9461           add gst_element_no_more_pads and the "no-more-pads" signal
9462
9463 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9464
9465         * gst/gstregistry.c: (gst_registry_add_plugin):
9466           refuse to add plugins when a plugin with same name is already
9467           registered. Fixes a bunch of "How to remove plugins?" issues.
9468           May lead to other problems though, let's test
9469
9470 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9471
9472         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9473         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9474         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9475
9476 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9477
9478         * tests/Makefile.am: fix am16 issue
9479
9480 2004-05-09  Benjamin Otte  <otte@gnome.org>
9481
9482         * libs/gst/bytestream/Makefile.am:
9483           we should indeed add .c files to makefiles or they won't be built
9484           (d'oh)
9485
9486 2004-05-08  Benjamin Otte  <otte@gnome.org>
9487
9488         * gst/gstpad.c: (gst_pad_proxy_fixate):
9489           really reduce the set of caps
9490
9491 2004-05-08  Benjamin Otte  <otte@gnome.org>
9492
9493         * tests/Makefile.am:
9494         * tests/spidey_bench.c: (handoff), (main):
9495           add benchmark to test how long spider needs to create a pipeline
9496
9497 2004-05-08  Benjamin Otte  <otte@gnome.org>
9498
9499         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9500           mark links as unengaged when unnegotiating instead of deactivating.
9501           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9502
9503 2004-05-08  Benjamin Otte  <otte@gnome.org>
9504
9505         * docs/manual/helloworld.xml:
9506           s/audiosink/osssink (patch by Patrick Guimond)
9507
9508 2004-05-07  David Schleef  <ds@schleef.org>
9509
9510         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9511         since it contains important stuff.
9512
9513 2004-05-07  David Schleef  <ds@schleef.org>
9514
9515         * testsuite/caps/caps.c: (test3), (main): A check for appending
9516         ANY caps.
9517
9518 2004-05-07  David Schleef  <ds@schleef.org>
9519
9520         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9521         which may contain commas.  Fixes detection of -Wa,-mregnames
9522
9523 2004-05-06  David Schleef  <ds@schleef.org>
9524
9525         Changes to handle compilers that don't have variadic macro
9526         support.  In particular, glib headers define some inlines
9527         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9528         builds.
9529         * gst/Makefile.am:
9530         * gst/cothreads.c:
9531         * gst/elements/gstfdsink.c:
9532         * gst/elements/gstfdsrc.c:
9533         * gst/elements/gstfilesink.c:
9534         * gst/elements/gstfilesrc.c:
9535         * gst/gst_private.h:
9536         * gst/gstatomic.c:
9537         * gst/gstcaps.c: (gst_caps_append):
9538         * gst/gstcpu.c: (gst_cpuid_i386):
9539         * gst/gstelement.c:
9540         * gst/gsterror.c:
9541         * gst/gstfilter.c:
9542         * gst/gstinfo.h:
9543         * gst/gstprobe.c:
9544         * gst/gstquery.c:
9545         * gst/gstregistry.c:
9546         * gst/gststructure.c:
9547         * gst/gsttaginterface.c:
9548         * gst/gsttrace.c: (gst_trace_new):
9549         * gst/gsttrashstack.c:
9550         * gst/gsturi.c:
9551         * gst/gstvalue.c:
9552         * gst/parse/grammar.y:
9553         * gst/parse/parse.l:
9554         * tools/gst-inspect.c: (main):
9555         * tools/gst-launch.c: (main):
9556         * tools/gst-xmlinspect.c: (PUT_STRING):
9557
9558 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9559
9560         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9561         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9562         * gst/elements/gstfilesrc.h:
9563           send NEW_MEDIA events correctly
9564         * gst/elements/gsttypefindelement.c: (start_typefinding),
9565         (gst_type_find_element_handle_event):
9566           restart typefinding when we get a NEW_MEDIA event
9567         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9568         (gst_bin_dispose):
9569           don't die when someone removes elements in callbacks
9570         * gst/gstelement.c: (gst_element_change_state):
9571           improve debugging
9572         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9573           we need a NEW_MEDIA event to engage a link
9574         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9575           don't g_print debugging stuff
9576         * testsuite/caps/simplify.c: (check_caps):
9577
9578 2004-05-04  Benjamin Otte  <otte@gnome.org>
9579
9580         * gst/parse/grammar.y:
9581           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9582
9583 2004-05-04  Benjamin Otte  <otte@gnome.org>
9584
9585         * testsuite/caps/renegotiate.c: (main):
9586           improve output in error case
9587
9588 2004-05-04  Benjamin Otte  <otte@gnome.org>
9589
9590         * gst/parse/grammar.y:
9591           fix assert to not trigger when there's no error argument
9592         * gst/parse/parse.l:
9593           fix definition of caps to allow more than two structures
9594         * testsuite/caps/Makefile.am:
9595         * testsuite/caps/renegotiate.c: (main):
9596           it's sinesrc and works in that case
9597
9598 2004-05-04  Wim Taymans  <wim@fluendo.com>
9599
9600         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9601         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9602         when removing an element from a group, we always need to
9603         decrement the link count that this group had with other 
9604         groups through the element.
9605         added an extra assert to catch inconsistencies when decrementing
9606         the link count.
9607
9608 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * configure.ac:
9611         * docs/gst/Makefile.am:
9612         * docs/gst/gstreamer-sections.txt:
9613         * docs/gst/tmpl/gstcompat.sgml:
9614         * examples/appreader/Makefile.am:
9615         * examples/cutter/Makefile.am:
9616         * examples/events/Makefile.am:
9617         * examples/helloworld/Makefile.am:
9618         * examples/helloworld2/Makefile.am:
9619         * examples/launch/Makefile.am:
9620         * examples/manual/Makefile.am:
9621         * examples/mixer/Makefile.am:
9622         * examples/pingpong/Makefile.am:
9623         * examples/plugins/Makefile.am:
9624         * examples/queue/Makefile.am:
9625         * examples/queue2/Makefile.am:
9626         * examples/queue3/Makefile.am:
9627         * examples/queue4/Makefile.am:
9628         * examples/retag/Makefile.am:
9629         * examples/thread/Makefile.am:
9630         * examples/typefind/Makefile.am:
9631         * examples/xml/Makefile.am:
9632         * gst/Makefile.am:
9633         * gst/autoplug/Makefile.am:
9634         * gst/elements/Makefile.am:
9635         * gst/gstcompat.h:
9636         * gst/indexers/Makefile.am:
9637         * gst/parse/Makefile.am:
9638         * gst/registries/Makefile.am:
9639         * gst/schedulers/Makefile.am:
9640         * libs/gst/bytestream/Makefile.am:
9641         * libs/gst/control/Makefile.am:
9642         * libs/gst/getbits/Makefile.am:
9643         * po/af.po:
9644         * po/az.po:
9645         * po/en_GB.po:
9646         * po/fr.po:
9647         * po/nl.po:
9648         * po/sr.po:
9649         * po/sv.po:
9650         * po/tr.po:
9651         * po/uk.po:
9652         * tests/Makefile.am:
9653         * tests/bufspeed/Makefile.am:
9654         * tests/instantiate/Makefile.am:
9655         * tests/memchunk/Makefile.am:
9656         * tests/muxing/Makefile.am:
9657         * tests/negotiation/Makefile.am:
9658         * tests/probes/Makefile.am:
9659         * tests/sched/Makefile.am:
9660         * tests/seeking/Makefile.am:
9661         * tests/threadstate/Makefile.am:
9662         * testsuite/caps/Makefile.am:
9663         * testsuite/cleanup/Makefile.am:
9664         * testsuite/dlopen/Makefile.am:
9665         * testsuite/dynparams/Makefile.am:
9666         * testsuite/plugin/Makefile.am:
9667         * testsuite/states/Makefile.am:
9668         * tools/Makefile.am:
9669           reorganize compile/link flags to be consistent
9670           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9671
9672 2004-05-04  David Schleef  <ds@schleef.org>
9673
9674         The "once more, with feeling" check-in.
9675         * testsuite/caps/Makefile.am: dist caps_strings
9676         * testsuite/caps/renegotiate.c: (main): This test triggers a
9677           segfault in the core.  Marking as failing.
9678
9679 2004-05-03  David Schleef  <ds@schleef.org>
9680
9681         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9682           by the build bots.
9683         * testsuite/caps/renegotiate.c: (main): Same.
9684
9685 2004-05-03  David Schleef  <ds@schleef.org>
9686
9687         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9688
9689 2004-05-03  David Schleef  <ds@schleef.org>
9690
9691         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9692           variable to find our source file.
9693
9694 2004-05-03  David Schleef  <ds@schleef.org>
9695
9696         * configure.ac:  Link plugins with libgstreamer and dependent
9697           libraries
9698         * testsuite/caps/Makefile.am:
9699         * testsuite/caps/caps_strings:
9700         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9701           through a file of caps strings and test each one
9702
9703 2004-05-04  Benjamin Otte  <otte@gnome.org>
9704
9705         * libs/gst/bytestream/Makefile.am:
9706         * libs/gst/bytestream/adapter.c: 
9707         * libs/gst/bytestream/adapter.h:
9708           add GstAdapter, similar to bytestream, but doesn't require ugly event
9709           handling or uglier loopbased elements
9710
9711 2004-05-03  David Schleef  <ds@schleef.org>
9712
9713         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9714         * testsuite/caps/erathostenes.c:
9715         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9716
9717 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * docs/pwg/pwg.xml:
9720           remove hardcoded stylesheet path (duh)
9721         * docs/random/release:
9722         * docs/gst/gstreamer-sections.txt:
9723         * gst/Makefile.am:
9724         * gst/gst.h:
9725         * gst/gst_private.h:
9726         * gst/gstcaps.c:
9727         * gst/gstevent.c:
9728         * gst/gstformat.c:
9729         * gst/gstinfo.c:
9730         * gst/gstinfo.h:
9731         * gst/gstinterface.c:
9732         * gst/gstmemchunk.c:
9733         * gst/gstprobe.c:
9734         * gst/gstquery.c:
9735         * gst/gstregistry.c:
9736         * gst/gstregistrypool.c:
9737         * gst/gststructure.c:
9738         * gst/gsttaginterface.c:
9739         * gst/gstthread.c:
9740         * gst/gsttrace.c:
9741         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9742         * gst/gsturi.c:
9743         * gst/gstvalue.c:
9744           deprecate gst_info; remove gstlog.h
9745    
9746
9747 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9748
9749         * Makefile.am:
9750         * po/en_GB.po:
9751         * po/sv.po:
9752         * po/uk.po:
9753           updated translations
9754
9755 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9756
9757         * gst/gstbin.c: (gst_bin_dispose):
9758           better debugging
9759
9760 2004-05-03  Johan Dahlin  <johan@gnome.org>
9761
9762         * gst/schedulers/gstoptimalscheduler.c
9763         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9764         really is a GstElement. Avoids critical when running gst-launch -v
9765         and a oggdemux/decoding pipeline.
9766
9767 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9768
9769         * docs/gst/tmpl/gstpipeline.sgml :
9770         * docs/manual/elements-api.xml :
9771                 doc fix by Patrick Guimond (Protector) from devel ML
9772                 reviewed by ronald
9773
9774 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9775
9776         * docs/gst/Makefile.am :
9777         * docs/libs/Makefile.am :
9778                 apply a patch from Arwed v. Merkatz so that gtk-doc
9779                 generated docs install (same for .devhelp file)
9780                 (fixes part 1 of #138836)
9781
9782 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9783
9784         * docs/faq/dependencies.xml: typo
9785         * docs/faq/getting.xml :
9786             - fix download URL for new gstreamer site
9787             - hide sf.net download page as latest version aren't there
9788             - fix apt URLs
9789             - fill "get via CVS" paragraph (link to dev page on the site)
9790         * docs/faq/general.xml:
9791             hide status tables as they no more exists
9792             change case on plugins license file to reflect reality
9793         * docs/faq/troubleshooting.xml:
9794             remove the wiki question/answer as there is no more wiki
9795
9796 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9797
9798         * gst/gsterror.h:
9799           include the headers needed for declarations used in this header
9800
9801 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9802
9803         * docs/random/uraeus/gstreamer_and_midi.txt :
9804           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9805           (fixes #132288)
9806
9807 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9808
9809         reviewed by Benjamin Otte  <otte@gnome.org>
9810
9811         * gst/schedulers/gthread-cothreads.h:
9812           free allocated data for main cothread, too when destroying context
9813           (fixes #141417)
9814
9815 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9816
9817         * docs/manual/goals.xml : remove duplicated paragraph at end 
9818         of doc page (fixes #141448)
9819
9820 2004-04-29  David Schleef  <ds@schleef.org>
9821
9822         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9823         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9824
9825 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9828           fix property
9829         * gst/gstcaps.c:
9830           fix doc string
9831         * po/POTFILES.in:
9832           rename typefind source file
9833
9834 2004-04-28  David Schleef  <ds@schleef.org>
9835
9836         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9837         * win32/GStreamer.vcproj:
9838         * win32/Makefile:
9839         * win32/config.h:
9840         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9841         (_trewinddir), (_ttelldir), (_tseekdir):
9842         * win32/dirent.h:
9843         * win32/gst-inspect.vcproj:
9844         * win32/gst-launch.vcproj:
9845         * win32/gst-register.vcproj:
9846         * win32/gstbytestream.vcproj:
9847         * win32/gstelements.vcproj:
9848         * win32/gstoptimalscheduler.vcproj:
9849         * win32/gstspider.vcproj:
9850         * win32/gtchar.h:
9851         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9852         * win32/mman.h:
9853         * win32/mman.inl:
9854         * win32/msvc71.sln:
9855
9856 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9857
9858         * gst/gst.c: (init_post):
9859         * gst/gstinfo.c:
9860           remove useless _gst_progname stuff
9861         * tools/gst-inspect.c: (print_field), (print_caps):
9862           improve caps output
9863
9864 2004-04-28  David Schleef  <ds@schleef.org>
9865
9866         Disable parsing of a lot of files that aren't part of the
9867         exported API.  Move corresponding template files to old/,
9868         waiting for removal when they don't contain anything
9869         interesting.
9870         * docs/gst/Makefile.am:
9871         * docs/gst/gstreamer-sections.txt:
9872         * docs/gst/tmpl/cothreads.sgml:
9873         * docs/gst/tmpl/cothreads_compat.sgml:
9874         * docs/gst/tmpl/gettext.sgml:
9875         * docs/gst/tmpl/gobject2gtk.sgml:
9876         * docs/gst/tmpl/grammar.tab.sgml:
9877         * docs/gst/tmpl/gst-i18n-app.sgml:
9878         * docs/gst/tmpl/gst-i18n-lib.sgml:
9879         * docs/gst/tmpl/gst_private.sgml:
9880         * docs/gst/tmpl/gstaggregator.sgml:
9881         * docs/gst/tmpl/gstarch.sgml:
9882         * docs/gst/tmpl/gstatomic_impl.sgml:
9883         * docs/gst/tmpl/gstbufferstore.sgml:
9884         * docs/gst/tmpl/gstdata_private.sgml:
9885         * docs/gst/tmpl/gstdisksink.sgml:
9886         * docs/gst/tmpl/gstdisksrc.sgml:
9887         * docs/gst/tmpl/gstelementfactory.sgml:
9888         * docs/gst/tmpl/gstextratypes.sgml:
9889         * docs/gst/tmpl/gstfakesink.sgml:
9890         * docs/gst/tmpl/gstfakesrc.sgml:
9891         * docs/gst/tmpl/gstfdsink.sgml:
9892         * docs/gst/tmpl/gstfdsrc.sgml:
9893         * docs/gst/tmpl/gstfilesink.sgml:
9894         * docs/gst/tmpl/gstfilesrc.sgml:
9895         * docs/gst/tmpl/gsthttpsrc.sgml:
9896         * docs/gst/tmpl/gstidentity.sgml:
9897         * docs/gst/tmpl/gstindexfactory.sgml:
9898         * docs/gst/tmpl/gstmarshal.sgml:
9899         * docs/gst/tmpl/gstmd5sink.sgml:
9900         * docs/gst/tmpl/gstmultidisksrc.sgml:
9901         * docs/gst/tmpl/gstmultifilesrc.sgml:
9902         * docs/gst/tmpl/gstpadtemplate.sgml:
9903         * docs/gst/tmpl/gstpipefilter.sgml:
9904         * docs/gst/tmpl/gstschedulerfactory.sgml:
9905         * docs/gst/tmpl/gstsearchfuncs.sgml:
9906         * docs/gst/tmpl/gstshaper.sgml:
9907         * docs/gst/tmpl/gstspider.sgml:
9908         * docs/gst/tmpl/gstspideridentity.sgml:
9909         * docs/gst/tmpl/gststatistics.sgml:
9910         * docs/gst/tmpl/gsttee.sgml:
9911         * docs/gst/tmpl/gsttimecache.sgml:
9912         * docs/gst/tmpl/gsttypefind.sgml:
9913         * docs/gst/tmpl/gsttypefindfactory.sgml:
9914         * docs/gst/tmpl/gstxmlregistry.sgml:
9915         * docs/gst/tmpl/gthread-cothreads.sgml:
9916         * docs/gst/tmpl/old/cothreads.sgml:
9917         * docs/gst/tmpl/old/cothreads_compat.sgml:
9918         * docs/gst/tmpl/old/gettext.sgml:
9919         * docs/gst/tmpl/old/gobject2gtk.sgml:
9920         * docs/gst/tmpl/old/grammar.tab.sgml:
9921         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9922         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9923         * docs/gst/tmpl/old/gst_private.sgml:
9924         * docs/gst/tmpl/old/gstaggregator.sgml:
9925         * docs/gst/tmpl/old/gstarch.sgml:
9926         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9927         * docs/gst/tmpl/old/gstbufferstore.sgml:
9928         * docs/gst/tmpl/old/gstdata_private.sgml:
9929         * docs/gst/tmpl/old/gstdisksink.sgml:
9930         * docs/gst/tmpl/old/gstdisksrc.sgml:
9931         * docs/gst/tmpl/old/gstelementfactory.sgml:
9932         * docs/gst/tmpl/old/gstextratypes.sgml:
9933         * docs/gst/tmpl/old/gstfakesink.sgml:
9934         * docs/gst/tmpl/old/gstfakesrc.sgml:
9935         * docs/gst/tmpl/old/gstfdsink.sgml:
9936         * docs/gst/tmpl/old/gstfdsrc.sgml:
9937         * docs/gst/tmpl/old/gstfilesink.sgml:
9938         * docs/gst/tmpl/old/gstfilesrc.sgml:
9939         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9940         * docs/gst/tmpl/old/gstidentity.sgml:
9941         * docs/gst/tmpl/old/gstindexfactory.sgml:
9942         * docs/gst/tmpl/old/gstmarshal.sgml:
9943         * docs/gst/tmpl/old/gstmd5sink.sgml:
9944         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9945         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9946         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9947         * docs/gst/tmpl/old/gstpipefilter.sgml:
9948         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9949         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9950         * docs/gst/tmpl/old/gstshaper.sgml:
9951         * docs/gst/tmpl/old/gstspider.sgml:
9952         * docs/gst/tmpl/old/gstspideridentity.sgml:
9953         * docs/gst/tmpl/old/gststatistics.sgml:
9954         * docs/gst/tmpl/old/gsttee.sgml:
9955         * docs/gst/tmpl/old/gsttimecache.sgml:
9956         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9957         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9958         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9959         * docs/gst/tmpl/old/types.sgml:
9960         * docs/gst/tmpl/types.sgml:
9961
9962         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9963         gtkdoc-scan doesn't like files with the same name in different
9964         directories.
9965         * gst/elements/Makefile.am:
9966         * gst/elements/gstelements.c:
9967         * gst/elements/gsttypefind.c: 
9968         * gst/elements/gsttypefind.h:
9969         * gst/elements/gsttypefindelement.c:
9970         * gst/elements/gsttypefindelement.h:
9971
9972 2004-04-28  David Schleef  <ds@schleef.org>
9973
9974         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9975         patch (bug #141317):
9976         * gst/gst-i18n-lib.h: Allow disabling gettext.
9977         * gst/gstatomic_impl.h: disable warning when it's dumb.
9978         * gst/gstclock.c: fix include
9979         * gst/gstcompat.h: fix variadic macro
9980         * gst/gstinfo.c: fix include
9981         * gst/gstmacros.h: add defines for inlines on MSVC
9982         * gst/gstplugin.c: fix includes
9983         * gst/gstregistry.c: fix includes
9984         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9985         * gst/gstsystemclock.c: fix include
9986         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9987         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9988         * gst/registries/gstxmlregistry.c:
9989         (gst_xml_registry_parse_element_factory): fix use of non-portable
9990         functions
9991         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9992         * libs/gst/control/dparammanager.h: same
9993
9994 2004-04-28  David Schleef  <ds@schleef.org>
9995
9996         Move a bunch of unused files to old/ with names that are
9997         not case-insensitive-unique.  These files still contain some
9998         useful information that needs to be merged into gstbin.sgml,
9999         etc., so they shouldn't be deleted yet.
10000         * docs/gst/tmpl/GstBin.sgml:
10001         * docs/gst/tmpl/GstBuffer.sgml:
10002         * docs/gst/tmpl/GstCaps.sgml:
10003         * docs/gst/tmpl/GstClock.sgml:
10004         * docs/gst/tmpl/GstCompat.sgml:
10005         * docs/gst/tmpl/GstData.sgml:
10006         * docs/gst/tmpl/GstElement.sgml:
10007         * docs/gst/tmpl/GstEvent.sgml:
10008         * docs/gst/tmpl/GstIndex.sgml:
10009         * docs/gst/tmpl/GstStructure.sgml:
10010         * docs/gst/tmpl/GstTag.sgml:
10011         * docs/gst/tmpl/old/GstBin.sgml:
10012         * docs/gst/tmpl/old/GstBuffer.sgml:
10013         * docs/gst/tmpl/old/GstCaps.sgml:
10014         * docs/gst/tmpl/old/GstClock.sgml:
10015         * docs/gst/tmpl/old/GstCompat.sgml:
10016         * docs/gst/tmpl/old/GstData.sgml:
10017         * docs/gst/tmpl/old/GstElement.sgml:
10018         * docs/gst/tmpl/old/GstEvent.sgml:
10019         * docs/gst/tmpl/old/GstIndex.sgml:
10020         * docs/gst/tmpl/old/GstStructure.sgml:
10021         * docs/gst/tmpl/old/GstTag.sgml:
10022
10023 2004-04-28  David Schleef  <ds@schleef.org>
10024
10025         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10026         (gst_caps_append), (gst_caps_append_structure),
10027         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10028         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10029         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10030         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10031         (gst_caps_intersect), (gst_caps_normalize),
10032         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10033         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10034         * gst/gstcaps.h: use GST_IS_CAPS().
10035
10036 2004-04-26  David Schleef  <ds@schleef.org>
10037
10038         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10039         assembly.  gcc doesn't handle it correctly. (bug #141083)
10040         * gst/gsttrashstack.h: same
10041
10042 2004-04-25  Benjamin Otte  <otte@gnome.org>
10043
10044         * gst/gstelement.c: (gst_element_change_state):
10045           fix assertion to do an int comparison
10046
10047 2004-04-25  Benjamin Otte  <otte@gnome.org>
10048
10049         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10050           better debugging output on error
10051
10052 2004-04-25  Benjamin Otte  <otte@gnome.org>
10053
10054         * gst/gstcaps.c: (gst_caps_subtract):
10055           fix memleak
10056
10057 2004-04-23  Benjamin Otte  <otte@gnome.org>
10058
10059         * gst/gstvalue.c: (gst_value_compare_buffer),
10060         (_gst_value_initialize):
10061           add comparison function for buffers
10062
10063 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10064
10065         * docs/pwg/pwg.xml:
10066           Just found out that this so-called "ima-wav" format is really
10067           just "dvi adpcm" (according to the MS WAV documentation). So
10068           renaming it. We didn't use it yet anyway.
10069
10070 2004-04-23  Benjamin Otte  <otte@gnome.org>
10071
10072         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10073           call gst_caps_is_subset
10074
10075 2004-04-23  Benjamin Otte  <otte@gnome.org>
10076
10077         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10078         (gst_caps_is_subset):
10079           add documentation
10080
10081 2004-04-23  Benjamin Otte  <otte@gnome.org>
10082           
10083         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10084         (gst_caps_structure_subtract), (gst_caps_subtract),
10085         (gst_caps_structure_figure_out_union),
10086         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10087           fix simplifying and subtracting not working correctly with optional
10088           properties
10089           solve assorted problems that make it now simplify ebven more
10090         * docs/gst/tmpl/gstcaps.sgml:
10091         * gst/gstcaps.h:
10092           make gst_caps_do_simplify return a bool to indicate if it simplified
10093         * testsuite/caps/simplify.c: (main):
10094           add more checks. The tests is quite a bit useless right now because
10095           the core is heavily simplifying itself.
10096         * testsuite/caps/caps.h:
10097           fix caps to contain all optional properties
10098
10099 2004-04-22  Benjamin Otte  <otte@gnome.org>
10100
10101         * docs/gst/tmpl/gstcaps.sgml:
10102         * docs/gst/tmpl/gstfilesrc.sgml:
10103         * docs/gst/tmpl/gststructure.sgml:
10104         * docs/gst/tmpl/gstvalue.sgml:
10105           update for recent API changes
10106         * gst/gstcaps.c: (gst_caps_do_simplify):
10107           fix to stop trying with a freed structure
10108         * gst/gstpad.c: (gst_pad_link_fixate):
10109           simplify caps
10110         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10111           remove C++ comment
10112         * gst/gstpad.h:
10113           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10114         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10115         (gst_structure_to_string):
10116           keep the correct type when using lists of ranges
10117         * gst/gstvalue.c: (gst_value_list_prepend_value),
10118         (gst_value_list_append_value):
10119           copy the value before adding to the list (d'oh)
10120         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10121         (gst_value_subtract_int_range_int_range):
10122           handle overflows correctly
10123         * gst/gstvalue.c: (gst_value_subtract_from_list):
10124           fix memleak
10125         * testsuite/caps/caps.h:
10126           add a caps that caused segfaults
10127
10128 2004-04-22  Benjamin Otte  <otte@gnome.org>
10129
10130         * testsuite/refcounting/pad.c: (main):
10131           fix test
10132
10133 2004-04-22  Benjamin Otte  <otte@gnome.org>
10134
10135         * gst/gstcaps.c: (gst_caps_subtract):
10136           allow subtracting ANY and EMPTY from ANY caps
10137
10138 2004-04-22  Benjamin Otte  <otte@gnome.org>
10139
10140         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10141         (gst_caps_union):
10142           only simplify in functions that create new caps. Simplifying in
10143           gst_caps_append breaks tests.
10144
10145 2004-04-22  Benjamin Otte  <otte@gnome.org>
10146
10147         * gst/gstcaps.c: (gst_caps_structure_simplify):
10148           unset GValue after use
10149         * gst/gstcaps.c: (gst_caps_append), 
10150         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10151           use gst_caps_simplify (reduces registry size by 30%)
10152         * gst/gstpad.c: (gst_pad_template_new):
10153           don't allow NULL caps
10154
10155 2004-04-22  Benjamin Otte  <otte@gnome.org>
10156
10157         * docs/gst/gstreamer-sections.txt:
10158           add gst_caps_do_simplify
10159         * gst/gstcaps.c:
10160           add documentation for gst_caps_do_simplify
10161         * gst/gstvalue.h:
10162           fix typo in gst_value_register_subtract_func declaration for gst-doc
10163
10164 2004-04-22  Benjamin Otte  <otte@gnome.org>
10165
10166         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10167           fix bug when converting from empty string.
10168         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10169         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10170           use gst_caps_new_empty to allocate a new caps. Only that function
10171           allocates memory for caps now.
10172         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10173         (gst_caps_remove_structure):
10174           add ability to remove one structure (but not to header yet)
10175         * gst/gstcaps.c: (gst_caps_compare_structures),
10176         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10177         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10178         * gst/gstcaps.h:
10179           add gst_caps_do_simplify that tries to simplify a caps in place.
10180           Deprecate old gst_caps_simplify function.
10181         * testsuite/caps/caps.h:
10182           add caps.h containing a common set of caps to test against.
10183         * testsuite/caps/sets.c: (check_caps), (main):
10184           use it.
10185         * testsuite/caps/.cvsignore:
10186         * testsuite/caps/Makefile.am:
10187         * testsuite/caps/simplify.c: (check_caps), (main):
10188           add test to check correctness and efficency of caps simplification.
10189
10190 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10191
10192         reviewed by Benjamin Otte  <otte@gnome.org>
10193
10194         * gst/gstparse.c: (_gst_parse_escape):
10195           Free the GString used in _gst_parse_escape()
10196
10197 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10198
10199         * gst/gstpad.c: (gst_pad_link_negotiate):
10200           refuse to link if the link is not possible
10201         * configure.ac:
10202         * testsuite/Makefile.am:
10203         * testsuite/negotiation/.cvsignore:
10204         * testsuite/negotiation/Makefile.am:
10205         * testsuite/negotiation/pad_link.c: (main):
10206           add test that checks the above behaviour
10207
10208 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10209
10210         * docs/gst/gstreamer-sections.txt:
10211           add newly added API
10212
10213 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10216         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10217         (gst_filesrc_open_file), (gst_filesrc_close_file),
10218         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10219         * gst/elements/gstfilesrc.h:
10220           add support for non-regular files (#140734)
10221
10222 2004-04-21  Benjamin Otte  <otte@gnome.org>
10223
10224         * gst/gstpad.c: (gst_pad_link_fixate):
10225           add sophisticated error checking code to see if fixation functions
10226           did their fixation right
10227
10228 2004-04-21  Benjamin Otte  <otte@gnome.org>
10229
10230         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10231           check for ANY caps before appending/unioning
10232         * gst/gstcaps.c: (gst_caps_is_subset),
10233         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10234         (gst_caps_structure_subtract), (gst_caps_subtract):
10235         * gst/gstcaps.h:
10236           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10237           the API. deprecate gst_caps_is_equal_fixed
10238         * gst/gstpad.c: (gst_pad_try_set_caps):
10239         * gst/gstqueue.c: (gst_queue_link):
10240           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10241         * gst/gststructure.c: (gst_structure_get_name_id):
10242         * gst/gststructure.h:
10243           add function gst_structure_get_name_id
10244         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10245         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10246         (gst_value_subtract_int_range_int_range),
10247         (gst_value_subtract_double_double_range),
10248         (gst_value_subtract_double_range_double),
10249         (gst_value_subtract_double_range_double_range),
10250         (gst_value_subtract_from_list), (gst_value_subtract_list),
10251         (gst_value_can_intersect), (gst_value_subtract),
10252         (gst_value_can_subtract), (gst_value_register_subtract_func),
10253         (_gst_value_initialize):
10254         * gst/gstvalue.h:
10255           add support for subtracting values from each other. Note that
10256           subtracting means subtracting as in set theory. Required for caps
10257           stuff above.
10258         * testsuite/caps/.cvsignore:
10259         * testsuite/caps/Makefile.am:
10260         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10261         * testsuite/caps/sets.c: (check_caps), (main):
10262         * testsuite/caps/subtract.c: (check_caps), (main):
10263           add tests for subtraction and equality code.
10264
10265 2004-04-20  David Schleef  <ds@schleef.org>
10266
10267         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10268         * gst/indexers/Makefile.am:
10269         * gst/schedulers/Makefile.am:
10270         * libs/gst/bytestream/Makefile.am:
10271         * libs/gst/control/Makefile.am:
10272         * libs/gst/getbits/Makefile.am:
10273
10274 2004-04-20  David Schleef  <ds@schleef.org>
10275
10276         * common/as-libtool.mak: Fine-tune DLL building.
10277         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10278         (like gst-plugins)
10279         * examples/plugins/Makefile.am: remove plugindir
10280         * gst/autoplug/Makefile.am: DLL building fixes
10281         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10282         Windows.
10283         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10284         * gst/indexers/Makefile.am: DLL building fixes
10285         * gst/schedulers/Makefile.am: DLL building fixes.
10286         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10287         * libs/gst/control/Makefile.am: same
10288         * libs/gst/getbits/Makefile.am: same
10289         * testsuite/Makefile.am: New dlopen directory
10290         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10291         when dlopened.
10292         * testsuite/dlopen/dlopen_gst.c: (main): same
10293         * testsuite/dlopen/loadgst.c: (do_test): same
10294
10295 2004-04-20  David Schleef  <ds@schleef.org>
10296
10297         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10298         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10299
10300 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * gst/gstelement.c: (gst_element_wait),
10303         (gst_element_set_time_delay), (gst_element_change_state):
10304           Use GST_TIME_*
10305
10306 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10307
10308         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10309         (gst_spider_identity_plug):
10310           improve debugging messages
10311         * gst/gstbin.c: (gst_bin_remove_func):
10312           make sure the state_change function is only called with simple state
10313           transitions
10314
10315 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10316
10317         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10318         (gst_fakesink_set_property), (gst_fakesink_chain):
10319         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10320         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10321         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10322         * gst/elements/gstidentity.c: (gst_identity_chain),
10323         (gst_identity_set_property):
10324         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10325         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10326           add warnings to _set_property for unknown arguments
10327           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10328
10329 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10330
10331         * Makefile.am:
10332         * docs/manuals.mak:
10333           add .po file download snippet
10334           fix a bug in the doc makefile
10335
10336 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * Makefile.am:
10339         * po/LINGUAS:
10340         * po/en_GB.po:
10341           Added en_GB translation (Gareth Owen)
10342
10343 2004-04-20  Johan Dahlin  <johan@gnome.org>
10344
10345         * gst/gstpad.c (_invent_event): Clean up
10346
10347 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10348
10349         * testsuite/caps/filtercaps.c: (main):
10350           fix test to test things correctly (caps are complicated)
10351
10352 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10353
10354         * testsuite/caps/Makefile.am:
10355         * testsuite/caps/filtercaps.c: (main):
10356           add test (that doesn't work right now, but should)
10357
10358 2004-04-19  David Schleef  <ds@schleef.org>
10359
10360         * configure.ac: Add test for allowing unaligned access.  Add define
10361         to put in gstconfig.h.
10362         * docs/gst/gstreamer-sections.txt: New symbols
10363         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10364         * docs/gst/tmpl/gstfilesrc.sgml:
10365         * docs/gst/tmpl/gstparse.sgml:
10366         * docs/gst/tmpl/gsttypes.sgml:
10367         * docs/gst/tmpl/gstutils.sgml:
10368         * docs/gst/tmpl/gstvalue.sgml:
10369         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10370         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10371         on most !i386/!powerpc architectures.  From Daniel Gazard
10372         <daniel.gazard@free.fr>.  (bug #140156)
10373         * po/af.po: Check in changes made by gettext.
10374         * po/az.po:
10375         * po/fr.po:
10376         * po/nl.po:
10377         * po/sr.po:
10378         * po/sv.po:
10379
10380 2004-04-20  Benjamin Otte  <otte@gnome.org>
10381
10382         * gst/schedulers/entryscheduler.c: 
10383         (gst_entry_scheduler_yield):
10384           refuse to yield when decoupled elements insist on doing that.
10385           At least it's better than crashing
10386
10387 2004-04-19  David Schleef  <ds@schleef.org>
10388
10389         * docs/libs/Makefile.am: Change sinclude to include
10390         * docs/gst/Makefile.am: same
10391         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10392
10393 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10394
10395         * po/LINGUAS:
10396         * po/uk.po:
10397           Added Ukrainian translation (Maxim V. Dziumanenko)
10398
10399 2004-04-19  Johan Dahlin  <johan@gnome.org>
10400
10401         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10402         checking here, do it before calling the function.
10403         Clean up, use for loops instead of while loops while iterating
10404         over lists.
10405
10406         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10407         in debug message.
10408         (gst_spider_create_and_plug): Improve debug message.
10409         General: Replace while loops which iterates over GLists with for
10410         loops. Which are much cleaner, improves readability, especially
10411         for gst_spider_identity_plug
10412
10413         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10414         fixes bug 140477
10415
10416 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * po/LINGUAS:
10419         * po/tr.po:
10420           Added Turkish translation (Baris Cicek)
10421
10422 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10423
10424         * docs/faq/troubleshooting.xml:
10425           Mention gst-register in the FAQ (fixes 139045).
10426
10427 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * docs/gst/gstreamer-sections.txt:
10430
10431 2004-04-17  Benjamin Otte  <otte@gnome.org>
10432
10433         * gst/gstelement.c: (gst_element_dispose):
10434           simplify
10435         * gst/gstpad.c: (gst_pad_call_chain_function):
10436           don't create loads of events due to bad macro usage
10437
10438 2004-04-16  David Schleef  <ds@schleef.org>
10439
10440         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10441         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10442         * gst/gstvalue.c: (gst_value_serialize_buffer),
10443         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10444         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10445         to indicate types that are fixed wrt caps or not.  Switching to
10446         this function fixes (bug #140298).
10447         * gst/gstvalue.h:
10448
10449 2004-04-16  David Schleef  <ds@schleef.org>
10450
10451         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10452         for GST_UNALIGNED_ACESS, since we essentially know which archs
10453         are ok.
10454
10455 2004-04-17  Benjamin Otte  <otte@gnome.org>
10456
10457         * docs/gst/Makefile.am:
10458           ignore gst/parse directory when building docs (fixes #140205)
10459
10460 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10461
10462         * testsuite/refcounting/mem.c: (vmsize):
10463           do error checking
10464
10465 2004-04-16  Johan Dahlin  <johan@gnome.org>
10466
10467         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10468         and gst_pad_call_get_function.
10469
10470 2004-04-15  David Schleef  <ds@schleef.org>
10471
10472         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10473         checks if we can access unaligned memory.
10474         * configure.ac: Use it.
10475
10476 2004-04-16  Benjamin Otte  <otte@gnome.org>
10477
10478         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10479         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10480         * gst/elements/gstfilesrc.h:
10481           s/seek_happened/need_discont/ and require discont before sending any
10482           data
10483
10484 2004-04-15  David Schleef  <ds@schleef.org>
10485
10486         * gst/gstvalue.c: (gst_value_serialize_buffer),
10487         (gst_value_deserialize_buffer), (_gst_value_initialize):
10488         Register these types as fundamental types. (bug #140015)
10489
10490 2004-04-16  Benjamin Otte  <otte@gnome.org>
10491
10492         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10493         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10494         (gst_pad_pull):
10495           implement enforcing discont events before buffers are passed. This
10496           allows state changes of only some elements and later correctly going
10497           on where they left off (or in short: you can now set audio sinks to
10498           NULL to release the device when the pipeline is paused)
10499         * gst/gstpad.c: (gst_pad_call_chain_function),
10500         (gst_pad_call_get_function):
10501         * gst/gstpad.h:
10502           add gst_pad_call_chain_function and gst_pad_call_get_function for
10503           scheduler interaction. They are required because of the changes
10504           above.
10505         * gst/schedulers/entryscheduler.c: (get_buffer),
10506         (gst_entry_scheduler_chain_wrapper),
10507         (gst_entry_scheduler_get_wrapper),
10508         (gst_entry_scheduler_state_transition),
10509         (gst_entry_scheduler_pad_link):
10510         * gst/schedulers/gstbasicscheduler.c:
10511         (gst_basic_scheduler_chain_wrapper),
10512         (gst_basic_scheduler_src_wrapper),
10513         (gst_basic_scheduler_chainhandler_proxy),
10514         (gst_basic_scheduler_gethandler_proxy),
10515         (gst_basic_scheduler_cothreaded_chain),
10516         (gst_basic_scheduler_chain_elements):
10517         * gst/schedulers/gstoptimalscheduler.c:
10518         (get_group_schedule_function), (pad_clear_queued),
10519         (gst_opt_scheduler_pad_link):
10520           use the new functions instead of calling get/chain-functions
10521           directly.
10522
10523 2004-04-15  David Schleef  <ds@schleef.org>
10524
10525         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10526         * docs/gst/tmpl/gstinfo.sgml: same
10527         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10528         gtk-doc put here.
10529         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10530         * examples/queue/queue.c: (main):  We iterate pipelines, not
10531         bins.  (bug #139996)
10532
10533 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10534
10535         * docs/pwg/advanced-types.xml:
10536           Add MS RLE support. Also document Qt RLE although I have no sample
10537           files for that yet. And document an extra property for ADPCM.
10538
10539 2004-04-15  David Schleef  <ds@schleef.org>
10540
10541         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10542         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10543         Windows.
10544
10545 2004-04-15  David Schleef  <ds@schleef.org>
10546
10547         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10548         symbol names to not conflict with new gstinfo.h symbols.
10549         * gst/gstinfo.h: Add inline functions for all those crazy
10550         compilers that don't know how to handle variadic macros (MSVC).
10551
10552 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10553
10554         * configure.ac: bump nano to 1
10555
10556 === release 0.8.1 ===
10557
10558 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10559
10560         * NEWS:
10561         * RELEASE:
10562         * configure.ac:
10563           releasing 0.8.1, "Snow Brigade"
10564
10565 2004-04-14  David Schleef  <ds@schleef.org>
10566
10567         * testsuite/Makefile.am: define tests_ignore
10568         * testsuite/Rules: Added new tests_ignore, which get compiled,
10569         but not run (generally because they're inconsistent or have
10570         heisenbugs).  Now we can ensure all the .c files compile in
10571         testsuite/.
10572         * testsuite/bins/Makefile.am: define tests_ignore
10573         * testsuite/bytestream/Makefile.am:
10574         * testsuite/caps/Makefile.am:
10575         * testsuite/clock/Makefile.am:
10576         * testsuite/debug/Makefile.am:
10577         * testsuite/debug/global.c: (gst_debug_log_one),
10578         (gst_debug_log_two): Fix compilation problem.
10579         * testsuite/dynparams/Makefile.am:
10580         * testsuite/elements/Makefile.am:
10581         * testsuite/ghostpads/Makefile.am:
10582         * testsuite/indexers/Makefile.am:
10583         * testsuite/parse/Makefile.am:
10584         * testsuite/plugin/Makefile.am:
10585         * testsuite/refcounting/Makefile.am:
10586         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10587         results, because it's not calculated correctly.
10588         * testsuite/refcounting/pad.c: (main): same
10589         * testsuite/states/Makefile.am:
10590         * testsuite/tags/Makefile.am:
10591         * testsuite/threads/Makefile.am:
10592
10593 2004-04-14  David Schleef  <ds@schleef.org>
10594
10595         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10596         generating bad code around the cpu detection asm code.
10597
10598 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10599
10600         * tools/gst-inspect.c: (print_element_info):
10601           print numeric version of rank as well, since we added some - 1
10602           rank values to elements
10603
10604 2004-04-13  David Schleef  <ds@schleef.org>
10605
10606         * configure.ac:  Disable various code when compiling for MinGW.
10607         * gst/elements/Makefile.am:
10608         * gst/elements/gstelements.c:
10609         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10610         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10611         * gst/registries/gstxmlregistry.c: (make_dir):
10612
10613 2004-04-13  David Schleef  <ds@schleef.org>
10614
10615         * gst/Makefile.am:
10616         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10617         assembly.
10618         * gst/gstcpuid_i386.s: remove
10619
10620 2004-04-13  David Schleef  <ds@schleef.org>
10621
10622         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10623         seems to think it needs to be done.
10624         * docs/gst/tmpl/gstfakesink.sgml:
10625         * docs/gst/tmpl/gstfakesrc.sgml:
10626         * docs/gst/tmpl/gstfdsink.sgml:
10627         * docs/gst/tmpl/gstfdsrc.sgml:
10628         * docs/gst/tmpl/gstfilesink.sgml:
10629         * docs/gst/tmpl/gstfilesrc.sgml:
10630         * docs/gst/tmpl/gstidentity.sgml:
10631         * docs/gst/tmpl/gstmd5sink.sgml:
10632         * docs/gst/tmpl/gstmultifilesrc.sgml:
10633         * docs/gst/tmpl/gstpipefilter.sgml:
10634         * docs/gst/tmpl/gstshaper.sgml:
10635         * docs/gst/tmpl/gstspider.sgml:
10636         * docs/gst/tmpl/gstspideridentity.sgml:
10637         * docs/gst/tmpl/gststatistics.sgml:
10638         * docs/gst/tmpl/gsttee.sgml:
10639         * docs/gst/tmpl/gsttypefind.sgml:
10640         * docs/gst/tmpl/gstutils.sgml:
10641
10642 2004-04-13  David Schleef  <ds@schleef.org>
10643
10644         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10645         and to build DLLs on Windows.
10646         * gst/Makefile.am:
10647         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10648         (gst_filesrc_open_file):
10649         * gst/schedulers/Makefile.am:
10650
10651 2004-04-13  David Schleef  <ds@schleef.org>
10652
10653         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10654         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10655         fixating lists.
10656
10657 2004-04-12  David Schleef  <ds@schleef.org>
10658
10659         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10660         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10661         to using it.
10662         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10663         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10664         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10665         * gst/gststructure.c: (gst_structure_set_valist),
10666         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10667         support for buffers.
10668         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10669         intended to be const.
10670         * gst/gsttag.h: same
10671         * gst/gstvalue.c: (gst_value_serialize_buffer),
10672         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10673         to (de)serialize buffers.
10674         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10675         * testsuite/caps/string-conversions.c: (main):
10676         * testsuite/caps/value_serialize.c: add new test
10677
10678 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10679
10680         * docs/pwg/advanced-types.xml:
10681           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10682
10683 2004-04-11  Benjamin Otte  <otte@gnome.org>
10684
10685         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10686           rename categories to basic_*
10687         * gst/schedulers/gstbasicscheduler.c: 
10688         (gst_basic_scheduler_chain_wrapper),
10689         (gst_basic_scheduler_chainhandler_proxy),
10690         (gst_basic_scheduler_gethandler_proxy),
10691         (gst_basic_scheduler_eventhandler_proxy):
10692           debugging category fixes - put common stuff in log category
10693         * gst/schedulers/gstbasicscheduler.c: 
10694         (gst_basic_scheduler_chain_elements):
10695           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10696           active and linking two active chains
10697
10698 2004-04-10  Benjamin Otte  <otte@gnome.org>
10699
10700         * docs/pwg/intro-preface.xml:
10701           fix dead links and remove reference to Wiki
10702
10703 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10704
10705         * gst/schedulers/gstbasicscheduler.c:
10706           make sure we can switch back to the main function if we're still in
10707           the main function (supposed to fix #139617)
10708         * gst/schedulers/gthread-cothreads.h:
10709           don't throw an error when switching to the same cothread
10710
10711 2004-04-09  Benjamin Otte  <otte@gnome.org>
10712
10713         * gst/gstbin.c: (gst_bin_get_type):
10714         * gst/gstclock.c: (gst_clock_get_type):
10715         * gst/gstindex.c: (gst_index_get_type):
10716         * gst/gstobject.c: (gst_object_get_type),
10717         (gst_signal_object_get_type):
10718         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10719         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10720         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10721         * gst/gstqueue.c: (gst_queue_get_type):
10722         * gst/gstregistry.c: (gst_registry_get_type):
10723         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10724         * gst/gstthread.c: (gst_thread_get_type):
10725           don't use memchunks for these objects, use malloc instead
10726
10727 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * docs/gst/.cvsignore:
10730         * docs/gst/Makefile.am:
10731         * docs/gst/gstreamer-sections.txt:
10732         * docs/gst/tmpl/gstaggregator.sgml:
10733         * docs/gst/tmpl/gstbuffer.sgml:
10734         * docs/gst/tmpl/gstclock.sgml:
10735         * docs/gst/tmpl/gstelement.sgml:
10736         * docs/gst/tmpl/gstfakesink.sgml:
10737         * docs/gst/tmpl/gstfakesrc.sgml:
10738         * docs/gst/tmpl/gstfdsink.sgml:
10739         * docs/gst/tmpl/gstfdsrc.sgml:
10740         * docs/gst/tmpl/gstfilesink.sgml:
10741         * docs/gst/tmpl/gstfilesrc.sgml:
10742         * docs/gst/tmpl/gstidentity.sgml:
10743         * docs/gst/tmpl/gstindex.sgml:
10744         * docs/gst/tmpl/gstinfo.sgml:
10745         * docs/gst/tmpl/gstmd5sink.sgml:
10746         * docs/gst/tmpl/gstmultifilesrc.sgml:
10747         * docs/gst/tmpl/gstpad.sgml:
10748         * docs/gst/tmpl/gstpipefilter.sgml:
10749         * docs/gst/tmpl/gstpipeline.sgml:
10750         * docs/gst/tmpl/gstpluginfeature.sgml:
10751         * docs/gst/tmpl/gstqueue.sgml:
10752         * docs/gst/tmpl/gstregistry.sgml:
10753         * docs/gst/tmpl/gstscheduler.sgml:
10754         * docs/gst/tmpl/gstshaper.sgml:
10755         * docs/gst/tmpl/gstspider.sgml:
10756         * docs/gst/tmpl/gstspideridentity.sgml:
10757         * docs/gst/tmpl/gststatistics.sgml:
10758         * docs/gst/tmpl/gstsystemclock.sgml:
10759         * docs/gst/tmpl/gsttee.sgml:
10760         * docs/gst/tmpl/gstthread.sgml:
10761         * docs/gst/tmpl/gsttypefind.sgml:
10762         * docs/gst/tmpl/gstutils.sgml:
10763           further doc build fixes
10764
10765 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10766
10767         * docs/gst/Makefile.am:
10768           make docs exit on scanning problems
10769           fix nonsrcdir build issues
10770         * docs/gst/gstreamer-sections.txt:
10771           adding stuff from -unused
10772         * gst/gstqueue.h:
10773           create GstQueueSize
10774         * gst/schedulers/cothreads_compat.h:
10775           fix cothread warnings
10776
10777 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10778
10779         * docs/gst/gstreamer-sections.txt:
10780           remove defines deprecated by Benjamin
10781
10782 2004-04-07  Benjamin Otte  <otte@gnome.org>
10783
10784         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10785           when the buffer is complete, don't check if other buffers are needed
10786         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10787           check that the offset is >0 so we don't try to read before the
10788           beginning of the file
10789         * gst/gstpad.c: (gst_pad_set_pad_template):
10790           sink the template, so we don't end up with 130k pad templates
10791
10792 2004-04-06  Benjamin Otte  <otte@gnome.org>
10793
10794         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10795           don't ref the element, adding already reffed it. And we didn't unref
10796           it later anyway... (huge memleak when you used many spider elements)
10797         * gst/gstelement.c: (gst_element_base_class_finalize):
10798         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10799         (gst_element_register):
10800         * gst/gsturi.c: (gst_element_make_from_uri):
10801           use gst_object_(un)ref instead of g_object(un)ref
10802
10803 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10804
10805         * gst/gstbuffer.h:
10806           remove macro that wouldn't work anymore because struct member has
10807           been removed.
10808         * gst/schedulers/entryscheduler.c: (schedule_forward):
10809           fix segfault for unconnected pads
10810         
10811 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10812
10813         reviewed by David Schleef <ds@schleef.org>
10814
10815         * gst/gstinfo.h:
10816           *_FORMAT modifiers should require putting a % in front of them for
10817           consistency reasons.
10818
10819 2004-04-05  Colin Walters  <walters@redhat.com>
10820
10821         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10822         space.
10823
10824 2004-04-05  Benjamin Otte  <otte@gnome.org>
10825
10826         * configure.ac:
10827         * gst/Makefile.am:
10828         * gst/gst_private.h:
10829         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10830           add support for detecting if GStreamer runs inside valgrind.
10831           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10832           print a big message in valgrind that GStreamer has detected it's
10833           running inside and might now use different code.
10834         * gst/gstmemchunk.c: (populate), (free_area),
10835         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10836         (gst_mem_chunk_free):
10837           flag memchunks for valgrind, so it can detect leaking of chunks.
10838           This allows detecting leaks of GstBuffer and GstEvent correctly
10839           inside valgrind.
10840
10841 2004-04-05  David Schleef  <ds@schleef.org>
10842
10843         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10844           jensgr@gmx.net (Jens Granseuer)
10845
10846 2004-04-05  David Schleef  <ds@schleef.org>
10847
10848         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10849         (gst_buffer_default_free), (gst_buffer_default_copy),
10850         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10851         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10852         structures in one place.
10853
10854 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10855
10856         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10857           (GST_TIME_FORMAT, GST_TIME_ARGS)
10858
10859 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10860
10861         * testsuite/elements/Makefile.am:
10862           disable test until it stops breaking make distcheck
10863
10864 2004-04-05  Johan Dahlin  <johan@gnome.org>
10865
10866         * po/sv.po: Updated translation
10867
10868 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10869
10870         * gst/gstplugin.c: (gst_plugin_load_file):
10871           fix segfault for when original plugin was loaded statically
10872
10873 2004-04-05  Benjamin Otte  <otte@gnome.org>
10874
10875         * testsuite/debug/category.c: (main):
10876         * testsuite/debug/commandline.c: (main):
10877         * testsuite/debug/output.c: (main):
10878           fix tests to work again with debugging enabled
10879
10880 2004-04-05  Benjamin Otte  <otte@gnome.org>
10881
10882         * gst/schedulers/gstbasicscheduler.c:
10883         (gst_basic_scheduler_pad_link):
10884           fix to work with recent scheduling changes
10885
10886 2004-04-05  Benjamin Otte  <otte@gnome.org>
10887
10888         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10889         prepareChangeLog doesn't work when cvs indents):
10890           don't throw an error when no element can be scheduled, there's too
10891           many weird reasons why it doesn't work. Return STOPPED instead.
10892           decoupled elemts' schedulability doesn't depend on bufpens.
10893
10894 2004-04-04  Benjamin Otte  <otte@gnome.org>
10895
10896         * gst/schedulers/gstbasicscheduler.c:
10897         (gst_basic_scheduler_pad_select):
10898           fix uninitialized variable warnings
10899
10900 2004-04-04  Benjamin Otte  <otte@gnome.org>
10901
10902         * gst/gstpad.c: (gst_pad_collect_valist):
10903           fix uninitialized variable warning
10904         * gst/schedulers/entryscheduler.c: (schedule_forward):
10905           fix shadowed variable
10906
10907 2004-04-04  Benjamin Otte  <otte@gnome.org>
10908
10909         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10910         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10911         (gst_pad_select):
10912         * gst/gstpad.h:
10913         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10914         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10915         * gst/gstscheduler.h:
10916           implement gst_pad_collect as replacement for gst_pad_select.
10917           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10918           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10919           new pad_select, lock and unlock calls.
10920         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10921         * gst/cothreads.h:
10922         * gst/schedulers/cothreads_compat.h:
10923         * gst/schedulers/gthread-cothreads.h:
10924           remove unused cothread_lock and cothread_unlock calls
10925         * gst/schedulers/entryscheduler.c:
10926         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10927         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10928         (gst_entry_scheduler_pad_select):
10929           update to new API
10930         * gst/schedulers/gstbasicscheduler.c:
10931         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10932         (gst_basic_scheduler_pad_select):
10933           remove useless lock and unlock calls, update pad_select to new API
10934           (untested)
10935         * gst/schedulers/gstoptimalscheduler.c:
10936         (gst_opt_scheduler_class_init):
10937           remove useless select, lock and unlock function calls
10938         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10939           use gst_pad_collect instead of gst_pad_select
10940
10941 2004-04-04  Benjamin Otte  <otte@gnome.org>
10942
10943         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10944         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10945         (schedule_next_element), (print_entry):
10946           add can_schedule_pad to handle element states.
10947           add schedule_forward to select the correct entry to schedule next
10948
10949 2004-04-03  Benjamin Otte  <otte@gnome.org>
10950
10951         * gst/schedulers/entryscheduler.c: 
10952           remove unused variable, fix error inside Rb, fix compile warning in
10953           unreachable code
10954
10955 2004-04-03  Benjamin Otte  <otte@gnome.org>
10956
10957         * gst/schedulers/entryscheduler.c:
10958           completely revamp the inner workings, so it's a lot easier to
10959           understand and extend
10960
10961 2004-04-03  Andy Wingo  <wingo@pobox.com>
10962
10963         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10964         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10965         This allows better introspection of pipeline topology.
10966         (add_to_chain): Don't do trickery to put loop elements first;
10967         rather, queue a chain sort by marking the chain as dirty.
10968         (remove_from_chain): Mark the chain dirty.
10969         (sort_chain): New function. Sorts the group list so that terminal
10970         sinks are first. This means elements on the sink side will be
10971         preferentially sscheduled before elements on the src side of the
10972         pipeline.
10973         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10974         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10975         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10976         (group_inc_link): Change argument and variable names to match the
10977         new link structure member names (src and sink).
10978         (group_dec_link): Add some description
10979
10980 2004-04-03  Benjamin Otte  <otte@gnome.org>
10981
10982         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10983         * gst/gstinfo.h:
10984         * testsuite/debug/category.c: (main):
10985         * testsuite/debug/commandline.c: (main):
10986         * testsuite/debug/output.c: (main):
10987         * testsuite/debug/printf_extension.c: (main):
10988           fix to successfully build and test with --disable-gst-debug
10989           configure switch (fixes #138705)
10990
10991 2004-04-03  Benjamin Otte  <otte@gnome.org>
10992
10993         * docs/pwg/building-boiler.xml:
10994           add cvs login line and s/anonymous/anoncvs/
10995
10996 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10997
10998         reviewed by Benjamin Otte  <otte@gnome.org>
10999
11000         * gst/gststructure.c: (gst_structure_free):
11001           memleak fix: free fields array (partial fix for #134839)
11002
11003 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11004
11005         * docs/random/ds/0.9-suggested-changes:
11006           Add a note to change handoff use in fakesrc to be usable in
11007           a more generic way (fakesrc should be renamed to appsrc or so).
11008         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11009           Change signal type to scope, so we can fill the buffer in the
11010           handoff handler (that's the whole use of this signal...).
11011
11012 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11013
11014         * docs/pwg/other-ntoone.xml:
11015           Document muxers and n-to-1 elements.
11016
11017 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11018
11019         * gst/registries/gstxmlregistry.c
11020         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11021         determine if a file is a G_MODULE. The old one discards paths
11022         containing "so" somewhere in the middle. My home directory is
11023         called "soto". Go figure...
11024
11025 2004-03-31  David Schleef  <ds@schleef.org>
11026
11027         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11028         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11029         * gst/gstbuffer.h:
11030
11031 2004-03-31  David Schleef  <ds@schleef.org>
11032
11033         * gst/gstvalue.c: (gst_value_union_int_int_range),
11034         (gst_value_union_int_range_int_range), (gst_value_can_union),
11035         (gst_value_union), (_gst_value_initialize):  Add some union
11036         implementations.  We didn't have any previously.
11037         * testsuite/caps/Makefile.am:
11038         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11039         (gst_audioscale_getcaps), (test_caps), (main): A little test
11040         that is the same as the caps manipulation in audioscale.
11041
11042 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11043
11044         * docs/faq/general.xml:
11045           add entry about "does gst support format X?"
11046
11047 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11048
11049         * gst/gstthread.c:
11050           fix docs
11051         * gst/gstutils.h:
11052           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11053
11054 2004-03-30  Benjamin Otte  <otte@gnome.org>
11055
11056         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11057           set the offset of the buffer to the requested offset
11058         * gst/elements/gsttypefind.c: (stop_typefinding):
11059           revert patch 1.18 (which I unfortunately don't know the reason for).
11060           This is needed to allow downstream elements to seek. Otherwise
11061           typefind might overwrite a previous seek by downstream elements.
11062           This lead to errors with id3tag and typefind on some mp3s.
11063         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11064         (gst_entry_scheduler_iterate):
11065           be more verbose when debugging
11066
11067 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11070           make sure we don't get NULL strings
11071
11072 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * gst/gstcaps.c:
11075         * gst/gstelement.c:
11076         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11077         * gst/gstindex.c: (gst_index_resolver_get_type),
11078         (gst_index_get_type), (gst_index_factory_get_type):
11079         * gst/gstinfo.c:
11080         * gst/gstpad.c:
11081         * gst/gstplugin.c:
11082         * gst/gsturi.c: (gst_uri_handler_get_type):
11083         * gst/gstvalue.c:
11084           first batch of documentation fixes
11085
11086 2004-03-29  David Schleef  <ds@schleef.org>
11087
11088         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11089         * docs/gst/gstreamer-docs.sgml:  More hacking
11090         * docs/gst/gstreamer-sections.txt:
11091         * docs/gst/tmpl/cothreads_compat.sgml:
11092         * docs/gst/tmpl/gstcaps.sgml:
11093         * docs/gst/tmpl/gstclock.sgml:
11094         * docs/gst/tmpl/gstelement.sgml:
11095         * docs/gst/tmpl/gstevent.sgml:
11096         * docs/gst/tmpl/gstpad.sgml:
11097         * docs/gst/tmpl/gstutils.sgml:
11098         * docs/gst/tmpl/gstxml.sgml:
11099         * docs/gst/tmpl/gthread-cothreads.sgml:
11100         * docs/random/ds/0.9-suggested-changes:
11101         * gst/elements/gstfakesink.h: doc fixes
11102         * gst/elements/gstfakesrc.h: doc fixes
11103         * gst/gstcaps.c: doc fixes
11104         * gst/gstcaps.h: doc fixes
11105         * gst/gstelement.c: doc fixes
11106         * gst/gstelement.h: doc fixes
11107         * gst/gstindex.c: doc fixes
11108         * gst/gstinfo.c: doc fixes
11109         * gst/gstpad.c: doc fixes
11110         * gst/gstpad.h: doc fixes
11111         * gst/gstplugin.c: doc fixes
11112         * gst/gsttypefind.h: doc fixes
11113         * gst/gsturi.c: doc fixes
11114         * gst/gstvalue.c: doc fixes
11115
11116 2004-03-29  Colin Walters  <walters@redhat.com>
11117
11118         * gst/registries/gstxmlregistry.c (get_time)
11119         (plugin_times_older_than_recurse):
11120         Use the result of stat to determine whether a path is a file,
11121         so we don't attempt to opendir() files.
11122
11123 2004-03-29  Benjamin Otte  <otte@gnome.org>
11124
11125         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11126           print caps in debugging output when setting caps failed
11127         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11128         (schedule_next_element), (get_buffer), (run_chainhandler),
11129         (element_may_start), (gst_entry_scheduler_chain_handler),
11130         (gst_entry_scheduler_get_handler),
11131         (gst_entry_scheduler_state_transition),
11132         (gst_entry_scheduler_pad_link):
11133           make this scheduler a testcase for mandatory
11134           discont-before-first-buffer which is needed if we want to allow apps
11135           to release the sound device.
11136           add SCHED_ASSERT macro to print scheduler state before an assertion
11137           triggers.
11138
11139 2004-03-29  Benjamin Otte  <otte@gnome.org>
11140
11141         * COPYING:
11142           replace by LGPL (former COPYING.LIB). The core is completely
11143           licensed LGPL.
11144         * COPYING.LIB:
11145           remove
11146
11147 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * po/af.po:
11150         * po/sv.po:
11151           updated Afrikaans and Swedish
11152
11153 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * po/LINGUAS:
11156         * po/az.po:
11157           adding Azerbaijani (Mətin Əmirov)
11158
11159 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11160
11161         * gst/gstelement.h: 
11162         * gst/gstelement.c (gst_element_set_time_delay): New function for
11163         setting element time taking into account a hardware buffering
11164         delay.
11165         (gst_element_set_time): Now just an invocation of
11166         gst_element_set_time_delay.
11167         * gst/gstclock.h: 
11168         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11169         allowing to set event times in the future.
11170         (gst_clock_get_event_time): Now just an invocation of
11171         gst_clock_get_event_time_delay.
11172
11173 2004-03-28  Benjamin Otte  <otte@gnome.org>
11174
11175         * gst/gstbin.c: (gst_bin_set_element_sched),
11176         (gst_bin_unset_element_sched):
11177           don't add decoupled elements to schedulers - otherwise it's
11178           impossible to control if a link to a decoupled element was already
11179           removed from a scheduler or not.
11180         * gst/schedulers/cothreads_compat.h:
11181         * gst/schedulers/gthread-cothreads.h:
11182           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11183           is no "unused" warning.
11184         * gst/schedulers/Makefile.am:
11185         * gst/schedulers/entryscheduler.c:
11186           add new scheduler, based on ideas from talking to David and Martin.
11187           It's supposed to be small and correct. Currently it's also slow (but
11188           it's not noticable)
11189         * examples/retag/retag.c: (main):
11190         * testsuite/bytestream/test1.c: (main):
11191           fix missing NULLs at end of variadic functions
11192         * testsuite/elements/.cvsignore:
11193           update
11194
11195 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11196
11197         * gst/gstevent.h:
11198         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11199
11200 2004-03-25  David Schleef  <ds@schleef.org>
11201
11202         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11203         * docs/gst/tmpl/gstaggregator.sgml:
11204         * docs/gst/tmpl/gstautoplugfactory.sgml:
11205         * docs/gst/tmpl/gstbin.sgml:
11206         * docs/gst/tmpl/gstbuffer.sgml:
11207         * docs/gst/tmpl/gstbufferstore.sgml:
11208         * docs/gst/tmpl/gstfakesink.sgml:
11209         * docs/gst/tmpl/gstfakesrc.sgml:
11210         * docs/gst/tmpl/gstmd5sink.sgml:
11211         * docs/gst/tmpl/gstreamer-unused.sgml:
11212         * docs/gst/tmpl/gstsearchfuncs.sgml:
11213         * docs/gst/tmpl/gstshaper.sgml:
11214         * docs/gst/tmpl/gstspider.sgml:
11215         * docs/gst/tmpl/gsttee.sgml:
11216         * docs/gst/tmpl/gstutils.sgml:
11217         * docs/gst/tmpl/gstvalue.sgml:
11218         * docs/gst/tmpl/gstxml.sgml:
11219         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11220         and we don't support it.
11221         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11222         (gst_use_threads), (gst_has_threads): same
11223         * gst/gstthreaddummy.c: same
11224         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11225         * gst/autoplug/gstspider.h: same
11226         * gst/elements/gstaggregator.h: Remove bogus function from header
11227         * gst/elements/gstfakesink.h: same
11228         * gst/elements/gstfakesrc.h: same
11229         * gst/elements/gstmd5sink.h: same
11230         * gst/elements/gstshaper.h: same
11231         * gst/elements/gsttee.h: same
11232         * gst/gstbin.c: doc fixes
11233         * gst/gstbin.h: Remove unused definition.
11234         * gst/gstbuffer.c: doc fixes
11235         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11236         * gst/gstfilter.c: doc fixes
11237         * gst/gsttag.c: doc fixes
11238         * gst/gstvalue.c: doc fixes
11239
11240 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11241
11242         * docs/pwg/advanced-types.xml:
11243           Document typefinding.
11244         * docs/pwg/other-oneton.xml:
11245           Document one-to-n elements, demuxers and parsers.
11246
11247 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11248
11249         reviewed by: David Schleef  <ds@schleef.org>
11250
11251         * configure.ac: Check bison version (bug #127838)
11252
11253 2004-03-25  David Schleef  <ds@schleef.org>
11254
11255         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11256         * docs/gst/gstreamer-sections.txt:
11257         * docs/gst/tmpl/gstautoplug.sgml:
11258         * docs/gst/tmpl/gststaticautoplug.sgml:
11259         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11260         * docs/gst/tmpl/gstutils.sgml:
11261         * docs/gst/tmpl/gstxml.sgml:
11262
11263 2004-03-24  David Schleef  <ds@schleef.org>
11264
11265         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11266         manual being such complete crap, that I decided to do major
11267         hacking of it.  This checkin replaces any fine tuning that
11268         may have been done previously, with the benefit of actually
11269         being complete for much of the API that was changed since
11270         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11271         * docs/gst/gstreamer-sections.txt:
11272         * docs/gst/tmpl/GstBin.sgml:
11273         * docs/gst/tmpl/GstBuffer.sgml:
11274         * docs/gst/tmpl/GstCaps.sgml:
11275         * docs/gst/tmpl/GstClock.sgml:
11276         * docs/gst/tmpl/GstCompat.sgml:
11277         * docs/gst/tmpl/GstData.sgml:
11278         * docs/gst/tmpl/GstElement.sgml:
11279         * docs/gst/tmpl/GstEvent.sgml:
11280         * docs/gst/tmpl/GstIndex.sgml:
11281         * docs/gst/tmpl/GstStructure.sgml:
11282         * docs/gst/tmpl/GstTag.sgml:
11283         * docs/gst/tmpl/cothreads.sgml:
11284         * docs/gst/tmpl/cothreads_compat.sgml:
11285         * docs/gst/tmpl/gettext.sgml:
11286         * docs/gst/tmpl/grammar.tab.sgml:
11287         * docs/gst/tmpl/gst-i18n-app.sgml:
11288         * docs/gst/tmpl/gst-i18n-lib.sgml:
11289         * docs/gst/tmpl/gst.sgml:
11290         * docs/gst/tmpl/gst_private.sgml:
11291         * docs/gst/tmpl/gstaggregator.sgml:
11292         * docs/gst/tmpl/gstarch.sgml:
11293         * docs/gst/tmpl/gstatomic.sgml:
11294         * docs/gst/tmpl/gstatomic_impl.sgml:
11295         * docs/gst/tmpl/gstbin.sgml:
11296         * docs/gst/tmpl/gstbuffer.sgml:
11297         * docs/gst/tmpl/gstbufferstore.sgml:
11298         * docs/gst/tmpl/gstcaps.sgml:
11299         * docs/gst/tmpl/gstclock.sgml:
11300         * docs/gst/tmpl/gstcompat.sgml:
11301         * docs/gst/tmpl/gstconfig.sgml:
11302         * docs/gst/tmpl/gstcpu.sgml:
11303         * docs/gst/tmpl/gstdata.sgml:
11304         * docs/gst/tmpl/gstdata_private.sgml:
11305         * docs/gst/tmpl/gstelement.sgml:
11306         * docs/gst/tmpl/gstenumtypes.sgml:
11307         * docs/gst/tmpl/gsterror.sgml:
11308         * docs/gst/tmpl/gstevent.sgml:
11309         * docs/gst/tmpl/gstfakesink.sgml:
11310         * docs/gst/tmpl/gstfakesrc.sgml:
11311         * docs/gst/tmpl/gstfilesink.sgml:
11312         * docs/gst/tmpl/gstfilter.sgml:
11313         * docs/gst/tmpl/gstindex.sgml:
11314         * docs/gst/tmpl/gstinfo.sgml:
11315         * docs/gst/tmpl/gstinterface.sgml:
11316         * docs/gst/tmpl/gstlog.sgml:
11317         * docs/gst/tmpl/gstmacros.sgml:
11318         * docs/gst/tmpl/gstmarshal.sgml:
11319         * docs/gst/tmpl/gstmd5sink.sgml:
11320         * docs/gst/tmpl/gstmultifilesrc.sgml:
11321         * docs/gst/tmpl/gstobject.sgml:
11322         * docs/gst/tmpl/gstpad.sgml:
11323         * docs/gst/tmpl/gstparse.sgml:
11324         * docs/gst/tmpl/gstpipeline.sgml:
11325         * docs/gst/tmpl/gstplugin.sgml:
11326         * docs/gst/tmpl/gstpluginfeature.sgml:
11327         * docs/gst/tmpl/gstqueue.sgml:
11328         * docs/gst/tmpl/gstreamer-unused.sgml:
11329         * docs/gst/tmpl/gstregistry.sgml:
11330         * docs/gst/tmpl/gstregistrypool.sgml:
11331         * docs/gst/tmpl/gstscheduler.sgml:
11332         * docs/gst/tmpl/gstsearchfuncs.sgml:
11333         * docs/gst/tmpl/gstshaper.sgml:
11334         * docs/gst/tmpl/gstspider.sgml:
11335         * docs/gst/tmpl/gstspideridentity.sgml:
11336         * docs/gst/tmpl/gststructure.sgml:
11337         * docs/gst/tmpl/gstsystemclock.sgml:
11338         * docs/gst/tmpl/gsttag.sgml:
11339         * docs/gst/tmpl/gsttaginterface.sgml:
11340         * docs/gst/tmpl/gsttee.sgml:
11341         * docs/gst/tmpl/gstthread.sgml:
11342         * docs/gst/tmpl/gsttrace.sgml:
11343         * docs/gst/tmpl/gsttrashstack.sgml:
11344         * docs/gst/tmpl/gsttypefind.sgml:
11345         * docs/gst/tmpl/gsttypes.sgml:
11346         * docs/gst/tmpl/gsturi.sgml:
11347         * docs/gst/tmpl/gsturitype.sgml:
11348         * docs/gst/tmpl/gstutils.sgml:
11349         * docs/gst/tmpl/gstvalue.sgml:
11350         * docs/gst/tmpl/gstversion.sgml:
11351         * docs/gst/tmpl/gstxml.sgml:
11352         * docs/gst/tmpl/gstxmlregistry.sgml:
11353         * docs/gst/tmpl/gthread-cothreads.sgml:
11354         * docs/gst/tmpl/types.sgml:
11355
11356 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11357
11358         * docs/pwg/other-sink.xml:
11359         * docs/pwg/other-source.xml:
11360           Documentation on how to write source and sink elements. Other
11361           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11362           manager, autoplugger) are all still pending.
11363
11364 2004-03-25  Benjamin Otte  <otte@gnome.org>
11365
11366         * testsuite/elements/Makefile.am:
11367         * testsuite/elements/gst-compprep-check:
11368           add check to make sure gst-compprep works
11369         * testsuite/elements/gst-inspect-check.in:
11370           improve initialization output
11371         * testsuite/Makefile.am:
11372         * testsuite/gst-inspect-check:
11373           remove old file
11374
11375 2004-03-24  David Schleef  <ds@schleef.org>
11376
11377         * testsuite/elements/Makefile.am:
11378         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11379         to the testsuite.
11380
11381 2004-03-24  Benjamin Otte  <otte@gnome.org>
11382
11383         * libs/gst/control/dparam.c: (gst_dparam_attach),
11384         (gst_dparam_detach):
11385         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11386           fix lvalue casts for real
11387
11388 2004-03-24  Benjamin Otte  <otte@gnome.org>
11389
11390         * gst/schedulers/gstbasicscheduler.c:
11391         (gst_basic_scheduler_src_wrapper):
11392         * gst/schedulers/gstoptimalscheduler.c:
11393         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11394         (pad_clear_queued), (gst_opt_scheduler_add_element),
11395         (gst_opt_scheduler_remove_element):
11396           fix GStreamer to not have issues with lvalue casts anymore (fixes
11397           #136841)
11398
11399 2004-03-24  Benjamin Otte  <otte@gnome.org>
11400
11401         * gst/gstelement.c:
11402           add documentation about a gobject quirk where the object hasn't the
11403           correct class pointer set on initialization
11404         * gst/schedulers/gstbasicscheduler.c:
11405         (gst_basic_scheduler_src_wrapper):
11406           make sure to not run into an infinite loop
11407
11408 2004-03-22  Benjamin Otte  <otte@gnome.org>
11409
11410         * gst/gstutils.c: (gst_util_dump_mem):
11411         * gst/gstutils.h:
11412           first argument of gst_util_dump_mem should be const
11413
11414 2004-03-22  Johan Dahlin  <johan@gnome.org>
11415
11416         * gst/gstvalue.h: Clean up a little bit.
11417
11418 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11419
11420         reviewed by Benjamin Otte  <otte@gnome.org>
11421
11422         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11423         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11424         (gst_aggregator_class_init), (gst_aggregator_init):
11425         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11426         (gst_filesrc_dispose), (gst_filesrc_set_location):
11427         * gst/elements/gstidentity.c: (gst_identity_finalize),
11428         (gst_identity_class_init), (gst_identity_chain):
11429         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11430         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11431         (gst_statistics_class_init):
11432         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11433         (gst_tee_get_property):
11434           clean up used memory in this elements correctly on teardown (closes
11435           #137279)
11436
11437 2004-03-20  Colin Walters  <walters@redhat.com>
11438
11439         * gst/registries/gstxmlregistry.c:
11440         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11441         registry saving atomic.
11442
11443 2004-03-20  Colin Walters  <walters@redhat.com>
11444
11445         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11446         Just use
11447         access() instead of actually creating and deleting files.
11448
11449 2004-03-18  David Schleef  <ds@schleef.org>
11450
11451         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11452         (bug #137625)
11453
11454 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11455
11456         * po/sv.po: updated translation (Christian Rose)
11457
11458 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11459
11460         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11461         (gst_filesink_get_query_types), (_do_init),
11462         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11463           return FALSE silently
11464         * po/af.po: updated translation (Petri Jooste)
11465
11466 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11467
11468         * Makefile.am:
11469         * configure.ac:
11470           dist common properly
11471         * po/af.po:
11472         * po/fr.po:
11473         * po/nl.po:
11474         * po/sr.po:
11475         * po/sv.po:
11476           refreshing translations
11477
11478 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11479
11480         * po/LINGUAS:
11481         * po/sv.po:
11482         * po/af.po:
11483           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11484
11485 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11486
11487         * Makefile.am: use common/release.mak
11488
11489 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11490
11491         * docs/faq/gst-uninstalled:
11492           adding gst-monkeysaudio to the list of possible plugin dirs
11493
11494 2004-03-16  David Schleef  <ds@schleef.org>
11495
11496         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11497         (gst_init_check_with_popt_table):  Fix some gettext strings to
11498         make them easier to translate.  Required making the strings
11499         non-const.
11500
11501 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11502
11503         * configure.ac: bump nano to 1
11504
11505 === release 0.8.0 ===
11506
11507 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11508
11509         * configure.ac: release 0.8.0, "Executive Slacks"
11510
11511 2004-03-16  Johan Dahlin  <johan@gnome.org>
11512
11513         * gst/schedulers/gstoptimalscheduler.c
11514         (gst_opt_scheduler_pad_unlink): Remove double ;,
11515         spotted by Scott Wheeler
11516
11517 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11518
11519         * configure.ac: bump libtool version
11520
11521 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11522
11523         * gst/gstcaps.h:
11524         * gst/gststructure.h:
11525           add reserved padding
11526
11527 2004-03-15  Benjamin Otte  <otte@gnome.org>
11528
11529         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11530           set the first parameter for select call correctly.
11531           (fixes #137230)
11532
11533 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11534
11535         * *.c,*.h: don't mix tabs and spaces
11536
11537 2004-03-15  Johan Dahlin  <johan@gnome.org>
11538
11539         * gst/schedulers/gstoptimalscheduler.c
11540         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11541         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11542
11543         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11544         
11545 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11546
11547         * testsuite/Rules:
11548           fix gst-register rules
11549
11550 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * testsuite/Rules:
11553           use versioned gst-register
11554
11555 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11556
11557         * docs/libs/gstreamer-libs-sections.txt:
11558           remove </SUBSECTION>
11559         * gst/gstplugin.c:
11560         * gst/gstregistry.c: (gst_registry_add_plugin):
11561         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11562         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11563           add debugging and fix some comment blocks
11564
11565 2004-03-15  Johan Dahlin  <johan@gnome.org>
11566
11567         * *.h: Revert indent changes.
11568         
11569 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11570
11571         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11572           g_error_free the g_error
11573         * tools/gst-feedback-m.m:
11574           check for other versions of gstreamer
11575         * tools/gst-indent:
11576           use sh, not bash
11577
11578 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11579
11580         * tools/gst-register.c: do not spill paths when registries are not
11581           writable, until we fix the "user running gst-register" case.
11582
11583 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11584
11585         * *.c, *.h: commit of gst-indent run on core
11586
11587 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11588
11589         * tools/gst-indent:
11590         * tools/Makefile.am:
11591           add our indentation style as a script
11592
11593 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11594
11595         * po/sr.po:
11596         * po/LINGUAS:
11597           added Serbian translation
11598
11599 2004-03-13  Benjamin Otte  <otte@gnome.org>
11600
11601         * gst/gstelement.c:
11602           add documentation note about gst_element_found_tags_for_pad not
11603           being usable in getfunctions. (see #137042)
11604
11605 2004-03-12  David Schleef  <ds@schleef.org>
11606
11607         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11608         change API right now!  Readd gst_caps_is_simple() macro.
11609         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11610         uninitialized variable.  I'd bet this caused crashes.
11611         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11612
11613 2004-03-12  Johan Dahlin  <johan@gnome.org>
11614
11615         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11616         * gst/gstcaps.h: Clean up
11617
11618         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11619         _gst_caps_initalize()
11620
11621         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11622         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11623
11624         * gst/gststructure.c (gst_structure_get_type): Ditto
11625
11626         * gst/gststructure.h: Ditto
11627         
11628 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11629
11630         * gst/gstqueue.c: (gst_queue_init):
11631           Reset default max. values in queues. Reason is simply to avoid
11632           braindead use. If you want wider values, use the properties. The
11633           default is supposed to always work. Wider values would make this
11634           beast a memory hog by default (250 full-PAL RGB32 video frames?
11635           That's 440 MB! No thank you).
11636
11637 2004-03-10  David Schleef  <ds@schleef.org>
11638
11639         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11640         were found.  (bug #136793)
11641
11642 2004-03-10  Johan Dahlin  <johan@gnome.org>
11643
11644         * gst/schedulers/gstoptimalscheduler.c
11645         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11646         links to elements within the same group, so we can finally remove
11647         that annoying warning. Refactor the code a little bit
11648         (group_dec_links_for_element): Split out
11649
11650 2004-03-09  David Schleef  <ds@schleef.org>
11651
11652         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11653         (bug #134863)
11654
11655 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11656
11657         * configure.ac: first bug fix due to major/minor bump
11658
11659 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * configure.ac: bump nano to 1
11662
11663 === release 0.7.6 ===
11664
11665 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11666
11667         * NEWS:
11668         * RELEASE:
11669         * configure.ac:
11670           releasing 0.7.6, "Almost"
11671         * po/fr.po:
11672         * po/nl.po:
11673         * tools/Makefile.am:
11674         * tools/gst-feedback-m.m:
11675           unversioned source
11676
11677 2004-03-09  Johan Dahlin  <johan@gnome.org>
11678
11679         Reviewed by: Thomas Vander Stichele
11680
11681         * gst/gstelement.c (gst_element_class_init): register second
11682         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11683         language bindings can (de)marshall correctly.
11684
11685         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11686
11687         * gst/gsterror.c (gst_g_error_get_type): New function
11688
11689         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11690         with VOID:OBJECT,OBJECT,STRING 
11691
11692 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11693
11694         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11695         Free a leaked g_timer on early returns.
11696
11697 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11698
11699         * docs/pwg/advanced-types.xml:
11700           Add cinepak description.
11701
11702 2004-03-07  David Schleef  <ds@schleef.org>
11703
11704         * docs/random/mimetypes:  Added cinepak description
11705
11706 2004-03-07  Andy Wingo  <wingo@pobox.com>
11707
11708         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11709
11710         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11711         there are no links to other groups when a group is destroyed.
11712         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11713         removed from a group, make sure the link count to elements linked
11714         to other pads is appropriately decremented. This really fixes
11715         #135672.
11716
11717         The 1.60->1.61 patch has been reapplied in light of this fix.
11718
11719         * gst/gstelement.c (gst_element_dispose): Really protect against
11720         multiple invocations this time.
11721
11722 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11723
11724         * docs/gst/gstreamer-sections.txt:
11725         * docs/gst/tmpl/gsttag.sgml:
11726           remove some deprecated functions, document some existing ones
11727         * gst/gsttag.c: (gst_tag_get_flag):
11728         * gst/gsttag.h:
11729           add accessor function
11730
11731 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11732
11733         * docs/gst/gstreamer-sections.txt:
11734         * docs/gst/tmpl/gsttag.sgml:
11735         * docs/gst/tmpl/gstxml.sgml:
11736         * gst/gsttag.c: (gst_tag_get_flag):
11737         * gst/gsttag.h:
11738
11739 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11740
11741         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11742         leak
11743
11744 2004-03-05  David Schleef  <ds@schleef.org>
11745
11746         * REQUIREMENTS: Add bison and flex.
11747         * configure.ac: Fix comment about bison.
11748         * docs/random/ds/0.9-suggested-changes: yer ma
11749         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11750
11751 2004-03-05  Benjamin Otte  <otte@gnome.org>
11752
11753         * gst/gstelement.c: (gst_element_error_full):
11754           revert recent recursive state changing commit - messing with other
11755           elements' states is evil and should be done by apps only.
11756
11757 2004-03-05  Benjamin Otte  <otte@gnome.org>
11758
11759         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11760           check for empty intersection instead of NULL caps
11761         (gst_element_get_compatible_pad_filtered):
11762           remove old workaround that is only a bug nowadays
11763
11764 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11765
11766         * gst/gstelement.c: (gst_element_error_full):
11767           make elements try to recursively change state to PAUSED on all
11768           parents after an error to suppress ensuing warnings
11769         * gst/parse/grammar.y:
11770           make it check if it was able to sync the state, and throw an error
11771           if not, so stuff like
11772           oggdemux ! vorbisdec ! osssink gets caught
11773
11774 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11777           it contains lib64; use AS_AC_EXPAND to handle it properly
11778
11779 2004-03-05  David Schleef  <ds@schleef.org>
11780
11781         * gst/gstcpuid_i386.s:  Remove unused code
11782         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11783         (gst_getbits_newbuf): Remove MMX code
11784         * libs/gst/getbits/getbits.h: Remove MMX code
11785
11786 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11787
11788         * debian/.cvsignore:
11789         * debian/README.Debian:
11790         * debian/changelog:
11791         * debian/control:
11792         * debian/control.in:
11793         * debian/copyright:
11794         * debian/gstreamer-core-libs-dev.files:
11795         * debian/gstreamer-core-libs.files:
11796         * debian/gstreamer-core.files:
11797         * debian/gstreamer-core.postinst:
11798         * debian/gstreamer-core.postrm:
11799         * debian/gstreamer-doc.files:
11800         * debian/gstreamer-doc.links:
11801         * debian/gstreamer-doc.lintian:
11802         * debian/gstreamer-runtime.files:
11803         * debian/gstreamer-runtime.manpages:
11804         * debian/gstreamer-runtime.postinst:
11805         * debian/gstreamer-runtime.postrm:
11806         * debian/gstreamer-tools.files:
11807         * debian/gstreamer-tools.manpages:
11808         * debian/libgstreamer-dev.files:
11809         * debian/libgstreamer0.4.1.files:
11810         * debian/libgstreamerVERSION.files:
11811         * debian/rules:
11812         Debian package info not maintained here.
11813
11814 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11815
11816         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11817         * gst/gstbin.c: (gst_bin_class_init):
11818         * gst/gstelement.c: (gst_element_class_init):
11819         * gst/gstindex.c: (gst_index_class_init):
11820         * gst/gstobject.c: (gst_object_class_init),
11821         (gst_signal_object_class_init):
11822         * gst/gstpad.c: (gst_pad_template_class_init):
11823         * gst/gstregistry.c: (gst_registry_class_init):
11824         * gst/gsturi.c: (gst_uri_handler_base_init):
11825         * gst/gstxml.c: (gst_xml_class_init):
11826         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11827         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11828           make all signal names use dashes instead of underscore
11829
11830 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11831
11832         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11833
11834 2004-03-03  Benjamin Otte  <otte@gnome.org>
11835
11836         * gst/schedulers/gstoptimalscheduler.c:
11837           revert last commit by Andy Wingo. It causes segfaults on unreffing
11838           in Rhythmbox. (see bug #135672)
11839
11840 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11841
11842         * po/fr.po: fix typo
11843
11844 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11845
11846         * tools/gst-inspect.c: (main): 
11847         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11848
11849 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11850
11851         * configure.ac:
11852           get GLIB_ONLY and POPT flags for the nonversioned binaries
11853         * tools/Makefile.am:
11854           use them
11855
11856 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11857
11858         * gst/gst.c: (init_post):
11859           change so that GST_REGISTRY now is where the global registry gets
11860           saved, since that is where plugins now get attached to first, and
11861           spilled over to the user registry.  Note that in the case of using
11862           GST_REGISTRY env var, we don't want to affect any real registries
11863           beyond the one given by this var, and thus we don't set a user
11864           registry to spill to.  So make sure GST_REGISTRY is writable.
11865
11866 2004-03-01  David Schleef  <ds@schleef.org>
11867
11868         * AUTHORS:  Added some names.  Add yourself if you're missing.
11869
11870 2004-03-01  David Schleef  <ds@schleef.org>
11871
11872         * MAINTAINERS: Add
11873
11874 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11875
11876         * configure.ac:
11877           remove whitespace
11878         * docs/gst/tmpl/gstbuffer.sgml:
11879         * docs/gst/tmpl/gstdata.sgml:
11880         * docs/gst/tmpl/gstreamer-unused.sgml:
11881         * docs/gst/tmpl/gstxml.sgml:
11882           doc update
11883         * docs/manuals.mak:
11884           add a FIXME
11885         * docs/pwg/intro-preface.xml:
11886         * docs/pwg/pwg.xml:
11887           remove GNOME
11888         * gst/gst.c: (init_post):
11889           try GST_PLUGIN_PATH paths for the _global_registry first
11890         * gst/gstelement.h:
11891           add the error message as well, otherwise (null) debug info doesn't
11892           make much sense
11893         * tools/gst-register.c: (main):
11894           spill paths to next registry if this registry is not writable
11895         * po/fr.po:
11896         * po/nl.po:
11897           translation updates
11898
11899 2004-03-01  Johan Dahlin  <johan@gnome.org>
11900
11901         * gst/gstbuffer.c (_gst_buffer_initialize): 
11902         * gst/gstdata.c (gst_data_get_type): 
11903         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11904         instead of ref, since some applications that uses GBoxed
11905         routines depends on a function that actually returns a copy.
11906
11907 2004-02-27  Benjamin Otte  <otte@gnome.org>
11908
11909         * gst/gstbuffer.h:
11910           remove gst_buffer_free, use gst_data_unref
11911         * gst/gstdata.c: (gst_data_get_type):
11912           use refcounting in GstData GBoxed registration
11913         * gst/gstdata.h:
11914           remove gst_data_free, use gst_data_unref
11915
11916 2004-02-27  Johan Dahlin  <johan@gnome.org>
11917
11918         * gst/gstdata.c (gst_data_get_type): New function, register
11919         GstData as a GBoxed type.
11920
11921         * gst/gstdata.h (GST_TYPE_DATA): New macro
11922
11923 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11924
11925         * Makefile.am:
11926         * gstreamer.spec.in:
11927           put back RELEASE
11928         * gst/Makefile.am:
11929           clean up non-disting of built files
11930         * testsuite/debug/commandline.c:
11931           test fix for option rename
11932
11933 2004-02-26  David Schleef  <ds@schleef.org>
11934
11935         * configure.ac:  We don't really need glib-2.3.  Also remove
11936         some unneeded checks for library functions.
11937         * gst/Makefile.am:  Instead, we need to not dist files created
11938         by glib-genmarshal.
11939
11940 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11941
11942         * configure.ac:
11943           bump glib required version to 2.3.0 for g_value_takes_boxed
11944
11945  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11946
11947         * common/m4/gst-docs.m4
11948         change flavour text from enable to disable as enable is our default
11949         closes bug Bug 135304
11950
11951 === release 0.7.5 ===
11952  
11953  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11954  
11955         * NEWS:
11956           instate NEWS file
11957         * Makefile.am:
11958         * gstreamer.spec.in:
11959         * RELEASE:
11960           put back release
11961         * configure.ac:
11962         * docs/random/release:
11963           more updates
11964
11965 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11966
11967         * gst/gsttag.c: (_gst_tag_initialize):
11968         * po/fr.po:
11969         * po/nl.po:
11970           remove hyphen from codec tags
11971
11972 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11973
11974         * gst/parse/Makefile.am:
11975           fix dependency so that a make from a clean build works the first
11976           time
11977
11978 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11979
11980         * docs/random/release:
11981           update release strategy
11982         * po/fr.po:
11983           auto-update po file
11984         * po/nl.po:
11985           update dutch translation
11986
11987 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11988
11989         * docs/manual/debugging.xml:
11990         fix manual for new debugging system
11991
11992 2004-02-25  Andy Wingo  <wingo@pobox.com>
11993
11994         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11995         gst_pad_link_prepare. Please email the list with specific reasons
11996         for reverting.
11997
11998 2004-02-24  Andy Wingo  <wingo@pobox.com>
11999
12000         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12001         invocations.
12002
12003         * gst/schedulers/gstoptimalscheduler.c:
12004         I added a mess of prototypes at the top of the file by way of
12005         documentation. Some of the operations on chains and groups were
12006         re-organized.
12007
12008         (create_group): Added a type argument so if the group is enabled,
12009         the setup_group_scheduler knows what to do.
12010         (group_elements): Added a type argument here, too, to be passed on
12011         to create_group.
12012         (group_element_set_enabled): If an unlinked PLAYING element is
12013         added to a bin, we have to create a new group to hold the element,
12014         and this function will be called before the group is added to the
12015         chain. Thus we have a valid case for group->chain==NULL. Instead
12016         of calling chain_group_set_enabled, just set the flag on the group
12017         (the chain's status will be set when the group is added to it).
12018         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12019         Setup the group scheduler when the group is enabled, not
12020         specifically when an element goes PAUSED->PLAYING. This means
12021         PLAYING elements can be added, linked, and scheduled into a
12022         PLAYING pipeline, as was intended.
12023         (add_to_group): Don't ref the group twice. I don't know when this
12024         double-ref got in here. Removing it has the potential to cause
12025         segfaults if other parts of the scheduler are buggy. If you find
12026         that the scheduler is segfaulting for you, put in an extra ref
12027         here and see if that hacks over the underlying issue. Of course,
12028         then find out what code is unreffing a group it doesn't own...
12029         (create_group): Make the extra refcount floating, and remove it
12030         after adding the element. This means that...
12031         (unref_group): Destroy when the refcount reaches 0, not 1, like
12032         every other refcounted object in the known universe.
12033         (remove_from_group): When a group becomes empty, set it to be not
12034         active, and remove it from its chain. Don't unref it again,
12035         there's no floating reference any more.
12036         (destroy_group): We have to remove the group from the chain in
12037         remove_from_group (rather than here) to break refcounting cycles
12038         (the chain always has a ref on the group). So assert that
12039         group->chain==NULL.
12040         (ref_group_by_count): Removed, it was commented out anyway.
12041         (merge_chains): Use the remove_from_chain and add_to_chain
12042         primitives to do the reparenting, instead of rolling our own
12043         implementation.
12044         (add_to_chain): The first non-disabled group in the chain's group
12045         list will be the entry point for the chain. Because buffers can
12046         accumulate in loop elements' peer bufpens, we preferentially
12047         schedule loop groups before get groups to avoid unnecessary
12048         execution of get-based groups when the bufpens are already full.
12049         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12050         (get_group_schedule_function): Ditto.
12051         (loop_group_schedule_function): Ditto.
12052         (gst_opt_scheduler_loop_wrapper): Ditto.
12053         (gst_opt_scheduler_iterate): Ditto.
12054
12055         I understand the opt scheduler now, yippee!
12056
12057         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12058         (gst_pad_get_name, gst_pad_set_chain_function) 
12059         (gst_pad_set_get_function, gst_pad_set_event_function) 
12060         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12061         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12062         (gst_pad_set_query_function, gst_pad_get_query_types) 
12063         (gst_pad_get_query_types_default) 
12064         (gst_pad_set_internal_link_function) 
12065         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12066         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12067         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12068         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12069         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12070         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12071         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12072         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12073         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12074         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12075         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12076         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12077         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12078         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12079         argument checks, and some doc fixes.
12080
12081         (gst_pad_custom_new_from_template): Um, does anyone
12082         use these functions? Actually make a custom pad instead of a
12083         normal one.
12084         (gst_pad_try_set_caps): Transpose some checks.
12085         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12086         the pad is in negotiation.
12087         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12088         
12089         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12090
12091         * gst/gstelement.h: 
12092         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12093         on the list.
12094
12095 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12096
12097         * gst/gstbin.c: (gst_bin_add):
12098           add error for not being able to add elements
12099
12100 2004-02-22  Julien MOUTTE <julien@moutte.net>
12101
12102         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12103         audio-codec and video-codec.
12104
12105 2004-02-22  Benjamin Otte  <otte@gnome.org>
12106
12107         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12108
12109         * autogen.sh:
12110           replace test -e with test -x for mkinstalldirs to be more portable.
12111           (fixes #134816)
12112
12113 2004-02-22  Benjamin Otte  <otte@gnome.org>
12114
12115         * gst/gstpad.c:
12116           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12117           too noisy
12118         * gst/gsttag.c: (_gst_tag_initialize):
12119         * gst/gsttag.h:
12120           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12121         * libs/gst/control/dparam.c: (gst_dparam_attach):
12122         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12123           check that types for attached dparams match
12124
12125 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12128         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12129         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12130           fix errors
12131
12132 2004-02-20  Andy Wingo  <wingo@pobox.com>
12133
12134         * gst/gstbin.c:
12135         * gst/gstbuffer.c:
12136         * gst/gstplugin.c:
12137         * gst/registries/gstxmlregistry.c: 
12138         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12139
12140         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12141         (gst_element_add_pad): DEBUG->INFO, some fixes.
12142         (gst_element_get_compatible_pad_template): Just see if the
12143         templates' caps intersect, not if one is a strict subset of the
12144         other. This conforms more to what gst_pad_link_intersect() does.
12145         (gst_element_class_add_pad_template): Don't memcpy the pad
12146         template, just ref it.
12147         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12148
12149         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12150         (gst_pad_link_filtered): Debug changes.
12151         (gst_pad_link_prepare): New function, consolidated from
12152         can_link_filtered and link_filtered.
12153
12154         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12155         look more like that of the functions in gstelement.c
12156
12157         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12158         object, and return the empty string if object is NULL.
12159
12160         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12161         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12162         LOG, not DEBUG. We still get flex info on debug.
12163
12164         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12165         debug string more verbose.
12166         (plugin_times_older_than): DEBUG->LOG.
12167
12168 2004-02-20  Julien MOUTTE <julien@moutte.net>
12169
12170         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12171         will emit found_tag for each stream they demux with the codec.
12172
12173 2004-02-20  Benjamin Otte  <otte@gnome.org>
12174
12175         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12176           copy navigation event correctly. Check freeing tag lists. 
12177         * gst/gstthread.c: (gst_thread_change_state):
12178           don't abort() on state changing mess - it might happen because of
12179           bugs.
12180         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12181           use boxed functions
12182         * gst/gstvalue.h:
12183           fix GST_VALUE_HOLDS_CAPS
12184
12185 2004-02-19  David Schleef  <ds@schleef.org>
12186
12187         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12188         and use it for GST_FUNCTION.  (bug #134750)
12189
12190 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * po/fr.po:
12193         * po/nl.po:
12194           updating translations
12195
12196 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12197
12198         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12199
12200 2004-02-18  kost@imn.htwk-leipzig.de
12201
12202         reviewed by: David Schleef  <ds@schleef.org>
12203
12204         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12205         for libgstcontrol.
12206
12207 2004-02-18  David Schleef  <ds@schleef.org>
12208
12209         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12210         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12211         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12212         * tools/gst-inspect.c: (print_element_info): Support dumping of
12213         double dparam information.
12214
12215 2004-02-17  David Schleef  <ds@schleef.org>
12216
12217         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12218         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12219         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12220         Use GST_TYPE_CAPS in signal prototype.
12221         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12222         Convert GST_TYPE_CAPS to boxed.
12223         * gst/gstelement.c: (gst_element_class_init):
12224         Use GST_TYPE_TAG_LIST in signal prototype.
12225         * gst/gstindex.c: (gst_index_class_init):
12226         * gst/gstindex.h:
12227         Add GST_TYPE_INDEX_ENTRY type.
12228         * gst/gstmarshal.list:
12229         Add necessary marshal types.
12230         * gst/gstpad.c: (gst_real_pad_class_init),
12231         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12232         (gst_pad_recover_caps_error):
12233         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12234         * gst/gststructure.c: (_gst_structure_initialize),
12235         (gst_structure_copy), (_gst_structure_copy_conditional):
12236         * gst/gststructure.h:
12237         Convert GST_TYPE_STRUCTURE to boxed.
12238         * gst/gsttag.c: (gst_tag_list_get_type):
12239         * gst/gsttag.h:
12240         Add GST_TYPE_TAG_LIST type.
12241
12242 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12243
12244         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12245         to what we agreed with david.
12246         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12247
12248 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12249
12250         * po/nl.po: update translation
12251
12252 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12253
12254         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12255           throw an error if spider is trying to play a mime type there is
12256           no decoder for
12257         * po/POTFILES.in:
12258           add gst/autoplug/gstspider.c for translation
12259
12260 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12261
12262         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12263         silently when the pad is negotiating.
12264
12265 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12266
12267         * docs/faq/Makefile.am:
12268           add script to run gstreamer uninstalled 
12269         * docs/faq/faq.xml:
12270         * docs/faq/developing.xml:
12271         * docs/faq/gst-uninstalled:
12272           extract script to run gstreamer uninstalled
12273         * docs/manuals.mak:
12274           add EXTRA_SOURCES variable for Makefile.am's to set to
12275           use additional SOURCE files for the doc build
12276
12277 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12278
12279         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12280
12281 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12282
12283         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12284         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12285         an error was thrown by osssink. Basically a state change failure for
12286         an element in a different scheduling group was considered as
12287         successful, which means that caps nego was going on and weird stuff
12288         happened. Like I wrote in the comment there, if someone wants to
12289         revert that please drop me a mail explaining why because I really see
12290         no point in keeping that broken behaviour there.
12291         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12292         be empty, we then return NULL which will trigger a nice error when 
12293         pulling from the pad.
12294
12295 2004-02-13  David Schleef  <ds@schleef.org>
12296
12297         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12298         (gst_dparam_get_property), (gst_dparam_set_property),
12299         (gst_dparam_do_update_default):
12300         * libs/gst/control/dparam.h:
12301         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12302         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12303         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12304         (gst_dpsmooth_do_update_double):
12305         * libs/gst/control/dparam_smooth.h:
12306         * libs/gst/control/dparammanager.c:
12307         (gst_dpman_inline_direct_update):
12308         Add support for double dparams.
12309
12310 2004-02-13  David Schleef  <ds@schleef.org>
12311
12312         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12313         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12314
12315 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12316
12317         reviewed by: David Schleef  <ds@schleef.org>
12318
12319         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12320         (gst_fdsrc_init), (gst_fdsrc_set_property),
12321         (gst_fdsrc_get_property), (gst_fdsrc_get):
12322         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12323         and sends an EOS event if file descriptor reading times out.
12324
12325 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12326
12327         * configure.ac:
12328           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12329
12330 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12331
12332         * configure.ac: pass required libxml version as argument
12333         (bug reported by Christophe Fergeau)
12334
12335 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12336   
12337         * docs/gst/gstreamer-docs.sgml:
12338         * docs/gst/tmpl/gstxml.sgml:
12339         * docs/libs/gstreamer-libs-docs.sgml:
12340           version API docs
12341
12342 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12343
12344         * gst/gstinfo.c:
12345         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12346         (gst_registry_pool_feature_filter):
12347         * gst/gstthread.c: (gst_thread_class_init):
12348         * gst/gstvalue.c:
12349           add includes exposed by building without libxml
12350         * gst/indexers/Makefile.am:
12351           do not build fileindex when LOADSAVE disabled; we should have
12352           a better libxml check later since fileindex depends on xml, not
12353           LOADSAVE or REGISTRY
12354         * libs/gst/control/Makefile.am:
12355           link with m
12356         * tools/Makefile.am:
12357           fix wrong source code for gst-xmlinspect
12358
12359 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12360
12361         * configure.ac:
12362           fix gcov help output
12363           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12364         * docs/random/release:
12365           some updated releasing notes
12366         * gstreamer.spec.in:
12367           more updates
12368
12369 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * docs/faq/faq.xml:
12372         * docs/manual/manual.xml:
12373         * docs/pwg/pwg.xml:
12374         * docs/pwg/titlepage.xml:
12375           put version in documentation
12376
12377 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12378
12379         * tools/Makefile.am: fix man page installation
12380
12381 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12382
12383         * configure.ac:
12384           don't check for libxml when load/save and registry disabled (#105844)
12385         * gstreamer.spec.in:
12386           sync with fedora candidate spec
12387
12388 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12389
12390         * po/fr.po:
12391         * po/nl.po:
12392           replace multidisksrc with multifilesrc
12393
12394 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12395
12396         * po/POTFILES.in:
12397           update to multidisksrc => multifilesrc file renaming (#134145)
12398
12399 2004-02-11  David Schleef  <ds@schleef.org>
12400
12401         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12402         * docs/gst/tmpl/gstpadtemplate.sgml: same
12403         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12404         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12405         fixing dance.
12406         * gst/gstutils.c: Remove disabled code that uses GstProps.
12407         * gst/registries/gstxmlregistry.h: same
12408         * docs/random/ds/0.9-suggested-changes: random notes
12409
12410 2004-02-11  kost@imn.htwk-leipzig.de
12411
12412         reviewed by: David Schleef  <ds@schleef.org>
12413
12414         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12415         initialisation of clock (bug #134128)
12416
12417 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12418
12419         * configure.ac:
12420         * gst/elements/Makefile.am:
12421         * gst/elements/gstelements.c:
12422         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12423         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12424         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12425         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12426         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12427         * gst/elements/gstmultifilesrc.h:
12428           rename multidisksrc to multifilesrc (part of #122200)
12429
12430 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12431
12432         * docs/manuals.mak:
12433           fix automake complaints
12434         * gst-element-check.m4:
12435           fix unquotedness
12436
12437 2004-02-11  David Schleef  <ds@schleef.org>
12438
12439         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12440         * gst/gstatomic_impl.h: Disable sparc implementation.
12441
12442 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12443
12444         * gst-element-check.m4:
12445           fix underquoted macros as reported by automake 1.8.x (#133800)
12446         * configure.ac:
12447           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12448           by autopoint (fixes #132996)
12449
12450 2004-02-10  Andy Wingo  <wingo@pobox.com>
12451
12452         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12453         way to do inheritance.
12454         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12455         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12456         Routine docs.
12457         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12458         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12459         doc.
12460         (gst_pad_unlink, gst_pad_is_linked): Docs.
12461         (gst_pad_renegotiate): A brief description of capsnego.
12462         (gst_pad_try_set_caps): Document.
12463         (gst_pad_try_set_caps_nonfixed): Document.
12464         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12465         (gst_pad_set_parent): Deprecated (although not out of the API).
12466         (gst_pad_get_parent): Deprecated, although many plugins use this.
12467         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12468         are private and will go away in 0.9.
12469         (gst_pad_perform_negotiate): Doc.
12470         (gst_pad_link_unnegotiate): I think this is meant to be static.
12471         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12472         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12473         (gst_pad_get_peer): Doc updates.
12474         (gst_pad_caps_change_notify): Doc.
12475         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12476         (gst_ghost_pad_new): Doc fixes.
12477
12478         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12479         (gst_object_check_uniqueness): 
12480
12481         * gst/gstelement.c (gst_element_add_pad) 
12482         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12483         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12484         (gst_element_get_static_pad, gst_element_get_pad_list) 
12485         (gst_element_class_get_pad_template_list) 
12486         (gst_element_class_get_pad_template): Work on the docs.
12487         (gst_element_get_pad_template_list): Uses the class method.
12488         (gst_element_get_compatible_pad_template): Docs, and consolidate
12489         some test conditions. 
12490         (gst_element_get_pad_from_template): New static function.
12491         (gst_element_request_compatible_pad): Docs, and work with
12492         non-request compatible templates. 
12493         (gst_element_get_compatible_pad_filtered): Docs and remove
12494         redundant checks.
12495         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12496         (gst_element_link_filtered, gst_element_link_many) 
12497         (gst_element_link, gst_element_link_pads) 
12498         (gst_element_unlink_many): Docs.
12499
12500 2004-02-05  Andy Wingo  <wingo@pobox.com>
12501
12502         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12503         s/pointer/boxed/.
12504
12505         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12506
12507         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12508         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12509         with the type=GST_TYPE_CAPS. This allows language bindings to know
12510         what kind of data they're dealing with.
12511
12512         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12513         to NULL when g_value_init is called. GstCaps, which rolls its own
12514         type implementation, now does the same instead of allocating empty
12515         caps.
12516         (_gst_caps_initialize, _gst_caps_collect_value,
12517         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12518         table methods. This allows G_VALUE_COLLECT to work.
12519
12520 2004-02-05  Andy Wingo  <wingo@pobox.com>
12521
12522         * configure.ac:
12523         * testsuite/Makefile.am (SUBDIRS): 
12524         * testsuite/ghostpads/Makefile.am: 
12525         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12526
12527         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12528         These two routines are the only ones that set
12529         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12530         pad template. They should be made static, depending on ABI needs.
12531         (gst_real_pad_dispose): Handle the case of ghost pads without a
12532         parent. Assert after dealing with ghost pads that the ghost pad
12533         list is empty.
12534         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12535         set after creation.
12536         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12537         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12538         functions. set_property will call add_ghost_pad/remove_ghost_pad
12539         as appropriate.
12540         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12541
12542         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12543         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12544         (gst_element_remove_pad): Handle ghost pads as well.
12545         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12546         depending on API-stability needs).
12547
12548 2004-02-05  Andy Wingo  <wingo@pobox.com>
12549
12550         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12551         of course they're const
12552
12553 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12554
12555         * tools/Makefile.am:
12556         * tools/gst-feedback:
12557         * tools/gst-feedback-0.7:
12558           make gst-feedback versioned too for consistency
12559
12560 2004-02-11  David Schleef  <ds@schleef.org>
12561
12562         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12563         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12564
12565 2004-02-10  Julien MOUTTE <julien@moutte.net>
12566
12567         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12568         the structure does not contain a valid tag list. Adding a safety check
12569         to remove a noisy warning in that case.
12570
12571 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12572
12573         * gst/gst.c: fix name to be in line with others
12574
12575 2004-02-09  Julien MOUTTE <julien@moutte.net>
12576
12577         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12578         not shout that loud when len is 0. Just return 0 silently.
12579
12580 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12581
12582         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12583         because data_unref has one and I prefer the debug to be symetric.
12584         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12585         were refed when added to the queue and unrefed only once when the queue
12586         was flushed. Now the flush handler unref the buffers two times : first
12587         unref for the ref added when pushing in the queue's tail and second
12588         unref to destroy the flushed buffer.
12589
12590 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12591
12592         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12593
12594 2004-02-06  David Schleef  <ds@schleef.org>
12595
12596         * docs/random/ds/0.9-suggested-changes: Random ramblings
12597         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12598         to int before printing.
12599         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12600         * gst/parse/parse.l: same.  See bug #129600
12601
12602 2004-02-06  David Schleef  <ds@schleef.org>
12603
12604         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12605         (gst_index_add_entry), (gst_index_add_associationv),
12606         (gst_index_add_association): Add gst_index_add_associationv()
12607         and clean up gst_index_add_association(). #127133
12608
12609 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12610
12611         * autogen.sh: check out common with right tag if CVS/Tag exists
12612
12613 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12614
12615         * testsuite/ghostpads/ghostpads.c: (main):
12616           fix testsuite from segfaulting
12617
12618 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12619
12620         * Makefile.am: add release target
12621         * configure.ac: bump nano to 1
12622         * docs/random/release:
12623
12624 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12625
12626         * gst/gstcaps.h:
12627         * gst/gstelement.c: (gst_element_base_class_init),
12628         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12629         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12630         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12631         (gst_real_pad_dispose):
12632         * gst/gststructure.c: (gst_structure_free),
12633         (gst_structure_from_string):
12634           put reverted patch back in
12635         * gst/gstelement.c: (gst_element_remove_pad):
12636           free explicit caps if they're set
12637         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12638           copy the structure when fixating
12639
12640 2004-02-05  David Schleef  <ds@schleef.org>
12641
12642         * gst/gstmarshal.list:
12643         * gst/gstpad.c: (gst_real_pad_class_init),
12644         (_gst_real_pad_fixate_accumulator):
12645         Revert POINTER->BOXED change in signal marshaller.
12646
12647 === release 0.7.4 ===
12648                                                                                 
12649 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12650                                                                                 
12651         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12652         * configure.ac: changed for release
12653
12654 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12655
12656         * gstreamer.spec.in:
12657           bump required version of gtk-doc
12658
12659 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12660
12661         * gst/gstcaps.h:
12662         * gst/gstelement.c: (gst_element_base_class_init),
12663         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12664         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12665         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12666         (gst_real_pad_dispose):
12667         * gst/gststructure.c: (gst_structure_free),
12668         (gst_structure_from_string):
12669           revert patch that breaks applications, reapply after release
12670           to get this fixed properly
12671
12672 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12673
12674         * gst/gsttag.c: (_gst_tag_initialize):
12675         * gst/gsttag.h:
12676           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12677
12678 2004-02-04  David Schleef  <ds@schleef.org>
12679
12680         Fix some memleaks:
12681         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12682         (gst_spider_plug_from_srcpad):
12683         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12684
12685 2004-02-04  David Schleef  <ds@schleef.org>
12686
12687         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12688         a GstRealPad before accessing its structure members.
12689
12690 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12691
12692         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12693         (gst_clock_get_speed):
12694         * gst/gstclock.h:
12695           reset padding, remove unused fields
12696
12697 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12698
12699         * gst/autoplug/gstspideridentity.c:
12700         (gst_spider_identity_sink_loop_type_finding):
12701           use get_allowed_caps, not get_caps (fixes #132519)
12702         * gst/elements/gsttypefind.c: (stop_typefinding):
12703           use correct order when sending buffers and seeking
12704
12705 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12706
12707         * configure.ac:
12708         * gst/gstelement.h:
12709         * gst/gstpad.h:
12710         * gst/gstqueue.h:
12711           upgrade libtool CURRENT, reset padding
12712
12713 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12714
12715         * configure.ac:
12716           bump to prerelease
12717           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12718
12719 2004-02-04  David Schleef  <ds@schleef.org>
12720
12721         * docs/random/ds/0.9-suggested-changes: random notes
12722         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12723         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12724         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12725         expansion.
12726         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12727         (gst_filesink_get_query_types): same
12728         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12729         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12730         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12731         to use new GST_PTR_FORMAT.
12732         * gst/gstelement.h: deprecate function factory macros
12733         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12734         These are our last variadic macros that can't be replaced with
12735         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12736         attempting to deprecate gst_element_clock_wait().
12737         * gst/gstevent.h: same
12738         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12739         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12740         * gst/gstpad.h: deprecate function factory macros similar to above.
12741
12742 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12743
12744         * configure.ac:
12745         * tools/Makefile.am:
12746         * tools/gst-run.c: (popt_callback), (hash_print_key),
12747         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12748         (get_candidates), (main):
12749           add new source file to generate non-versioned wrapper binaries
12750           for our tools.
12751
12752 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12753
12754         * gst/gstevent.c: (_gst_event_free):
12755           actually break; inside the switch statement
12756         * gst/parse/grammar.y:
12757           fix memleak where GValues weren't unset
12758
12759 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12760
12761         * gst/gststructure.c: (gst_structure_from_string):
12762           fix huge memleak
12763         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12764         (new_entry), (gst_type_find_element_chain):
12765         * gst/gstelement.c: (gst_element_base_class_init),
12766         (gst_element_class_set_details):
12767         * gst/gstpad.c: (gst_pad_can_link_filtered):
12768           fix smaller memleaks
12769         * gst/gstpad.c: (gst_real_pad_dispose):
12770           check that explicit caps are gone
12771         * gst/gststructure.c: (gst_structure_free):
12772           actually free the structure
12773         * gst/gstelement.c: (gst_element_clear_pad_caps):
12774           unset explicit caps
12775
12776 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12777
12778         * tools/Makefile.am:
12779           use AM_CFLAGS since all the CFLAGS are the same
12780           use AM_LDFAGS
12781
12782 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12783
12784         * docs/manual/gnome.xml:
12785           expand example a little
12786         * gst/gst.c: (gst_init_with_popt_table),
12787         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12788           make sure popt option displays are done with right textdomain
12789           use GstPoptOption type
12790         * gst/gst.h:
12791           create GstPoptOption type
12792
12793 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12794
12795         * gst/gsterror.c: (_gst_stream_errors_init):
12796         * gst/gsterror.h:
12797           adding error type for no codec
12798         * po/POTFILES.in:
12799           add gst-inspect
12800         * po/nl.po:
12801           update dutch translation
12802         * tools/gst-inspect.c: (print_element_list), (main):
12803           do proper internationalization
12804         * tools/gst-launch.c: (idle_func):
12805           remove commented out function call
12806
12807 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * docs/README:
12810           add some error fixing notes
12811         * docs/gst/gstreamer-sections.txt:
12812           remove double entries
12813         * docs/gst/tmpl/gstbin.sgml:
12814         * docs/gst/tmpl/gstclock.sgml:
12815           remove override
12816         * docs/gst/tmpl/gstelement.sgml:
12817         * docs/gst/tmpl/gstindex.sgml:
12818         * docs/gst/tmpl/gstobject.sgml:
12819         * docs/gst/tmpl/gstpadtemplate.sgml:
12820         * docs/gst/tmpl/gstreamer-unused.sgml:
12821         * docs/gst/tmpl/gsttag.sgml:
12822         * docs/gst/tmpl/gstthread.sgml:
12823         * docs/gst/tmpl/gstxml.sgml:
12824         * gst/gsttag.h:
12825           sync header prototypes with c decls
12826         * gst/gsttaginterface.c:
12827           fix doc headers
12828
12829 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12830
12831         * gst/parse/Makefile.am:
12832         * gst/gstobject.h:
12833           get rid of gstmarshal.h dependency. It's not needed.
12834         * gst/gst.h:
12835         * gst/elements/gstfakesink.c:
12836         * gst/elements/gstfakesrc.c:
12837         * gst/elements/gstidentity.c:
12838         * gst/gstbin.c:
12839         * gst/gstelement.c:
12840         * gst/gstindex.c:
12841         * gst/gstobject.c:
12842         * gst/gstpad.c:
12843         * gst/gstthread.c:
12844         * gst/gstxml.c:
12845         * libs/gst/control/dparam.c:
12846         * libs/gst/control/dparammanager.c:
12847           include gstmarshal.h.
12848         Fixes #132045
12849
12850 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12851
12852         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12853         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12854         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12855         * gst/elements/gstfilesrc.h:
12856           don't ref the filesrc when creating mmaped buffers. Don't keep a
12857           list of not-yet-destroyed buffers.
12858         * gst/gstbuffer.h:
12859           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12860
12861 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12862
12863         * gst/gst.c: (init_pre):
12864           remove textdomain
12865
12866 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12867
12868         * docs/pwg/advanced-events.xml:
12869         * docs/pwg/advanced-scheduling.xml:
12870         * docs/pwg/intro-basics.xml:
12871         * docs/pwg/other-manager.xml:
12872         * docs/pwg/other-nton.xml:
12873         * docs/pwg/other-ntoone.xml:
12874         * docs/pwg/other-oneton.xml:
12875         * docs/pwg/pwg.xml:
12876           All sort of documentation... Forgot what. Point is that I want this
12877           in before I leave. The 'other-*' will be the last section and will
12878           explain issues specific to these type of elements.
12879
12880 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12881
12882         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12883         (gst_filesrc_get_read):
12884           set all the values on buffers that we can
12885
12886 2004-02-02  David Schleef  <ds@schleef.org>
12887
12888         Change usage of isblah() to g_ascii_isblah() to be more locale
12889         independent.  (#133076)
12890         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12891         * gst/gstutils.c:
12892         * gst/parse/parse.l:
12893
12894 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12895
12896         reviewed by: David Schleef  <ds@schleef.org>
12897
12898         Fix memory leaks:
12899         * gst/gstcaps.c: (gst_caps_to_string):
12900         * gst/registries/gstxmlregistry.c:
12901         (gst_xml_registry_add_path_list_func),
12902         (gst_xml_registry_parse_padtemplate):
12903
12904 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12905
12906         * gst/gstelement.c: (gst_element_default_error):
12907           suffix error messages with period
12908
12909 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12910
12911         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12912         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12913         * gst/gsterror.c: (gst_error_get_message):
12914           Suffix with dots
12915         * po/fr.po:
12916         * po/nl.po:
12917           Update translation files
12918
12919 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * gst/autoplug/gstspideridentity.c:
12922         (gst_spider_identity_sink_loop_type_finding):
12923         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12924         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12925         (gst_filesink_close_file), (gst_filesink_handle_event),
12926         (gst_filesink_chain):
12927         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12928         (gst_filesrc_get_read), (gst_filesrc_open_file):
12929         * gst/elements/gstidentity.c: (gst_identity_chain):
12930         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12931         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12932         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12933         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12934         * gst/gsterror.c: (_gst_core_errors_init),
12935         (_gst_library_errors_init), (_gst_resource_errors_init),
12936         (_gst_stream_errors_init), (gst_error_get_message):
12937         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12938         (gst_pad_recover_caps_error), (gst_pad_pull):
12939         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12940         * gst/schedulers/gstbasicscheduler.c:
12941         (gst_basic_scheduler_chainhandler_proxy),
12942         (gst_basic_scheduler_gethandler_proxy),
12943         (gst_basic_scheduler_cothreaded_chain):
12944           Suffix error messages with period.
12945           Use (NULL) instead of NULL
12946
12947 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * docs/gst/tmpl/gstelement.sgml:
12950         * docs/gst/tmpl/gstxml.sgml:
12951         * gst/gstelement.c: (gst_element_error_full):
12952           add element path to error
12953
12954 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12955
12956         * docs/random/mimetypes:
12957           update raw int/float info
12958         * gst/gsttag.c: (_gst_tag_initialize):
12959         * gst/gsttag.h:
12960           add GST_TAG_ENCODER
12961
12962 2004-01-30  David Schleef  <ds@schleef.org>
12963
12964         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12965           missing (#132991)
12966
12967 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12968
12969         reviewed by Benjamin Otte 
12970           parts of the patch submitted in bug #113913
12971
12972         * configure.ac:
12973           use AC_C_INLINE. Use = instead of == with test
12974         * examples/plugins/example.c:
12975         * gst/autoplug/gstspideridentity.c:
12976         * gst/elements/gstfdsrc.c:
12977         * gst/elements/gstfilesrc.c:
12978         * gst/elements/gstidentity.c:
12979         * gst/elements/gstmultidisksrc.c:
12980         * gst/elements/gststatistics.c:
12981         * gst/gstelement.c:
12982         * gst/gstobject.c:
12983         * gst/gstpad.c:
12984         * gst/gstpipeline.c:
12985         * gst/gstthread.c:
12986           don't end enums with a comma
12987         * gst/gstindex.c: (gst_index_compare_func):
12988           do explicit casting to gint
12989         * gst/gsttrace.c: (gst_trace_text_flush):
12990           #define strsize as a macro
12991
12992 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * docs/README:
12995         * docs/gst/gstreamer-docs.sgml:
12996         * docs/gst/gstreamer-sections.txt:
12997         * docs/gst/tmpl/gstelement.sgml:
12998         * docs/gst/tmpl/gsterror.sgml:
12999         * docs/gst/tmpl/gstinterface.sgml:
13000         * docs/gst/tmpl/gstreamer-unused.sgml:
13001         * docs/gst/tmpl/gststructure.sgml:
13002         * docs/gst/tmpl/gsttag.sgml:
13003         * docs/gst/tmpl/gsttaginterface.sgml:
13004         * docs/gst/tmpl/gstvalue.sgml:
13005         make sure all API ends up in the built docs
13006         * gst/gstinterface.c:
13007         * gst/gststructure.c: (gst_structure_id_set_value),
13008         (gst_structure_set_value), (gst_structure_id_get_value):
13009         * gst/gststructure.h:
13010         * gst/gstvalue.h:
13011         sync .h with .c declarations
13012
13013 2004-01-30  Julien Moutte  <julien@moutte.net>
13014
13015         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13016         Ronald will fix riffread.
13017
13018 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13019
13020         * docs/pwg/advanced-interfaces.xml:
13021           Added tuner interface docs.
13022
13023 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13024
13025         * docs/random/mimetypes:
13026           correct Theora information
13027         * gst/gstelement.h:
13028           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13029
13030 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13031
13032         * gst/gstelement.c: (gst_element_error_full):
13033         * gst/gstelement.h:
13034           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13035
13036 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13037
13038         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13039         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13040         again and even before DISCONT.
13041         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13042         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13043         bytestream so that it's not stopping to fill the bytestream if events
13044         different than EOS or DISCONT are received. Instead it process them so
13045         that they go downstream.
13046
13047 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13048
13049         * docs/gst/tmpl/gstelement.sgml:
13050         * docs/gst/tmpl/gstreamer-unused.sgml:
13051         * docs/gst/tmpl/gstxml.sgml:
13052         * gst/autoplug/gstspideridentity.c:
13053         (gst_spider_identity_sink_loop_type_finding):
13054         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13055         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13056         (gst_filesink_close_file), (gst_filesink_handle_event),
13057         (gst_filesink_chain):
13058         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13059         (gst_filesrc_get_read), (gst_filesrc_open_file):
13060         * gst/elements/gstidentity.c: (gst_identity_chain):
13061         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13062         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13063         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13064         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13065         * gst/gstelement.h:
13066         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13067         (gst_pad_recover_caps_error), (gst_pad_pull):
13068         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13069         * gst/schedulers/gstbasicscheduler.c:
13070         (gst_basic_scheduler_chainhandler_proxy),
13071         (gst_basic_scheduler_gethandler_proxy),
13072         (gst_basic_scheduler_cothreaded_chain):
13073           gst_element_error -> GST_ELEMENT_ERROR
13074
13075 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13076
13077         * docs/Makefile.am:
13078         * docs/gst/tmpl/gstelement.sgml:
13079         * docs/gst/tmpl/gstxml.sgml:
13080         * docs/manuals.mak:
13081         * docs/pwg/advanced-request.xml:
13082         * docs/pwg/advanced-scheduling.xml:
13083         * docs/pwg/advanced-tagging.xml:
13084           fix non-validating docbook using CDATA
13085           make sure make check-local gets run first to check if it validates
13086
13087 2004-01-29  Julien MOUTTE <julien@moutte.net>
13088
13089         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13090         handling (up and downstream).
13091         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13092         my_filter thing.
13093
13094 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13095
13096         * docs/pwg/advanced-tagging.xml:
13097           Add docs about tag writing.
13098
13099 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13100
13101         * docs/pwg/advanced-tagging.xml:
13102           Add a part about tag reading and application signalling... Tag
13103           writing still needs to be documented.
13104         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13105           We can set file locations in READY, too.
13106
13107 2004-01-29  Julien MOUTTE <julien@moutte.net>
13108
13109         * docs/random/ds/element-checklist: Adding some notes about src
13110         events.
13111
13112 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13113
13114         * docs/random/mimetypes:
13115           Update docs to point to correct elements for various mimetypes, and
13116           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13117           <stephane.loeuillet@tiscali.fr>.
13118
13119 2004-01-28  David Schleef  <ds@schleef.org>
13120
13121         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13122
13123 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13124
13125         * docs/random/mimetypes:
13126           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13127           undefined"
13128         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13129           make it only work in NULL.
13130         * gst/gstcaps.c:
13131           don't posion NULL caps
13132         * gst/gstelement.c: (gst_element_set_time):
13133           add debugging statement
13134         * gst/gstelement.c: (gst_element_emit_found_tag),
13135         (gst_element_found_tag_func), (gst_element_found_tags):
13136         * gst/gstelement.h:
13137           These functions take const taglists
13138         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13139           fix memleak
13140         * gst/gstpad.c: (gst_pad_event_default):
13141           make more effort on handling discont and clocks, g_warn if everything
13142           fails
13143         * gst/gststructure.c: (gst_structure_remove_fields),
13144         (gst_structure_remove_fields_valist):
13145         * gst/gststructure.h:
13146           add gst_structure_remove_fields(_valist)
13147         * gst/gsttag.c:
13148           fix doc glitch
13149
13150 2004-01-28  David Schleef  <ds@schleef.org>
13151
13152         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13153         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13154         Fix memory leakage of gst_caps_to_string().
13155
13156         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13157         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13158         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13159         (gst_spider_identity_sink_loop_type_finding):
13160         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13161         (find_suggest):
13162         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13163         (gst_pad_set_explicit_caps):
13164         * gst/parse/grammar.y:
13165
13166 2004-01-28  David Schleef  <ds@schleef.org>
13167
13168         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13169         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13170         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13171         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13172         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13173         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13174         (gst_debug_log_default), (_gst_info_printf_extension),
13175         (_gst_info_printf_extension_arginfo):  Add printf extension.
13176         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13177         * gst/gststructure.c: (gst_structure_to_string),
13178         (_gst_structure_parse_value): Use gst_value_deserialize() and
13179         remove old code.
13180         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13181         (gst_value_deserialize_boolean), (gst_strtoi),
13182         (gst_value_deserialize_int), (gst_value_deserialize_double),
13183         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13184         a bunch of deserialize functions and gst_value_deserialize.
13185         * gst/gstvalue.h: er, _de_serialize, not unserialize
13186         * testsuite/caps/string-conversions.c: (main): We don't currently
13187         handle (float) in caps, so convert these to (double).
13188         * testsuite/debug/Makefile.am: Add new test for the printf extension
13189         * testsuite/debug/printf_extension.c: (main): same
13190
13191 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13192
13193         * docs/random/company/time:
13194           Add some docs about clocking and time
13195
13196 2004-01-28  Julien MOUTTE <julien@moutte.net>
13197
13198         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13199
13200 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13201
13202         * docs/pwg/advanced-clock.xml:
13203         * docs/pwg/advanced-dparams.xml:
13204         * docs/pwg/advanced-events.xml:
13205         * docs/pwg/advanced-interfaces.xml:
13206         * docs/pwg/advanced-midi.xml:
13207         * docs/pwg/advanced-request.xml:
13208         * docs/pwg/advanced-scheduling.xml:
13209         * docs/pwg/advanced-tagging.xml:
13210         * docs/pwg/advanced-types.xml:
13211         * docs/pwg/appendix-checklist.xml:
13212         * docs/pwg/building-boiler.xml:
13213         * docs/pwg/building-chainfn.xml:
13214         * docs/pwg/building-filterfactory.xml:
13215         * docs/pwg/building-pads.xml:
13216         * docs/pwg/building-props.xml:
13217         * docs/pwg/building-signals.xml:
13218         * docs/pwg/building-state.xml:
13219         * docs/pwg/building-testapp.xml:
13220         * docs/pwg/intro-basics.xml:
13221         * docs/pwg/intro-preface.xml:
13222         * docs/pwg/other-autoplugger.xml:
13223         * docs/pwg/other-sink.xml:
13224         * docs/pwg/other-source.xml:
13225         * docs/pwg/titlepage.xml:
13226           fix up id's
13227
13228 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13229
13230         * docs/95NonPath:
13231         * docs/HACKING:
13232         * docs/README:
13233         * docs/building-the-docs-on-debian:
13234           collect relevant bits of doc info
13235
13236 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13237
13238         * docs/pwg/advanced_tagging.xml:
13239           Half-assed commit so Thomas can re-arrange document IDs here to be
13240           consistent, too.
13241
13242 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13243
13244         * docs/manual/autoplugging.xml:
13245         * docs/manual/bins-api.xml:
13246         * docs/manual/bins.xml:
13247         * docs/manual/buffers-api.xml:
13248         * docs/manual/buffers.xml:
13249         * docs/manual/clocks.xml:
13250         * docs/manual/components.xml:
13251         * docs/manual/cothreads.xml:
13252         * docs/manual/debugging.xml:
13253         * docs/manual/dparams-app.xml:
13254         * docs/manual/dynamic.xml:
13255         * docs/manual/elements-api.xml:
13256         * docs/manual/elements.xml:
13257         * docs/manual/factories.xml:
13258         * docs/manual/gnome.xml:
13259         * docs/manual/goals.xml:
13260         * docs/manual/helloworld.xml:
13261         * docs/manual/helloworld2.xml:
13262         * docs/manual/init-api.xml:
13263         * docs/manual/intro.xml:
13264         * docs/manual/links-api.xml:
13265         * docs/manual/links.xml:
13266         * docs/manual/manual.xml:
13267         * docs/manual/motivation.xml:
13268         * docs/manual/pads-api.xml:
13269         * docs/manual/pads.xml:
13270         * docs/manual/plugins-api.xml:
13271         * docs/manual/plugins.xml:
13272         * docs/manual/programs.xml:
13273         * docs/manual/queues.xml:
13274         * docs/manual/quotes.xml:
13275         * docs/manual/schedulers.xml:
13276         * docs/manual/states-api.xml:
13277         * docs/manual/states.xml:
13278         * docs/manual/threads.xml:
13279         * docs/manual/typedetection.xml:
13280         * docs/manual/xml.xml:
13281           use chapter, part, section or misc as id starts for all bits
13282
13283 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13284
13285         * docs/gst/gstreamer-sections.txt:
13286           Fix up TITLE of the sections
13287
13288 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13289
13290         * docs/pwg/advanced_interfaces.xml:
13291           Add documentation on propertyprobing.
13292         * docs/pwg/advanced_events.xml:
13293         * docs/pwg/advanced_tagging.xml:
13294         * docs/pwg/building_boiler.xml:
13295         * docs/pwg/building_filterfactory.xml:
13296         * docs/pwg/pwg.xml:
13297           Move filterfactory and tagging into their own chapter, add a chapter
13298           on events. all these are empty placeholders that will be filled in
13299           some day.
13300
13301 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13302
13303         * docs/pwg/advanced_interfaces.xml:
13304           Docs for mixer interface. Also a check for website uploading.
13305
13306 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13307
13308         * docs/HACKING:
13309         * docs/Makefile.am:
13310         * docs/faq/Makefile.am:
13311         * docs/gst/Makefile.am:
13312         * docs/gst/tmpl/gstelement.sgml:
13313         * docs/gst/tmpl/gstplugin.sgml:
13314         * docs/gst/tmpl/gstreamer-unused.sgml:
13315         * docs/libs/Makefile.am:
13316         * docs/manual/Makefile.am:
13317         * docs/manuals.mak:
13318         * docs/pwg/Makefile.am:
13319         * docs/upload.mak:
13320           Separate out upload target and make it similar for
13321           both docbook and gtk-doc docs
13322
13323 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13324
13325         * docs/manuals.mak:
13326           Fix upload target to work with freedesktop
13327
13328 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13329
13330         * docs/pwg/advanced_types.xml:
13331           Add notes on creating your own types.
13332         * docs/pwg/building_boiler.xml:
13333         * docs/pwg/building_pads.xml:
13334         * docs/pwg/building_state.xml:
13335           Add some stuff about how to retrieve values from structures, how
13336           that relates to types and change layout slightly again to be almost
13337           perfect.
13338
13339 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13340
13341         * docs/pwg/advanced_dparams.xml:
13342         * docs/pwg/advanced_scheduling.xml:
13343           Change index layout slightly.
13344
13345 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13346
13347         * docs/pwg/advanced_clock.xml:
13348         * docs/pwg/advanced_interfaces.xml:
13349         * docs/pwg/advanced_midi.xml:
13350           General placeholders for now.
13351         * docs/pwg/advanced_request.xml:
13352           Explanation about sometimes and request pads.
13353         * docs/pwg/advanced_scheduling.xml:
13354           Concept of bytestream, loopfunctions and schedulers.
13355         * docs/pwg/building_boiler.xml:
13356           Add something about plugin-init.
13357
13358 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13359
13360         * docs/pwg/building_pads.xml:
13361           Fix broken docbook
13362
13363 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13364
13365         * docs/pwg/advanced_interfaces.xml:
13366         * docs/pwg/pwg.xml:
13367           Add as a placeholder for future filling-in.
13368         * docs/pwg/basics_autoplugging.xml:
13369         * docs/pwg/basics_buffers.xml:
13370         * docs/pwg/basics_elements.xml:
13371         * docs/pwg/basics_events.xml:
13372         * docs/pwg/basics_plugins.xml:
13373         * docs/pwg/basics_types.xml:
13374           Remove, because unused (this is all in intro_basics.xml).
13375         * docs/pwg/building_signals.xml:
13376           Short intro to signals + reference to GObject docs - we really
13377           shouldn't go into these sort of things to deply because we don't
13378           use them that extensively anyway.
13379         * docs/pwg/building_state.xml:
13380           Explanation of states. Benjamin, please check.
13381         * docs/pwg/building_testapp.xml:
13382           Put everything in one page - putting only a few lines of content
13383           per page doesn't really make sense.
13384
13385           Time to get into the advanced topics. ;).
13386
13387 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13388
13389         * docs/pwg/advanced_types.xml:
13390           Finish documenting the current state of mimetypes.
13391         * docs/pwg/building_boiler.xml:
13392         * docs/pwg/building_chainfn.xml:
13393         * docs/pwg/building_pads.xml:
13394         * docs/pwg/building_props.xml:
13395         * docs/pwg/building_testapp.xml:
13396           Start documenting the "how to build a simple audio filter" part
13397           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13398           states and (maybe?) a short introduction to capsnego in the chapter
13399           on pads (building_pads.xml). Capsnego should probably be explained
13400           fully in advanced_capsnego.xml or so.
13401
13402 2004-01-26  David Schleef  <ds@schleef.org>
13403
13404         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13405         * gst/gstpad.h: Add new function to allow element to (somewhat)
13406         specify non-fixed caps on a pad.
13407         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13408         that I added a few weeks ago.
13409
13410 2004-01-26  David Schleef  <ds@schleef.org>
13411
13412         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13413           making try_set_caps() work with non-fixed caps.
13414
13415 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13416
13417         * docs/pwg/advanced_types.xml:
13418         * docs/pwg/intro_basics.xml:
13419         * docs/pwg/intro_preface.xml:
13420         * docs/pwg/pwg.xml:
13421         * docs/pwg/titlepage.xml:
13422           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13423           in here (docs/random/mimetypes), and will from there on work on both
13424           updating outdated parts and adding missing parts.
13425           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13426
13427 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13428
13429         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13430           policy is set
13431
13432 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13433
13434         * gst/gstelement.h:
13435           remove gst_element_factory_get_version. It doesn't exist anymore.
13436         * gst/gstplugin.c:
13437         * gst/gstplugin.h:
13438           remove gst_plugin_set_name and change gst_plugin_get_longname to
13439           gst_plugin_get_description to match code.
13440         * gst/gsterror.h:
13441           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13442         * gst/gstpad.c: (gst_pad_try_set_caps):
13443           make it work with nonfixed caps.
13444           Note that even in the nonfixed case the link function of the pad
13445           that tries to set caps isn't called.
13446
13447 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13448
13449         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13450           fix bug where buffer was not assembled correctly
13451         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13452           silence by default
13453         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13454           only seek if there's no more buffers that could work without seeking
13455
13456 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13457
13458         * gst/gsttag.c: (_gst_tag_initialize):
13459         * gst/gsttag.h:
13460           Add application tag (for encoding/muxing app).
13461
13462 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13463
13464         * autogen.sh:
13465           make autopoint force, and libtoolize not copy
13466         * common/m4/as-docbook.m4:
13467           added docbook xml catalog setup check
13468         * common/m4/gst-doc.m4:
13469           use docbook check
13470
13471 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13472
13473         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13474         * gst/gsttag.h:
13475           add GstTagFlag
13476
13477 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13478
13479         * docs/gst/gstreamer-sections.txt:
13480         * docs/gst/tmpl/gst.sgml:
13481         * docs/gst/tmpl/gstbuffer.sgml:
13482         * docs/gst/tmpl/gstclock.sgml:
13483         * docs/gst/tmpl/gstelement.sgml:
13484         * docs/gst/tmpl/gstreamer-unused.sgml:
13485         * docs/gst/tmpl/gstxml.sgml:
13486           sync latest API changes to docs
13487
13488 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13489
13490         * gst/gstpluginfeature.c:
13491           fix doc snippet
13492         * tools/gst-inspect.c: (print_element_list):
13493           fix output of typefind
13494           add GPL header
13495         * tools/gst-launch.c:
13496           add GPL header
13497
13498 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13499
13500         * gst/elements/Makefile.am:
13501         * gst/elements/gstelements.c:
13502         * gst/elements/gsttypefindelement.c:
13503         * gst/elements/gsttypefindelement.h:
13504         * po/POTFILES.in:
13505         * po/fr.po:
13506         * po/nl.po:
13507           renamed gsttypefindelement to gsttypefind, conserving CVS history
13508
13509 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13510
13511         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13512         * gst/gsttag.h:
13513           add some tags used in ogg as well
13514           fix _ in replaygain tags
13515
13516 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13517
13518         * gst/gsterror.h:
13519           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13520
13521 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13522
13523         * gst/gstelement.c: (gst_element_error_full):
13524         * gst/gstelement.h:
13525           change _extended to _full
13526
13527 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13528
13529         reviewed by: <delete if not using a buddy>
13530
13531         * docs/gst/tmpl/gst.sgml:
13532         * docs/gst/tmpl/gstbuffer.sgml:
13533         * docs/gst/tmpl/gstclock.sgml:
13534         * docs/gst/tmpl/gstelement.sgml:
13535         * docs/gst/tmpl/gstreamer-unused.sgml:
13536         * docs/gst/tmpl/gstxml.sgml:
13537         * gst/gstelement.c: (gst_element_error_full):
13538         * gst/gstelement.h:
13539
13540 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13541
13542         * gst/gstelement.h: fix _gst_element_error_printf prototype
13543
13544 2004-01-20  David Schleef  <ds@schleef.org>
13545
13546         * gst/gststructure.c: (gst_structure_to_string):
13547         Convert function to use gst_value_serialize().
13548         * gst/gstvalue.c: (gst_value_serialize_list),
13549         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13550         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13551         (gst_value_serialize_int), (gst_value_serialize_double),
13552         (gst_string_wrap), (gst_value_serialize_string),
13553         (gst_value_serialize), (gst_value_deserialize):
13554         * gst/gstvalue.h:
13555         Add implementations for serialize.
13556
13557 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13558
13559         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13560         we want to keep that one in the future or change xvidenc.c to use 
13561         another error.
13562
13563 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13564
13565         * gst/gstelement.c: (_gst_element_error_printf):
13566         * gst/gstelement.h:
13567           privatise function
13568
13569 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13570
13571         * docs/random/error:
13572           doc explaining error system
13573         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13574           cleanup
13575
13576 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13577
13578         * gst/gst-i18n-app.h:
13579         * gst/gst-i18n-lib.h:
13580           remove inclusion of config.h
13581         * po/POTFILES.in:
13582         * po/nl.po:
13583           add gst/gstelement.c
13584
13585 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13586
13587         * po/nl.po: updated Dutch translation
13588
13589 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13590
13591         * gst/gsterror.c: (_gst_core_errors_init),
13592         (_gst_library_errors_init), (_gst_resource_errors_init),
13593         (_gst_stream_errors_init):
13594         remove ending punctuation dots
13595
13596 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13597
13598         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13599         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13600         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13601         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13602         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13603         use GST_ERROR_SYSTEM
13604
13605 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13606
13607         * gst/gstelement.c: (gst_element_error_printf),
13608         (gst_element_error_extended):
13609         * gst/gstelement.h:
13610           add a helper printf function so we can have NULL values passed.
13611
13612 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13613
13614         * gst/gstelement.h:
13615           add G_STMT macros to gst_element_error, which isn't strictly
13616           necessary but people tell me to anyway.
13617
13618 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13619
13620         * gst/Makefile.am:
13621         * gst/autoplug/gstspideridentity.c:
13622         (gst_spider_identity_sink_loop_type_finding):
13623         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13624         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13625         (gst_filesink_close_file), (gst_filesink_handle_event),
13626         (gst_filesink_chain):
13627         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13628         (gst_filesrc_map_region), (gst_filesrc_get_read),
13629         (gst_filesrc_open_file):
13630         * gst/elements/gstidentity.c: (gst_identity_chain):
13631         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13632         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13633         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13634         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13635         * gst/gst.h:
13636         * gst/gst_private.h:
13637         * gst/gstelement.c: (gst_element_class_init),
13638         (gst_element_default_error), (gst_element_error_func),
13639         (gst_element_error_extended):
13640         * gst/gstelement.h:
13641         * gst/gsterror.c: (_gst_core_errors_init),
13642         (_gst_library_errors_init), (_gst_resource_errors_init),
13643         (_gst_stream_errors_init), (gst_error_get_message):
13644         * gst/gsterror.h:
13645         * gst/gstinfo.c: (_gst_debug_init):
13646         * gst/gstmarshal.list:
13647         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13648         (gst_pad_recover_caps_error), (gst_pad_pull):
13649         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13650         * gst/schedulers/gstbasicscheduler.c:
13651         (gst_basic_scheduler_chainhandler_proxy),
13652         (gst_basic_scheduler_gethandler_proxy),
13653         (gst_basic_scheduler_cothreaded_chain):
13654         * po/POTFILES.in:
13655         * po/fr.po:
13656         * po/nl.po:
13657           change error signal
13658           add error categories
13659
13660 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13661
13662         * gst/gsttag.c: (_gst_tag_initialize):
13663         * gst/gsttag.h:
13664         Add replaygain tag
13665
13666 2004-01-18  Colin Walters  <walters@verbum.org>
13667
13668         * examples/retag/retag.c: Call gst_init before processing
13669         program args.  Add g_assert to _link_many call.
13670
13671 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13672
13673         * gst/gstpad.c: (gst_pad_alloc_buffer):
13674           Return a newly allocated buffer when the pad has no peer.
13675
13676 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13677
13678         * gst/gstclock.c: (gst_clock_get_time):
13679           make it compile with gcc 2.95 again.
13680           Patch by Scott Wheeler
13681
13682 2004-01-15  David Schleef  <ds@schleef.org>
13683
13684         * gst/gstcaps.h:
13685         Added gst_caps_is_simple() macro.
13686         * testsuite/caps/caps.c: (test1):
13687         * testsuite/caps/intersect2.c: (main):
13688         * testsuite/caps/intersection.c: (main):
13689         Fixes to make 'make check' work again after removing
13690         gst_caps_is_chained().
13691
13692 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13693
13694         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13695         and additions to the MIDI document.
13696
13697 2004-01-15  David Schleef  <ds@schleef.org>
13698
13699         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13700         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13701         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13702
13703 2004-01-15  David Schleef  <ds@schleef.org>
13704
13705         * gst/gstqueue.c:
13706         * gst/gstqueue.h:
13707         Fix the spelling of "treshold" and make min_threshold actually
13708         affect the queue.
13709
13710 2004-01-15  David Schleef  <ds@schleef.org>
13711
13712         * gst/gstcaps.c:
13713         Add lots of documentation.
13714         * gst/gstcaps.h:
13715         Deprecate a few functions.
13716         * gst/gstpad.c:
13717         Removed use of deprecated functions.
13718
13719 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13720
13721         * gst/gstpad.c: (gst_pad_is_linked):
13722         * gst/gstpad.h:
13723           implement gst_pad_is_linked
13724         * gst/gstelement.h:
13725           reserve space for initiate_state_change
13726
13727 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13728
13729         * gst/autoplug/gstspideridentity.c:
13730         (gst_spider_identity_sink_loop_type_finding):
13731           break infinite loop by just returning instead of looping
13732         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13733           set event time difference correctly. Set it to 1 second instead
13734           of 100ms to be more tolerant
13735         * gst/gstelement.c: (gst_element_set_time):
13736           add debugging output
13737
13738 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13739
13740         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13741           query if buffers are inside the pool, ignore events
13742
13743 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13744
13745         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13746         (gst_clock_set_speed), (gst_clock_set_active),
13747         (gst_clock_is_active), (gst_clock_reset),
13748         (gst_clock_handle_discont):
13749         * gst/gstclock.h:
13750           deprecate old interface and disable functions that aren't in use
13751           anymore.
13752         * gst/gstelement.h:
13753         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13754         (gst_element_set_time), (gst_element_adjust_time):
13755           add concept of "element time" and functions to get/set this time.
13756         * gst/gstelement.c: (gst_element_change_state):
13757           update element time correctly.
13758         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13759           This is a debug message, not a g_critical.
13760         * gst/gstpad.c: (gst_pad_event_default):
13761           handle discontinuous events right with element time.
13762         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13763           update to clocking fixes.
13764           set clocks on elements in READY=>PAUSED. The old behaviour caused
13765           a wrong element time on the first element that started playing.
13766         * gst/schedulers/gstbasicscheduler.c:
13767         (gst_basic_scheduler_class_init):
13768         * gst/schedulers/gstoptimalscheduler.c:
13769         (gst_opt_scheduler_class_init):
13770           remove code that just implements the default behaviour.
13771         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13772           update to use new clocking functions
13773         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13774         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13775           update to test new element time.
13776         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13777           use _get_allowed_caps instead of _get_caps. This catches filtered
13778           caps correctly.
13779         * testsuite/debug/commandline.c:
13780           update for new GST_DEBUG syntax.
13781         * testsuite/threads/Makefile.am:
13782           disable a test that only works sometimes.
13783
13784 2004-01-13  Julien MOUTTE <julien@moutte.net>
13785
13786         * po/LINGUAS: Adding fr.
13787         * po/fr.po: Adding french translation.
13788
13789 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13790
13791         * gst/parse/grammar.y:
13792         * po/POTFILES.in:
13793         * po/nl.po:
13794         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13795           translate parsing error messages
13796
13797 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * po/POTFILES.in: adding gst-launch
13800         * po/nl.po: updated translation, all 99 strings translated
13801         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13802         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13803           fix strings for translation
13804
13805 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13806
13807         * gst/gst.c:
13808           - capitalize beginnings of popt options
13809           - fix strings for translation
13810           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13811
13812 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13813
13814         * po/README: add some notes on how to update translations
13815
13816 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13817
13818         * ABOUT-NLS: removed, is autogenerated from autopoint
13819         * autogen.sh: add autopoint stuff
13820         * configure.ac: fix up gettext stuff
13821         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13822         * gst/elements/gsttypefindelement.c: add header include
13823         * gst/gettext.h: add header, copy from system-installed header
13824         * gst/gst-i18n-app.h: to be included by each app having translations
13825         * gst/gst-i18n-lib.h: to be included by each lib having translations
13826         * gst/gst.c: (init_pre): fix up gettext calls
13827         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13828         * po/LINGUAS: the new way to specify translations present
13829         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13830         * po/Makevars: the variables filled in for GStreamer
13831         * po/POTFILES.in: added new files with translations
13832         * po/de.po: has new strings
13833         * po/nl.po: readded, has new strings
13834
13835 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13836
13837         * gst/gsttag.c: fix some strings marked for translation
13838
13839 2004-01-13  Iain <iain@prettypeople.org>
13840
13841         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13842         group when we add an element to it, cos we unref it when we remove one
13843
13844 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13845
13846         * testsuite/debug/commandline.c: (debug_not_reached):
13847         * testsuite/debug/output.c: (check_message):
13848           fix testsuite
13849
13850 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13851
13852         * examples/cutter/.cvsignore:
13853         * examples/helloworld/.cvsignore:
13854         * examples/launch/.cvsignore:
13855         * examples/manual/.cvsignore:
13856         * examples/mixer/.cvsignore:
13857         * examples/pingpong/.cvsignore:
13858         * examples/plugins/.cvsignore:
13859         * examples/queue/.cvsignore:
13860         * examples/queue2/.cvsignore:
13861         * examples/queue3/.cvsignore:
13862         * examples/queue4/.cvsignore:
13863         * examples/retag/.cvsignore:
13864         * examples/thread/.cvsignore:
13865         * examples/typefind/.cvsignore:
13866         * examples/xml/.cvsignore:
13867         * gst/.cvsignore:
13868         * gst/autoplug/.cvsignore:
13869         * gst/elements/.cvsignore:
13870         * gst/indexers/.cvsignore:
13871         * gst/parse/.cvsignore:
13872         * gst/registries/.cvsignore:
13873         * gst/schedulers/.cvsignore:
13874         * libs/gst/bytestream/.cvsignore:
13875         * libs/gst/control/.cvsignore:
13876         * libs/gst/getbits/.cvsignore:
13877         * tests/.cvsignore:
13878         * tests/bufspeed/.cvsignore:
13879         * tests/instantiate/.cvsignore:
13880         * tests/memchunk/.cvsignore:
13881         * tests/muxing/.cvsignore:
13882         * tests/sched/.cvsignore:
13883         * tests/seeking/.cvsignore:
13884         * tests/threadstate/.cvsignore:
13885         * testsuite/.cvsignore:
13886         * testsuite/caps/.cvsignore:
13887         * testsuite/cleanup/.cvsignore:
13888         * testsuite/dynparams/.cvsignore:
13889         * testsuite/plugin/.cvsignore:
13890         * tools/.cvsignore:
13891           update - this is huge, because it includes *.bb, *.bbg and *.da files
13892           which are generated for gcov.
13893
13894 2004-01-11  David Schleef  <ds@schleef.org>
13895
13896         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13897         a function to parse integers in ways that strto[u]l() does not.
13898
13899 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13900
13901         * tools/gst-inspect.c: (print_caps):
13902           improve output of caps a bit
13903
13904 2004-01-11  David Schleef  <ds@schleef.org>
13905
13906         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13907         inherit correct flags (READONLY and DONTKEEP).
13908
13909 2004-01-11  David Schleef  <ds@schleef.org>
13910
13911         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13912         (gst_filesrc_map_region):
13913         * gst/gstbuffer.c: (_gst_buffer_initialize),
13914         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13915         (gst_buffer_new), (gst_buffer_create_sub),
13916         (gst_buffer_is_span_fast), (gst_buffer_span):
13917         * gst/gstbuffer.h:
13918         Change GstBuffer private structure element names. (all files)
13919         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13920         (gst_queue_link):
13921         * gst/gstqueue.h:
13922         Implement getcaps/pad_link functions that handle the case where
13923         there are data in the queue.
13924
13925 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13926
13927         * gst/elements/gstbufferstore.c:
13928           initialize debugging structure correctly
13929         * gst/elements/gsttee.c: (gst_tee_set_property):
13930           g_object_notify when property was changed
13931         * gst/elements/gsttypefindelement.c:
13932         (gst_type_find_element_change_state):
13933           clear caps correctly
13934
13935 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13936
13937         * gst/gstqueue.c: (gst_queue_init):
13938           Use better defaults for when a queue should block. This
13939           gets rid of jerky playback for quite a few files.
13940           It takes more memory.
13941
13942 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13943
13944         (gst_xml_registry_parse_padtemplate):
13945           make critical message slightly more useful
13946
13947 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13948
13949         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13950         (gst_debug_message_get), (gst_debug_log_default):
13951         * gst/gstinfo.h:
13952           Change gst_debug_log(_valist) to take a const format string.
13953           Change prototype of log function and functions using those to 
13954           take a GstDebugMessage instead of a string that requires using
13955           gst_debug_message_get.
13956
13957 2004-01-08  David Schleef  <ds@schleef.org>
13958
13959         * Makefile.am:
13960         * configure.ac:
13961         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13962         and -ftest-coverage, which allows gcov to show information about
13963         testsuite coverage.
13964
13965 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13966
13967         * gst/gstutils.h:
13968           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13969           GST_PARENT_CALL_WITH_DEFAULT
13970         * gst/elements/gstaggregator.c: 
13971         * gst/elements/gstbufferstore.c: 
13972         * gst/elements/gstfakesink.c: 
13973         * gst/elements/gstfakesrc.c: 
13974         * gst/elements/gstfdsink.c: 
13975         * gst/elements/gstfdsrc.c: 
13976         * gst/elements/gstfilesink.c: 
13977         * gst/elements/gstfilesrc.c: 
13978         * gst/elements/gstidentity.c: 
13979         * gst/elements/gstmd5sink.c: 
13980         * gst/elements/gstmultidisksrc.c:
13981         * gst/elements/gstpipefilter.c: 
13982         * gst/elements/gstshaper.c:
13983         * gst/elements/gststatistics.c:
13984         * gst/elements/gsttee.c:
13985         * gst/elements/gsttypefindelement.c:
13986           use them.
13987
13988 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * docs/gst/gstreamer-docs.sgml: remove props
13991         * docs/gst/gstreamer-sections.txt: remove props
13992         * docs/gst/tmpl/gst.sgml:
13993         * docs/gst/tmpl/gstbin.sgml:
13994         * docs/gst/tmpl/gstbuffer.sgml:
13995         * docs/gst/tmpl/gstcaps.sgml:
13996         * docs/gst/tmpl/gstclock.sgml:
13997         * docs/gst/tmpl/gstelement.sgml:
13998         * docs/gst/tmpl/gstindex.sgml:
13999         * docs/gst/tmpl/gstobject.sgml:
14000         * docs/gst/tmpl/gstpad.sgml:
14001         * docs/gst/tmpl/gstpadtemplate.sgml:
14002         * docs/gst/tmpl/gstreamer-unused.sgml:
14003         * docs/gst/tmpl/gstthread.sgml:
14004         * docs/gst/tmpl/gstxml.sgml:
14005           sync with code reorganization
14006
14007 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14008
14009         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14010         Make the 'Could not find compatible pad' message more informative.
14011
14012 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14013                                                                                 
14014         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14015           Fix for if we pass NULL as property to location.
14016         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14017         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14018           Fix for instantiate-test (see below).
14019         * gst/gststructure.c: (_gst_structure_parse_value):
14020           Fix compile error on gcc-2.96.
14021         * configure.ac:
14022         * tests/Makefile.am:
14023         * tests/instantiate/Makefile.am:
14024         * tests/instantiate/create.c: (create_all_elements), (main):
14025           Add a test that instantiates all elements. This makes it easy to
14026           track dead code for old API/design (like setting event functions
14027           on sink pads and so on).
14028
14029 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14030
14031         * gst/gstcaps.c: (gst_caps_append_structure):
14032           Move the poisoning to allow a NULL structure
14033         * gst/gstevent.c: (_gst_event_free):
14034           When freeing a navigation event, free the structure
14035           also
14036
14037 2004-01-04  David Schleef  <ds@schleef.org>
14038
14039         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14040         Remove usage of gst_pad_proxy_fixate.
14041         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14042         (gst_caps_split_one), (gst_caps_replace):
14043         Add poisoning code.
14044         * gst/gstmarshal.list:
14045         Add pointer__pointer for fixate signal
14046         * gst/gstpad.c: (gst_real_pad_class_init),
14047         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14048         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14049         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14050         Add poisoning code. Add fixate signal on RealPad. Change
14051         set_explicit_caps() to take const GstCaps, like try_set_caps().
14052         * gst/gstpad.h:
14053         * testsuite/caps/Makefile.am:
14054         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14055
14056 2004-01-03  David Schleef  <ds@schleef.org>
14057
14058         * gst/elements/gsttypefindelement.c:
14059         (gst_type_find_element_have_type), (gst_type_find_element_init):
14060         Use gst_pad_use_explicit_caps for src pad.
14061         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14062         before using it.
14063
14064 2004-01-03  David Schleef  <ds@schleef.org>
14065
14066         * gst/gstelement.c: (gst_element_link_pads_filtered),
14067         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14068         that linking was successful.
14069         * gst/gstpad.c: (gst_pad_link_free),
14070         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14071         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14072         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14073         GstPadLinkReturn correctly between functions, and don't fail
14074         when DELAYED is used (DELAYED is very important).  Better
14075         cleanup on unlinking and unnegotiation.  Should fix some spider
14076         bugs.
14077
14078 2004-01-02  David Schleef  <ds@schleef.org>
14079
14080         * gst/gstelement.c: (gst_element_class_init),
14081         (gst_element_base_class_init): ->padtemplates should be cleared
14082         in base_init, since we need to have a fresh list for every
14083         class.  (Alternately, we chould copy the list and share the
14084         actual pad templates (not the list), but that would require
14085         changing every plugin to move pad template registration from
14086         base_init to class_init.)
14087
14088 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14089
14090         * gst/gstelement.c: (gst_element_class_add_pad_template):
14091           Refuse registering a pad template if another pad template
14092           with the same name already exists (#114715).
14093
14094 2004-01-02  David Schleef  <ds@schleef.org>
14095
14096         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14097         (gst_caps_is_equal_fixed): Add new function.
14098         * gst/gstcaps.h: ditto.
14099         * gst/gstpad.c: (gst_real_pad_class_init),
14100         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14101         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14102         check new caps against existing caps -- if they're the same, return
14103         OK without renegotiating.  caps-nego-failed signal fixed so that
14104         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14105         to save an extra caps copy.  Don't complete negotiation if a pad
14106         link function returns DELAYED.
14107
14108 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14109
14110         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14111           Fix wrong g_return_if_fail
14112
14113 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14114
14115         * gst/gstbin.c: (gst_bin_class_init):
14116         Change the marshalling of element_added/element_removed
14117         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14118         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14119
14120 2004-01-01  David Schleef  <ds@schleef.org>
14121
14122         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14123         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14124         (gst_pad_use_explicit_caps):
14125         * gst/gstpad.h:
14126         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14127         to use an internal getcaps and link fuction so that negotiation
14128         always results in the explicitly set caps.
14129         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14130         are particularly useful for decoders.
14131
14132 2003-12-31  David Schleef  <ds@schleef.org>
14133
14134         * gst/elements/gstidentity.c: (gst_identity_class_init),
14135         (gst_identity_init), (gst_identity_chain),
14136         (gst_identity_set_property), (gst_identity_get_property):
14137         * gst/elements/gstidentity.h:
14138         * gst/gstqueue.c: (gst_queue_init):
14139           Negotiation fixes.
14140
14141 2003-12-31  David Schleef  <ds@schleef.org>
14142
14143         * gst/gstcaps.c: (gst_caps_intersect),
14144         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14145           Implement gst_caps_normalize().
14146         * testsuite/caps/normalisation.c: (main):
14147           Add an additional test
14148
14149 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14150
14151         * gst/gstqueue.c: (gst_queue_init):
14152           use gst_pad_proxy_getcaps()
14153
14154 2003-12-31  David Schleef  <ds@schleef.org>
14155
14156         * gst/elements/gstshaper.c: (gst_shaper_link):
14157         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14158         * gst/gstqueue.c: (gst_queue_link):
14159           Negotiation fixes.
14160
14161 2003-12-31  David Schleef  <ds@schleef.org>
14162
14163         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14164         * gst/gstpad.h: Add functions that are useful as default pad
14165         link and fixate functions for elements.
14166
14167 2003-12-30  David Schleef  <ds@schleef.org>
14168
14169         * gst/gstpad.c: (gst_pad_link_try):
14170           Fix segfault when attempting to return to old caps
14171
14172 2003-12-29  David Schleef  <ds@schleef.org>
14173
14174         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14175         (gst_caps_structure_simplify), (gst_caps_simplify):
14176         * gst/gstcaps.h:
14177           Add simplify function
14178         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14179         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14180         * gst/gstpad.h:
14181           Copy over srcnotify, sinknotify when calling old pad_link
14182           functions.  Add new is_negotiated() function.
14183         * gst/gststructure.c: (gst_structure_copy):
14184           Fix an incredibly stupid bug that should have been noticed
14185           weeks ago.  _copy() returned the argument, not the new copy.
14186
14187 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14188
14189         * gst/gstcaps.c: (gst_caps_append):
14190           add sanity checks
14191         * gst/gstcaps.h: (gst_caps_debug):
14192           remove, it doesn't exist anymore.
14193         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14194         (gst_element_threadsafe_properties_post_run):
14195           make debugging messages not clutter up THREAD debug category
14196         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14197         (gst_element_change_state):
14198           update to new caps API
14199         * gst/gstinterface.c: (gst_implements_interface_cast):
14200           don't put vital code in g_return_if_fail
14201         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14202         (gst_pad_link_filtered):
14203           add pst_pad_try_link and use it.
14204         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14205           implement correctly, deprecate first one.
14206         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14207           add and implement.
14208         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14209           implement.
14210         (gst_pad_get_negotiated_caps):
14211           add and implement. Make GST_PAD_CAPS call this function.
14212         (gst_pad_get_caps):
14213           remove unneeded check..
14214         (gst_pad_recover_caps_error):
14215           disable, always return FALSE.
14216         (gst_real_pad_dispose):
14217           don't free caps and appfilter anymore, they're unused.
14218         * gst/gstpad.h:
14219           Reflect changes mentioned above.
14220         * gst/gstsystemclock.c: (gst_system_clock_wait):
14221           Make 'clock is way behind' a debugging message.
14222         * gst/gstthread.c: (gst_thread_change_state):
14223           Fix debugging message
14224
14225 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14226
14227         * gst/gstinfo.h:
14228           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14229         * docs/gst/tmpl/gstreamer-unused.sgml:
14230           removed all traces of cvs conflicts
14231
14232 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14233
14234         * configure.ac:
14235         * gst/schedulers/cothreads_compat.h:
14236         * libs/Makefile.am:
14237           remove last instances of wingo cothread usage
14238
14239 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14240
14241         * gst/gstplugin.c:
14242         * gst/gstversion.h.in:
14243         * gst/parse/grammar.y:
14244           change comment block from /** to /* when not gtk-doc comments
14245
14246 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14247
14248         * gst/gst.c: whitespace and doc style fixes
14249
14250 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14251
14252         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14253
14254 2003-12-24  Colin Walters  <walters@verbum.org>
14255
14256         * gst/elements/gsttypefindelement.c:
14257           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14258           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14259           Don't double-free caps.
14260
14261 2003-12-23  David Schleef  <ds@schleef.org>
14262
14263         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14264           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14265           Many little fixes and additions of debug statements to
14266           get rhythmbox working.
14267
14268 2003-12-23  Colin Walters  <walters@verbum.org>
14269
14270         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14271         Use GST_PAD_LINK_SUCCESSFUL.
14272
14273 2003-12-23  David Schleef  <ds@schleef.org>
14274
14275         * gst/elements/gstaggregator.c:
14276         * gst/elements/gsttee.c:
14277           Use gst_pad_proxy_getcaps().
14278         * gst/gstpad.c:
14279         * gst/gstpad.h:
14280           Add gst_pad_proxy_getcaps(), which filter elements can use
14281           as a generic getcaps implementation.
14282           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14283           was advertised.
14284
14285 2003-12-23  David Schleef  <ds@schleef.org>
14286
14287         * gst/gstpad.c:
14288           Rearrange/rewrite much of the pad negotiation code, since it
14289           resembled pasta.  This actually changes the way some
14290           negotiation works, since the previous code was inconsistent
14291           depending on how it was invoked.  Add (internal) structure
14292           GstPadLink, which is used to hold some information (more in
14293           the future) about the link between two pads.  Fixes a number
14294           of bugs, including random lossage of filter caps when the
14295           initial negotiation is delayed.  A few functions are still
14296           unimplemented.
14297         * gst/gstpad.h:
14298           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14299           these when testing GstPadLinkReturn values instead of comparing
14300           directly.
14301
14302 2003-12-23  David Schleef  <ds@schleef.org>
14303
14304         * gst/gstvalue.c: 
14305         * gst/gstvalue.h:
14306           Rearrange lots of code.  Change registration of compare function
14307           into registration of compare/serialize/deserialize functions.
14308           Doesn't include implementation of gst_value_[de]serialize(),
14309           but that should be easy.
14310
14311 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14312
14313         * docs/gst/gstreamer-sections.txt:
14314         * docs/gst/tmpl/gstprops.sgml: removed
14315         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14316           David removed props and caps code, so let's remove their docs as well.
14317           Removed all no longer existing symbols from gstreamer-sections.txt
14318           
14319 2003-12-22  Colin Walters  <walters@verbum.org>
14320
14321         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14322           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14323           of tags directly.
14324
14325 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14326
14327         * gst/elements/gstelements.c:
14328           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14329         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14330           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14331           gst_caps (peer).
14332
14333 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14334
14335         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14336         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14337         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14338         (gst_spider_identity_sink_loop_type_finding):
14339         * gst/autoplug/gstspideridentity.h:
14340           Fix autoplugging in spider element, so it works with new caps.
14341           This was mainly caused by identifying empty caps incorrectly.
14342
14343 2003-12-22  David Schleef  <ds@schleef.org>
14344
14345         * gststructure.c, gstvalue.c, gstvalue.h: Add
14346           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14347           using g_value_copy()
14348
14349 2003-12-21  David Schleef  <ds@schleef.org>
14350
14351         * many, many files: Merge CAPS branch.  This includes:
14352           - implemention of GstValue and several GstValue types
14353           - implemention of GstStructure
14354           - entire rewrite of GstCaps
14355           - removal of GstProps
14356           - many changes to GstPad to compensate for new caps paradigm
14357           - removal of GstBufferpool
14358         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14359         gstvalue.h, gst/gstcaps[2]*.[ch]:
14360           - rename gstcaps2.[ch] to gstcaps.[ch]
14361
14362 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14363
14364         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14365         (gst_queue_chain), (gst_queue_handle_src_event):
14366           implement timeout for sending events. Workaround for if the
14367           pipeline on this queue is not passing any data.
14368
14369 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14370                                                                                 
14371         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14372         * moved CVS to freedesktop.org