gst/gstpad.h: Fix inline docs for GstPadLinkReturn.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstpad.h:
4           Fix inline docs for GstPadLinkReturn.
5           
6         * gst/gststructure.c: (gst_structure_has_name):
7         * gst/gststructure.h:
8         * docs/gst/gstreamer-sections.txt:
9           New API: gst_structure_has_name().
10
11 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12
13         * configure.ac:
14           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15           and _LARGEFILE_SOURCE in config.h as required. Do not 
16           export those flags in our .pc files any longer (#142209).
17
18           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
19
20         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21         (gst_file_sink_do_seek), (gst_file_sink_event),
22         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23           Redo seek/tell calls with large file support in mind; add some
24           debugging messages; add log message that tells us when large
25           file support is unavailable or not enabled for some reason.
26
27         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
28           Add log message that tells us when large file support 
29           is unavailable or not enabled for some reason.
30
31 2005-07-29  Wim Taymans  <wim@fluendo.com>
32
33         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
34         Added test for removing an element with ghostpad from a bin.
35         Fixed test as current implementation does the right thing.
36
37         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
38         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
39         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
40         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
41         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
42         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
43         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
44         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
45         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
46         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
47         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
48         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
49         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
50         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
51         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
52         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
53         * gst/gstghostpad.h:
54         Clean up ghostpads, remove properties for internal stuff.
55         Make threadsafe.
56         Fix refcounting.
57         Prepare for switching targets, not all use cases work yet.
58
59 2005-07-29  Wim Taymans  <wim@fluendo.com>
60
61         * docs/design/part-gstghostpad.txt:
62         Small update.
63
64         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
65         (gst_bin_remove_func):
66         Unlinking pads while holding the bin LOCK is not a good
67         idea.
68
69         * gst/gstpad.c: (gst_pad_class_init),
70         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
71         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
72         No prob setting template after creating the pad.
73
74 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
75
76         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
77         (gst_bus_peek), (gst_bus_source_dispatch),
78         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
79         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
80           gst_bus_poll may be called from other threads. Handle
81           this nicely by not making poll_data disappear off the
82           stack once gst_bus_poll returns.
83           gst_bus_peek now increments the refcount on the returned
84           message.
85
86 2005-07-29  Wim Taymans  <wim@fluendo.com>
87
88         * docs/design/part-gstghostpad.txt:
89         Overview of current GhostPad datastructures and use
90         cases for changing the target.
91
92 2005-07-28  Wim Taymans  <wim@fluendo.com>
93
94         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
95         Added checks for hierarchy consistency whan adding linked
96         elements to bins.
97
98         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
99         Added check to test element scheduling without bin/pipeline.
100
101         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
102         First add elements to bin, then link.
103         
104         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
105         (gst_bin_remove_func):
106         Unlink pads from elements added/removed from bin to maintain
107         hierarchy consistency.
108
109 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
110
111         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
112         (gst_base_transform_handle_buffer):
113         * gst/base/gstbasetransform.h:
114           Remove broken delay_configure (fixes renegotiation of software
115           scaling pipelines); remove some leftover printf()s.
116
117 2005-07-28  Wim Taymans  <wim@fluendo.com>
118
119         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
120         Added some more tests for wrong hierarchy
121
122         * docs/design/part-overview.txt:
123         Some updates.
124
125         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
126         Cleanups.
127
128         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
129         (gst_element_dispose):
130         Some more cleanups.
131
132         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
133         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
134         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
135         (gst_pad_set_caps), (gst_pad_send_event):
136         Check for correct hierarchy when linking pads. Moving to
137         strict requirement for ghostpads when linking elements in
138         different bins.
139
140         * gst/gstpad.h:
141         Clean ups. Added WRONG_HIERARCHY return value.
142
143 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
144
145         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
146           Better debug if no transform is possible.
147
148 2005-07-27  Wim Taymans  <wim@fluendo.com>
149
150         * docs/random/wtay/network-transp:
151         Some old doc I had.
152
153 2005-07-27  Wim Taymans  <wim@fluendo.com>
154
155         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
156         (gst_dp_event_from_packet):
157         Fix serialization of seek events.
158
159 2005-07-27  Wim Taymans  <wim@fluendo.com>
160
161         * check/gst-libs/gdp.c: (GST_START_TEST):
162         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
163         Fix compilation and fix event serialization.
164
165 2005-07-27  Wim Taymans  <wim@fluendo.com>
166
167         * CHANGES-0.9:
168         * docs/design/part-TODO.txt:
169         * docs/design/part-events.txt:
170         Some docs updates
171
172         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
173         (gst_base_sink_event), (gst_base_sink_do_sync),
174         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
175         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
176         (gst_base_src_do_seek), (gst_base_src_event_handler),
177         (gst_base_src_loop):
178         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
179         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
180         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
181         (gst_base_transform_event), (gst_base_transform_handle_buffer),
182         (gst_base_transform_set_passthrough),
183         (gst_base_transform_is_passthrough):
184         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
185         * gst/elements/gstfilesink.c: (gst_file_sink_event):
186         Event updates.
187
188         * gst/gstbuffer.h:
189         Use faster casts.
190
191         * gst/gstelement.c: (gst_element_seek):
192         * gst/gstelement.h:
193         Update gst_element_seek.
194
195         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
196         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
197         (gst_event_new_flush_start), (gst_event_new_flush_stop),
198         (gst_event_new_eos), (gst_event_new_newsegment),
199         (gst_event_parse_newsegment), (gst_event_new_tag),
200         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
201         (gst_event_parse_qos), (gst_event_new_seek),
202         (gst_event_parse_seek), (gst_event_new_navigation):
203         * gst/gstevent.h:
204         Make GstEvent use GstStructure. Add parsing code, make sure the
205         API is sufficiently generic.
206         Mark possible directions of events and serialization.
207
208         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
209         (_gst_message_copy), (gst_message_new_segment_start),
210         (gst_message_new_segment_done), (gst_message_new_custom),
211         (gst_message_parse_segment_start),
212         (gst_message_parse_segment_done):
213         Small cleanups.
214
215         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
216         (gst_pad_set_caps), (gst_pad_send_event):
217         Update for new events. 
218         Catch events sent in wrong directions.
219
220         * gst/gstqueue.c: (gst_queue_link_src),
221         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
222         (gst_queue_handle_src_query):
223         Event updates.
224
225         * gst/gsttag.c:
226         * gst/gsttag.h:
227         Remove event code from this file.
228
229         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
230         (gst_dp_event_from_packet):
231         Event updates.
232
233 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
234
235         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
236         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
237         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
238           Make debugging actually useful.
239
240 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
241
242         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
243         (gst_pad_fixate_caps):
244           Implement default fixation once again, so that gst_pad_fixate()
245           actually does anything at all. This probably needs to be some
246           sort of a last resort, and use profile-based fixation first, but
247           since that doesn't exist yet, this is the best we have. Fixes
248           visualization in Totem.
249
250 2005-07-22  Wim Taymans  <wim@fluendo.com>
251
252         * docs/design/part-events.txt:
253         Small update.
254
255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
256         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
257         (gst_base_sink_activate_pull):
258         Some more comments.
259
260         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
261         (gst_fake_src_create):
262         Fix handoff marshall.
263
264         * gst/elements/gstidentity.c: (gst_identity_class_init),
265         (gst_identity_transform_ip):
266         We're a real inplace element.
267
268         * gst/gstbus.c: (gst_bus_post):
269         Added some comments.
270
271         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
272         * tests/muxing/case1.c: (main):
273         * tests/sched/dynamic-pipeline.c: (main):
274         * tests/sched/interrupt1.c: (main):
275         * tests/sched/interrupt2.c: (main):
276         * tests/sched/interrupt3.c: (main):
277         * tests/sched/runxml.c: (main):
278         * tests/sched/sched-stress.c: (main):
279         * tests/seeking/seeking1.c: (event_received), (main):
280         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
281         (main):
282         * tests/threadstate/threadstate3.c: (main):
283         * tests/threadstate/threadstate4.c: (main):
284         * tests/threadstate/threadstate5.c: (main):
285         Fix the tests.
286
287 2005-07-21  Wim Taymans  <wim@fluendo.com>
288
289         * docs/design/part-seeking.txt:
290         Some small additions.
291
292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
293         (gst_base_sink_get_times), (gst_base_sink_do_sync),
294         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
295         * gst/base/gstbasesink.h:
296         discont values are gint64, handle the math correctly.
297
298         * gst/base/gstbasesrc.c: (gst_base_src_loop):
299         Make the basesrc report error if the source pad is not linked.
300
301         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
302         (gst_queue_loop), (gst_queue_handle_src_query),
303         (gst_queue_src_activate_push):
304         Make queue collect data even if the srcpad is not linked.
305         Start pushing out data as soon as it is linked.
306
307         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
308         * gst/gstutils.h:
309         Added gst_flow_get_name() to ease error reporting.
310
311 2005-07-20  Wim Taymans  <wim@fluendo.com>
312
313         * gst/gstmessage.c: (gst_message_new_segment_start),
314         (gst_message_new_segment_done), (gst_message_parse_segment_start),
315         (gst_message_parse_segment_done):
316         * gst/gstmessage.h:
317         Added a bunch of messages for advanced seeking.
318
319         * gst/parse/grammar.y:
320         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
321         (gst_dpman_state_changed):
322         Fix some new-pad -> pad-added signals
323
324 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
325
326         * docs/manual/appendix-porting.xml:
327         * docs/pwg/appendix-porting.xml:
328           Document new-pad/state-change signal renames and the FixedList
329           type rename.
330
331 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
332
333         * docs/manual/advanced-autoplugging.xml:
334         * docs/manual/basics-helloworld.xml:
335         * docs/manual/basics-pads.xml:
336         * docs/random/ds/0.9-suggested-changes:
337         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
338         * gst/gstelement.h:
339         * gst/gstevent.h:
340         * gst/gstformat.h:
341         * gst/gstquery.h:
342         * gst/gststructure.c: (gst_structure_value_get_generic_type),
343         (gst_structure_parse_array), (gst_structure_parse_value):
344         * gst/gstvalue.c: (gst_type_is_fixed),
345         (gst_value_list_prepend_value), (gst_value_list_append_value),
346         (gst_value_list_get_size), (gst_value_list_get_value),
347         (gst_value_transform_array_string), (gst_value_serialize_array),
348         (gst_value_deserialize_array), (gst_value_intersect_array),
349         (gst_value_is_fixed), (_gst_value_initialize):
350         * gst/gstvalue.h:
351           GstElement::new-pad -> pad-added, GstElement::state-change ->
352           state-changed, GstValueFixedList -> GstValueArray, add format and
353           flags as their own arguments in gst_element_seek() (should improve
354           "bindeability"), remove function generators since they don't work
355           under a whole bunch of compilers (they were deprecated already
356           anyway).
357
358 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
359
360         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
361         (_gst_debug_register_funcptr):
362         * gst/gstinfo.h:
363           Fix illegal cast on some platforms (#309253).
364
365 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
366
367         * gst/gstmessage.c: (gst_message_new_custom):
368         * gst/gstmessage.h:
369           Add _new_custom, make _new_application a macro to _new_custom.
370
371 2005-07-20  Wim Taymans  <wim@fluendo.com>
372
373         * gst/base/gstbasesrc.c: (gst_base_src_init),
374         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
375         * gst/base/gstbasesrc.h:
376         Add a gboolean to decide when to push out a discont.
377
378         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
379         (gst_queue_loop), (gst_queue_handle_src_query),
380         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
381         (gst_queue_set_property), (gst_queue_get_property):
382         Some cleanups.
383
384         * tests/threadstate/threadstate1.c: (main):
385         Make a thread test compile and run... very silly..
386
387
388 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
389
390         * docs/manual/appendix-porting.xml:
391           Mention removal of libgstgconf-0.9.la and existence of gconf
392           elements.
393
394 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
395
396         * docs/pwg/advanced-clock.xml:
397         * docs/pwg/appendix-porting.xml:
398         * docs/pwg/intro-preface.xml:
399         * docs/pwg/other-base.xml:
400         * docs/pwg/other-manager.xml:
401         * docs/pwg/other-nton.xml:
402         * docs/pwg/other-ntoone.xml:
403         * docs/pwg/other-oneton.xml:
404         * docs/pwg/pwg.xml:
405           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
406           demuxer), remove n-to-n (was never written), fix some code examples
407           and links and update the porting section to include all this.
408
409 2005-07-19  Wim Taymans  <wim@fluendo.com>
410
411         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
412         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
413         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
414         (gst_queue_src_activate_push), (gst_queue_change_state),
415         (gst_queue_get_property):
416         * gst/gstqueue.h:
417         Propagate GstFlowReturn more intelligently upstream and output
418         an ERROR/EOS when streaming stopped due to fatal error.
419
420 2005-07-19  Wim Taymans  <wim@fluendo.com>
421
422         * tools/gst-launch.c: (check_intr), (event_loop), (main):
423         Don't block forever for the state change to complete, the
424         pipeline already did with a sensible timeout.
425
426 2005-07-19  Wim Taymans  <wim@fluendo.com>
427
428         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
429         Make sure we never call the create function is we
430         got deactivated.
431
432 2005-07-19  Andy Wingo  <wingo@pobox.com>
433
434         * gst/parse/parse.l: Attempt to solve bug #172815.
435
436 2005-07-19  Wim Taymans  <wim@fluendo.com>
437
438         * docs/design/part-clocks.txt:
439         * docs/design/part-events.txt:
440         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
441         Small docs updates.
442         Only update the seeking values when we are not
443         busy streaming.
444
445 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
446
447         * gst/base/gstbasesrc.c: (gst_base_src_loop):
448           Oops, ignore the result of gst_pad_push_event here.
449
450 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
451
452         * gst/base/gstbasesrc.c: (gst_base_src_loop),
453         (gst_base_src_activate_push):
454           Send discont event from the loop function, as pads
455           aren't activated yet in the activate_push handler.
456
457         * gst/gstbin.c: (bin_bus_handler):
458           Don't leak element name.
459
460 2005-07-18  Andy Wingo  <wingo@pobox.com>
461
462         * configure.ac: Use AS_LIBTOOL_TAGS.
463
464 2005-07-18  Wim Taymans  <wim@fluendo.com>
465
466         * docs/gst/gstreamer.types:
467         Remove deleted types.
468
469 2005-07-18  Wim Taymans  <wim@fluendo.com>
470
471         * check/elements/gstfakesrc.c: (GST_START_TEST):
472         * configure.ac:
473         * gst/Makefile.am:
474         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
475         (init_popt_callback):
476         * gst/gst.h:
477         * gst/gst_private.h:
478         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
479         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
480         * gst/gstbin.h:
481         * gst/gstbus.h:
482         * gst/gstconfig.h.in:
483         * gst/gstelement.c: (gst_element_class_init),
484         (gst_element_set_base_time), (gst_element_get_base_time),
485         (iterator_fold_with_resync), (gst_element_change_state),
486         (gst_element_dispose), (gst_element_get_bus):
487         * gst/gstelement.h:
488         * gst/gstelementfactory.h:
489         * gst/gsterror.c: (_gst_core_errors_init):
490         * gst/gsterror.h:
491         * gst/gstevent.h:
492         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
493         * gst/gstindex.c:
494         * gst/gstinfo.c: (_gst_debug_init):
495         * gst/gstmessage.c: (_gst_message_copy):
496         * gst/gstmessage.h:
497         * gst/gstminiobject.h:
498         * gst/gstobject.c:
499         * gst/gstobject.h:
500         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
501         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
502         * gst/gstpad.h:
503         * gst/gstparse.h:
504         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
505         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
506         (gst_pipeline_get_last_stream_time):
507         * gst/gstpipeline.h:
508         * gst/gstpluginfeature.h:
509         * gst/gstquery.h:
510         * gst/gstscheduler.c:
511         * gst/gstscheduler.h:
512         * gst/gststructure.h:
513         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
514         (gst_task_finalize), (gst_task_func), (gst_task_create),
515         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
516         (gst_task_stop), (gst_task_pause):
517         * gst/gsttask.h:
518         * gst/gsttypefind.h:
519         * gst/gsttypes.h:
520         * gst/registries/gstlibxmlregistry.c: (load_feature),
521         (gst_xml_registry_load), (gst_xml_registry_save_feature):
522         * gst/registries/gstxmlregistry.c:
523         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
524         * gst/schedulers/threadscheduler.c:
525         * libs/gst/control/dparammanager.h:
526         * tools/gst-inspect.c: (print_element_list),
527         (print_plugin_features), (print_element_features):
528         * tools/gst-xmlinspect.c: (print_element_list),
529         (print_plugin_info), (main):
530         Removed plugable schedulers.
531         Removed Scheduler/Manager from elements.
532         Removed gsttypes.h, rearranged includes.
533         Removed dependency pad<->element, element<>pipeline, and
534         various others,  fix includes.
535         implement gst_pad_get_parent() with gst_object_get_parent()
536         Make GstTask sefcontained.
537         Fix _get_state() on GstBin, it did not return ASYNC with a 0
538         timeout.
539         Fix endless loop in iterator_fold_with_resync.
540
541
542 2005-07-18  Wim Taymans  <wim@fluendo.com>
543
544         * gst/Makefile.am:
545         * gst/gstarch.h:
546         Remove old file.
547
548 2005-07-18  Wim Taymans  <wim@fluendo.com>
549
550         * gst/Makefile.am:
551         No more cothreads.h
552
553 2005-07-18  Wim Taymans  <wim@fluendo.com>
554
555         * gst/cothreads.c:
556         * gst/cothreads.h:
557         Let's remove these.
558
559 2005-07-18  Wim Taymans  <wim@fluendo.com>
560
561         * docs/design/part-dynamic.txt:
562         * docs/design/part-events.txt:
563         * docs/design/part-seeking.txt:
564         Some more docs in the works.
565
566         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
567         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
568         (gst_base_transform_setcaps), (gst_base_transform_get_size),
569         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
570         (gst_base_transform_handle_buffer),
571         (gst_base_transform_sink_activate_push),
572         (gst_base_transform_src_activate_pull),
573         (gst_base_transform_set_passthrough),
574         (gst_base_transform_is_passthrough):
575         Refcounting fixes.
576
577         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
578         Cleanups.
579
580         * gst/gstevent.c: (gst_event_finalize):
581         Set SRC to NULL.
582
583         * gst/gstutils.c: (gst_element_unlink),
584         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
585         (gst_pad_proxy_setcaps):
586         * gst/gstutils.h:
587         Add _get_parent_element() to get a pads parent as an element.
588
589 2005-07-18  Wim Taymans  <wim@fluendo.com>
590
591         * check/gst/gstbin.c: (GST_START_TEST):
592         Remove bogus test.
593
594 2005-07-18  Wim Taymans  <wim@fluendo.com>
595
596         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
597         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
598         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
599         (gst_base_sink_event), (gst_base_sink_do_sync),
600         (gst_base_sink_chain), (gst_base_sink_loop),
601         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
602         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
603         Refcounting fixes.
604         Fix logic for returning ASYNC when not prerolled.
605
606 2005-07-18  Wim Taymans  <wim@fluendo.com>
607
608         * gst/gstqueue.c: (gst_queue_handle_sink_event):
609         Fix nasty refcount bug.
610
611 2005-07-16 Philippe Khalaf <burger@speedy.org>
612         * gst/elements/gstfdsrc.c:
613         * gst/elements/gstfdsrc.h:
614         * gst/elements/gstelements.c:
615         * gst/elements/Makefile.am:
616         Ported fdsrc to 0.9.
617
618 2005-07-16  Wim Taymans  <wim@fluendo.com>
619
620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
621         (gst_base_sink_do_sync):
622         Fix compile error.
623
624 2005-07-16  Wim Taymans  <wim@fluendo.com>
625
626         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
627         (gst_base_sink_event), (gst_base_sink_get_times),
628         (gst_base_sink_do_sync), (gst_base_sink_change_state):
629         * gst/base/gstbasesink.h:
630         Store and use discont values when syncing buffers as described
631         in design docs.
632         
633         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
634         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
635         (gst_base_src_activate_push):
636         Push discont event when starting.
637
638         * gst/elements/gstidentity.c: (gst_identity_transform):
639         Small cleanups.
640
641         * gst/gstbin.c: (gst_bin_change_state):
642         Small cleanups in base_time  distribution.
643
644         * gst/gstelement.c: (gst_element_set_base_time),
645         (gst_element_get_base_time), (gst_element_change_state):
646         * gst/gstelement.h:
647         Added methods for the base_time of the element.
648         Some MT fixes.
649
650         * gst/gstpipeline.c: (gst_pipeline_send_event),
651         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
652         (gst_pipeline_get_last_stream_time):
653         * gst/gstpipeline.h:
654         MT fixes.
655         Handle seeking as described in design doc, remove stream_time
656         hack.
657         Cleanups clock and stream_time selection code. Added accessors
658         for the stream_time.
659         
660
661 2005-07-16  Andy Wingo  <wingo@pobox.com>
662
663         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
664         (#305291).
665
666 2005-07-16  Wim Taymans  <wim@fluendo.com>
667
668         * check/gst/gstbin.c: (GST_START_TEST):
669         Make elements silent as the deep_notify refs the
670         parent, which might make the test fail.
671
672         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
673         Don't hold the lock for too long.
674
675 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
676
677         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
678           Don't unref the caps we passed to gst_caps_make_writable() after
679           passing them. gst_caps_make_writable() will do that for us.
680
681 2005-07-15  Andy Wingo  <wingo@pobox.com>
682
683         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
684         (#157311).
685
686         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
687         own marshalling function for the handoff signal. Properly type the
688         buffer as a buffer. Fixes some warnings. Should do a more general
689         solution.
690         (gst_identity_class_init): Plug into the right marshaller.
691
692 2005-07-15  Wim Taymans  <wim@fluendo.com>
693
694         * docs/design/part-TODO.txt:
695         * docs/design/part-clocks.txt:
696         * docs/design/part-element-sink.txt:
697         * docs/design/part-events.txt:
698         * docs/design/part-gstpipeline.txt:
699         Updated docs, mostly DISCONT related.
700
701 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
702
703         * docs/pwg/building-pads.xml:
704           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
705
706 2005-07-15  Andy Wingo  <wingo@pobox.com>
707
708         * tools/gst-typefind.c: Update, add copyright block.
709
710         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
711         Normalize and truncate caps before fixation.
712
713         * gst/gstcaps.h:
714         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
715         discards all but the first structure from its argument.
716
717 2005-07-15  Wim Taymans  <wim@fluendo.com>
718
719         * gst/base/gstbasetransform.c: (gst_base_transform_init),
720         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
721         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
722         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
723         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
724         (gst_base_transform_chain), (gst_base_transform_change_state),
725         (gst_base_transform_set_passthrough),
726         (gst_base_transform_is_passthrough):
727         * gst/base/gstbasetransform.h:
728         Make passthrough work using the bufferpools.
729         Changed API a bit, subclasses have to write into a buffer
730         provided by the base class.
731         More debug info in nego functions.
732         
733         * gst/elements/gstidentity.c: (gst_identity_init),
734         (gst_identity_transform):
735         Port to new base class.
736
737 2005-07-15  Wim Taymans  <wim@fluendo.com>
738
739         * gst/gstmessage.c: (gst_message_new_state_changed):
740         * tools/gst-launch.c: (event_loop), (main):
741         Totally dump messages in -launch with the -m option.
742         Fix message name for State messages,
743
744 2005-07-14  Wim Taymans  <wim@fluendo.com>
745
746         * gst/base/gstbasesrc.c: (gst_base_src_loop):
747         Post error messages on errors.
748
749 2005-07-14  Wim Taymans  <wim@fluendo.com>
750
751         * gst/gstcaps.c: (gst_caps_do_simplify):
752         Remove debug info.
753
754         * gst/gsterror.h:
755         Define error for stream stopped.
756
757         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
758         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
759         Do proper return values.
760
761         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
762         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
763         (gst_pad_get_range):
764         Better return values.
765
766         * gst/gstpad.h:
767         Reorganise return values, add macro to check for fatal errors.
768
769         * gst/gstqueue.c: (gst_queue_chain):
770         Return proper GstFlowReturn values,
771
772 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
773
774         * docs/gst/gstreamer-sections.txt:
775         * docs/gst/gstreamer.types:
776         * docs/gst/tmpl/gst.sgml:
777         * docs/gst/tmpl/gstbasesink.sgml:
778         * docs/gst/tmpl/gstbasesrc.sgml:
779         * docs/gst/tmpl/gstbasetransform.sgml:
780         * docs/gst/tmpl/gstbin.sgml:
781         * docs/gst/tmpl/gstbuffer.sgml:
782         * docs/gst/tmpl/gstcaps.sgml:
783         * docs/gst/tmpl/gstclock.sgml:
784         * docs/gst/tmpl/gstcompat.sgml:
785         * docs/gst/tmpl/gstconfig.sgml:
786         * docs/gst/tmpl/gstelement.sgml:
787         * docs/gst/tmpl/gstelementdetails.sgml:
788         * docs/gst/tmpl/gstelementfactory.sgml:
789         * docs/gst/tmpl/gstenumtypes.sgml:
790         * docs/gst/tmpl/gsterror.sgml:
791         * docs/gst/tmpl/gstevent.sgml:
792         * docs/gst/tmpl/gstfakesink.sgml:
793         * docs/gst/tmpl/gstfakesrc.sgml:
794         * docs/gst/tmpl/gstfilesink.sgml:
795         * docs/gst/tmpl/gstfilesrc.sgml:
796         * docs/gst/tmpl/gstfilter.sgml:
797         * docs/gst/tmpl/gstformat.sgml:
798         * docs/gst/tmpl/gstghostpad.sgml:
799         * docs/gst/tmpl/gstimplementsinterface.sgml:
800         * docs/gst/tmpl/gstindex.sgml:
801         * docs/gst/tmpl/gstindexfactory.sgml:
802         * docs/gst/tmpl/gstinfo.sgml:
803         * docs/gst/tmpl/gstiterator.sgml:
804         * docs/gst/tmpl/gstmacros.sgml:
805         * docs/gst/tmpl/gstmemchunk.sgml:
806         * docs/gst/tmpl/gstminiobject.sgml:
807         * docs/gst/tmpl/gstobject.sgml:
808         * docs/gst/tmpl/gstpad.sgml:
809         * docs/gst/tmpl/gstpadtemplate.sgml:
810         * docs/gst/tmpl/gstparse.sgml:
811         * docs/gst/tmpl/gstpipeline.sgml:
812         * docs/gst/tmpl/gstplugin.sgml:
813         * docs/gst/tmpl/gstpluginfeature.sgml:
814         * docs/gst/tmpl/gstquery.sgml:
815         * docs/gst/tmpl/gstqueue.sgml:
816         * docs/gst/tmpl/gstregistry.sgml:
817         * docs/gst/tmpl/gstregistrypool.sgml:
818         * docs/gst/tmpl/gstscheduler.sgml:
819         * docs/gst/tmpl/gstschedulerfactory.sgml:
820         * docs/gst/tmpl/gststructure.sgml:
821         * docs/gst/tmpl/gstsystemclock.sgml:
822         * docs/gst/tmpl/gsttaglist.sgml:
823         * docs/gst/tmpl/gsttagsetter.sgml:
824         * docs/gst/tmpl/gsttrace.sgml:
825         * docs/gst/tmpl/gsttrashstack.sgml:
826         * docs/gst/tmpl/gsttypefind.sgml:
827         * docs/gst/tmpl/gsttypefindfactory.sgml:
828         * docs/gst/tmpl/gsttypes.sgml:
829         * docs/gst/tmpl/gsturihandler.sgml:
830         * docs/gst/tmpl/gsturitype.sgml:
831         * docs/gst/tmpl/gstutils.sgml:
832         * docs/gst/tmpl/gstvalue.sgml:
833         * docs/gst/tmpl/gstversion.sgml:
834         * docs/gst/tmpl/gstxml.sgml:
835         * docs/libs/tmpl/gstcontrol.sgml:
836         * docs/libs/tmpl/gstdataprotocol.sgml:
837         * docs/libs/tmpl/gstdparam.sgml:
838         * docs/libs/tmpl/gstdplinint.sgml:
839         * docs/libs/tmpl/gstdpman.sgml:
840         * docs/libs/tmpl/gstdpsmooth.sgml:
841         * docs/libs/tmpl/gstgetbits.sgml:
842         * docs/libs/tmpl/gstunitconvert.sgml:
843         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
844         (gst_push_src_base_init), (gst_push_src_class_init),
845         (gst_push_src_init), (gst_push_src_create):
846         * gst/base/gstpushsrc.h:
847         * gst/elements/gstelements.c:
848         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
849         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
850         (gst_fake_sink_init), (gst_fake_sink_set_property),
851         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
852         (gst_fake_sink_event), (gst_fake_sink_preroll),
853         (gst_fake_sink_render), (gst_fake_sink_change_state):
854         * gst/elements/gstfakesink.h:
855         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
856         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
857         (gst_fake_src_base_init), (gst_fake_src_class_init),
858         (gst_fake_src_init), (gst_fake_src_event_handler),
859         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
860         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
861         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
862         (gst_fake_src_create_buffer), (gst_fake_src_create),
863         (gst_fake_src_start), (gst_fake_src_stop):
864         * gst/elements/gstfakesrc.h:
865         * gst/elements/gstfilesink.c: (_do_init),
866         (gst_file_sink_base_init), (gst_file_sink_class_init),
867         (gst_file_sink_init), (gst_file_sink_dispose),
868         (gst_file_sink_set_location), (gst_file_sink_set_property),
869         (gst_file_sink_get_property), (gst_file_sink_open_file),
870         (gst_file_sink_close_file), (gst_file_sink_query),
871         (gst_file_sink_event), (gst_file_sink_render),
872         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
873         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
874         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
875         * gst/elements/gstfilesink.h:
876         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
877         (gst_file_src_class_init), (gst_file_src_init),
878         (gst_file_src_finalize), (gst_file_src_set_location),
879         (gst_file_src_set_property), (gst_file_src_get_property),
880         (gst_file_src_map_region), (gst_file_src_map_small_region),
881         (gst_file_src_create_mmap), (gst_file_src_create_read),
882         (gst_file_src_create), (gst_file_src_is_seekable),
883         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
884         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
885         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
886         (gst_file_src_uri_handler_init):
887         * gst/elements/gstfilesrc.h:
888           more autistic cleanliness in functions/names/defines
889
890 2005-07-13  Andy Wingo  <wingo@pobox.com>
891
892         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
893         source couldn't negotiate.
894
895         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
896         connections again.
897
898         * gst/gstutils.h:
899         * gst/gstutils.c (gst_element_link_pads_filtered): New old
900         function. I am channeling Hades. Put your boots on suckers!!!
901
902 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
903
904         * testsuite/caps/Makefile.am:
905         * testsuite/caps/value_compare.c:
906         * testsuite/caps/value_intersect.c:
907         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
908           move two testsuite apps over to the check dir
909
910 2005-07-12  Wim Taymans  <wim@fluendo.com>
911
912         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
913         Added more debug info in the negotiate process.
914
915         * gst/gstmessage.h:
916         Prepare for segment playback.
917
918         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
919         Better debugging.
920
921         * gst/gstutils.c:
922         Some more docs.
923
924         * tools/gst-launch.c: (main):
925         NULL pipeline on errors.
926
927 2005-07-12  Andy Wingo  <wingo@pobox.com>
928
929         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
930         not it comes from a malloc region. Make sure our copy gets freed.
931
932 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
933
934         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
935         * check/gst/gstmessage.c: (GST_START_TEST):
936         * check/gst/gststructure.c: (GST_START_TEST),
937         (gst_structure_suite), (main):
938           more testing
939         * gst/gstelement.c: (gst_element_message_full):
940           clean up GError and debug string now that they get copied
941         * gst/gstmessage.c: (gst_message_new_error),
942         (gst_message_new_warning), (gst_message_parse_error),
943         (gst_message_parse_warning):
944           use GST_TYPE_G_ERROR for structure_new, and take copies of
945           arguments, so that we don't mess up refcounting
946
947 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
948
949         * check/Makefile.am:
950           add per-test valgrind targets
951         * check/gst-libs/gdp.c: (GST_START_TEST),
952         (gst_data_protocol_suite), (main):
953           clean up
954
955 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * check/Makefile.am:
958           instate more valgrindable tests
959         * check/elements/gstfakesrc.c: (chain_func), (event_func),
960         (GST_START_TEST), (fakesrc_suite):
961         * check/gst/gstpad.c: (GST_START_TEST):
962         * check/gst/gststructure.c: (GST_START_TEST):
963           fix test leaks
964         * docs/gst/tmpl/gstminiobject.sgml:
965         * gst/gstpad.c: (gst_pad_finalize):
966           fix the static mutex leak
967
968 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
969
970         * check/Makefile.am:
971           add two more tests for valgrinding
972         * check/gst/gstvalue.c: (GST_START_TEST):
973           test refcount of deserialized buffer, found a leak
974         * docs/gst/gstreamer-docs.sgml:
975         * docs/gst/gstreamer-sections.txt:
976         * docs/gst/gstreamer.types:
977         * docs/gst/tmpl/gstminiobject.sgml:
978           add miniobject to docs
979         * gst/gstminiobject.c:
980           add some docs
981         * gst/gstvalue.c: (gst_value_deserialize_buffer),
982         (gst_string_unwrap):
983           fix a hard-to-find invalid write for one of the tests
984           fix a leak for deserialized buffers
985
986 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
987
988         * docs/pwg/advanced-events.xml:
989         * docs/pwg/advanced-request.xml:
990         * docs/pwg/advanced-scheduling.xml:
991         * docs/pwg/appendix-porting.xml:
992         * docs/pwg/building-boiler.xml:
993         * docs/pwg/intro-preface.xml:
994         * docs/pwg/other-ntoone.xml:
995           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
996           of example code and explanation for pad activation, loop() and
997           getrange() functions and a bit more. Remove old comments pointing
998           to loop-functions.
999         * examples/pwg/Makefile.am:
1000           Add loop/getrange examples.
1001
1002 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1003
1004         * configure.ac:
1005           check for valgrind binary + some fixes
1006         * check/gst.supp:
1007           valgrind suppressions for the tests
1008         * check/Makefile.am:
1009           add a valgrind: target that valgrinds the unit tests
1010         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1011         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1012         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1013         * check/gst/gstghostpad.c:
1014           added some cleanup
1015         * check/gst/gstdata.c:
1016           removed
1017         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1018         (thread_unref), (gst_mini_object_suite), (main):
1019           added
1020         * gst/gst.c: (gst_deinit):
1021         * gst/gst.h:
1022           add a method to clean up.
1023         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1024         (gst_system_clock_obtain):
1025           allow for disposing the system clock.
1026         * tools/gst-launch.c: (main):
1027           deinit
1028
1029 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1030
1031         * docs/gst/tmpl/gstbasesrc.sgml:
1032         * docs/gst/tmpl/gstfakesrc.sgml:
1033         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1034         (gst_base_src_init), (gst_base_src_set_property),
1035         (gst_base_src_get_property), (gst_base_src_get_range),
1036         (gst_base_src_start):
1037         * gst/base/gstbasesrc.h:
1038           add num-buffers property
1039         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1040         (gst_fakesrc_init), (gst_fakesrc_set_property),
1041         (gst_fakesrc_get_property), (gst_fakesrc_create),
1042         (gst_fakesrc_start):
1043           remove num-buffers property
1044
1045 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1046
1047         * docs/gst/gstreamer-sections.txt:
1048         * docs/gst/tmpl/gstbasesink.sgml:
1049         * docs/gst/tmpl/gstbasesrc.sgml:
1050         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1051         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1052         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1053         (gst_base_sink_set_property), (gst_base_sink_get_property),
1054         (gst_base_sink_handle_object), (gst_base_sink_event),
1055         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1056         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1057         (gst_base_sink_loop), (gst_base_sink_deactivate),
1058         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1059         (gst_base_sink_change_state):
1060         * gst/base/gstbasesink.h:
1061         * gst/base/gstbasesrc.h:
1062         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1063         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1064         (gst_filesink_init):
1065           more macro splitting
1066
1067 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1068
1069         * gst/gstelement.c: (gst_element_get_bus):
1070           add debug
1071         * tools/gst-launch.c: (check_intr), (event_loop):
1072           fix bus leaks
1073
1074 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1075
1076         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1077           fix a caps leak
1078
1079 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1080
1081         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1082         (gst_base_src_finalize):
1083           add finalize method and clean up properly
1084         * gst/gstpipeline.c: (gst_pipeline_dispose):
1085           add debug
1086
1087 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1088
1089         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1090         (gst_bin_suite):
1091           add more things to check
1092         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1093         * gst/gstelement.c:
1094           more debug
1095
1096 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1097
1098         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1099         (GST_START_TEST), (fakesrc_suite):
1100         * check/gst-libs/gdp.c: (GST_START_TEST):
1101         * check/gst/gst.c: (GST_START_TEST):
1102         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1103         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1104         * check/gst/gstbus.c: (GST_START_TEST):
1105         * check/gst/gstcaps.c: (GST_START_TEST):
1106         * check/gst/gstdata.c: (GST_START_TEST):
1107         * check/gst/gstelement.c: (GST_START_TEST):
1108         * check/gst/gstghostpad.c: (GST_START_TEST):
1109         * check/gst/gstiterator.c: (GST_START_TEST):
1110         * check/gst/gstmessage.c: (GST_START_TEST):
1111         * check/gst/gstobject.c: (GST_START_TEST):
1112         * check/gst/gstpad.c: (GST_START_TEST):
1113         * check/gst/gststructure.c: (GST_START_TEST):
1114         * check/gst/gstsystemclock.c: (GST_START_TEST),
1115         (gst_systemclock_suite):
1116         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1117         * check/gst/gstvalue.c: (GST_START_TEST):
1118         * check/pipelines/cleanup.c: (GST_START_TEST):
1119         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1120         * check/states/sinks.c: (GST_START_TEST):
1121         * check/gstcheck.c: (gst_check_init):
1122         * check/gstcheck.h:
1123           add debugging category
1124           use GST_START_TEST now, so we add a debug line
1125
1126 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1127
1128         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1129           add test for state change message on a bin
1130         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1131           add another test
1132         * gst/gstbin.c: (gst_bin_init):
1133         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1134         * gst/gstelement.c: (gst_element_post_message),
1135         (gst_element_set_state):
1136         * gst/gstelementfactory.c: (gst_element_factory_create):
1137         * gst/gstmessage.c: (gst_message_new):
1138         * gst/gstscheduler.c:
1139           various debugging additions and cleanups
1140
1141 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1142
1143         * check/Makefile.am:
1144         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1145         (main):
1146           adding tests for elements
1147         * gst/gstelement.c: (gst_element_dispose):
1148
1149 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1150
1151         * gst/registries/gstlibxmlregistry.c: (load_feature):
1152           plug more leaks.  A simple gst_init() now is leakfree, yay.
1153
1154 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1155
1156         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1157         (gst_xml_registry_load):
1158           plug another memleak
1159
1160 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1161
1162         * configure.ac:
1163           use GST_SET_ERROR_CFLAGS
1164         * docs/faq/cvs.xml:
1165           change to ERROR_CFLAGS
1166
1167 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1168
1169         * configure.ac:
1170           make GST_ERROR_CFLAGS overridable and re-enable Werror
1171         * docs/faq/cvs.xml:
1172           add a note about error CFLAGS
1173         * docs/gst/tmpl/gstfakesrc.sgml:
1174         * gst/elements/gstfakesrc.c:
1175           comment out some unused code
1176         * gst/gst.c: (split_and_iterate):
1177         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1178         (load_feature):
1179           plug some memleaks
1180
1181 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1182
1183         * common/Makefile.am:
1184         * common/gtk-doc.mak:
1185         * docs/gst/Makefile.am:
1186           factor out gtk-doc.mak
1187
1188 2005-07-07  Wim Taymans  <wim@fluendo.com>
1189
1190         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1191         (gst_thread_scheduler_dispose):
1192         Unlock the STREAM_LOCK completely.
1193
1194 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1195
1196         * check/Makefile.am:
1197         * check/elements/.cvsignore:
1198         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1199         (START_TEST), (fakesrc_suite), (main):
1200         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1201         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1202         (gst_fakesrc_create), (gst_fakesrc_start):
1203         * gst/elements/gstfakesrc.h:
1204           adding a first element test
1205
1206 2005-07-07  Andy Wingo  <wingo@pobox.com>
1207
1208         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1209         debug message.
1210
1211 2005-07-07  Wim Taymans  <wim@fluendo.com>
1212
1213         * gst/gstquery.c:
1214         * gst/gstquery.h:
1215         Remove old types
1216
1217 2005-07-07  Wim Taymans  <wim@fluendo.com>
1218
1219         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1220         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1221         Allow subclasses to implement their own negotiation.
1222
1223 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1224
1225         * docs/design/part-gstbin.txt:
1226         * docs/design/part-gstpipeline.txt:
1227           Update design notes to reflect the movement of
1228           responsibility for bus handling from GstPipeline to
1229           GstBin
1230
1231 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1232
1233         * configure.ac:
1234           Remove unnecessary queue2/3/4 examples.
1235
1236 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1237
1238         * examples/Makefile.am:
1239         * examples/helloworld/helloworld.c: (event_loop), (main):
1240         * examples/queue/queue.c: (event_loop), (main):
1241         * examples/queue2/queue2.c: (main):
1242           Update a couple of the examples to work again.
1243
1244         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1245         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1246          Spelling corrections and extra debug.
1247         
1248         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1249         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1250         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1251         * gst/gstbin.h:
1252         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1253         (gst_pipeline_change_state):
1254         * gst/gstpipeline.h:
1255           Move the bus handler for children to the GstBin, and create a
1256           separate bus for receiving messages from children to the one the
1257           bus sends 'upwards' on.
1258
1259 2005-07-06  Wim Taymans  <wim@fluendo.com>
1260
1261         * gst/base/README:
1262         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1263         (gst_base_sink_handle_object), (gst_base_sink_loop),
1264         (gst_base_sink_change_state):
1265         * gst/base/gstbasesink.h:
1266         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1267         (gst_base_src_init), (gst_base_src_setcaps),
1268         (gst_base_src_getcaps), (gst_base_src_loop),
1269         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1270         (gst_base_src_start), (gst_base_src_change_state):
1271         * gst/base/gstbasesrc.h:
1272         Make basesrc negotiate.
1273         Handle the case where preroll fails in basesink.
1274         Update README.
1275
1276 2005-07-06  Wim Taymans  <wim@fluendo.com>
1277
1278         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1279         Implement the fixate function.
1280         Clean up acceptcaps.
1281
1282 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1283
1284         * docs/pwg/building-filterfactory.xml:
1285         * docs/pwg/pwg.xml:
1286           Remove never-written filter-factory chapter; I'll add the various
1287           base classes to part 4 ("other element types") later on.
1288
1289 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1290
1291         * docs/pwg/advanced-negotiation.xml:
1292         * docs/pwg/building-boiler.xml:
1293         * docs/pwg/building-pads.xml:
1294         * docs/pwg/pwg.xml:
1295         * examples/pwg/Makefile.am:
1296           Add a chapter on caps negotiation, simplify the original code
1297           samples a bit w.r.t. caps negotiation, add link to the advanced
1298           section. Add a bunch of examples showing different use cases of
1299           different types of caps negotiation. Upstream renegotiation isn't
1300           fully documented yet since nobody knows how that works.
1301
1302 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1303
1304         * check/gst/gstpad.c:
1305         * check/gstcheck.c:
1306         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1307           if pad has no parent, return NULL as list of internal links
1308
1309 2005-07-05  Andy Wingo  <wingo@pobox.com>
1310
1311         * gst/elements/gstfilesrc.c:
1312         * gst/elements/gstfakesrc.c: 
1313         * gst/base/gstpushsrc.c:
1314         * gst/base/gstbasesrc.h: 
1315         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1316         
1317 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1318
1319         * Makefile.am:
1320           better report generation target (lcov needs a patch)
1321
1322 2005-07-05  Andy Wingo  <wingo@pobox.com>
1323
1324         * gst/elements, testsuite: Null if we got it...
1325
1326 2005-07-05  Wim Taymans  <wim@fluendo.com>
1327
1328         * configure.ac:
1329         * libs/gst/dataprotocol/Makefile.am:
1330         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1331         * libs/gst/dataprotocol/dataprotocol.h:
1332         * pkgconfig/Makefile.am:
1333         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1334         * pkgconfig/gstreamer-dataprotocol.pc.in:
1335         Ported dataprotol to 0.9. 
1336         Added pkgconfig files.
1337
1338 2005-07-05  Andy Wingo  <wingo@pobox.com>
1339
1340         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1341         Default to returning TRUE for the case when tranform_caps returns
1342         a fixed caps, like for identity or volume.
1343
1344         * check/gst/gstbus.c (pound_bus_with_messages): 
1345         * check/gst/gstmessage.c (START_TEST): 
1346         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1347         message API change.
1348
1349         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1350         logic weaks here: always run transform_caps, trying passthrough
1351         operation only if the original caps intersects with the transform.
1352
1353         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1354         source and sink caps.
1355
1356         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1357         Intersect the peer caps with the pad template before going into
1358         transform_caps.
1359         (gst_base_transform_transform_caps): More debugging.
1360
1361         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1362         src argument.
1363
1364 2005-07-04  Edward Hervey  <edward@fluendo.com>
1365
1366         * gst/gstutils.c:
1367         * gst/gstutils.h:
1368         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1369         in bindings.
1370
1371 2005-07-04  Andy Wingo  <wingo@pobox.com>
1372
1373         * check/gst/gstpad.c: Only set explicit caps on pads.
1374
1375 2005-07-01  Andy Wingo  <wingo@pobox.com>
1376
1377         * tests/network-clock.scm: Commentary update.
1378
1379         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1380         Didn't really make sense, not implementable with basetransform,
1381         etc.
1382         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1383         attempt at implementing the sync property, needs an unlock method.
1384
1385         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1386         New func, by default returns the same caps (the identity
1387         transformation).
1388         (gst_base_transform_getcaps): Uses transform_caps to return
1389         something sensible.
1390         (gst_base_transform_setcaps): Complicated logic to get caps on
1391         both pads, even if they are different, and to call set_caps once
1392         for every time both pads get their caps set.
1393         (gst_base_transform_handle_buffer): Give the ref to the transform
1394         function. Allows in-place modification of the buffer.
1395
1396         * gst/base/gstbasetransform.h (transform_caps): New class method.
1397         Given caps on one side, what can I do on the other.
1398         (set_caps): Take two caps, one for each side of the element.
1399
1400         * gst/gstpad.h:
1401         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1402         caps in place. This is safe because we can check the mutability of
1403         the caps, and a good idea because fixate functions are just called
1404         as a matter of last resort. (Not actually implemented.)
1405         (gst_pad_set_caps): If the caps we're setting is actually the same
1406         as the existing pad caps, just update the pointer without calling
1407         setcaps. Assert that caps is either NULL or fixed, as per the
1408         docs.
1409
1410         * gst/gstghostpad.c: Update for fixate changes.
1411
1412 2005-07-02  Andy Wingo  <wingo@pobox.com>
1413
1414         * gst/gstcaps.c:
1415         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1416         two refcounts makes it immutable, which is enough. Doc more.
1417
1418 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1419
1420         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1421           Put the mini_object into GValue as a mini_object,
1422           not a gpointer, since that's how we declared
1423           the signal.
1424
1425 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1426
1427         * examples/pwg/Makefile.am:
1428           Fix buildbot again.
1429
1430 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1431
1432         * docs/pwg/building-testapp.xml:
1433           Add extra check.
1434         * examples/pwg/Makefile.am:
1435           Fix buildbot.
1436
1437 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1438
1439         * configure.ac:
1440         * examples/Makefile.am:
1441         * examples/pwg/Makefile.am:
1442         * examples/pwg/extract.pl:
1443           Enable building the PWG examples.
1444         * docs/pwg/advanced-interfaces.xml:
1445           Add URI interface stub.
1446         * docs/pwg/advanced-types.xml:
1447         * docs/pwg/other-autoplugger.xml:
1448         * docs/pwg/appendix-porting.xml:
1449         * docs/pwg/pwg.xml:
1450           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1451         * docs/pwg/building-boiler.xml:
1452         * docs/pwg/building-chainfn.xml:
1453         * docs/pwg/building-pads.xml:
1454         * docs/pwg/building-props.xml:
1455         * docs/pwg/building-state.xml:
1456         * docs/pwg/building-testapp.xml:
1457           Update the building-*.xml parts for 0.9 changes. All examples
1458           code blocks compile in examples/pwg/*.
1459
1460 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1461
1462         * docs/manual/advanced-autoplugging.xml:
1463         * docs/manual/appendix-checklist.xml:
1464         * docs/manual/appendix-integration.xml:
1465         * docs/manual/highlevel-components.xml:
1466           Fix playbin/decodebin examples, update docs a bit, mention bus
1467           instead of signals in various places, mention kmplayer and
1468           kaffeine since they have a working GStreamer backend in the KDE
1469           section.
1470
1471 2005-06-30  Wim Taymans  <wim@fluendo.com>
1472
1473         * CHANGES-0.9:
1474         * docs/design/draft-ghostpads.txt:
1475         * docs/design/draft-push-pull.txt:
1476         * docs/design/draft-query.txt:
1477         * docs/design/part-TODO.txt:
1478         * docs/design/part-query.txt:
1479         Added CHANGES-0.9 doc, updated status of other docs.
1480         
1481         * gst/gstquery.h:
1482         Remove "hmm" macro
1483
1484 2005-06-30  Wim Taymans  <wim@fluendo.com>
1485
1486         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1487         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1488         (gst_base_sink_change_state):
1489         * gst/base/gstbasesink.h:
1490         Some tweaks, only EOS and a buffer complete a preroll.
1491
1492 2005-06-30  Andy Wingo  <wingo@pobox.com>
1493
1494         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1495         activate_push down to the internal pad as well.
1496
1497 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1498
1499         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1500
1501         * gst/gsttaginterface.c:
1502           Some documentation fixes (#307394 and #307397).
1503
1504 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1505
1506         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1507
1508         * gst/gstvalue.c: (gst_value_intersect_list):
1509           Fix memleak (#309125).
1510
1511 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1512
1513         * docs/manual/advanced-dataaccess.xml:
1514           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1515         * docs/manual/basics-pads.xml:
1516           Add reference for filtered caps to above chapter.
1517
1518 2005-06-30  Wim Taymans  <wim@fluendo.com>
1519
1520         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1521         (gst_bin_change_state):
1522         Probes are gone.
1523         Lame attempt at making the state change function a bit
1524         more readable.
1525
1526 2005-06-30  Wim Taymans  <wim@fluendo.com>
1527
1528         * docs/design/part-clocks.txt:
1529         * docs/design/part-element-sink.txt:
1530         * docs/design/part-events.txt:
1531         * docs/design/part-preroll.txt:
1532         * docs/design/part-states.txt:
1533         Some more tweeks and additions to the docs.
1534
1535 2005-06-30  Wim Taymans  <wim@fluendo.com>
1536
1537         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1538         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1539         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1540         (gst_pad_check_pull_range), (gst_pad_get_range),
1541         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1542         * gst/gstpad.h:
1543         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1544         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1545         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1546         (gst_pad_remove_buffer_probe):
1547         Removed atomic operations, use existing LOCK.
1548         Move exception handling out of main code path.
1549
1550 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1551
1552         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1553         (silly_return_true_function), (gst_pad_class_init),
1554         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1555         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1556         (gst_pad_send_event):
1557           Fix accumulator, add default value by using _emitv() instead
1558           of _emit() for signal emission.
1559
1560 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1561
1562         * docs/manual/advanced-dataaccess.xml:
1563         * examples/manual/Makefile.am:
1564           Add probe example.
1565         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1566           Make work (??).
1567
1568 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1569
1570         * gst/elements/gstfilesink.c: (gst_filesink_render):
1571           Simplify code so that we don't have to handle short
1572           writes and return GST_FLOW_ERROR if an error occured.
1573
1574 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1575
1576         * docs/gst/gstreamer-docs.sgml:
1577           Remove probes more.
1578
1579 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1580
1581         * docs/gst/gstreamer-sections.txt:
1582         * docs/gst/tmpl/gstpad.sgml:
1583         * docs/gst/tmpl/gstprobe.sgml:
1584         * gst/Makefile.am:
1585         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1586         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1587         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1588         (gst_pad_push_event), (gst_pad_send_event):
1589         * gst/gstpad.h:
1590         * gst/gstutils.c: (gst_pad_add_data_probe),
1591         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1592         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1593         (gst_pad_remove_buffer_probe):
1594         * gst/gstutils.h:
1595           Remove old probes, add new g-signal-based probes and some utility
1596           functions.
1597
1598 2005-06-29  Edward Hervey  <edward@fluendo.com>
1599
1600         * gst/gstelementfactory.c:
1601         * gst/gstutils.h:
1602         * gst/gstutils.c:
1603         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1604         the definition to the header file.
1605
1606 2005-06-29  Andy Wingo  <wingo@pobox.com>
1607
1608         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1609         plugins from the source directory.
1610
1611 2005-06-29  Wim Taymans  <wim@fluendo.com>
1612
1613         * docs/gst/tmpl/gstbuffer.sgml:
1614         * docs/gst/tmpl/gstclock.sgml:
1615         Some fixings for blantently wrong text.
1616
1617 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1618
1619         * check/Makefile.am:
1620         * gst/gst.c: (add_path_func), (init_pre):
1621         * gst/gstregistry.c: (gst_registry_add_path):
1622           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1623           only scan the GST_PLUGIN_PATH locations, and not add
1624           system locations
1625
1626 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1627
1628         * docs/gst/gstreamer-sections.txt:
1629         * docs/gst/tmpl/gstbasesrc.sgml:
1630         * gst/gstelement.c:
1631         * gst/gstelement.h:
1632         * gst/gstevent.c:
1633         * gst/gstutils.c:
1634           doc fixes
1635
1636 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1637
1638         * docs/manual/advanced-autoplugging.xml:
1639           Fix autoplugging example.
1640
1641 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1642
1643         * docs/manual/advanced-autoplugging.xml:
1644         * docs/manual/mime-world.fig:
1645           Try to get autoplugging working, fix type detection. Fix text
1646           in hello-world image.
1647
1648 2005-06-29  Wim Taymans  <wim@fluendo.com>
1649
1650         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1651         (gst_base_sink_change_state):
1652         Small debug line.
1653
1654         * gst/gstclock.h:
1655         map SIGNAL and BROADCAST to the right function.
1656
1657         * gst/gstobject.h:
1658         Remove redundant braces.
1659
1660         * gst/gstpad.c: (gst_pad_set_caps):
1661         Don't call setcaps function when reseting caps to NULL.
1662
1663         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1664         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1665         (gst_system_clock_id_unschedule):
1666         Use BROADCAST as this is what we do.
1667
1668 2005-06-29  Wim Taymans  <wim@fluendo.com>
1669
1670         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1671         We are actually prerolling before commiting the state
1672         change. 
1673
1674 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1675
1676         * docs/manual/advanced-clocks.xml:
1677         * docs/manual/advanced-interfaces.xml:
1678         * docs/manual/advanced-metadata.xml:
1679         * docs/manual/advanced-position.xml:
1680         * docs/manual/advanced-schedulers.xml:
1681         * docs/manual/advanced-threads.xml:
1682         * docs/manual/appendix-porting.xml:
1683         * docs/manual/basics-bins.xml:
1684         * docs/manual/basics-bus.xml:
1685         * docs/manual/basics-elements.xml:
1686         * docs/manual/basics-helloworld.xml:
1687         * docs/manual/basics-pads.xml:
1688         * docs/manual/highlevel-components.xml:
1689         * docs/manual/manual.xml:
1690         * docs/manual/thread.fig:
1691           Update (until threads/scheduling) Application Development Manual;
1692           remove GstThread, add GstBus, add simple porting checklist, add
1693           documentation for tag writing, clocks, make all examples until this
1694           part compile and run.
1695         * examples/manual/Makefile.am:
1696           Update from changes to Application Development Manual; add bus
1697           example, remove thread example.
1698
1699 2005-06-28  Wim Taymans  <wim@fluendo.com>
1700
1701         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1702         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1703         (gst_bus_source_dispatch):
1704         Add debugging messages.
1705         Make internal methods static.
1706         Handle the case where the bus is flushed in the handler.
1707         
1708         * gst/gstelement.c: (gst_element_get_bus):
1709         Fix refcount in _get_bus();
1710
1711         * gst/gstpipeline.c: (gst_pipeline_change_state),
1712         (gst_pipeline_get_clock_func):
1713         Clock refcounting fixes.
1714         Handle the case where preroll timed out more gracefully.
1715         
1716         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1717         Clean up the internal thread in dispose. This is needed
1718         for subclasses that actually get disposed.
1719         
1720         * gst/schedulers/threadscheduler.c:
1721         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1722         (gst_thread_scheduler_dispose):
1723         Free thread pool in dispose.
1724
1725 2005-06-28  Andy Wingo  <wingo@pobox.com>
1726
1727         * tests/network-clock-utils.scm (debug, print-event): New utils.
1728
1729         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1730         (*packet-loss*): Unified loss probability.
1731         (network-time): Report out-of-band events.
1732
1733         * tests/plot-data: Add support for out-of-band events. Hack it
1734         into this script instead of passing it down the pipe; should fix
1735         this later.
1736
1737 2005-06-28  Wim Taymans  <wim@fluendo.com>
1738
1739         * docs/gst/gstreamer.types:
1740         * docs/gst/tmpl/gstbasesrc.sgml:
1741         * docs/gst/tmpl/gstpad.sgml:
1742         Docs fixes.
1743
1744 2005-06-28  Wim Taymans  <wim@fluendo.com>
1745
1746         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1747         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1748         (gst_proxy_pad_do_fixatecaps):
1749         Correctly proxy the check_pull_range function.
1750
1751 2005-06-28  Andy Wingo  <wingo@pobox.com>
1752
1753         * tests/network-clock.scm: Removed need for slib.
1754         
1755 2005-06-28  Wim Taymans  <wim@fluendo.com>
1756
1757         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1758         (gst_basesink_preroll_queue_flush):
1759         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1760         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1761         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1762         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1763         (gst_proxy_pad_set_property):
1764         * gst/gstpad.c:
1765         * gst/gstpad.h:
1766         * gst/gstqueue.c: (gst_queue_init):
1767         The deprecated pad loop function is removed now.
1768
1769 2005-06-28  Andy Wingo  <wingo@pobox.com>
1770
1771         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1772         New parameters, simulate network packet loss.
1773
1774         * tests/network-clock-utils.scm: Initialize the RNG.
1775
1776 2005-06-28  Wim Taymans  <wim@fluendo.com>
1777
1778         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1779         (gst_basesink_event), (gst_basesink_deactivate):
1780         Flushing the preroll queue always needs to unlock the waiters.
1781
1782 2005-06-28  Edward Hervey  <edward@fluendo.com>
1783
1784         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1785         Wheen a seek was successful on a pipeline, set the stream_time to the
1786         seek offset in order to have a synchronized stream_time.
1787
1788 2005-06-28  Wim Taymans  <wim@fluendo.com>
1789
1790         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1791         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1792         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1793         (gst_proxy_pad_do_fixatecaps):
1794         Call wrapper function instead of just calling the function
1795         pointers. This takes care of any locking and whatmore.
1796
1797 2005-06-28  Wim Taymans  <wim@fluendo.com>
1798
1799         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1800         (gst_pad_pull_range):
1801         * gst/gstpad.h:
1802         CONNECTED -> LINKED.
1803
1804 2005-06-28  Andy Wingo  <wingo@pobox.com>
1805
1806         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1807         source-munging commit!!!
1808
1809         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1810         (gst_object_sink): Take gpointer arguments, not GstObject --
1811         avoids casts. Like GLib.
1812
1813         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1814         activate.
1815
1816 2005-06-27  Andy Wingo  <wingo@pobox.com>
1817
1818         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1819         remaining buffer.
1820
1821         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1822         returns a sorted copy of the trace list.
1823         (gst_alloc_trace_print_live): New API, only prints traces with
1824         live objects. Sort the list.
1825         (gst_alloc_trace_print_all): Sort the list.
1826         (gst_alloc_trace_print): Align columns.
1827
1828         * gst/elements/gstttypefindelement.c:
1829         * gst/elements/gsttee.c:
1830         * gst/base/gstbasesrc.c:
1831         * gst/base/gstbasesink.c:
1832         * gst/base/gstbasetransform.c:
1833         * gst/gstqueue.c: Adapt for pad activation changes.
1834
1835         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1836         sched.
1837         (gst_pipeline_dispose): Drop ref on sched.
1838
1839         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1840         (gst_pad_activate_default): Push mode by default.
1841         (pre_activate_switch, post_activate_switch): New stubs, things to
1842         do before and after switching activation modes on pads.
1843         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1844         the pad's activate function to choose which mode to activate.
1845         Shortcut on deactivation and call the right function directly.
1846         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1847         mode.
1848         (gst_pad_activate_push): New API, same for push mode.
1849         (gst_pad_set_activate_function) 
1850         (gst_pad_set_activatepull_function) 
1851         (gst_pad_set_activatepush_function): Setters for new API.
1852
1853         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1854         Trace all miniobjects.
1855         (gst_mini_object_make_writable): Unref the arg if we copy, like
1856         gst_caps_make_writable.
1857
1858         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1859
1860         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1861         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1862         Adapt for new pad API.
1863
1864         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1865
1866         * gst/gstelement.h:
1867         * gst/gstelement.c (gst_element_iterate_src_pads) 
1868         (gst_element_iterate_sink_pads): New API functions.
1869         
1870         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1871         should fold into gstiterator.c in some form.
1872         (gst_element_pads_activate): Simplified via use of fold and
1873         delegation of decisions to gstpad->activate.
1874
1875         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1876         help in debugging.
1877
1878         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1879         class once in init, like gstmessage. Didn't run into this issue
1880         but it seems correct. Don't initialize a trace, gstminiobject does
1881         that.
1882
1883         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1884         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1885         to the bus.
1886         (assert_live_count): New util function, uses alloc traces to check
1887         cleanup.
1888
1889         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1890         To be modified when unlink drops the internal pad.
1891
1892 2005-06-27  Wim Taymans  <wim@fluendo.com>
1893
1894         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1895         (gst_bin_change_state):
1896         Cleanup the get_state() function a little, make sure it
1897         iterates the same set of elements.
1898         Added stub iterate_state_order().
1899
1900 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1901
1902         * docs/gst/gstreamer-docs.sgml:
1903         * docs/gst/gstreamer-sections.txt:
1904         * docs/gst/gstreamer.types:
1905         * docs/gst/tmpl/gstbasesink.sgml:
1906         * docs/gst/tmpl/gstbasesrc.sgml:
1907         * docs/gst/tmpl/gstbasetransform.sgml:
1908         * docs/gst/tmpl/gstelement.sgml:
1909         * docs/gst/tmpl/gstiterator.sgml:
1910         * gst/base/gstbasesrc.c:
1911         * gst/base/gstbasesrc.h:
1912         * gst/base/gstbasetransform.h:
1913         * gst/gstelement.c:
1914         * gst/gstiterator.h:
1915           adding basetransform and iterator docs
1916
1917 2005-06-27  Andy Wingo  <wingo@pobox.com>
1918
1919         * docs/design/part-activation.txt: Notes on how activation should
1920         work -- not quite implemented yet.
1921
1922 2005-06-25  Wim Taymans  <wim@fluendo.com>
1923
1924         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1925         At least get the chain function correct, needs more
1926         fixing.
1927
1928 2005-06-25  Wim Taymans  <wim@fluendo.com>
1929
1930         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1931         (gst_basesink_handle_object), (gst_basesink_event),
1932         (gst_basesink_do_sync), (gst_basesink_handle_event),
1933         (gst_basesink_change_state):
1934         * gst/gsttask.h:
1935         Right, two problems here: ghostpads don't take locks and
1936         glib _rec_mutex_lock_full() with depth==0 still locks.
1937         Catch illegal locking and g_warn them.
1938
1939 2005-06-25  Wim Taymans  <wim@fluendo.com>
1940
1941         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1942         Have to check for completion now...
1943
1944 2005-06-25  Wim Taymans  <wim@fluendo.com>
1945
1946         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1947         (gst_basesink_handle_object), (gst_basesink_event),
1948         (gst_basesink_do_sync), (gst_basesink_handle_event),
1949         (gst_basesink_change_state):
1950         * gst/gstpad.h:
1951         Unlock STREAM_LOCK whatever the recursion was.
1952
1953 2005-06-25  Wim Taymans  <wim@fluendo.com>
1954
1955         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1956         (gst_basesink_preroll_queue_empty),
1957         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1958         (gst_basesink_event), (gst_basesink_do_sync),
1959         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1960         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1961         (gst_basesink_change_state):
1962         Reworked the base sink, handle event and buffer serialisation
1963         correctly and removed possible deadlock.
1964         Handle EOS correctly.
1965
1966 2005-06-25  Wim Taymans  <wim@fluendo.com>
1967
1968         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1969         (gst_pipeline_change_state):
1970         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1971         Allow elements to post EOS in the state change function.
1972         Fix up -launch, make it exit the poll loop when the
1973         pipeline actually changed state.
1974         Fix up warning parsing in -launch.
1975
1976 2005-06-25  Wim Taymans  <wim@fluendo.com>
1977
1978         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1979         (gst_tee_sink_activate):
1980         Core takes STREAM_LOCK for us now.
1981
1982 2005-06-25  Wim Taymans  <wim@fluendo.com>
1983
1984         * gst/gstelement.c: (gst_element_get_state_func),
1985         (gst_element_set_state):
1986         * gst/gstelement.h:
1987         * gst/gstmessage.c: (gst_message_parse_error),
1988         (gst_message_parse_warning):
1989         Keep track of current target state while performing a state
1990         change so that subclasses can do something interesting.
1991         Fix parsing of warning/error messages when GError is NULL.
1992
1993 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         * docs/gst/Makefile.am:
1996         * docs/gst/gstreamer-docs.sgml:
1997         * docs/gst/gstreamer-sections.txt:
1998         * docs/gst/gstreamer.types:
1999         * docs/gst/tmpl/gstbasesink.sgml:
2000         * docs/gst/tmpl/gstbasesrc.sgml:
2001         * docs/gst/tmpl/gstbin.sgml:
2002         * docs/gst/tmpl/gstcompat.sgml:
2003         * docs/gst/tmpl/gstfakesink.sgml:
2004         * docs/gst/tmpl/gstfakesrc.sgml:
2005         * docs/gst/tmpl/gstfilesink.sgml:
2006         * docs/gst/tmpl/gstfilesrc.sgml:
2007         * docs/gst/tmpl/gstindex.sgml:
2008         * docs/manual/appendix-quotes.xml:
2009         * gst/base/gstbasesrc.h:
2010         * gst/elements/gstfakesrc.h:
2011         * gst/gstmessage.h:
2012           start pulling in base classes and elements in our docs
2013
2014 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2015
2016         * docs/gst/Makefile.am:
2017         * docs/libs/Makefile.am:
2018           fixed make distcheck with gtk-doc 1.3
2019
2020 2005-06-23  Wim Taymans  <wim@fluendo.com>
2021
2022         * gst/gstelement.c: (gst_element_get_state_func),
2023         (gst_element_set_state), (gst_element_change_state):
2024         When the state did not change, also report NO_PREROLL
2025         when it matters.
2026
2027 2005-06-23  Wim Taymans  <wim@fluendo.com>
2028
2029         * gst/gstpad.c: (gst_pad_event_default):
2030         * gst/gstqueue.c: (gst_queue_loop):
2031         No unsafe task pausing please.
2032
2033 2005-06-23  Wim Taymans  <wim@fluendo.com>
2034
2035         * gst/schedulers/threadscheduler.c:
2036         (gst_thread_scheduler_task_start),
2037         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2038         Ref the task before pushing it on the threadpool. This
2039         makes sure that we have a ref when the threadfunction is
2040         actually called.
2041
2042 2005-06-23  Andy Wingo  <wingo@pobox.com>
2043
2044         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2045         offset is greater than the file's size.
2046
2047         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2048         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2049         * gst/gstobject.c (gst_object_class_init): Make the class lock
2050         recursive. Wim won't let me drop deep_notify. Decodebin works
2051         again, whoopdy doo.
2052
2053         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2054         internal pad, and hacks accordingly. Doesn't do it on the target
2055         pad because we change its caps. Probably catches all cases of
2056         interest tho.
2057         (gst_ghost_pad_set_property): Connect to notify::caps as
2058         appropritate.
2059
2060         * tests/network-clock.scm (plot-simulation): Pipe data to the
2061         elite python skript.
2062
2063         * tests/network-clock-utils.scm (define-parameter): New macro,
2064         defines a parameter that can be set via the command line.
2065         (set-parameter!, parse-parameter-arguments): Command line args
2066         parser.
2067
2068         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2069         stdin.
2070
2071 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2072
2073         * gst/elements/gsttypefindelement.c:
2074         (gst_type_find_element_handle_event):
2075           Don't restart typefinding on a discont.
2076         * gst/gstelement.c: (gst_element_set_state):
2077           Debug spelling fix.
2078         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2079           Allow changing mode of an active pad.
2080           Debug output fixes.
2081         * gst/registries/gstlibxmlregistry.c: (load_feature):
2082           Don't cast a static pad template to a normal pad template.
2083
2084 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2085
2086         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2087         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2088           remove gst_strtoll completely, since it didn't actually do
2089           anything more than what g_ascii_strtoull already does.
2090           check for range errors when deserializing
2091           do a cast for the unsigned cases; but further fixing needs
2092           a decision on what the interpretation of "(int)" and
2093           deserialization should be for values that fall outside the
2094           type's boundaries (ie, refuse, or interpret as casting)
2095
2096 2005-06-23  Wim Taymans  <wim@fluendo.com>
2097
2098         * check/Makefile.am:
2099         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2100         * docs/design/part-live-source.txt:
2101         * docs/design/part-states.txt:
2102         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2103         (gst_basesrc_set_live), (gst_basesrc_is_live),
2104         (gst_basesrc_get_range), (gst_basesrc_activate),
2105         (gst_basesrc_change_state):
2106         * gst/base/gstbasesrc.h:
2107         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2108         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2109         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2110         * gst/gstelement.c: (gst_element_get_state_func),
2111         (gst_element_set_state):
2112         * gst/gstelement.h:
2113         * gst/gsttypes.h:
2114         * tools/gst-launch.c: (event_loop), (main):
2115         Added support for live sources and other elements that
2116         cannot do preroll.
2117         Updated design docs, added live-source design doc.
2118         Implemented live source functionality in basesrc
2119         Fix error condition in _bin_get_state()
2120         Implement live source handling in -launch.
2121         Added check for live sources.
2122         Fixed case in GstBin where elements were changed state
2123         multiple times.
2124
2125
2126 2005-06-23  Andy Wingo  <wingo@pobox.com>
2127
2128         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2129         borken refcounting.
2130
2131         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2132         gst_caps_replace takes care of this for us.
2133
2134         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2135         gst_pad_set_caps on the target, not just its setcaps() function.
2136
2137         * tests/network-clock.scm: 
2138         * tests/network-clock-utils.scm: A network clock simulator.
2139         Something of an algorithmic testbed before doing something in C.
2140
2141 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2142
2143         * check/Makefile.am:
2144         * check/gst/capslist.h:
2145           copy over from 0.8, and add two with bitmasks specified with
2146           (int) 0xFF...
2147         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2148           add test to parse everything from capslist.h
2149         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2150         (main):
2151           add test for structure deserialization
2152         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2153           add tests for deserialization of strings to int types
2154         * gst/gststructure.c: (gst_structure_nth_field_name):
2155         * gst/gststructure.h:
2156           add a way to get the name of a field referenced by index
2157         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2158           instead of checking if the resulting long long lies between
2159           min and max, we check if the long long would fit into
2160           a number of bytes for the final type.
2161           This fixes cases where a string represents 2^32 - 1, which
2162           when cast to int would be the (valid) -1, but is bigger than
2163           G_MAXINT
2164
2165 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2166
2167         * gst/parse/grammar.y:
2168           add a log line for type deserialization
2169
2170 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2171
2172         * check/gst/gstvalue.c: (START_TEST):
2173         * gst/gstvalue.c: (gst_value_deserialize):
2174           return long long, not int, so gint64 deserialization actually
2175           works.  Is there any flag that makes the compiler check this ?
2176           Fixes #308559
2177
2178 2005-06-22  Wim Taymans  <wim@fluendo.com>
2179
2180         * gst/gstbuffer.h:
2181         Added convenience macros for setting buffers in GValue.
2182
2183 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2184
2185         * check/gst/.cvsignore:
2186         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2187           add a test deserializing int64, and comment part out because
2188           it fails, yay !
2189
2190 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2191
2192         * check/Makefile.am:
2193         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2194         * testsuite/Makefile.am:
2195         * testsuite/caps/Makefile.am:
2196         * testsuite/caps/value_serialize.c:
2197         * testsuite/test_gst_init.c:
2198           move a value_serialize test over
2199
2200 2005-06-20  Wim Taymans  <wim@fluendo.com>
2201
2202         * gst/gstpad.c:
2203         Small doc updates.
2204         
2205         * gst/gstvalue.c: (gst_value_compare_buffer),
2206         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2207         (gst_value_compare_flags), (gst_value_serialize_flags),
2208         (gst_value_deserialize_flags), (_gst_value_initialize):
2209         Fix serialisation of buffers, they are not boxed types anymore
2210
2211 2005-06-20  Wim Taymans  <wim@fluendo.com>
2212
2213         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2214         Testcase to show error in buffer-on-caps serialisation.
2215
2216 2005-06-20  Andy Wingo  <wingo@pobox.com>
2217
2218         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2219         will be adding to later.
2220
2221         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2222         if its socks fill with rocks.
2223         (gst_system_clock_obtain): Set the name on object construction.
2224         Avoid double-checked locking.
2225
2226 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2227
2228         * gst/gsturi.c: (gst_element_make_from_uri):
2229           Fix potential endless loop.
2230
2231 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2232
2233         * check/Makefile.am:
2234           add gsttag
2235         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2236         (main):
2237           move over from testsuite dir and clean up
2238         * configure.ac:
2239         * gst/gsttag.c:
2240         * testsuite/Makefile.am:
2241         * testsuite/tags/.cvsignore:
2242         * testsuite/tags/Makefile.am:
2243         * testsuite/tags/merge.c:
2244           remove testsuite/tags
2245
2246 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2247
2248         * docs/gst/gstreamer-sections.txt:
2249         * docs/gst/tmpl/gstenumtypes.sgml:
2250         * win32/gstenumtypes.c:
2251           clean up documentation build a little
2252
2253 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2254
2255         * check/gstcheck.h:
2256           add macros for checking refcounts on objects and caps
2257         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2258           add some more unit tests
2259         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2260         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2261           fix leaked refcounts (I hope :)) so unittest works
2262         * gst/gstpad.h:
2263           whitespace removal
2264
2265 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2266
2267         * configure.ac: back to HEAD
2268
2269 === release 0.9.1 ===
2270
2271 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2272
2273         * NEWS:
2274         * RELEASE:
2275           updated
2276
2277 2005-06-17  Andy Wingo  <wingo@pobox.com>
2278
2279         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2280         assert; it's always possible that the pad gets deactivated in
2281         between the checks in gstpad.c and the implementation. Rely on
2282         finish_preroll() to return a FLUSHING or similar instead of on the
2283         assert.
2284         
2285         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2286         clock and post an EOS message if we come out of finish_preroll in
2287         the playing state.
2288
2289 2005-06-16  David Schleef  <ds@schleef.org>
2290
2291         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2292         (gst_capsfilter_set_property): Allow NULL as possible value
2293         for filter_caps property, indicating GST_CAPS_ANY.
2294
2295 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2296
2297         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2298           fix debug output
2299         * gst/schedulers/Makefile.am:
2300           use libgst prefix
2301         * gstreamer.spec.in:
2302           fix spec for it
2303
2304 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2305
2306         * gstreamer.spec.in:
2307           clean up
2308
2309 2005-06-08  Andy Wingo  <wingo@pobox.com>
2310
2311         * gst/gstutils.c: RPAD fixes all around.
2312         (gst_element_link_pads): Refcounting fixes.
2313
2314         * tools/gst-inspect.c:
2315         * tools/gst-xmlinspect.c:
2316         * parse/grammar.y:
2317         * gst/base/gsttypefindhelper.c:
2318         * gst/base/gstbasesink.c:
2319         * gst/gstqueue.c: RPAD fixes.
2320
2321         * gst/gstghostpad.h:
2322         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2323         pads. The tricky thing is they provide both source and sink
2324         interfaces, since they proxy the internal pad for the external
2325         pad, and vice versa. Implement with lower-level ProxyPad objects,
2326         with the interior proxy pad as a child of the exterior ghost pad.
2327         Should write a doc on this.
2328         
2329         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2330         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2331         gst_object API.
2332         
2333         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2334         pads are real pads. No ghost pads in this file. Not documenting
2335         the myriad s/RPAD/PAD/ and REALIZE fixes.
2336         (gst_pad_class_init): Add properties for "direction" and
2337         "template". Both are construct-only, so they can't change during
2338         the life of the pad. Fixes properly deriving from GstPad.
2339         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2340         derived objects, just set properties when creating the objects via
2341         g_object_new.
2342         (gst_pad_get_parent): Implement as a function, return NULL if the
2343         parent is not an element.
2344         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2345         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2346         
2347         * gst/gstobject.c (gst_object_class_init): Make name a construct
2348         property. Don't set it in the object init.
2349
2350         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2351         with UNKNOWN direction.
2352         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2353         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2354         (gst_element_remove_pad): Remove ghost-pad special cases.
2355         (gst_element_pads_activate): Remove rpad cruft.
2356
2357         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2358         catch the pad's-parent-not-an-element case.
2359
2360         * gst/gst.h: Include gstghostpad.h.
2361
2362         * gst/gst.c (init_post): No more real, ghost pads.
2363
2364         * gst/Makefile.am: Add gstghostpad.[ch].
2365
2366         * check/Makefile.am:
2367         * check/gst/gstbin.c:
2368         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2369         into a bin creates ghost pads, and that the refcounts are right.
2370         Partly moved from gstbin.c.
2371
2372 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2373
2374         * check/gst-libs/.cvsignore:
2375         * check/gst/.cvsignore:
2376         * check/pipelines/.cvsignore:
2377           ignore more
2378         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2379         (START_TEST), (cleanup_suite), (main):
2380           add some tests related to cleanup after running pipelines
2381
2382 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2383
2384         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2385           add a testsuite for GstBuffer
2386
2387 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2388
2389         * gst/gstminiobject.h:
2390           add defines for accessing the refcount
2391
2392 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2393
2394         * Makefile.am: added support for html unit test coverage reports
2395
2396 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2397
2398         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2399           Free existing caps if the capsfilter changes. Add a FIXME about
2400           setting those caps on the pads.
2401
2402         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2403           Before adding a ghost pad to a parent bin, check that there isn't
2404           already one for the element on the bin. Prevents infinite recursion
2405           when using decodebin in parse pipelines. Andy says he'll rewrite the
2406           way this works anyway, so ignore the hack.
2407
2408 2005-06-02  Andy Wingo  <wingo@pobox.com>
2409
2410         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2411         file size, pass it on to the type find helper.
2412
2413         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2414         segment_start and segment_end properly according to the seek
2415         method. Segment_end is still a bit flaky because offset can be
2416         negative for CUR and END cases, but it takes -1 as an "unset"
2417         value.
2418
2419 2005-06-02  Wim Taymans  <wim@fluendo.com>
2420
2421         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2422         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2423         (gst_basesink_activate):
2424         * gst/base/gstbasesink.h:
2425         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2426         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2427         (gst_pad_query), (gst_pad_start_task):
2428         * gst/gstpad.h:
2429         * gst/gstqueue.c: (gst_queue_bufferalloc),
2430         (gst_queue_handle_sink_event), (gst_queue_chain):
2431         Bufferalloc: return GstFlowReturn to more accuratly report
2432         why allocation failed.
2433
2434 2005-06-02  Wim Taymans  <wim@fluendo.com>
2435
2436         * gst/gstpipeline.c: (gst_pipeline_send_event):
2437         Take snapshot of state without blocking.
2438
2439 2005-06-02  Wim Taymans  <wim@fluendo.com>
2440
2441         * docs/design/part-TODO.txt:
2442         * docs/design/part-caps.txt:
2443         * docs/design/part-clocks.txt:
2444         * docs/design/part-negotiation.txt:
2445         * docs/design/part-preroll.txt:
2446         Small doc updates 
2447
2448 2005-05-30  Wim Taymans  <wim@fluendo.com>
2449
2450         * gst/elements/gstidentity.c: (gst_identity_event),
2451         (gst_identity_transform), (gst_identity_get_property):
2452         Protect last_message property as it is accessed from
2453         multiple threads.
2454
2455 2005-05-30  Wim Taymans  <wim@fluendo.com>
2456
2457         * gst/gstelement.c: (gst_element_init),
2458         (gst_element_pads_activate), (gst_element_change_state):
2459         Slicker pad activation code.
2460
2461 2005-05-30  Wim Taymans  <wim@fluendo.com>
2462
2463         * gst/Makefile.am:
2464         * gst/gstelement.h:
2465         * gst/gstelementfactory.h:
2466         * gst/gsttypes.h:
2467         Move elementfactory methods to separate .h file.
2468
2469 2005-05-30  Wim Taymans  <wim@fluendo.com>
2470
2471         * docs/design/part-overview.txt:
2472         * gst/gstsystemclock.h:
2473         Small typo fixes, doc updates.
2474
2475 2005-05-30  Wim Taymans  <wim@fluendo.com>
2476
2477         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2478         (init_popt_callback):
2479         Remove cpu-opt flag.
2480
2481 2005-05-30  Wim Taymans  <wim@fluendo.com>
2482
2483         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2484         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2485         * gst/gstbuffer.h:
2486         Avoid typechecking in places where not needed.
2487         Added accessor for malloc_data.
2488
2489 2005-05-30  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2492         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2493         (gst_pad_configure_sink), (gst_pad_configure_src),
2494         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2495         (gst_pad_start_task):
2496         Propagate errors from _set_caps() in configure_src/sink
2497         functions instead of returning TRUE.
2498         FLUSH events can travel up and downstream
2499
2500
2501 2005-05-30  Wim Taymans  <wim@fluendo.com>
2502
2503         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2504         (gst_basesink_activate):
2505         Handle EOS in preroll.
2506
2507 2005-05-30  Wim Taymans  <wim@fluendo.com>
2508
2509         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2510         (gst_queue_loop), (gst_queue_handle_src_event):
2511         Remove old pieces of code
2512         Flushing the queue in an upstream event is a very bad idea.
2513
2514 2005-05-26  Andy Wingo  <wingo@pobox.com>
2515
2516         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2517         gst_value_set_mini_object so as to add a ref on the object (which
2518         will be removed when the value is unset).
2519
2520         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2521         arg type in ::handoff.
2522
2523         * gst/gstelement.c (gst_element_change_state): Also deactivate
2524         pads in READY->NULL, just in case the element didn't make it to
2525         PAUSED. Wingo tested, Wim approved.
2526
2527 2005-05-26  Wim Taymans  <wim@fluendo.com>
2528
2529         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2530         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2531         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2532         A flushing pad cannot be used to alloc_buffer from.
2533
2534 2005-05-26  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2537         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2538         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2539         (gst_bus_create_watch), (gst_bus_add_watch_full):
2540         * gst/gstbus.h:
2541         Implement a real GSource and use g_main_context_wakeup() to
2542         signal new messages instead of the socketpair.
2543
2544 2005-05-25  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2547         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2549         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2550         (gst_pad_send_event), (gst_pad_start_task):
2551         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2552         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2553         (gst_queue_sink_activate), (gst_queue_src_activate),
2554         (gst_queue_change_state):
2555         * gst/gstqueue.h:
2556         Fix state changes for non sinks. We now change sinks, then elements
2557         with unconnected srcpads, then the rest.
2558         More efficient queue unlocking in flush and state changes.
2559         Set the pad activate mode even if it does not have an activate
2560         function.
2561
2562 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2563
2564         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2565           Don't go in pull mode for non-seekable sources.
2566         * gst/elements/gsttypefindelement.h:
2567         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2568         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2569         (free_entry), (stop_typefinding),
2570         (gst_type_find_element_handle_event), (find_peek),
2571         (gst_type_find_element_chain), (do_pull_typefind),
2572         (gst_type_find_element_change_state):
2573           Allow typefinding (w/o seeking) in push-mode, simplified version
2574           of what was in 0.8.
2575         * gst/gstutils.c: (gst_buffer_join):
2576         * gst/gstutils.h:
2577           gst_buffer_join() from 0.8.
2578
2579 2005-05-25  Wim Taymans  <wim@fluendo.com>
2580
2581         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2582         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2583         (gst_pad_send_event), (gst_pad_start_task):
2584         Disable attempt at mode switching until it is figured out.
2585
2586 2005-05-25  Wim Taymans  <wim@fluendo.com>
2587
2588         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2589         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2590         (gst_basesink_finish_preroll), (gst_basesink_chain),
2591         (gst_basesink_loop), (gst_basesink_activate),
2592         (gst_basesink_change_state):
2593         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2594         (gst_basesrc_get_range), (gst_basesrc_loop),
2595         (gst_basesrc_activate):
2596         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2597         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2598         (gst_real_pad_init), (gst_real_pad_set_property),
2599         (gst_real_pad_get_property), (gst_pad_set_active),
2600         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2601         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2602         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2603         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2604         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2605         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2606         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2607         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2608         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2609         (gst_pad_stop_task):
2610         * gst/gstpad.h:
2611         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2612         (gst_queue_loop), (gst_queue_src_activate):
2613         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2614         (gst_task_get_state):
2615         * gst/gsttask.h:
2616         * gst/schedulers/threadscheduler.c:
2617         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2618         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2619         in task function.
2620         Remove ACTIVE pad flag, use FLUSHING everywhere
2621         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2622         functions.
2623         Add locks around IS_FLUSHING when reading.
2624         Take STREAM lock in chain(), get_range() functions so plugins
2625         don't need to take it anymore.
2626         
2627
2628
2629 2005-05-25  Wim Taymans  <wim@fluendo.com>
2630
2631         * tools/gst-launch.c: (event_loop):
2632         Unref message after using its contents instead of
2633         before.
2634
2635 2005-05-24  Wim Taymans  <wim@fluendo.com>
2636
2637         * docs/design/draft-ghostpads.txt:
2638         * docs/design/draft-push-pull.txt:
2639         * docs/design/draft-query.txt:
2640         * docs/design/part-overview.txt:
2641         Docs updates, added general overview doc.
2642
2643 2005-05-21  David Schleef  <ds@schleef.org>
2644
2645         * docs/gst/tmpl/old/GstBin.sgml:
2646         * docs/gst/tmpl/old/GstBuffer.sgml:
2647         * docs/gst/tmpl/old/GstCaps.sgml:
2648         * docs/gst/tmpl/old/GstClock.sgml:
2649         * docs/gst/tmpl/old/GstCompat.sgml:
2650         * docs/gst/tmpl/old/GstData.sgml:
2651         * docs/gst/tmpl/old/GstElement.sgml:
2652         * docs/gst/tmpl/old/GstEvent.sgml:
2653         * docs/gst/tmpl/old/GstIndex.sgml:
2654         * docs/gst/tmpl/old/GstStructure.sgml:
2655         * docs/gst/tmpl/old/GstTag.sgml:
2656         * docs/gst/tmpl/old/cothreads.sgml:
2657         * docs/gst/tmpl/old/cothreads_compat.sgml:
2658         * docs/gst/tmpl/old/gettext.sgml:
2659         * docs/gst/tmpl/old/gobject2gtk.sgml:
2660         * docs/gst/tmpl/old/grammar.tab.sgml:
2661         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2662         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2663         * docs/gst/tmpl/old/gst_private.sgml:
2664         * docs/gst/tmpl/old/gstaggregator.sgml:
2665         * docs/gst/tmpl/old/gstarch.sgml:
2666         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2667         * docs/gst/tmpl/old/gstbufferstore.sgml:
2668         * docs/gst/tmpl/old/gstdata_private.sgml:
2669         * docs/gst/tmpl/old/gstdisksink.sgml:
2670         * docs/gst/tmpl/old/gstdisksrc.sgml:
2671         * docs/gst/tmpl/old/gstelementfactory.sgml:
2672         * docs/gst/tmpl/old/gstextratypes.sgml:
2673         * docs/gst/tmpl/old/gstfakesink.sgml:
2674         * docs/gst/tmpl/old/gstfakesrc.sgml:
2675         * docs/gst/tmpl/old/gstfdsink.sgml:
2676         * docs/gst/tmpl/old/gstfdsrc.sgml:
2677         * docs/gst/tmpl/old/gstfilesink.sgml:
2678         * docs/gst/tmpl/old/gstfilesrc.sgml:
2679         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2680         * docs/gst/tmpl/old/gstidentity.sgml:
2681         * docs/gst/tmpl/old/gstindexfactory.sgml:
2682         * docs/gst/tmpl/old/gstmarshal.sgml:
2683         * docs/gst/tmpl/old/gstmd5sink.sgml:
2684         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2685         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2686         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2687         * docs/gst/tmpl/old/gstpipefilter.sgml:
2688         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2689         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2690         * docs/gst/tmpl/old/gstshaper.sgml:
2691         * docs/gst/tmpl/old/gstspider.sgml:
2692         * docs/gst/tmpl/old/gstspideridentity.sgml:
2693         * docs/gst/tmpl/old/gststatistics.sgml:
2694         * docs/gst/tmpl/old/gsttee.sgml:
2695         * docs/gst/tmpl/old/gsttimecache.sgml:
2696         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2697         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2698         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2699         * docs/gst/tmpl/old/types.sgml:
2700           I didn't intend to add these or check them in.
2701
2702 2005-05-19  David Schleef  <ds@schleef.org>
2703
2704         * configure.ac: Use -no-common everywhere.  In a sane world, it
2705           would be the default in libtool, because without it, you can't
2706           build DLLs on Windows.
2707         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2708         * docs/gst/gstreamer-sections.txt:
2709         * docs/gst/tmpl/gstcpu.sgml:
2710         * docs/gst/tmpl/gstdata.sgml:
2711         * docs/gst/tmpl/gstthread.sgml:
2712
2713 2005-05-19  David Schleef  <ds@schleef.org>
2714
2715         * gst/gstminiobject.c: (gst_value_set_mini_object),
2716         (gst_value_take_mini_object), (gst_value_get_mini_object):
2717         * gst/gstminiobject.h: Add GValue set/get functions.
2718
2719 2005-05-19  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2722         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2723         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2724         * gst/gstbuffer.h:
2725         * gst/gstbus.c: (gst_bus_post):
2726         * gst/gstelement.c: (gst_element_get_random_pad):
2727         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2728         Make subbufer unref the parent in finalize.
2729         some more debugging info.
2730
2731
2732 2005-05-19  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2735         (gst_basesink_init), (gst_basesink_finalize),
2736         (gst_basesink_activate), (gst_basesink_change_state):
2737         Don't free preroll queue too early.
2738
2739 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2740
2741         * gst/Makefile.am:
2742         * gst/ROADMAP:
2743           Hi, I'm outdated. Please shoot me.
2744
2745 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2746
2747         * gst/gstpipeline.c: (gst_pipeline_send_event):
2748           Do not access variables after they have been deleted.
2749
2750 2005-05-19  Wim Taymans  <wim@fluendo.com>
2751
2752         * tools/gst-inspect.c: (print_plugin_features):
2753         A plugin feature does unfortunatly not use the
2754         object name yet...
2755
2756 2005-05-18  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2759         Port _span() functions to new subbuffers.
2760
2761 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2762
2763         * gst/gstbin.c: (gst_bin_add_func):
2764           Fix clock settery in bins when adding kids after the clock has
2765           been selected.
2766
2767 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2768
2769         * gst/elements/gstidentity.c: (gst_identity_class_init):
2770           Workaround until signals support GstMiniObject.
2771
2772 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2773
2774         * gst/gstbuffer.c:
2775         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2776
2777 2005-05-18  Wim Taymans  <wim@fluendo.com>
2778
2779         * gst/base/Makefile.am:
2780         * gst/base/gstadapter.c: (gst_adapter_base_init),
2781         (gst_adapter_class_init), (gst_adapter_init),
2782         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2783         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2784         (gst_adapter_flush), (gst_adapter_available),
2785         (gst_adapter_available_fast):
2786         * gst/base/gstadapter.h:
2787         Ported and added adapter to the base classes.
2788
2789 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2790
2791         * gst/gst.c:
2792         * gst/gstmessage.c:
2793           Make sure the class is reffed/unreffed once before threads can be
2794           used.  Fixes #304551.
2795
2796 2005-05-17  Wim Taymans  <wim@fluendo.com>
2797
2798         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2799         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2800         * gst/gstminiobject.c: (gst_mini_object_get_type),
2801         (gst_mini_object_free):
2802         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2803         (gst_pad_push), (gst_pad_push_event):
2804         * gst/gstqueue.c: (gst_queue_change_state):
2805         Don't queue buffers in basesink when we are flushing.
2806         Unref buffer when flushing in basesink.
2807         Flush queue when going to READY
2808         Unref buffer when _push() returns an error.
2809         Don't free MiniObject instance when refcount is incremented
2810         in _finalize() so that we can recover objects.
2811
2812 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2813
2814         * docs/manual/advanced-schedulers.xml:
2815         * docs/manual/appendix-checklist.xml:
2816         * docs/pwg/advanced-clock.xml:
2817         * docs/pwg/advanced-interfaces.xml:
2818         * docs/pwg/advanced-request.xml:
2819         * docs/pwg/advanced-types.xml:
2820         * docs/pwg/intro-preface.xml:
2821         * examples/plugins/example.c: (gst_example_get_type),
2822         (gst_example_class_init), (gst_example_chain),
2823         (gst_example_set_property), (gst_example_get_property),
2824         (gst_example_change_state), (plugin_init):
2825         * examples/plugins/example.h:
2826           small doc fixes
2827
2828 2005-05-17  Wim Taymans  <wim@fluendo.com>
2829
2830         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2831         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2832         * gst/gstqueue.c: (gst_queue_change_state):
2833         Clear queue when going to READY.
2834         Remove IN_SETCAPS flag too.
2835
2836 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2837
2838         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2839           Remove implicit cast from gboolean to GstElementStateReturn;
2840           make sure we still return failure in paused => ready case if
2841           the parent class fails to change state and our own stop 
2842           vfunc succeeds.
2843
2844 2005-05-17  Wim Taymans  <wim@fluendo.com>
2845
2846         * tools/gst-launch.c: (event_loop):
2847         Message was unreffed too soon.
2848
2849 2005-05-16  Andy Wingo  <wingo@pobox.com>
2850
2851         * gst/gstbin.c (sink_iterator_filter): Err... um...
2852
2853         * check/gst/gstbin.c (test_ghost_pads): New test for the
2854         ghosting-if-elements-not-in-same-bin behavior.
2855
2856 2005-05-16  David Schleef  <ds@schleef.org>
2857
2858         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2859         accessing refcount directly.
2860
2861 2005-05-15  David Schleef  <ds@schleef.org>
2862
2863         * check/Makefile.am: remove GstData checks
2864         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2865         * gst/Makefile.am: add miniobject, remove data
2866         * gst/gst.h: add miniobject, remove data
2867         * gst/gstdata.c: remove
2868         * gst/gstdata.h: remove
2869         * gst/gstdata_private.h: remove
2870         * gst/gsttypes.h: remove GstEvent and GstMessage
2871         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2872         * gst/gstmarshal.list: change BOXED -> OBJECT
2873
2874         Implement GstMiniObject.
2875         * gst/gstminiobject.c:
2876         * gst/gstminiobject.h:
2877
2878         Modify to be subclasses of GstMiniObject.
2879         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2880         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2881         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2882         (gst_subbuffer_get_type), (gst_subbuffer_init),
2883         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2884         (gst_buffer_span):
2885         * gst/gstbuffer.h:
2886         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2887         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2888         (_gst_event_copy), (gst_event_new):
2889         * gst/gstevent.h:
2890         * gst/gstmessage.c: (_gst_message_initialize),
2891         (gst_message_get_type), (gst_message_class_init),
2892         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2893         (gst_message_new), (gst_message_new_error),
2894         (gst_message_new_warning), (gst_message_new_tag),
2895         (gst_message_new_state_changed), (gst_message_new_application):
2896         * gst/gstmessage.h:
2897         * gst/gstprobe.c: (gst_probe_perform),
2898         (gst_probe_dispatcher_dispatch):
2899         * gst/gstprobe.h:
2900         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2901         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2902         (_gst_query_copy), (gst_query_new):
2903
2904         Update elements for GstData -> GstMiniObject changes
2905         * gst/gstquery.h:
2906         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2907         (gst_queue_chain), (gst_queue_loop):
2908         * gst/elements/gstbufferstore.c:
2909         (gst_buffer_store_add_buffer_func),
2910         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2911         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2912         (gst_fakesink_render):
2913         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2914         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2915         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2916         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2917         (gst_filesrc_create_read):
2918         * gst/elements/gstidentity.c: (gst_identity_class_init):
2919         * gst/elements/gsttypefindelement.c:
2920         (gst_type_find_element_src_event), (free_entry_buffers),
2921         (gst_type_find_element_handle_event):
2922         * libs/gst/dataprotocol/dataprotocol.c:
2923         (gst_dp_header_from_buffer):
2924         * libs/gst/dataprotocol/dataprotocol.h:
2925         * libs/gst/dataprotocol/dp-private.h:
2926
2927 2005-05-15  David Schleef  <ds@schleef.org>
2928
2929         * gst/elements/gstelements.c: Don't include headers that were
2930         just removed.
2931
2932 2005-05-15  David Schleef  <ds@schleef.org>
2933
2934         * gst/elements/Makefile.am: Remove some elements that don't
2935         need to be in the core (or even exist at all).
2936         * gst/elements/gstaggregator.c:
2937         * gst/elements/gstaggregator.h:
2938         * gst/elements/gstmd5sink.c:
2939         * gst/elements/gstmd5sink.h:
2940         * gst/elements/gstmultifilesrc.c:
2941         * gst/elements/gstmultifilesrc.h:
2942         * gst/elements/gstpipefilter.c:
2943         * gst/elements/gstpipefilter.h:
2944         * gst/elements/gstshaper.c:
2945         * gst/elements/gstshaper.h:
2946         * gst/elements/gststatistics.c:
2947         * gst/elements/gststatistics.h:
2948         * po/POTFILES.in: Remove above files.
2949
2950 2005-05-14  Andy Wingo  <wingo@pobox.com>
2951
2952         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2953         so as to get the refs right.
2954         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2955         unreffing objects that don't pass the filter.
2956
2957         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2958         gst_element_set_bus.
2959         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2960         normal cases, this will destroy the bus.
2961
2962         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2963         object.
2964
2965         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2966         has no sinks.
2967
2968 2005-05-13  Andy Wingo  <wingo@pobox.com>
2969
2970         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2971         gst_pad_link, call pad_link_maybe_ghosting,
2972         (pad_link_maybe_ghosting): Links pads, making sure that the
2973         elements being linked are in the same bin.
2974         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2975         Helpers for pad_link_maybe_ghosting.
2976
2977 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * configure.ac:
2980           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2981
2982 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         * docs/design/part-element-source.txt:
2985           Mention GstPushSrc
2986
2987 2005-05-12  Wim Taymans  <wim@fluendo.com>
2988
2989         * gst/base/gstbasesink.c: (gst_basesink_init),
2990         (gst_basesink_activate):
2991         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2992         (gst_basesrc_is_seekable):
2993         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2994         (bin_element_is_sink), (gst_bin_change_state):
2995         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2996         * gst/gstelement.h:
2997         Identify sinks by their flag to avoid overly complicated
2998         checks (fow now).
2999         Do state changes even for elements not reachable from the
3000         sinks.
3001         BaseSink is a sink now :)
3002         Some more debugging info in the basesrc.
3003
3004
3005 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3006
3007         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3008           Implement _query on a bin, similar to _send_event.
3009
3010 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3011
3012         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3013           Discont event offset format should be GST_FORMAT_BYTES,
3014           not GST_FORMAT_TIME.
3015
3016 2005-05-12  Wim Taymans  <wim@fluendo.com>
3017
3018         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3019         Same fix as Ronald's but without the signal. 
3020
3021 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3022
3023         * gst/gstutils.c: (gst_element_query_position):
3024           No, an element is not a pad.
3025
3026 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3027
3028         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3029         (gst_bin_get_state):
3030           If a child is removed from a bin while we remove the child from
3031           the bin and while we're retrieving its state, signal this to the
3032           get_state function so we abort the wait (instead of waiting for
3033           a timeout) and can immediately re-iterate over all other elements.
3034
3035 2005-05-12  Wim Taymans  <wim@fluendo.com>
3036
3037         * gst/base/Makefile.am:
3038         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3039         (gst_basesrc_start):
3040         * gst/base/gstbasesrc.h:
3041         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3042         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3043         (gst_pushsrc_init), (gst_pushsrc_create):
3044         * gst/base/gstpushsrc.h:
3045         Added is_seekable to BaseSrc
3046         Added simple PushSrc.
3047
3048 2005-05-11  Wim Taymans  <wim@fluendo.com>
3049
3050         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3051         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3052         (gst_element_link_pads), (gst_element_query_position),
3053         (gst_element_query_convert), (intersect_caps_func),
3054         (gst_pad_query_position), (gst_pad_query_convert):
3055         Fix refcounting in utils function.
3056         No point in trying to activate a pad when it's added, it could
3057         be added from the state change function and then we deadlock, the
3058         element has to decide what to do.
3059
3060 2005-05-10  Andy Wingo  <wingo@pobox.com>
3061
3062         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3063         *all* the arguments.
3064
3065         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3066         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3067         lock (according to the docs -- if this is wrong change the docs).
3068
3069         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3070         flush messages in the NULL state.
3071
3072         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3073         message immediately and return.
3074         (gst_bus_set_flushing): New function. If a bus is flushing, it
3075         flushes out any queued messages and immediately unrefs new
3076         messages. This is so when an element goes to NULL, all of the
3077         unhandled messages coming from it can be freed, and their
3078         references to the element dropped. In other words: message source
3079         ref considered harmful :P
3080
3081         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3082         we're finished with it.
3083
3084         * gst/gstmessage.c (gst_message_new_state_changed): 
3085
3086 2005-05-10  Wim Taymans  <wim@fluendo.com>
3087
3088         * gst/gstvalue.c: (gst_value_compare_flags),
3089         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3090         (_gst_value_initialize):
3091         Added flags serialize/deserialize/compare code.
3092
3093 2005-05-09  Andy Wingo  <wingo@pobox.com>
3094
3095         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3096         Intersect the peer's caps with our caps.
3097
3098 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3099
3100         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3101         * gst/elements/gsttypefindelement.c: (find_peek):
3102           Handle negative offsets better. Fixes decodebin.
3103
3104 2005-05-09  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3107         (gst_base_transform_event):
3108         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3109         Implement accept_caps.
3110         Fix silly lock/unlock mismatch in base class.
3111
3112 2005-05-09  Wim Taymans  <wim@fluendo.com>
3113
3114         * docs/design/draft-push-pull.txt:
3115         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3116         * gst/elements/gstfilesink.c: (gst_filesink_init),
3117         (gst_filesink_query):
3118         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3119         (gst_type_find_handle_src_query), (find_element_get_length):
3120         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3121         * gst/gstelement.h:
3122         * gst/gstmessage.c:
3123         * gst/gstmessage.h:
3124         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3125         (gst_real_pad_get_caps_unlocked),
3126         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3127         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3128         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3129         (gst_real_pad_dispose), (gst_real_pad_finalize),
3130         (gst_pad_load_and_link), (gst_pad_save_thyself),
3131         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3132         (gst_pad_check_pull_range), (gst_pad_pull_range),
3133         (gst_pad_template_get_type), (gst_pad_template_class_init),
3134         (gst_pad_template_init), (gst_pad_template_dispose),
3135         (name_is_valid), (gst_static_pad_template_get),
3136         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3137         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3138         (gst_pad_get_element_private), (gst_pad_start_task),
3139         (gst_pad_pause_task), (gst_pad_stop_task),
3140         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3141         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3142         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3143         (gst_ghost_pad_new):
3144         * gst/gstpad.h:
3145         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3146         (gst_query_new_position), (gst_query_set_position),
3147         (gst_query_parse_position), (gst_query_new_convert),
3148         (gst_query_set_convert), (gst_query_parse_convert):
3149         * gst/gstquery.h:
3150         * gst/gstqueryutils.c:
3151         * gst/gstqueryutils.h:
3152         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3153         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3154         (gst_queue_handle_src_query):
3155         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3156         (gst_element_query_position), (gst_element_query_convert),
3157         (intersect_caps_func), (gst_pad_query_position),
3158         (gst_pad_query_convert):
3159         * gst/gstutils.h:
3160         * tools/gst-inspect.c: (print_pad_info):
3161         * tools/gst-xmlinspect.c: (print_element_info):
3162         Remove old query functions. Ported old code.
3163         Added position/convert helper functions to gstutils.
3164         Reordered gstpad.c code, grouping relevant things.
3165         Remove gst_message_new(), always need to speficy a specific
3166         message.
3167
3168
3169 2005-05-09  Andy Wingo  <wingo@pobox.com>
3170
3171         * gst/gstiterator.h: Add some includes.
3172
3173         * gst/gstqueryutils.h: Include more headers.
3174
3175         * gst/gstpad.h:
3176         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3177         some uses of gst_pad_query.
3178
3179         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3180         NULL out parameters.
3181         (gst_query_new_position): New proc, allocates a new position
3182         query.
3183
3184         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3185         gstqueryutils.c to the build.
3186
3187         * gst/gststructure.c (gst_structure_set_valist): Implement with
3188         the generic G_VALUE_COLLECT.
3189         
3190 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3191
3192         * gst/Makefile.am: (gst_headers):
3193         Added gstqueryutils.h to the list of headers to install, that was
3194         a 'nachty' move wingo :)
3195
3196 2005-05-06  Andy Wingo  <wingo@pobox.com>
3197
3198         * gst/gstquery.h
3199         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3200         GstData, init a memchunk.
3201         (standard_definitions): Add a few query types, deprecate a few.
3202         (gst_query_get_type): New proc.
3203         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3204         implementation.
3205         (gst_query_new_application, gst_query_get_structure): New public
3206         procs.
3207
3208         * docs/design/draft-query.txt: Removed LINKS from the query types,
3209         because all the rest can be dispatched to other pads -- seemed
3210         ugly to have a query that couldn't be dispatched. internal_links
3211         is fine as a pad method.
3212
3213         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3214         in gstpad.c, but maintain binary compatibility for the moment.
3215         Will fix before 0.9 is out.
3216
3217         * gst/gstqueryutils.c: 
3218         * gst/gstqueryutils.h: New files, implement 3 methods for each
3219         query type: parse_query, parse_response, and set. Probably need an
3220         allocator as well.
3221
3222         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3223
3224         * gst/elements/gstfilesink.c (gst_filesink_query2):
3225         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3226         query_types, and formats methods.
3227
3228         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3229         (gst_pad_set_query2_function): New functions.
3230         (gst_real_pad_init): Set query2_default as the default query2
3231         function. Basically just dispatches to internally linked pads.
3232
3233         Needs review!
3234         
3235         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3236         without using the atomic operations. Only one thread can possibly
3237         be accessing the data at this point. Changed so as to avoid
3238         gst_atomic operations.
3239
3240 2005-05-06  Wim Taymans  <wim@fluendo.com>
3241
3242         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3243         Also set caps if we use the fallback buffer alloc.
3244
3245 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3246
3247         * docs/gst/Makefile.am:
3248         * docs/gst/gstreamer-docs.sgml:
3249         * docs/gst/gstreamer-sections.txt:
3250         * docs/gst/tmpl/gstatomic.sgml:
3251         * docs/gst/tmpl/gstmemchunk.sgml:
3252         * testsuite/elements/struct_i386.h:
3253         * win32/GStreamer.vcproj:
3254         * win32/Makefile:
3255           Purge GstAtomic stuff from docs and win32 makefiles as well
3256
3257 2005-05-06  Wim Taymans  <wim@fluendo.com>
3258
3259         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3260         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3261         * gst/gstpad.c: (gst_pad_peer_get_caps):
3262         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3263         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3264         (gst_queue_src_activate), (gst_queue_change_state):
3265         * gst/gstqueue.h:
3266         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3267         (intersect_caps_func):
3268         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3269         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3270         Some fixes for the peer_get_caps() change.
3271
3272 2005-05-06  Wim Taymans  <wim@fluendo.com>
3273
3274         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3275         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3276         (gst_basesink_activate):
3277         Actually do something with error codes returned from the push
3278         functions.
3279
3280 2005-05-06  Wim Taymans  <wim@fluendo.com>
3281
3282         * docs/design/part-element-sink.txt:
3283         * docs/design/part-element-source.txt:
3284         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3285         (gst_basesink_event), (gst_basesink_activate):
3286         * gst/base/gstbasesink.h:
3287         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3288         (gst_basesrc_activate):
3289         * gst/base/gstbasesrc.h:
3290         * gst/gstelement.c: (gst_element_pads_activate):
3291         Some more documentation.
3292         Fixed scheduling decision in _pads_activate().
3293
3294 2005-05-05  Andy Wingo  <wingo@pobox.com>
3295
3296         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3297         the test suite.
3298
3299 2005-05-05  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/base/Makefile.am:
3302         * gst/base/gstbasesink.h:
3303         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3304         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3305         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3306         (gst_collectpads_class_init), (gst_collectpads_init),
3307         (gst_collectpads_finalize), (gst_collectpads_new),
3308         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3309         (find_pad), (gst_collectpads_remove_pad),
3310         (gst_collectpads_is_active), (gst_collectpads_collect),
3311         (gst_collectpads_collect_range), (gst_collectpads_start),
3312         (gst_collectpads_stop), (gst_collectpads_peek),
3313         (gst_collectpads_pop), (gst_collectpads_available),
3314         (gst_collectpads_read), (gst_collectpads_flush),
3315         (gst_collectpads_chain):
3316         * gst/base/gstcollectpads.h:
3317         * gst/elements/Makefile.am:
3318         * gst/elements/gstelements.c:
3319         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3320         (gst_fakesink_get_times), (gst_fakesink_event),
3321         (gst_fakesink_preroll), (gst_fakesink_render):
3322         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3323         (gst_filesink_init), (gst_filesink_set_location),
3324         (gst_filesink_open_file), (gst_filesink_close_file),
3325         (gst_filesink_pad_query), (gst_filesink_event),
3326         (gst_filesink_render), (gst_filesink_change_state):
3327         * gst/elements/gstfilesink.h:
3328         Added object to help in making collect pad based elements.
3329         Ported filesink.
3330         Make event function in sink baseclass return gboolean.
3331
3332 2005-05-05  Wim Taymans  <wim@fluendo.com>
3333
3334         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3335         (gst_bin_get_by_name):
3336         * gst/gstbuffer.h:
3337         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3338         (gst_clock_finalize):
3339         * gst/gstdata.c: (gst_data_replace):
3340         * gst/gstdata.h:
3341         * gst/gstelement.c: (gst_element_request_pad),
3342         (gst_element_pads_activate):
3343         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3344         (gst_object_unref):
3345         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3346         (gst_pad_set_checkgetrange_function),
3347         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3348         (gst_pad_check_pull_range), (gst_pad_pull_range),
3349         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3350         (gst_pad_pause_task), (gst_pad_stop_task):
3351         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3352         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3353         Fix name lookup in GstBin.
3354         Added _data_replace() function and _buffer_replace()
3355         Use finalize method to clean up clock.
3356         Fix refcounting on request pads.
3357         Fix pad schedule mode error.
3358         Some more object refcounting debug info,
3359
3360
3361 2005-05-04  Andy Wingo <wingo@pobox.com>
3362
3363         * check/Makefile.am:
3364         * docs/gst/tmpl/gstatomic.sgml:
3365         * docs/gst/tmpl/gstplugin.sgml:
3366         * gst/base/gstbasesink.c: (gst_basesink_activate):
3367         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3368         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3369         (gst_basesrc_query), (gst_basesrc_set_property),
3370         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3371         (gst_basesrc_activate):
3372         * gst/base/gstbasesrc.h:
3373         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3374         (gst_base_transform_src_activate):
3375         * gst/elements/gstelements.c:
3376         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3377         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3378         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3379         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3380         (gst_type_find_element_checkgetrange),
3381         (gst_type_find_element_activate):
3382         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3383         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3384         (gst_caps_load_thyself):
3385         * gst/gstelement.c: (gst_element_pads_activate),
3386         (gst_element_save_thyself), (gst_element_restore_thyself):
3387         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3388         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3389         * gst/gstpad.h:
3390         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3391         (gst_xml_parse_file), (gst_xml_parse_memory),
3392         (gst_xml_get_element), (gst_xml_make_element):
3393         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3394         (_file_index_id_save_xml), (gst_file_index_commit):
3395         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3396         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3397         (load_paths):
3398         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3399         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3400         * tools/gst-complete.c: (main):
3401         * tools/gst-compprep.c: (main):
3402         * tools/gst-inspect.c: (print_element_properties_info):
3403         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3404         * tools/gst-xmlinspect.c: (print_element_properties):
3405         GCC 4 fixen.
3406         
3407 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3408
3409         * gst/gstplugin.c: (gst_plugin_check_module),
3410         (gst_plugin_check_file), (gst_plugin_load_file):
3411             apply patch from #172526 to make register work on MacOSX
3412
3413 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3414
3415         * docs/gst/tmpl/gstconfig.sgml:
3416         * gst/gstconfig.h.in:
3417           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3418         * testsuite/debug/printf_extension.c: (main):
3419           Do not use GST_PTR_FORMAT on pointers to types with
3420           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3421         * testsuite/elements/property.h:
3422           use correct printf format
3423
3424 2005-05-02  Wim Taymans  <wim@fluendo.com>
3425
3426         * docs/design/draft-push-pull.txt:
3427         * docs/design/draft-query.txt:
3428         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3429         (gst_basesrc_start):
3430         Added draft for new query API.
3431         Added draft for better selecting scheduling methods.
3432         Make basesrc ignore length if the subclass does not support
3433         it.
3434
3435 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3436
3437         * gst/Makefile.am:
3438           possible fixes for automake-1.5 - _LIBADD is reserved
3439
3440 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3441
3442         * docs/faq/Makefile.am:
3443         * docs/manual/Makefile.am:
3444         * docs/manuals.mak:
3445         * docs/pwg/Makefile.am:
3446         * gst/Makefile.am:
3447           possible fixes for automake-1.5
3448
3449 2005-04-28  Wim Taymans  <wim@fluendo.com>
3450
3451         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3452         (gst_basesink_pad_getcaps), (gst_basesink_init),
3453         (gst_basesink_do_sync):
3454         * gst/gstclock.c: (gst_clock_entry_new):
3455         * gst/gstevent.c: (gst_event_discont_get_value):
3456         * gst/gstpipeline.c: (pipeline_bus_handler),
3457         (gst_pipeline_change_state):
3458         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3459         Better debugging of clocking info.
3460         Allow NULL values when getting discont values.
3461
3462 2005-04-27  Wim Taymans  <wim@fluendo.com>
3463
3464         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3465         * check/gst/gstpad.c: (gst_pad_suite):
3466         Increase timeout for checks.
3467
3468 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3469
3470         * check/Makefile.am:
3471           fix the broken rule for cleanup.  Apparently this rule is
3472           only needed on FC2, so maybe this warrants further autotool
3473           inspection.
3474
3475 2005-04-26  Wim Taymans  <wim@fluendo.com>
3476
3477         * gst/gsttrashstack.h:
3478         Ooohh. a nasty one! After having a failed pop() from the stack,
3479         it's possible that the stack is empty. In that case, don't
3480         follow the NULL pointer.
3481
3482 2005-04-25  Wim Taymans  <wim@fluendo.com>
3483
3484         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3485         (gst_pad_set_checkgetrange_function),
3486         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3487         (gst_pad_check_pull_range), (gst_pad_pull_range),
3488         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3489         (gst_pad_pause_task), (gst_pad_stop_task):
3490         * gst/gstplugin.c: (gst_plugin_load):
3491         * gst/gstplugin.h:
3492         Remove gst_library_load as it does more harm than good with
3493         the new g_module flags.
3494         Revert bogus caps template check in pad linking, pad caps
3495         are important when linking not the template, which is more
3496         general than the current caps.
3497
3498 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3499
3500         * gst/autoplug/.cvsignore:
3501         * gst/autoplug/Makefile.am:
3502         * gst/autoplug/gstsearchfuncs.c:
3503         * gst/autoplug/gstsearchfuncs.h:
3504         * gst/autoplug/gstspider.c:
3505         * gst/autoplug/gstspider.h:
3506         * gst/autoplug/gstspideridentity.c:
3507         * gst/autoplug/gstspideridentity.h:
3508         * gst/autoplug/spidertest.c:
3509           Die, spider, die.
3510
3511 2005-04-25  Wim Taymans  <wim@fluendo.com>
3512
3513         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3514         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3515         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3516         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3517         * gst/gstpad.h:
3518         Added stubs for unimplemented functions. 
3519
3520 2005-04-24  David Schleef  <ds@schleef.org>
3521
3522         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3523         please fix.
3524
3525 2005-04-24  David Schleef  <ds@schleef.org>
3526
3527         Convert everything from GstAtomicInt to g_atomic_int_*, and
3528         remove gstatomic.
3529         * gst/Makefile.am:
3530         * gst/gstatomic.c:
3531         * gst/gstatomic.h:
3532         * gst/gstatomic_impl.h:
3533         * gst/gstbuffer.c:
3534         * gst/gstcaps.c:
3535         * gst/gstcaps.h:
3536         * gst/gstclock.c:
3537         * gst/gstclock.h:
3538         * gst/gstdata.c:
3539         * gst/gstdata.h:
3540         * gst/gstdata_private.h:
3541         * gst/gstevent.c:
3542         * gst/gstinfo.c:
3543         * gst/gstinfo.h:
3544         * gst/gstmessage.c:
3545         * gst/gstobject.c:
3546         * gst/gstobject.h:
3547         * gst/gststructure.c:
3548         * gst/gststructure.h:
3549         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3550         * gst/gstutils.h:
3551
3552 2005-04-24  David Schleef  <ds@schleef.org>
3553
3554         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3555         make the regressions tests work.  Remove some code that is no
3556         longer true.
3557         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3558         Disable warning for pads without templates.
3559
3560 2005-04-24  David Schleef  <ds@schleef.org>
3561
3562         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3563         functions that handle filtered links.
3564         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3565         removed functions.
3566         * gst/gstutils.c: Fix/remove utility functions that handle
3567         filtered caps.
3568         * gst/gstutils.h:
3569         * gst/gstvalue.c: Add serialization/deserialization of caps
3570         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3571         requires fixing so that the filter caps notation creates
3572         a capsfilter element and sets the filter_caps property.  I
3573         think everyone probably wants to keep the shorthand notation.
3574         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3575         * docs/gst/tmpl/gstpad.sgml:
3576
3577         * gst/elements/gstelements.c: Register capsfilter element.
3578         * gst/Makefile.am: fix spacing
3579         * docs/random/ds/0.9-suggested-changes: random
3580
3581 2005-04-23  David Schleef  <ds@schleef.org>
3582
3583         * gst/elements/Makefile.am:
3584         * gst/elements/gstcapsfilter.c: New element that acts like an
3585         identity, but filters caps.  Will eventually replace filtered
3586         caps in pad linking.
3587         * gst/gstutils.c: (gst_element_create_all_pads): New function
3588         to create all the ALWAYS pads that are registered with an
3589         element class.  This functionality should eventually be
3590         merged in with GstElement initialization.
3591         * gst/gstutils.h:
3592         * testsuite/trigger/README: part of trigger test code that should
3593         have been checked in a long time ago.
3594
3595 2005-04-23  David Schleef  <ds@schleef.org>
3596
3597         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3598         needed with new versions of libtool (nobody will confirm this),
3599         and hard to carry around.
3600         * gst/autoplug/Makefile.am:
3601         * gst/base/Makefile.am:
3602         * gst/elements/Makefile.am:
3603         * gst/indexers/Makefile.am:
3604         * gst/schedulers/Makefile.am:
3605         * libs/gst/bytestream/Makefile.am:
3606         * libs/gst/control/Makefile.am:
3607         * libs/gst/dataprotocol/Makefile.am:
3608         * libs/gst/getbits/Makefile.am:
3609
3610 2005-04-21  Wim Taymans  <wim@fluendo.com>
3611
3612         * docs/design/draft-push-pull.txt:
3613         * docs/design/part-MT-refcounting.txt:
3614         * docs/design/part-TODO.txt:
3615         * docs/design/part-caps.txt:
3616         * docs/design/part-events.txt:
3617         * docs/design/part-gstbus.txt:
3618         * docs/design/part-gstpipeline.txt:
3619         * docs/design/part-messages.txt:
3620         * docs/design/part-push-pull.txt:
3621         * docs/design/part-query.txt:
3622         Some more docs.
3623
3624 2005-04-21  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3627         (gst_message_new), (gst_message_new_error),
3628         (gst_message_new_warning), (gst_message_new_tag),
3629         (gst_message_new_state_changed), (gst_message_new_application),
3630         (gst_message_get_structure):
3631         * gst/gstmessage.h:
3632         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3633         (gst_structure_copy_conditional):
3634         Use parent refcount in GstMessage to ensure GstStructure
3635         consistency.
3636         Cleaned up headers a bit.
3637         
3638
3639 2005-04-20  Wim Taymans  <wim@fluendo.com>
3640
3641         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3642         (gst_basesink_pad_getcaps), (gst_basesink_init),
3643         (gst_basesink_chain_unlocked):
3644         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3645         (gst_type_find_helper):
3646         * gst/elements/gsttypefindelement.c:
3647         (gst_type_find_element_have_type), (gst_type_find_element_init),
3648         (stop_typefinding), (gst_type_find_element_handle_event),
3649         (find_suggest), (gst_type_find_element_chain),
3650         (gst_type_find_element_checkgetrange),
3651         (gst_type_find_element_getrange), (do_typefind),
3652         (gst_type_find_element_activate):
3653         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3654         (gst_buffer_default_free), (gst_buffer_default_copy),
3655         (gst_buffer_set_caps):
3656         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3657         (gst_caps_replace):
3658         * gst/gstmessage.c: (gst_message_new),
3659         (gst_message_new_state_changed):
3660         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3661         (gst_pad_set_checkgetrange_function),
3662         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3663         (gst_pad_set_caps), (gst_pad_check_pull_range),
3664         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3665         * gst/gstpad.h:
3666         * gst/gsttypefind.c: (gst_type_find_register):
3667         Make gst_caps_replace() work like other _replace() functions.
3668         Use _caps_replace() where possible.
3669         Make sure _message_new() initialises its field.
3670         Add gst_static_pad_template_get_caps()
3671
3672
3673 2005-04-18  Andy Wingo  <wingo@pobox.com>
3674
3675         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3676         on the peer, not the pad. I think that was a typo. Pass an extra
3677         arg to see if random access is possible. Activate the pads as
3678         PULL_RANGE if possible.
3679
3680         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3681
3682         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3683         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3684         to PROP_....
3685
3686 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3687
3688         * docs/faq/using.xml:
3689           Add note on gstreamer-properties (#154996).
3690
3691 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3692
3693         * docs/random/bbb/optional-properties:
3694           Some analysis on optional properties.
3695
3696 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3697
3698         * docs/gst/tmpl/gstelementfactory.sgml:
3699         * gst/gstelement.h:
3700         * gst/gstelementfactory.c: (gst_element_factory_init),
3701         (gst_element_factory_cleanup), (gst_element_register),
3702         (__gst_element_factory_add_static_pad_template),
3703         (gst_element_factory_get_static_pad_templates),
3704         (gst_element_factory_can_src_caps),
3705         (gst_element_factory_can_sink_caps):
3706         * gst/registries/Makefile.am:
3707         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3708         (gst_xml_registry_class_init), (gst_xml_registry_init),
3709         (gst_xml_registry_new), (gst_xml_registry_set_property),
3710         (gst_xml_registry_get_property), (get_time), (make_dir),
3711         (gst_xml_registry_get_perms_func),
3712         (plugin_times_older_than_recurse), (plugin_times_older_than),
3713         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3714         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3715         (add_to_char_array), (read_string), (read_uint), (read_enum),
3716         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3717         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3718         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3719         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3720         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3721         (gst_xml_registry_rebuild):
3722         * gst/registries/gstlibxmlregistry.h:
3723         * tools/gst-compprep.c: (main):
3724         * tools/gst-inspect.c: (print_pad_templates_info):
3725         * tools/gst-xmlinspect.c: (print_element_info):
3726           Use libxml2 for registry parsing, use staticpadtemplates in
3727           elementfactories. Makes gst_init() +/- 10x faster.
3728
3729 2005-04-12  Wim Taymans  <wim@fluendo.com>
3730
3731         * gst/base/Makefile.am:
3732         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3733         (gst_basesink_pad_getcaps), (gst_basesink_init),
3734         (gst_basesink_event), (gst_basesink_change_state):
3735         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3736         (gst_basesrc_init), (gst_basesrc_query),
3737         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3738         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3739         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3740         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3741         (gst_basesrc_stop), (gst_basesrc_activate),
3742         (gst_basesrc_change_state):
3743         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3744         (helper_find_suggest), (gst_type_find_helper):
3745         * gst/base/gsttypefindhelper.h:
3746         * gst/elements/Makefile.am:
3747         * gst/elements/gstelements.c:
3748         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3749         (gst_fakesink_get_times), (gst_fakesink_event),
3750         (gst_fakesink_preroll), (gst_fakesink_render):
3751         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3752         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3753         (gst_fakesrc_get_property), (gst_fakesrc_create),
3754         (gst_fakesrc_start), (gst_fakesrc_stop):
3755         * gst/elements/gstfakesrc.h:
3756         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3757         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3758         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3759         (gst_filesrc_create_read), (gst_filesrc_create),
3760         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3761         (gst_filesrc_start):
3762         * gst/elements/gsttypefindelement.c:
3763         (gst_type_find_element_have_type), (gst_type_find_element_init),
3764         (start_typefinding), (stop_typefinding), (push_buffer_store),
3765         (gst_type_find_element_handle_event),
3766         (gst_type_find_element_chain),
3767         (gst_type_find_element_checkgetrange),
3768         (gst_type_find_element_getrange), (do_typefind),
3769         (gst_type_find_element_activate),
3770         (gst_type_find_element_change_state):
3771         * gst/elements/gsttypefindelement.h:
3772         * gst/gstpipeline.c: (pipeline_bus_handler):
3773         Added typefind helper.
3774         Small preroll fix in the base sink.
3775         Disable typefind code in basesrc.
3776         Crude port of typefindelement.
3777         Fakesrc cleanups.
3778
3779
3780 2005-04-11  Wim Taymans  <wim@fluendo.com>
3781
3782         * check/gst/gstbus.c: (gstbus_suite):
3783         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3784         * check/gstcheck.h:
3785           Fix up the timeout so that the test does not fail.
3786
3787 2005-04-06  Wim Taymans  <wim@fluendo.com>
3788
3789         * gst/base/README:
3790         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3791         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3792         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3793         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3794         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3795         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3796         (gst_basesrc_stop), (gst_basesrc_activate),
3797         (gst_basesrc_change_state), (basesrc_find_peek),
3798         (basesrc_find_suggest), (gst_basesrc_type_find):
3799         * gst/base/gstbasesrc.h:
3800         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3801         (gst_filesrc_class_init), (gst_filesrc_init),
3802         (gst_filesrc_finalize), (gst_filesrc_set_location),
3803         (gst_filesrc_set_property), (gst_filesrc_get_property),
3804         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3805         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3806         (gst_filesrc_create_read), (gst_filesrc_create),
3807         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3808         * gst/elements/gstfilesrc.h:
3809         * gst/gstelement.c: (gst_element_get_state_func),
3810         (gst_element_lost_state), (gst_element_pads_activate):
3811         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3812         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3813         (gst_pad_pull_range):
3814         * gst/gstpad.h:
3815         More work on the generic source base class, implement seeking,
3816         query.
3817         Make filesrc extend the base source class.
3818         Added gst_pad_set_checkgetrange_function to GstPad.
3819
3820 2005-04-06  Andy Wingo  <wingo@pobox.com>
3821
3822         * pkgconfig/gstreamer-base.pc.in:
3823         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3824
3825         * pkgconfig/Makefile.am:
3826         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3827
3828 2005-04-04  Wim Taymans  <wim@fluendo.com>
3829
3830         * gst/base/Makefile.am:
3831         * gst/base/README:
3832         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3833         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3834         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3835         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3836         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3837         (gst_basesrc_base_init), (gst_basesrc_class_init),
3838         (gst_basesrc_init), (gst_basesrc_get_formats),
3839         (gst_basesrc_get_query_types), (gst_basesrc_query),
3840         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3841         (gst_basesrc_set_property), (gst_basesrc_get_property),
3842         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3843         (gst_basesrc_loop), (gst_basesrc_activate),
3844         (gst_basesrc_change_state):
3845         * gst/base/gstbasesrc.h:
3846         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3847         (gst_fakesrc_class_init), (gst_fakesrc_init),
3848         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3849         (gst_fakesrc_get_property), (gst_fakesrc_create):
3850         * gst/elements/gstfakesrc.h:
3851         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3852         (gst_filesrc_open_file), (gst_filesrc_loop),
3853         (gst_filesrc_activate), (filesrc_find_peek),
3854         (gst_filesrc_type_find):
3855         Made base source class, make fakesrc extend it.
3856         Add comments to basesink class.
3857         Some filesrc cleanup.
3858
3859 2005-03-31  David Schleef  <ds@schleef.org>
3860
3861         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3862         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3863         expected to link against libgstreamer.
3864         * gst/base/Makefile.am: link against libgstreamer
3865         * gst/elements/Makefile.am: same
3866
3867 2005-03-31  Andy Wingo  <wingo@pobox.com>
3868
3869         * tests/instantiate/Makefile.am:
3870         * tests/instantiate/caps.c: Add test to test speed of caps copy
3871         and free.
3872
3873         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3874         GMemChunk to be fair.
3875
3876         * gst/gsttrashstack.h: Remove warning about using the fallback
3877         trash stack implementation, it's still faster than malloc.
3878
3879 2005-03-30  Andy Wingo  <wingo@pobox.com>
3880
3881         * tests/complexity.c: Add a copyright.
3882
3883 2005-03-31  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3886         (gst_base_transform_class_init), (gst_base_transform_init),
3887         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3888         (gst_base_transform_get_property),
3889         (gst_base_transform_sink_activate),
3890         (gst_base_transform_src_activate),
3891         (gst_base_transform_change_state):
3892         * gst/base/gstbasetransform.h:
3893         * gst/elements/gstidentity.c: (gst_identity_class_init),
3894         (gst_identity_event), (gst_identity_check_perfect),
3895         (gst_identity_transform), (gst_identity_start),
3896         (gst_identity_stop):
3897         Added start/stop methods to transform base class so subclasses 
3898         don't need to deal with state changes even.
3899
3900 2005-03-31  Wim Taymans  <wim@fluendo.com>
3901
3902         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3903         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3904         * gst/gstevent.h:
3905         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3906         (gst_pad_pull_range):
3907         Added rate to the discont event to prepare for variable speed
3908         and reverse playback.
3909
3910 2005-03-29  David Schleef  <ds@schleef.org>
3911
3912         * configure.ac:
3913         * testsuite/trigger/Makefile.am:
3914         * testsuite/trigger/trigger.c: A little example program to show
3915         how trigger-based elements can work.
3916
3917 2005-03-29  Wim Taymans  <wim@fluendo.com>
3918
3919         * gst/base/Makefile.am:
3920         * gst/base/README:
3921         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3922         (gst_basesink_base_init), (gst_basesink_class_init),
3923         (gst_basesink_pad_getcaps), (gst_basesink_init),
3924         (gst_basesink_activate), (gst_basesink_change_state):
3925         * gst/base/gstbasesink.h:
3926         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3927         (gst_base_transform_base_init), (gst_base_transform_finalize),
3928         (gst_base_transform_class_init), (gst_base_transform_init),
3929         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3930         (gst_base_transform_event), (gst_base_transform_getrange),
3931         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3932         (gst_base_transform_set_property),
3933         (gst_base_transform_get_property),
3934         (gst_base_transform_sink_activate),
3935         (gst_base_transform_src_activate),
3936         (gst_base_transform_change_state):
3937         * gst/base/gstbasetransform.h:
3938         * gst/elements/gstidentity.c: (gst_identity_finalize),
3939         (gst_identity_class_init), (gst_identity_init),
3940         (gst_identity_event), (gst_identity_check_perfect),
3941         (gst_identity_transform), (gst_identity_set_property),
3942         (gst_identity_get_property), (gst_identity_change_state):
3943         * gst/elements/gstidentity.h:
3944         * gst/gstelement.c: (gst_element_get_state_func),
3945         (gst_element_lost_state), (gst_element_pads_activate):
3946         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3947         (gst_pad_check_pull_range), (gst_pad_pull_range):
3948         * gst/gstpad.h:
3949         Simplify pad activation.
3950         Added function to check if pull_range can be performed.
3951         Error out when pulling inactive or flushing pads.
3952         Removed const from refcounted types as it does not make sense.
3953         Simplify pad templates in basesink
3954         Added base class for simple 1-to-1 transforms.
3955         Make identity subclass the base transform.
3956
3957 2005-03-29  Andy Wingo  <wingo@pobox.com>
3958
3959         * docs/libs/gstreamer-libs-overrides.txt: 
3960         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3961         really don't understand what's going on, but like whatever. I want
3962         green buildbot!
3963
3964         * docs/gst/Makefile.am:
3965         * docs/libs/Makefile.am: Dist the overrides files.
3966
3967         * check/Makefile.am (clean-local): Remove .libs directories.
3968
3969         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3970         elements to EXTRA_DIST, so po/ files are happy.
3971
3972         * po/POTFILES.in: Er, remove it here.
3973
3974         * po/POTFILES: Remove gstspider.c.
3975
3976         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3977
3978         * docs/libs/gstreamer-libs-docs.sgml: 
3979         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3980         bytestream.
3981
3982         * tests/complexity.c (main): Set the length of the preroll queue
3983         on the sinks to prevent a lockup.
3984
3985         * libs/gst/dataprotocol/Makefile.am: 
3986         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3987         the same as the one in check/gst-libs/gdp.c.
3988
3989         * po/, docs/gst/: Commit automatic changes to docs and po files.
3990
3991         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3992         the versioned libgstbase.
3993
3994         * check/Makefile.am: Depend on an unversioned gst-register, seems
3995         to make autoconf happier.
3996
3997         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3998
3999 2005-03-28  Wim Taymans  <wim@fluendo.com>
4000
4001         * configure.ac:
4002         * docs/design/part-gstelement.txt:
4003         * docs/design/part-negotiation.txt:
4004         * docs/design/part-preroll.txt:
4005         * docs/design/part-scheduling.txt:
4006         * docs/design/part-states.txt:
4007         * gst/Makefile.am:
4008         * gst/base/Makefile.am:
4009         * gst/base/README:
4010         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4011         (gst_basesink_base_init), (gst_basesink_class_init),
4012         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4013         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4014         (gst_basesink_set_pad_functions),
4015         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4016         (gst_basesink_set_property), (gst_basesink_get_property),
4017         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4018         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4019         (gst_basesink_preroll_queue_push),
4020         (gst_basesink_preroll_queue_empty),
4021         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4022         (gst_basesink_event), (gst_basesink_get_times),
4023         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4024         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4025         (gst_basesink_loop), (gst_basesink_activate),
4026         (gst_basesink_change_state):
4027         * gst/base/gstbasesink.h:
4028         * gst/elements/Makefile.am:
4029         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4030         (gst_fakesink_class_init), (gst_fakesink_init),
4031         (gst_fakesink_set_property), (gst_fakesink_get_property),
4032         (gst_fakesink_get_times), (gst_fakesink_event),
4033         (gst_fakesink_preroll), (gst_fakesink_render),
4034         (gst_fakesink_change_state):
4035         * gst/elements/gstfakesink.h:
4036         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4037         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4038         * gst/gstelement.c: (gst_element_add_pad),
4039         (gst_element_get_state_func), (gst_element_abort_state),
4040         (gst_element_commit_state), (gst_element_lost_state),
4041         (gst_element_set_state), (gst_element_pads_activate):
4042         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4043         * gst/gstpipeline.c: (gst_pipeline_send_event),
4044         (gst_pipeline_change_state):
4045         Added state change code.
4046         Added/updated docs.
4047         Added sink base class, make fakesink extend the base class.
4048         Small cleanups in GstPipeline.
4049
4050 2005-03-26  David Schleef  <ds@schleef.org>
4051
4052         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4053         is broken and should be implemented in a different library.
4054         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4055         * gst/gst.h: remove gstcpu.h
4056         * gst/gstcpu.c: remove
4057         * gst/gstcpu.h: remove
4058         * gst/Makefile.am.future: Remove this file.  It's ancient.
4059
4060 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4061
4062         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4063         (gst_bin_send_event):
4064           Add default event/set_manager handlers. The set_manager handler
4065           takes care that the manager is distributed over kids that were
4066           already in the bin before the manager was set. The event handler
4067           is a utility virtual function that sends the event over all sinks,
4068           so that gst_element_send_event (bin, event); has the expected
4069           behaviour.
4070         * gst/gstpad.c: (gst_pad_event_default):
4071           Re-install default event handling for discontinuities, so that
4072           seeking works without requiring hacks in applications or extra
4073           code in sinks.
4074         * gst/gstpipeline.c: (gst_pipeline_class_init),
4075         (gst_pipeline_send_event):
4076           Half hack, half utility: set a pipeline to PAUSED for seek events,
4077           since that is the only way we can guarantee a/v sync. Means that
4078           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4079           and it "just works".
4080
4081 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4082
4083         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4084           Lock/unlock mismatch.
4085
4086 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4087
4088         * docs/faq/gst-uninstalled:
4089           add gst-plugins-base
4090         * docs/gst/Makefile.am:
4091           don't error out until docs are fixed
4092         * docs/gst/gstreamer.types:
4093           remove thread
4094
4095 2005-03-22  Wim Taymans  <wim@fluendo.com>
4096
4097         * check/Makefile.am:
4098         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4099         * gst/gststructure.c: (gst_structure_set_valist),
4100         (gst_structure_copy_conditional):
4101         Activated more tests.
4102         Added message test.
4103         Added G_TYPE_POINTER to GstStructure.
4104         
4105
4106 2005-03-22  Wim Taymans  <wim@fluendo.com>
4107
4108         * docs/design/part-TODO.txt:
4109         * docs/design/part-events.txt:
4110         * docs/design/part-gstbin.txt:
4111         * docs/design/part-gstbus.txt:
4112         * docs/design/part-gstpipeline.txt:
4113         * docs/design/part-messages.txt:
4114         * gst/gstbus.c:
4115         * gst/gstmessage.c:
4116         Docs updates
4117
4118 2005-03-21  Wim Taymans  <wim@fluendo.com>
4119
4120         * gst/gstbus.c: (gst_bus_post):
4121         Fix copy-and-paste error.
4122
4123 2005-03-21  Wim Taymans  <wim@fluendo.com>
4124
4125         * check/Makefile.am:
4126         * gst/Makefile.am:
4127         * gst/elements/Makefile.am:
4128         * gst/elements/gstelements.c:
4129         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4130         (gst_fakesink_event), (gst_fakesink_chain):
4131         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4132         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4133         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4134         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4135         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4136         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4137         (gst_fakesrc_loop), (gst_fakesrc_activate),
4138         (gst_fakesrc_change_state):
4139         * gst/elements/gstfakesrc.h:
4140         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4141         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4142         (gst_filesrc_open_file), (gst_filesrc_loop),
4143         (gst_filesrc_activate), (gst_filesrc_change_state),
4144         (filesrc_find_peek), (filesrc_find_suggest),
4145         (gst_filesrc_type_find):
4146         * gst/elements/gstidentity.c: (gst_identity_finalize),
4147         (gst_identity_class_init), (gst_identity_init),
4148         (gst_identity_proxy_getcaps), (identity_queue_push),
4149         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4150         (gst_identity_getrange), (gst_identity_chain),
4151         (gst_identity_sink_loop), (gst_identity_src_loop),
4152         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4153         (gst_identity_set_property), (gst_identity_get_property),
4154         (gst_identity_change_state):
4155         * gst/elements/gstidentity.h:
4156         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4157         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4158         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4159         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4160         (gst_tee_sink_activate):
4161         * gst/elements/gsttee.h:
4162         * gst/gst.c: (gst_register_core_elements), (init_post):
4163         * gst/gst.h:
4164         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4165         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4166         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4167         (gst_bin_change_state):
4168         * gst/gstbin.h:
4169         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4170         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4171         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4172         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4173         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4174         (bus_watch_callback), (bus_watch_destroy),
4175         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4176         (poll_timeout), (gst_bus_poll):
4177         * gst/gstbus.h:
4178         * gst/gstcaps.h:
4179         * gst/gstdata.h:
4180         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4181         (gst_element_post_message), (gst_element_message_full),
4182         (gst_element_get_state_func), (gst_element_get_state),
4183         (gst_element_abort_state), (gst_element_commit_state),
4184         (gst_element_lost_state), (gst_element_set_state),
4185         (gst_element_pads_activate), (gst_element_change_state),
4186         (gst_element_dispose), (gst_element_set_manager_func),
4187         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4188         (gst_element_set_manager), (gst_element_get_manager),
4189         (gst_element_set_bus), (gst_element_get_bus),
4190         (gst_element_set_scheduler), (gst_element_get_scheduler):
4191         * gst/gstelement.h:
4192         * gst/gstevent.c: (gst_event_new_segment_seek),
4193         (gst_event_new_flush):
4194         * gst/gstevent.h:
4195         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4196         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4197         (gst_message_new_eos), (gst_message_new_error),
4198         (gst_message_new_warning), (gst_message_new_tag),
4199         (gst_message_new_state_changed), (gst_message_new_application),
4200         (gst_message_get_structure), (gst_message_parse_tag),
4201         (gst_message_parse_state_changed), (gst_message_parse_error),
4202         (gst_message_parse_warning):
4203         * gst/gstmessage.h:
4204         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4205         (gst_real_pad_set_property), (gst_pad_set_active),
4206         (gst_pad_is_active), (gst_pad_set_blocked_async),
4207         (gst_pad_set_blocked), (gst_pad_is_blocked),
4208         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4209         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4210         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4211         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4212         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4213         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4214         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4215         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4216         (gst_pad_set_caps), (gst_pad_configure_sink),
4217         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4218         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4219         (gst_real_pad_dispose), (gst_real_pad_finalize),
4220         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4221         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4222         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4223         * gst/gstpad.h:
4224         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4225         (pipeline_bus_handler), (gst_pipeline_change_state),
4226         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4227         * gst/gstpipeline.h:
4228         * gst/gstprobe.h:
4229         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4230         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4231         (gst_queue_link_src), (gst_queue_bufferalloc),
4232         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4233         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4234         (gst_queue_loop), (gst_queue_handle_src_event),
4235         (gst_queue_handle_src_query), (gst_queue_src_activate),
4236         (gst_queue_change_state):
4237         * gst/gstqueue.h:
4238         * gst/gstscheduler.c: (gst_scheduler_init),
4239         (gst_scheduler_dispose), (gst_scheduler_create_task),
4240         (gst_scheduler_factory_create):
4241         * gst/gstscheduler.h:
4242         * gst/gststructure.c: (gst_structure_get_type),
4243         (gst_structure_copy_conditional):
4244         * gst/gststructure.h:
4245         * gst/gsttaginterface.h:
4246         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4247         (gst_task_init), (gst_task_dispose), (gst_task_create),
4248         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4249         (gst_task_pause):
4250         * gst/gsttask.h:
4251         * gst/gstthread.c:
4252         * gst/gstthread.h:
4253         * gst/gsttypes.h:
4254         * gst/schedulers/Makefile.am:
4255         * gst/schedulers/cothreads_compat.h:
4256         * gst/schedulers/entryscheduler.c:
4257         * gst/schedulers/faircothreads.c:
4258         * gst/schedulers/faircothreads.h:
4259         * gst/schedulers/fairscheduler.c:
4260         * gst/schedulers/gstbasicscheduler.c:
4261         * gst/schedulers/gstoptimalscheduler.c:
4262         * gst/schedulers/gthread-cothreads.h:
4263         * gst/schedulers/threadscheduler.c:
4264         (gst_thread_scheduler_task_get_type),
4265         (gst_thread_scheduler_task_class_init),
4266         (gst_thread_scheduler_task_init),
4267         (gst_thread_scheduler_task_start),
4268         (gst_thread_scheduler_task_stop),
4269         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4270         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4271         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4272         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4273         (plugin_init):
4274         * libs/gst/Makefile.am:
4275         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4276         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4277         (gst_file_pad_parent_set):
4278         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4279         (gst_dp_event_from_packet):
4280         * tests/complexity.c: (main):
4281         * tests/mass_elements.c: (main):
4282         * testsuite/states/locked.c: (message_received), (main):
4283         * testsuite/states/parent.c: (main):
4284         * tools/gst-inspect.c: (print_element_flag_info),
4285         (print_implementation_info), (print_pad_info):
4286         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4287         (main):
4288         * tools/gst-md5sum.c: (event_loop), (main):
4289         * tools/gst-typefind.c: (main):
4290         * tools/gst-xmlinspect.c: (print_element_info):
4291         Next big merge.
4292         Added GstBus for mainloop integration.
4293         Added GstMessage for sending notifications on the bus.
4294         Added GstTask as an abstraction for pipeline entry points.
4295         Removed GstThread.
4296         Removed Schedulers.
4297         Simplified GstQueue for multithreaded core.
4298         Made _link threadsafe, removed old capsnego.
4299         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4300         Added pad blocking functions.
4301         Reworked scheduling functions in GstPad to prepare for
4302         scheduling updates soon.
4303         Moved events out of data stream.
4304         Simplified GstEvent types.
4305         Added return values to push/pull.
4306         Removed clocking from GstElement.
4307         Added prototypes for state change function for next merge.
4308         Removed iterate from bins and state change management.
4309         Fixed some elements, disabled others for now.
4310         Fixed -inspect and -launch.
4311         Added check for GstBus.
4312
4313 2005-03-10  Wim Taymans  <wim@fluendo.com>
4314
4315         * docs/design/part-MT-refcounting.txt:
4316         * docs/design/part-clocks.txt:
4317         * docs/design/part-gstelement.txt:
4318         * docs/design/part-gstobject.txt:
4319         * docs/design/part-standards.txt:
4320         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4321         (gst_bin_remove_func), (gst_bin_remove):
4322         * gst/gstbin.h:
4323         * gst/gstbuffer.c:
4324         * gst/gstcaps.h:
4325         * testsuite/clock/clock1.c: (main):
4326         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4327         (main):
4328         * testsuite/dlopen/loadgst.c: (do_test):
4329         * testsuite/refcounting/bin.c: (add_remove_test1),
4330         (add_remove_test2), (main):
4331         * testsuite/refcounting/element.c: (main):
4332         * testsuite/refcounting/element_pad.c: (main):
4333         * testsuite/refcounting/pad.c: (main):
4334         * tools/gst-launch.c: (sigint_handler_sighandler):
4335         * tools/gst-typefind.c: (main):
4336         Doc updates.
4337         Added doc about clock.
4338         removed gst_bin_iterate_recurse_up(), marked methods
4339         for removal.
4340         Fix more testsuites.
4341
4342 2005-03-09  Wim Taymans  <wim@fluendo.com>
4343
4344         * gst/gstpad.c: (gst_pad_get_direction),
4345         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4346         (gst_pad_collect_valist):
4347         * testsuite/bins/interface.c: (main):
4348         * testsuite/caps/audioscale.c: (test_caps):
4349         * testsuite/caps/caps.c: (test1), (test2), (test3):
4350         * testsuite/caps/deserialize.c: (main):
4351         * testsuite/caps/enumcaps.c: (main):
4352         * testsuite/caps/filtercaps.c: (main):
4353         * testsuite/caps/intersect2.c: (main):
4354         * testsuite/caps/random.c: (main):
4355         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4356         * testsuite/caps/sets.c: (check_caps):
4357         * testsuite/caps/simplify.c: (check_caps), (main):
4358         * testsuite/caps/subtract.c: (check_caps):
4359         Fix _pad_get_direction wrt ghostpads.
4360         Fix caps testsuite.
4361
4362 2005-03-09  Wim Taymans  <wim@fluendo.com>
4363
4364         * check/Makefile.am:
4365         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4366         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4367         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4368         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4369         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4370         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4371         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4372         (bin_element_is_sink), (gst_bin_iterate_sinks),
4373         (gst_bin_iterate_all_by_interface):
4374         * gst/gstbin.h:
4375         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4376         (gst_element_change_state), (gst_element_dispose),
4377         (gst_element_finalize), (gst_element_set_loop_function):
4378         * gst/gstelement.h:
4379         * gst/gstiterator.c: (find_custom_fold_func):
4380         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4381         (gst_pad_collectv), (gst_pad_collect_valist),
4382         (gst_pad_template_new):
4383         * gst/gstpipeline.c: (gst_pipeline_class_init),
4384         (gst_pipeline_dispose), (gst_pipeline_set_property),
4385         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4386         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4387         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4388         * gst/gstutils.h:
4389         * gst/schedulers/entryscheduler.c:
4390         * gst/schedulers/gstbasicscheduler.c:
4391         (gst_basic_scheduler_cothreaded_chain),
4392         (gst_basic_scheduler_chain_add_element):
4393         * testsuite/bins/interface.c: (main):
4394         Added GstBin test.
4395         Added GstSystemClock test.
4396         Implemented clock distribution code in GstBin.
4397         Implemented iterate sinks method for future use.
4398         Rearranged gstelement.h
4399         Fix GstIterator comparison bug.
4400         Moved some code to GstPipeline, mostly clocking related.
4401
4402 2005-03-09  Wim Taymans  <wim@fluendo.com>
4403
4404         * configure.ac:
4405         * gst/gst_private.h:
4406         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4407         (gst_bin_remove_func), (gst_bin_remove),
4408         (gst_bin_get_by_name_recurse_up):
4409         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4410         (gst_clock_id_compare_func), (gst_clock_id_wait),
4411         (gst_clock_id_wait_async), (gst_clock_init),
4412         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4413         * gst/gstelement.h:
4414         * gst/gstinfo.c: (_gst_debug_init):
4415         * gst/gstobject.h:
4416         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4417         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4418         * gst/gstpad.h:
4419         Bump version number, we're now 0.9.0
4420         Add future debugging category.
4421         Fix NULL _unref() in _get_by_name_recurse_up
4422         Rearrange gstpad.h.
4423         Update some docs.
4424
4425 2005-03-08  Wim Taymans  <wim@fluendo.com>
4426
4427         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4428         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4429         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4430         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4431         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4432         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4433         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4434         * gst/elements/gstidentity.c: (gst_identity_class_init):
4435         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4436         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4437         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4438         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4439         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4440         (gst_tee_link):
4441         * gst/gstelement.c: (gst_element_class_init),
4442         (gst_element_base_class_init), (gst_element_init),
4443         (gst_element_get_random_pad), (gst_element_wait_state_change),
4444         (gst_element_change_state), (gst_element_dispose),
4445         (gst_element_finalize), (gst_element_set_loop_function):
4446         * gst/gstelement.h:
4447         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4448         * gst/gstthread.c: (gst_thread_class_init),
4449         (gst_thread_release_children_locks), (gst_thread_change_state):
4450         * gst/schedulers/gstbasicscheduler.c:
4451         (gst_basic_scheduler_loopfunc_wrapper),
4452         (gst_basic_scheduler_chain_wrapper),
4453         (gst_basic_scheduler_src_wrapper),
4454         (gst_basic_scheduler_remove_element):
4455         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4456         Remove threadsafe properties. Fix elements because GObject
4457         complains when installing a property before declaring a
4458         set/get_property handler.
4459         Rearrange gstelement.h file, use STATE macros for state locks.
4460         Free mutexes in the finalize method instead of dispose.
4461
4462 2005-03-08  Wim Taymans  <wim@fluendo.com>
4463
4464         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4465         * gst/gstthread.c: (gst_thread_release_children_locks):
4466         Added parentage check.
4467         Fix build og GstThread again.
4468
4469 2005-03-08  Wim Taymans  <wim@fluendo.com>
4470
4471         * docs/design/part-MT-refcounting.txt:
4472         * docs/design/part-conventions.txt:
4473         * docs/design/part-gstobject.txt:
4474         * docs/design/part-relations.txt:
4475         * docs/design/part-standards.txt:
4476         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4477         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4478         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4479         (gst_bin_iterate_all_by_interface):
4480         * gst/gstbuffer.h:
4481         * gst/gstclock.h:
4482         * gst/gstelement.c: (gst_element_class_init),
4483         (gst_element_change_state), (gst_element_set_loop_function):
4484         * gst/gstelement.h:
4485         * gst/gstiterator.c:
4486         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4487         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4488         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4489         (gst_object_set_parent), (gst_object_unparent),
4490         (gst_object_check_uniqueness):
4491         * gst/gstobject.h:
4492         Docs updates, clean up some headers.
4493
4494 2005-03-07  Wim Taymans  <wim@fluendo.com>
4495
4496         * check/.cvsignore:
4497         * check/Makefile.am:
4498         * check/gst-libs/.cvsignore:
4499         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4500         * check/gst/.cvsignore:
4501         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4502         (START_TEST), (gstbus_suite), (main):
4503         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4504         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4505         (gst_data_suite), (main):
4506         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4507         (add_fold_func), (gstiterator_suite), (main):
4508         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4509         (thread_name_object), (thread_name_object_default),
4510         (gst_object_name_compare), (gst_object_suite), (main):
4511         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4512         (gst_pad_suite), (main):
4513         * check/gstcheck.c: (gst_check_log_message_func),
4514         (gst_check_log_critical_func), (gst_check_init):
4515         * check/gstcheck.h:
4516         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4517         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4518         Added checks.
4519
4520 2005-03-07  Wim Taymans  <wim@fluendo.com>
4521
4522         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4523         (gst_list_iterator_next), (gst_list_iterator_resync),
4524         (gst_list_iterator_free), (gst_iterator_new_list),
4525         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4526         (gst_iterator_free), (gst_iterator_push), (filter_next),
4527         (filter_resync), (filter_uninit), (filter_free),
4528         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4529         (gst_iterator_foreach), (find_custom_fold_func),
4530         (gst_iterator_find_custom):
4531         * gst/gstiterator.h:
4532         Added missing files.
4533
4534 2005-03-07  Wim Taymans  <wim@fluendo.com>
4535
4536         * Makefile.am:
4537         * configure.ac:
4538         * docs/design/part-MT-refcounting.txt:
4539         * docs/design/part-conventions.txt:
4540         * docs/design/part-gstobject.txt:
4541         * docs/design/part-relations.txt:
4542         * examples/mixer/mixer.c: (main):
4543         * examples/thread/thread.c: (eos), (main):
4544         * gst/Makefile.am:
4545         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4546         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4547         (gst_spider_plug_from_srcpad):
4548         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4549         (gst_spider_identity_change_state),
4550         (gst_spider_identity_sink_loop_type_finding):
4551         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4552         * gst/elements/gstidentity.c: (gst_identity_init):
4553         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4554         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4555         * gst/elements/gsttypefindelement.c: (free_entry):
4556         * gst/gst.c:
4557         * gst/gst.h:
4558         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4559         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4560         (gst_bin_set_index), (gst_bin_set_element_sched),
4561         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4562         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4563         (gst_bin_iterate_elements), (iterate_child_recurse),
4564         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4565         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4566         (compare_interface), (gst_bin_get_by_interface),
4567         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4568         * gst/gstbin.h:
4569         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4570         (gst_buffer_default_free), (gst_buffer_default_copy),
4571         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4572         (gst_buffer_create_sub):
4573         * gst/gstbuffer.h:
4574         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4575         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4576         (gst_caps_unref), (gst_static_caps_get),
4577         (gst_caps_remove_and_get_structure), (gst_caps_append),
4578         (gst_caps_append_structure), (gst_caps_remove_structure),
4579         (gst_caps_copy_nth), (gst_caps_set_simple),
4580         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4581         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4582         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4583         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4584         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4585         (gst_caps_structure_figure_out_union),
4586         (gst_caps_switch_structures), (gst_caps_do_simplify),
4587         (gst_caps_replace), (gst_caps_from_string),
4588         (gst_caps_copy_conditional):
4589         * gst/gstcaps.h:
4590         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4591         (_gst_clock_id_free), (gst_clock_id_unref),
4592         (gst_clock_id_compare_func), (gst_clock_id_wait),
4593         (gst_clock_id_wait_async), (gst_clock_class_init),
4594         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4595         (gst_clock_get_time), (gst_clock_set_time_adjust),
4596         (gst_clock_set_property), (gst_clock_get_property):
4597         * gst/gstclock.h:
4598         * gst/gstcompat.h:
4599         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4600         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4601         * gst/gstdata.h:
4602         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4603         (gst_element_requires_clock), (gst_element_provides_clock),
4604         (gst_element_set_clock), (gst_element_clock_wait),
4605         (gst_element_wait), (gst_element_set_time_delay),
4606         (gst_element_is_indexable), (gst_element_add_pad),
4607         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4608         (pad_compare_name), (gst_element_get_static_pad),
4609         (gst_element_request_pad), (gst_element_get_request_pad),
4610         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4611         (gst_element_class_get_pad_template_list),
4612         (gst_element_class_get_pad_template), (gst_element_error_func),
4613         (gst_element_get_random_pad), (gst_element_get_event_masks),
4614         (gst_element_send_event), (gst_element_seek),
4615         (gst_element_get_query_types), (gst_element_query),
4616         (gst_element_get_formats), (gst_element_convert),
4617         (gst_element_is_locked_state), (gst_element_set_locked_state),
4618         (gst_element_sync_state_with_parent), (gst_element_change_state),
4619         (gst_element_finalize), (gst_element_yield),
4620         (gst_element_interrupt), (gst_element_set_scheduler),
4621         (gst_element_get_scheduler), (gst_element_set_loop_function):
4622         * gst/gstelement.h:
4623         * gst/gstevent.h:
4624         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4625         (gst_format_get_by_nick), (gst_format_get_details),
4626         (gst_format_iterate_definitions):
4627         * gst/gstformat.h:
4628         * gst/gstindex.c: (gst_index_gtype_resolver):
4629         * gst/gstinfo.c:
4630         * gst/gstinfo.h:
4631         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4632         (gst_mem_chunk_free):
4633         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4634         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4635         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4636         (gst_object_dispatch_properties_changed),
4637         (gst_object_set_name_default), (gst_object_set_name),
4638         (gst_object_get_name), (gst_object_set_name_prefix),
4639         (gst_object_get_name_prefix), (gst_object_set_parent),
4640         (gst_object_get_parent), (gst_object_unparent),
4641         (gst_object_check_uniqueness), (gst_object_save_thyself),
4642         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4643         (gst_object_set_property), (gst_object_get_property),
4644         (gst_object_get_path_string):
4645         * gst/gstobject.h:
4646         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4647         (gst_real_pad_init), (gst_real_pad_get_property),
4648         (gst_pad_custom_new), (gst_pad_get_direction),
4649         (gst_pad_set_active), (gst_pad_is_active),
4650         (gst_pad_set_event_function), (gst_pad_is_linked),
4651         (gst_pad_link_free), (gst_pad_link_intersect),
4652         (gst_pad_link_fixate), (gst_pad_set_caps),
4653         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4654         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4655         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4656         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4657         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4658         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4659         (gst_pad_realize), (gst_pad_get_allowed_caps),
4660         (gst_real_pad_dispose), (gst_real_pad_finalize),
4661         (gst_pad_collectv), (gst_pad_collect_valist),
4662         (gst_pad_template_dispose), (gst_pad_template_new),
4663         (gst_pad_get_internal_links):
4664         * gst/gstpad.h:
4665         * gst/gstpipeline.c: (gst_pipeline_dispose),
4666         (gst_pipeline_change_state):
4667         * gst/gstpipeline.h:
4668         * gst/gstplugin.c:
4669         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4670         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4671         * gst/gstpluginfeature.h:
4672         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4673         * gst/gstquery.c: (_gst_query_type_initialize),
4674         (gst_query_type_register), (gst_query_type_get_by_nick),
4675         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4676         * gst/gstquery.h:
4677         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4678         * gst/gstscheduler.c: (gst_scheduler_add_element),
4679         (gst_scheduler_factory_create):
4680         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4681         (gst_structure_free), (gst_structure_set_name),
4682         (gst_structure_id_set_value), (gst_structure_set_value),
4683         (gst_structure_set_valist), (gst_structure_remove_field),
4684         (gst_structure_remove_fields),
4685         (gst_structure_remove_fields_valist),
4686         (gst_structure_remove_all_fields), (gst_structure_foreach),
4687         (gst_structure_map_in_place),
4688         (gst_caps_structure_fixate_field_nearest_int),
4689         (gst_caps_structure_fixate_field_nearest_double):
4690         * gst/gststructure.h:
4691         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4692         (gst_system_clock_init), (gst_system_clock_dispose),
4693         (gst_system_clock_async_thread),
4694         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4695         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4696         * gst/gstsystemclock.h:
4697         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4698         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4699         * gst/gsttaginterface.c:
4700         * gst/gstthread.c: (gst_thread_dispose),
4701         (gst_thread_release_children_locks), (gst_thread_change_state),
4702         (gst_thread_main_loop):
4703         * gst/gsttrashstack.h:
4704         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4705         * gst/gsttypes.h:
4706         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4707         (gst_element_request_pad), (gst_element_get_pad_from_template),
4708         (gst_element_request_compatible_pad),
4709         (gst_element_get_compatible_pad_filtered),
4710         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4711         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4712         (gst_element_link_many), (gst_element_link),
4713         (gst_element_link_pads), (gst_element_unlink_pads),
4714         (gst_element_unlink_many), (gst_element_unlink),
4715         (gst_pad_can_link_filtered), (gst_pad_can_link),
4716         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4717         (gst_object_default_error), (gst_bin_add_many),
4718         (gst_bin_remove_many), (gst_element_populate_std_props),
4719         (gst_element_class_install_std_props), (gst_buffer_merge),
4720         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4721         (link_fold_func), (gst_pad_proxy_setcaps):
4722         * gst/gstutils.h:
4723         * gst/gstvalue.c: (gst_value_deserialize_string):
4724         * gst/parse/grammar.y:
4725         * gst/schedulers/gstbasicscheduler.c:
4726         (gst_basic_scheduler_cothreaded_chain),
4727         (gst_basic_scheduler_chain_recursive_add),
4728         (gst_basic_scheduler_pad_link):
4729         * gst/schedulers/gstoptimalscheduler.c:
4730         (get_group_schedule_function),
4731         (gst_opt_scheduler_state_transition),
4732         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4733         * libs/gst/bytestream/bytestream.c:
4734         * libs/gst/dataprotocol/dataprotocol.c:
4735         (gst_dp_header_from_buffer):
4736         * po/nb.po:
4737         * po/ru.po:
4738         * tests/threadstate/threadstate2.c: (eos):
4739         * tools/gst-compprep.c: (main):
4740         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4741         (print_pad_info), (print_children_info):
4742         * tools/gst-launch.c: (idle_func), (main):
4743         * tools/gst-md5sum.c: (idle_func), (main):
4744         * tools/gst-xmlinspect.c: (print_element_info):
4745         First THREADED backport attempt, focusing on adding locks and
4746         making sure the API is threadsafe. Needs more work. More docs
4747         follow this week.
4748
4749 2005-02-24  Andy Wingo  <wingo@pobox.com>
4750
4751         * tests/bench-complexity.scm:
4752         * tests/complexity.gnuplot: New files, good for running complexity
4753         benchmarks.
4754
4755         * tests/Makefile.am:
4756         * tests/complexity.c: New test, sets up N elements, at each level
4757         teeing into M streams per element. Eeeenteresting.
4758
4759         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4760         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4761         running bench-mass_elements.scm.
4762
4763         * tests/bench-mass_elements.scm: New script, runs mass_elements
4764         for various numbers of identities, outputting the results to a
4765         file. Requires guile 1.6. Just for testing.
4766
4767 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4768
4769         * gst/schedulers/fairscheduler.c:
4770           compile with debug disabled
4771
4772 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * configure.ac:
4775           hunting season on 0.9 is now OPEN
4776
4777 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4778
4779         * docs/libs/tmpl/gstcontrol.sgml:
4780         * docs/libs/tmpl/gstdparam.sgml:
4781         * docs/libs/tmpl/gstdplinint.sgml:
4782         * docs/libs/tmpl/gstdpman.sgml:
4783         * docs/libs/tmpl/gstdpsmooth.sgml:
4784         * docs/libs/tmpl/gstunitconvert.sgml:
4785           more docs for the state of dparams
4786
4787 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4788
4789         * gst/gstelementfactory.c: (gst_element_factory_create):
4790         * gst/gstobject.c: (gst_object_init),
4791         (gst_object_set_name_default), (gst_object_set_name):
4792           name objects by default, not in gst_element_factory_create. Allows
4793           using elements created with g_object_new. (fixes #167283)
4794
4795 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4796
4797         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4798           make the time that debugging functions print relative to when
4799           gst_init was called
4800
4801 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         * gst/gsttaginterface.c:
4804           Fix inline docs: tag setter vararg functions are NULL-terminated,
4805           GST_TAG_INVALID doesn't exist any more.
4806
4807 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4808
4809         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4810         Allocate the 1 byte more memory that was forgotten!!!!!
4811         fixes memory corruption on 64bit platforms
4812
4813 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4814
4815         * docs/pwg/building-pads.xml:
4816         * docs/pwg/intro-basics.xml:
4817           fixed a few typos, relabeled introductionary list of types
4818         * docs/random/ensonic/dparams.txt:
4819           more notes abut dparam changes
4820         * libs/gst/control/dparam.c: (gst_dparam_attach):
4821         * libs/gst/control/dparammanager.c:
4822         * libs/gst/control/dparammanager.h:
4823           - many comments and notes on dparam implementation
4824           - new dparams are were not initialized to the default value
4825             from param spec
4826
4827 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4828
4829         submitted by: Peter Astakhov
4830
4831         * po/LINGUAS:
4832         * po/ru.po:
4833           adding Russian translation
4834
4835 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4836
4837         * configure.ac:
4838         * docs/gst/Makefile.am:
4839         * docs/libs/Makefile.am:
4840           make sure popt is added to gtk-doc flags.  Fixes #147782.
4841
4842 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4843
4844         * docs/faq/using.xml:
4845           Fix typo in FAQ (artssink => artsdsink)
4846
4847 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4848
4849         * tools/gst-launch.1.in:
4850           Fix typo (#166699).
4851
4852 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4853
4854         * docs/faq/using.xml:
4855           Add -v argument to fakesrc/fakesink gst-launch line,
4856           so that the promised output will actually show up.
4857
4858 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4859
4860         * gst/gstthread.c: (gst_thread_change_state):
4861           Implement state-change error handling (#166073).
4862
4863 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4864
4865         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4866           Release interrupt after handling (#166250).
4867
4868 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * configure.ac:
4871           back to HEAD
4872
4873 === release 0.8.9 ===
4874
4875 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4876
4877         * NEWS:
4878         * RELEASE:
4879         * configure.ac:
4880           releasing 0.8.9, "Like Eating Glass"
4881
4882 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         submitted by: Clytie Siddall
4885
4886         * po/vi.po: Added Vietnamese translation
4887
4888 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4889
4890         patch by: Tim Philipp-Müller
4891
4892         * configure.ac:
4893         * gst/gstpad.c:
4894           unref data when probe function returns FALSE.  Fixes #166362
4895
4896 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4897
4898         * gst/gst.c: (gst_init_get_popt_table):
4899           Fix typo (#166269).
4900
4901 2005-02-04  Andy Wingo  <wingo@pobox.com>
4902
4903         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4904         the debugging on whether the caps are compatible.
4905
4906 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4907
4908         * docs/manual/basics-elements.xml:
4909           Fix two typos.
4910
4911 2005-02-02  Wim Taymans  <wim@fluendo.com>
4912
4913         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4914         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4915         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4916         Remove some FIXMEs after analysing and commenting why they
4917         are not issues.
4918
4919 2005-02-02  Wim Taymans  <wim@fluendo.com>
4920
4921         * gst/schedulers/gstoptimalscheduler.c:
4922         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4923         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4924         (get_invalid_call), (chain_invalid_call),
4925         (get_group_schedule_function), (loop_group_schedule_function),
4926         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4927         (gst_opt_scheduler_state_transition),
4928         (gst_opt_scheduler_add_element),
4929         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4930         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4931         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4932         (gst_opt_scheduler_show):
4933         Added lock to protect scheduler data structures.
4934
4935 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4936
4937         * testsuite/threads/threadi.c: (cb_data):
4938           Fix buglet in test.
4939
4940 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4941
4942         * testsuite/threads/Makefile.am:
4943         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4944           On Wim's request, split the test in three separately-compiled
4945           tests that each test a very specific bug. Two of them still fail,
4946           will create bugs for those. threadi.c indicates why they fail.
4947
4948 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4949
4950         * gst/schedulers/gstoptimalscheduler.c:
4951         (get_group_schedule_function):
4952           Try to work with the threading mess that queue_link is.
4953
4954 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4955
4956         * gst/gstbin.c: (gst_bin_remove_func):
4957           Explicitely make an element release locks in a group when being
4958           remove from a bin.
4959         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4960           If there's no scheduler, always return immediately (similar to
4961           gst_element_interrupt).
4962
4963 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4964
4965         * gst/gstbin.c: (gst_bin_child_state_change_func):
4966           Remove a piece of code that could never be reached.
4967         * docs/gst/gstreamer-sections.txt:
4968         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4969         (gst_pad_call_get_function):
4970         * gst/gstpad.h:
4971         * testsuite/pad/Makefile.am:
4972           Fix #150546, enable tests.
4973
4974 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4975
4976         * docs/pwg/advanced-types.xml:
4977           Fix description for buffer-frames=0.
4978         * docs/gst/tmpl/gstbin.sgml:
4979         * gst/gstbin.c: (gst_bin_child_state_change_func),
4980         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4981         * gst/gstbin.h:
4982         * testsuite/threads/Makefile.am:
4983         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4984         (cb_state), (cb_play), (main):
4985           Fix non-recursive state changes to *really* change the state
4986           of the object, and not just call parent_class->state_change.
4987           Fix a lot of lockups caused by this. Fixes #132775. Add test
4988           for the problem. Also enable test to show #142588 (fixed).
4989         * gst/gstthread.c: (gst_thread_change_state),
4990         (gst_thread_child_state_change):
4991           Don't exit the thread if we go to NULL and are inside thread
4992           context. Instead, return control to the main thread context
4993           and exit from there.
4994         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4995           Don't unset virtual functions, since those may still be used.
4996           That's not necessarily correct, but suffices for now.
4997         * configure.ac:
4998         * testsuite/Makefile.am:
4999         * testsuite/pad/Makefile.am:
5000         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5001         (gst_test_sink_base_init), (gst_test_sink_chain),
5002         (gst_test_sink_init), (main):
5003         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5004         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5005         (main):
5006         * testsuite/pad/link.c: (gst_test_element_class_init),
5007         (gst_test_element_base_init), (gst_test_src_get),
5008         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5009         (gst_test_filter_loop), (gst_test_filter_init),
5010         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5011         (cb_error), (main):
5012           Add tests to show #150546. Pass, but should fail (currently
5013           disabled from the testsuite).
5014         * gst/gstscheduler.c: (gst_scheduler_dispose):
5015           Dereference child schedulers on dispose (#94464).
5016         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5017           Fix typo.
5018         * testsuite/threads/thread.c: (main):
5019           Add more debug.
5020
5021 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5022
5023         * gst/gstpad.c: (gst_pad_push):
5024           Oops, revert previous commit, broke testsuite...
5025
5026 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5027
5028         * gst/gstpad.c: (gst_pad_push):
5029           Add check that the pad on which the push is performed is not a
5030           get-based pad (#150546).
5031
5032 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5033
5034         * gst/elements/gsttypefindelement.c:
5035         (gst_type_find_element_handle_event):
5036           Fix buffer pushing if stream EOSes during typefinding.
5037
5038 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5039
5040         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5041
5042         * gst/gstvalue.c: (gst_string_wrap):
5043           Allow NULL-strings as argument (#165365).
5044
5045 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5046
5047         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5048
5049         * gst/schedulers/faircothreads.c:
5050         (gst_fair_scheduler_cothread_queue_show):
5051           Fix build without debug enabled.
5052
5053 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5054
5055         * docs/gst/gstreamer-sections.txt:
5056         * docs/libs/gstreamer-libs-docs.sgml:
5057         * docs/libs/gstreamer-libs-sections.txt:
5058         * docs/libs/tmpl/gstcontrol.sgml:
5059         * docs/libs/tmpl/gstdparam.sgml:
5060         * docs/libs/tmpl/gstdplinint.sgml:
5061         * docs/libs/tmpl/gstdpman.sgml:
5062         * docs/libs/tmpl/gstdpsmooth.sgml:
5063         * docs/libs/tmpl/gstputbits.sgml:
5064         * docs/libs/tmpl/gstunitconvert.sgml:
5065         * libs/gst/control/dparam.c:
5066         * libs/gst/control/dparam.h:
5067         * libs/gst/control/dparammanager.c:
5068         (gst_dpman_add_required_dparam_callback),
5069         (gst_dpman_add_required_dparam_direct),
5070         (gst_dpman_add_required_dparam_array),
5071         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5072         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5073         (gst_dpman_get_manager)
5074           restructured DParam docs
5075
5076 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5077
5078         * gst-element-check.m4:
5079           Only check for gst-inspect if we haven't already
5080           found it in previous element check runs
5081
5082 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5083
5084         * docs/gst/Makefile.am:
5085         * docs/libs/Makefile.am:
5086           fixed install rules to treat style.css as optional
5087
5088 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5089
5090         * docs/gst/Makefile.am:
5091         * docs/libs/Makefile.am:
5092           install style.css along with docs
5093         * docs/gst/tmpl/gstbin.sgml:
5094         * docs/gst/tmpl/gstclock.sgml:
5095         * docs/gst/tmpl/gstdata.sgml:
5096         * docs/gst/tmpl/gstelement.sgml:
5097         * gst/gstbin.h:
5098         * gst/gstelement.c: (gst_element_class_init):
5099         * gst/gstelement.h:
5100           fixing incomplete docs
5101
5102 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5103
5104         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5105           Don't unref seek event twice when fflush() fails
5106           
5107 2005-01-22  David Schleef  <ds@schleef.org>
5108
5109         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5110
5111 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5112
5113         * docs/gst/Makefile.am:
5114         * docs/libs/Makefile.am:
5115           added params for deprecation guards
5116         * gst/gst.c:
5117         * gst/gst.h:
5118         * gst/gsterror.c: (_gst_resource_errors_init),
5119         (_gst_stream_errors_init):
5120         * gst/gsterror.h:
5121           documented some more enums
5122
5123 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5124         * gst/autoplug/gstspideridentity.c:
5125         Cosmetic fix - spider_find_peek should be static
5126         * gst/parse/parse.l:
5127         Applying fix for #164261
5128
5129 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5130
5131         * docs/gst/gstreamer-sections.txt:
5132         * docs/gst/tmpl/gstplugin.sgml:
5133         * docs/libs/gstreamer-libs-sections.txt:
5134         * docs/libs/tmpl/gstcontrol.sgml:
5135         * gst/gstbuffer.h:
5136         * gst/gsttag.h:
5137         * gst/gstvalue.c:
5138           added docs for the TAG defines
5139
5140 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5141
5142         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5143           Only unref entry if there is an entry.
5144
5145 2005-01-17  Wim Taymans  <wim@fluendo.com>
5146
5147         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5148         (remove_from_group), (schedule_group), (normalize_group),
5149         (gst_opt_scheduler_iterate):
5150         Also ref/unref decoupled elements before iterating the
5151         group since they are not added to the list of elements.
5152
5153 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5154
5155         * docs/manual/highlevel-components.xml:
5156           Add subtitle/streamselection as new features to playbin.
5157
5158 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5159
5160         * docs/manual/manual.xml:
5161           Re-enable dataaccess docs (oops).
5162
5163 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5164
5165         * docs/pwg/advanced-types.xml:
5166         * docs/random/mimetypes:
5167           Add documentation on libsndfile types (#163309), by Steve Baker
5168           <steve@stevebaker.org>.
5169         * gst/gstelement.c: (gst_element_release_request_pad):
5170           If an element has no explicit function, just remove the pad.
5171
5172 2005-01-17  Luca Ognibene  <luogni@tin.it>
5173
5174         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5175
5176         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5177           Fix memleak (#163801).
5178
5179 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5180
5181         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5182           I think this is actually more correct...
5183
5184 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5185
5186         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5187           Another workaround for memory access while destroyed in callback.
5188           Please, someone with refcount knowledge, have a look at this.
5189
5190 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * docs/faq/faq.xml:
5193         * docs/faq/legal.xml:
5194           move the legal Q&A here
5195
5196 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5197
5198         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5199         (gst_tee_request_new_pad):
5200           Fix negotiation.
5201
5202 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5203
5204         * docs/random/omega/caps2:
5205         * testsuite/caps/caps_strings:
5206           replace framerate aproximations by their real value
5207           (24000/1001, 30000/1001, 60000/1001)
5208           Partially fixes bug #164049
5209
5210 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5211
5212         * docs/gst/Makefile.am:
5213           don't fail on the stupid GstPoptOption
5214
5215 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5216
5217         * gst/gstpad.h:
5218         * gst/gstprobe.c:
5219           allow probes to work on ghost pads by realizing the pad
5220           probe debugging
5221
5222 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5223
5224         * docs/gst/gstreamer-sections.txt:
5225         * docs/gst/tmpl/gstpad.sgml:
5226         * gst/gstpad.c: (gst_pad_set_active_recursive):
5227         * gst/gstpad.h:
5228           Add gst_pad_set_active_recursive().
5229
5230 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5231
5232         * docs/random/release:
5233           updates
5234         * gst/gst_private.h:
5235         * gst/gstinfo.c:
5236         * gst/gstobject.c:
5237           move deep_notify logging to a new category
5238         * gst/gstprobe.c:
5239         * gst/gstprobe.h:
5240           add stuff so bindings can wrap probes
5241
5242 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5243
5244         * gst/gstplugin.c: (gst_plugin_load):
5245           Fix plugin loading if plugin/lib was already loaded. Fixes
5246           #163383
5247
5248 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5249
5250         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5251
5252         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5253           Protect plugin loading by a mutex so it's threadsafe. Fixes
5254           #163234.
5255
5256 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5257
5258         * gst/gstevent.c: (_gst_event_copy):
5259           Reference source object when copying events, since it'll be
5260           dereferenced on event dereferencing as well.
5261
5262 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5263
5264         * docs/gst/gstreamer-sections.txt:
5265         * docs/gst/tmpl/gstevent.sgml:
5266         * gst/gstevent.c: (gst_event_new_filler_stamped),
5267         (gst_event_filler_get_duration):
5268         * gst/gstevent.h:
5269           Add two new functions for filler events (which are used to
5270           synchronize streams if one of them is not having any data
5271           for a while) without interrupting the actual data-stream.
5272           Basically a no-op.
5273         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5274         (gst_queue_link_sink), (gst_queue_link_src),
5275         (gst_queue_change_state):
5276           Allow for renegotiation while filled. Required for stream
5277           switching while playing.
5278
5279 2005-01-08  Benjamin Otte  <otte@gnome.org>
5280
5281         * gst/gstelement.c: (gst_element_link_many):
5282           fix up g_return_if_fail's
5283         * po/LINGUAS:
5284         * po/de.po:
5285           add German translation, that was somehow not included
5286
5287 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5288
5289         * docs/random/mimetypes:
5290           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5291           do not add them to riff-lib as they are not common
5292
5293 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5294
5295         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5296           Check for existence of probe after performing the probe before
5297           re-accessing it to prevent segfaults caused by removal of the
5298           probe in the callback.
5299
5300 2005-01-05  David Schleef  <ds@schleef.org>
5301
5302         * testsuite/registry/Makefile.am:
5303         * testsuite/registry/gst-print-formats.c:
5304         (print_pad_templates_info), (print_element_list),
5305         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5306         (g_list_uniqify), (get_pad_templates_info),
5307         (get_element_mime_list), (print_mime_list), (main): A little
5308         program that looks through the registry to find elements of
5309         a given type.  Not particularly interesting as a test, except
5310         that there's no other test covering the same area.
5311
5312 2005-01-05  David Schleef  <ds@schleef.org>
5313
5314         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5315         (fault_handler_sigaction), (fault_spin),
5316         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5317         in signal.h-type signal handlers by not calling forbidden functions,
5318         including gst_element_set_state().
5319
5320 2005-01-05  David Schleef  <ds@schleef.org>
5321
5322         * gst/gstvalue.h: Mark _gst_reserved[] as private
5323
5324 2005-01-05  David Schleef  <ds@schleef.org>
5325
5326         * gst/gstvalue.c: Fix doc build problem.
5327
5328 2005-01-05  David Schleef  <ds@schleef.org>
5329
5330         * gst/gstvalue.c: Add some documentation
5331
5332 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5333
5334         * docs/README:
5335           another shell oneliner for empty return value docs
5336         * gst/gstcaps.c:
5337         * gst/gstvalue.c:
5338         * libs/gst/control/dparam.c:
5339           more doc fixes (parameters and return values)
5340
5341 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5342
5343         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5344
5345         * gst/gstregistry.h:
5346         * gst/registries/gstxmlregistry.c:
5347           Fix macro's for Mingw (fixes #162276).
5348
5349 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5350
5351         * docs/README:
5352           quick shell oneliner to find undocumented members
5353         * docs/gst/tmpl/gstplugin.sgml:
5354         * docs/gst/tmpl/gstscheduler.sgml:
5355         * docs/gst/tmpl/gstthread.sgml:
5356           more enumtypes cleanup
5357         * gst/gsterror.h:
5358           activated documentation comments, now someone needs to document
5359           the enums :(
5360
5361 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5362
5363         * docs/manual/manual.xml:
5364           Add dataaccess part (doh!).
5365
5366 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5367
5368         * docs/manual/advanced-autoplugging.xml:
5369           Fix typo (intiate -> initiate).
5370
5371 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5372
5373         * docs/random/bbb/streamselection:
5374           Add some notes on how to handle multi-subtitle/-audio streams.
5375
5376 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5377
5378         * docs/gst/gstreamer-docs.sgml:
5379         * docs/gst/gstreamer-sections.txt:
5380         * docs/gst/tmpl/gstenumtypes.sgml:
5381         * docs/gst/tmpl/gsterror.sgml:
5382         * docs/gst/tmpl/gstevent.sgml:
5383         * docs/gst/tmpl/gstpad.sgml:
5384         * docs/gst/tmpl/gstpadtemplate.sgml:
5385         * docs/gst/tmpl/gstthread.sgml:
5386           removed gstenumtypes section from docs and put all the enums into
5387           their sections
5388
5389 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5390
5391         * gst/gstplugin.c:
5392           document gst_library_load a bit more (riff special case + return
5393           value if already loaded)
5394         * testsuite/bytestream/filepadsink.c:
5395           plugin name is 'gstbytestream', not 'bytestream'
5396
5397 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5398
5399         * docs/random/bbb/subtitles:
5400           Add some first mind rumblings on proper subtitle support.
5401
5402 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5403
5404         * po/ca.po:
5405         * po/sv.po:
5406           updated translations
5407
5408 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5409
5410         * docs/manual/advanced-dataaccess.xml:
5411           Add section on how to use fakesrc/fakesink/identity in your
5412           application, plus section on how to embed plugins. Also mention
5413           probes.
5414         * docs/manual/appendix-checklist.xml:
5415         * docs/manual/appendix-debugging.xml:
5416         * docs/manual/appendix-gnome.xml:
5417         * docs/manual/appendix-integration.xml:
5418           Debug -> checklist, GNOME -> integration, add sections on Linux,
5419           KDE integration and add other things useful for application
5420           development.
5421         * docs/manual/manual.xml:
5422           Remove some fixmes, update some file pointers.
5423         * docs/pwg/appendix-checklist.xml:
5424           Fix typo.
5425         * docs/pwg/building-boiler.xml:
5426           Remove ugly header and add commented fixme.
5427         * docs/pwg/pwg.xml:
5428           Add fixme.
5429         * examples/manual/Makefile.am:
5430           Add example for added docs.
5431
5432 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5433
5434         * configure.ac:
5435           back to HEAD
5436
5437 === release 0.8.8 ===
5438
5439 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5440
5441         * NEWS:
5442         * RELEASE:
5443         * configure.ac:
5444           Releasing 0.8.8, "I'll Take Care Of You"
5445
5446 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5447
5448         * configure.ac:
5449           second prerelease
5450
5451 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         patch by: Wim Taymans
5454
5455         * gst/gstbin.c:
5456           Fix for #159852 - make iterate emission threadsafe
5457
5458 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5459
5460         * docs/faq/cvs.xml:
5461           notes about new fdo account request
5462
5463 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5464
5465         * docs/gst/gstreamer-docs.sgml:
5466         * docs/gst/tmpl/gstenumtypes.sgml:
5467         * docs/gst/tmpl/gstplugin.sgml:
5468         * docs/libs/gstreamer-libs-docs.sgml:
5469           Added missing short docs. Added ids for navigation.
5470
5471 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5472
5473         * docs/manual/advanced-autoplugging.xml:
5474         * docs/manual/advanced-schedulers.xml:
5475         * docs/manual/advanced-threads.xml:
5476           Rewrites. Remove cothreads, go a bit into opt specifically,
5477           document threads and their gotchas, and do some technical stuff
5478           on autoplugging plus add some working examples. Fixes #157395.
5479         * examples/manual/Makefile.am:
5480           Add typefind/autoplugger example (one that actually works).
5481           Remove queue example since it's a duplicate of the thread one.
5482
5483 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5484
5485         * gst/gstvalue.c: (gst_value_deserialize_string):
5486           use deprecated g_value_set_string_take_ownership to keep compatible
5487           with glib 2.2
5488
5489 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5490
5491         * gst/gstvalue.c: (gst_value_deserialize_string):
5492           revert last patch, only dom a g_utf8_validate now before accepting
5493           the string - caps parsing strips " from strings so we can't rely on
5494           them
5495         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5496           disable a test that tested the above and comment it
5497
5498 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5499
5500         Patch reviewed by David Schleef  <ds@schleef.org>
5501
5502         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5503         bug #153882)
5504         * win32/gstenumtypes.h: same
5505
5506 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5507
5508         * gst/gstpad.c: (gst_pad_query):
5509           Do query on realized pad, similar to how convert/send_event handle
5510           this. Also makes sense, since this pad belongs to the function to
5511           which this query will be sent. Fixes #158163.
5512
5513 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5514
5515         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5516
5517 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5518
5519         * docs/faq/general.xml: fix pipeline to actually work
5520
5521 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5522
5523         * gst/gstvalue.c: (gst_value_deserialize_string):
5524           check that a simple string that gets deserialized does not contain
5525           invalid characters
5526         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5527           remove a test that tested a wring behaviour
5528
5529 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5530
5531         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5532
5533         * docs/manual/intro-motivation.xml:
5534           Fix typos.
5535
5536 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5537
5538         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5539
5540         * docs/gst/tmpl/gstprobe.sgml:
5541           Fix documentation of probe callback - it is supposed to return
5542           FALSE, not TRUE, to remove data from the stream (#159087).
5543
5544 2004-12-16  Daniel Gazard  <dany42@free.fr>
5545
5546         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5547
5548         * gst/gstelementfactory.c: (gst_element_factory_create):
5549           Fix compile failure if compiling without libxml2 support (#149936).
5550
5551 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5552
5553         * docs/manual/advanced-autoplugging.xml:
5554         * docs/manual/highlevel-components.xml:
5555           Move spider from autoplugging to components. Autoplugging is for
5556           internals, not for solutions. ;-).
5557
5558 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5559
5560         * docs/random/ds/0.9-suggested-changes:
5561           Make note on device/location/uri property names.
5562
5563 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5564
5565         * docs/manual/advanced-autoplugging.xml:
5566         * docs/manual/advanced-clocks.xml:
5567         * docs/manual/advanced-interfaces.xml:
5568         * docs/manual/advanced-metadata.xml:
5569         * docs/manual/advanced-position.xml:
5570         * docs/manual/advanced-schedulers.xml:
5571         * docs/manual/advanced-threads.xml:
5572         * docs/manual/appendix-gnome.xml:
5573         * docs/manual/appendix-programs.xml:
5574         * docs/manual/appendix-quotes.xml:
5575         * docs/manual/autoplugging.xml:
5576         * docs/manual/basics-bins.xml:
5577         * docs/manual/basics-data.xml:
5578         * docs/manual/basics-elements.xml:
5579         * docs/manual/basics-helloworld.xml:
5580         * docs/manual/basics-init.xml:
5581         * docs/manual/basics-pads.xml:
5582         * docs/manual/basics-plugins.xml:
5583         * docs/manual/bins-api.xml:
5584         * docs/manual/bins.xml:
5585         * docs/manual/buffers-api.xml:
5586         * docs/manual/buffers.xml:
5587         * docs/manual/clocks.xml:
5588         * docs/manual/components.xml:
5589         * docs/manual/cothreads.xml:
5590         * docs/manual/debugging.xml:
5591         * docs/manual/dparams-app.xml:
5592         * docs/manual/dynamic.xml:
5593         * docs/manual/elements-api.xml:
5594         * docs/manual/elements.xml:
5595         * docs/manual/factories.xml:
5596         * docs/manual/gnome.xml:
5597         * docs/manual/goals.xml:
5598         * docs/manual/helloworld.xml:
5599         * docs/manual/helloworld2.xml:
5600         * docs/manual/highlevel-components.xml:
5601         * docs/manual/highlevel-xml.xml:
5602         * docs/manual/init-api.xml:
5603         * docs/manual/intro-basics.xml:
5604         * docs/manual/intro-motivation.xml:
5605         * docs/manual/intro-preface.xml:
5606         * docs/manual/intro.xml:
5607         * docs/manual/links-api.xml:
5608         * docs/manual/links.xml:
5609         * docs/manual/manual.xml:
5610         * docs/manual/motivation.xml:
5611         * docs/manual/pads-api.xml:
5612         * docs/manual/pads.xml:
5613         * docs/manual/plugins-api.xml:
5614         * docs/manual/plugins.xml:
5615         * docs/manual/programs.xml:
5616         * docs/manual/queues.xml:
5617         * docs/manual/quotes.xml:
5618         * docs/manual/schedulers.xml:
5619         * docs/manual/states-api.xml:
5620         * docs/manual/states.xml:
5621         * docs/manual/threads.xml:
5622         * docs/manual/typedetection.xml:
5623         * docs/manual/win32.xml:
5624         * docs/manual/xml.xml:
5625           Try 2. This time, include a short preface as a "general
5626           introduction", also add code blocks around all code samples
5627           so they get compiled. We still need a way to tell readers
5628           the filename of the code sample. In some cases, don't show
5629           all code in the documentation, but do include it in the generated
5630           code. This allows for focussing on specific bits in the docs,
5631           while still having a full test application available.
5632         * examples/manual/Makefile.am:
5633           Fix up examples for new ADM. Add several of the new examples that
5634           were either added or were missing from the build system.
5635         * examples/manual/extract.pl:
5636           Allow nameless blocks.
5637
5638 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5639
5640         * docs/manual/elements-api.xml:
5641         * docs/manual/helloworld.xml:
5642         * examples/manual/extract.pl:
5643           fix last example.  Add example of adding code blocks that are not
5644           shown in docbook output.
5645
5646 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5647
5648         * docs/manual/dynamic.xml:
5649         * docs/manual/elements-api.xml:
5650         * docs/manual/gnome.xml:
5651         * docs/manual/helloworld2.xml:
5652         * docs/manual/init-api.xml:
5653         * docs/manual/queues.xml:
5654         * docs/manual/threads.xml:
5655         * docs/manual/xml.xml:
5656         * examples/manual/extract.pl:
5657           Make it possible to extract example code from separate blocks.
5658           Should make Ronald happy.
5659
5660 2004-12-15  Wim Taymans  <wim@fluendo.com>
5661
5662         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5663         (remove_from_group), (group_elements_set_visited),
5664         (normalize_group), (gst_opt_scheduler_iterate):
5665         Fix bug where a flag was not updated on a decoupled entry point 
5666         because we were just checking the group element list and decoupled
5667         elements are not in that list..
5668
5669 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5670
5671         * docs/manual/advanced-autoplugging.xml:
5672         * docs/manual/advanced-clocks.xml:
5673         * docs/manual/advanced-dparams.xml:
5674         * docs/manual/advanced-interfaces.xml:
5675         * docs/manual/advanced-metadata.xml:
5676         * docs/manual/advanced-position.xml:
5677         * docs/manual/advanced-schedulers.xml:
5678         * docs/manual/advanced-threads.xml:
5679         * docs/manual/appendix-debugging.xml:
5680         * docs/manual/appendix-gnome.xml:
5681         * docs/manual/appendix-programs.xml:
5682         * docs/manual/appendix-quotes.xml:
5683         * docs/manual/appendix-win32.xml:
5684         * docs/manual/autoplugging.xml:
5685         * docs/manual/basics-bins.xml:
5686         * docs/manual/basics-data.xml:
5687         * docs/manual/basics-elements.xml:
5688         * docs/manual/basics-helloworld.xml:
5689         * docs/manual/basics-init.xml:
5690         * docs/manual/basics-pads.xml:
5691         * docs/manual/basics-plugins.xml:
5692         * docs/manual/bins-api.xml:
5693         * docs/manual/bins.xml:
5694         * docs/manual/buffers-api.xml:
5695         * docs/manual/buffers.xml:
5696         * docs/manual/clocks.xml:
5697         * docs/manual/components.xml:
5698         * docs/manual/cothreads.xml:
5699         * docs/manual/debugging.xml:
5700         * docs/manual/dparams-app.xml:
5701         * docs/manual/dynamic.xml:
5702         * docs/manual/elements-api.xml:
5703         * docs/manual/elements.xml:
5704         * docs/manual/factories.xml:
5705         * docs/manual/gnome.xml:
5706         * docs/manual/goals.xml:
5707         * docs/manual/helloworld.xml:
5708         * docs/manual/helloworld2.xml:
5709         * docs/manual/highlevel-components.xml:
5710         * docs/manual/highlevel-xml.xml:
5711         * docs/manual/init-api.xml:
5712         * docs/manual/intro-motivation.xml:
5713         * docs/manual/intro-preface.xml:
5714         * docs/manual/intro.xml:
5715         * docs/manual/links-api.xml:
5716         * docs/manual/links.xml:
5717         * docs/manual/manual.xml:
5718         * docs/manual/motivation.xml:
5719         * docs/manual/pads-api.xml:
5720         * docs/manual/pads.xml:
5721         * docs/manual/plugins-api.xml:
5722         * docs/manual/plugins.xml:
5723         * docs/manual/programs.xml:
5724         * docs/manual/queues.xml:
5725         * docs/manual/quotes.xml:
5726         * docs/manual/schedulers.xml:
5727         * docs/manual/states-api.xml:
5728         * docs/manual/states.xml:
5729         * docs/manual/threads.xml:
5730         * docs/manual/typedetection.xml:
5731         * docs/manual/win32.xml:
5732         * docs/manual/xml.xml:
5733           First try at rewriting the ADM. Needs lotsamore work, but some
5734           parts might already be somewhat useful.
5735         * docs/pwg/advanced-interfaces.xml:
5736           Remove properties interface, it never actually existed (except for
5737           on my HD...).
5738
5739 2004-12-13  David Schleef  <ds@schleef.org>
5740
5741         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5742         be NULL (bug #160220).
5743
5744 2004-12-13  David Schleef  <ds@schleef.org>
5745
5746         * configure.ac: remove all mmx stuff, because it's not used.
5747         * docs/random/ds/0.9-suggested-changes: additional notes
5748         * include/Makefile.am: we don't use these anymore
5749         * include/mmx.h: remove
5750         * include/sse.h: remove
5751
5752 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5753
5754         * docs/random/mimetypes:
5755           Add FOURCC code for h264 codec (VSSH)
5756           Add alternate FOURCC codes for h263 related codecs
5757
5758 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5759
5760         * docs/manual/programs.xml:
5761           Added more gst-launch examples.
5762
5763 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5764
5765         * gst/gstqueue.c: (gst_queue_handle_src_query):
5766           Check for availability again.
5767
5768 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5769
5770         * gst/gstcaps.c: (gst_caps_compare_structures):
5771           Simple caps go first. This has the nice side-effect of fixing an
5772           obscure warning.
5773
5774 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5775
5776         * gst/gstversion.h.in:
5777           Protect header.
5778
5779 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5780
5781         * gst/schedulers/gstoptimalscheduler.c:
5782         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5783         (gst_opt_scheduler_get_wrapper):
5784           When we're recursing into a chain run, only run the directly
5785           related group, not all queued ones. This will fix a possible
5786           deadlock in chains with more than two groups.
5787
5788 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5789
5790         * autogen.sh:
5791           remove patch if autopoint fails
5792
5793 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5794
5795         * docs/gst/gstreamer-sections.txt:
5796           Document Thomas' addition, fix build, make Luis the sheriff happy.
5797
5798 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5799
5800         * gst/gstplugin.c:
5801         * gst/gstplugin.h:
5802           add accessor for version field
5803
5804 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5805
5806         submitted by: Luca Ferretti <elle.uca@infinito.it>
5807
5808         * po/LINGUAS:
5809         * po/it.po:
5810           New tranlation added: Italian
5811
5812 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5813
5814         * gst/gstpad.c: (gst_pad_is_negotiated),
5815         (gst_pad_get_negotiated_caps):
5816           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5817           it doesn't actually check the contents), so be sure to hand it
5818           a RealPad else we'll crash.
5819
5820 2004-12-03  Wim Taymans  <wim@fluendo.com>
5821
5822         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5823         (gst_queue_link), (gst_queue_handle_src_query):
5824         Reverted to 1.110 until this makes the testsuite and various
5825         apps work.
5826
5827 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5828
5829         * docs/upload.mak: fix included CVS conflict strings
5830
5831 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5832
5833         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5834
5835         * gst/gstelement.c: (gst_element_error_full):
5836           Use g_error_new_literal because error text may have
5837           percentage signs in it. Fixes #160019.
5838
5839 2004-12-01  Benjamin Otte  <otte@gnome.org>
5840
5841         * gst/elements/gstbufferstore.c:
5842         (gst_buffer_store_add_buffer_func):
5843           don't try to make subbuffers bigger than they can be. (fixes
5844           #159970)
5845
5846 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5847
5848         * docs/gst/gstreamer-sections.txt:
5849         * docs/gst/tmpl/gstvalue.sgml:
5850           Add new function to docs to fix build.
5851
5852 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5853
5854         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5855         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5856         (_gst_pad_default_fixate_foreach):
5857         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5858         * gst/gstvalue.h:
5859           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5860           in some cases (arrays), the fixedness depends on the content.
5861         * gst/gstqueue.c: (gst_queue_handle_src_query):
5862           Check for availability before doing something.
5863
5864 2004-11-29  Wim Taymans  <wim@fluendo.com>
5865
5866         * testsuite/threads/Makefile.am:
5867         * testsuite/threads/signals.c: (gst_test_get_type),
5868         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5869         (gst_test_set_property), (gst_test_get_property),
5870         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5871         (gst_test_do_prop), (run_thread), (main):
5872         Added a bunch of testcases that show threadsafety bugs in glib.
5873
5874 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5875
5876         * docs/manual/programs.xml:
5877           Added a first batch of gst-launch examples, as provided by Ronald
5878           and others from the devel-mlist
5879
5880 2004-11-28  Benjamin Otte  <otte@gnome.org>
5881
5882         * gst/gstelement.c: (gst_element_negotiate_pads):
5883           simplify
5884         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5885         (gst_value_serialize_string), (gst_value_deserialize_string):
5886           add unwrapping of previously wrapped strings. Fix bug in wrapping
5887           while at it.
5888         * testsuite/caps/value_serialize.c: (test1),
5889         (test_string_serialization), (test_string_deserialization), (main):
5890           add tests for string (de)serialization
5891
5892 2004-11-26  Wim Taymans  <wim@fluendo.com>
5893
5894         * testsuite/threads/159566.c: (object_deep_notify), (main):
5895         * testsuite/threads/Makefile.am:
5896         Added testsuite to show bug #159566
5897
5898 2004-11-25  Wim Taymans  <wim@fluendo.com>
5899
5900         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5901         (gst_thread_child_state_change), (gst_thread_main_loop):
5902         Ref the thread object in the GThread mainloop. Break out of the
5903         thread mainloop if it holds the last ref. This properly exits
5904         the threads when disposing the thread from its own context. It
5905         also avoids possible deadlocks in the dispose function.
5906
5907 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5908
5909         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5910         it is necessary to wait.
5911
5912 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5913
5914         * docs/pwg/building-boiler.xml:
5915           Make description somewhat clearer.
5916
5917 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5918
5919         * docs/upload.mak:
5920           Apparently docs changed location on FDO's server.
5921
5922 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5923
5924         * docs/pwg/appendix-checklist.xml:
5925           Add some random notes on things to check when writing an element.
5926           This list can be extended as people see fit.
5927
5928 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5929
5930         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5931         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5932         pad. The queue will now wait until it is empty and forward the new
5933         caps to the source.
5934         * gst/gstbin.c (gst_bin_set_element_sched)
5935         (gst_bin_unset_element_sched): Make sure that all elements and
5936         links are registered and unregistered with the scheduler exactly
5937         once. This elaborates on a fix by Benjamin Otte, but
5938         guarantees that decoupled elements are also registered.
5939
5940 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5941
5942         * docs/manual/quotes.xml:
5943           add a quote
5944         * configure.ac:
5945         * gst/gst.c:
5946         * gst/gstinfo.c:
5947           add LIBDIR and move init message higher up so it's at the start
5948
5949 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5950
5951         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5952         * gstreamer.spec.in: add fair
5953
5954 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5955
5956         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5957         * gst/elements/gstidentity.c: (gst_identity_class_init):
5958           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5959           <teuf@gnome.org> (#157263).
5960         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5961         (gst_type_find_handle_src_query):
5962           Subtract size of internally stored data from position queries.
5963
5964 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5965
5966         * gst/schedulers/fairscheduler.c:
5967         * gst/schedulers/faircothreads.c:
5968         * gst/schedulers/faircothreads.h:
5969         New cothread based scheduler: Fair scheduler.
5970         * gst/schedulers/gthread-cothreads.h: 
5971         Add the standard #if around the whole file.
5972         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5973         compilation of the functions defined in this file. This is
5974         necessary to be able to use this file as a normal header.
5975         * gst/schedulers/Makefile.am: Add compiling support for fair
5976         scheduler.
5977         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5978         scheduler cothreads layer from documentation generation.
5979
5980 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5981
5982         * gst/autoplug/gstspideridentity.c:
5983         (gst_spider_identity_sink_loop_type_finding):
5984           Don't crash if that function is not implemented.
5985
5986 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5987
5988         * docs/pwg/advanced-types.xml:
5989           Another typo.
5990
5991 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5992
5993         * docs/pwg/intro-preface.xml:
5994           Hm, ok, so the brackets weren't really useful...
5995         * docs/pwg/other-ntoone.xml:
5996           Fix embarassing typo.
5997
5998 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5999
6000         * docs/pwg/intro-preface.xml:
6001           Rewrite preface.
6002
6003 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6004
6005         * docs/pwg/advanced-scheduling.xml:
6006         * docs/pwg/advanced-tagging.xml:
6007         * docs/pwg/advanced-types.xml:
6008         * docs/pwg/building-boiler.xml:
6009         * docs/pwg/building-chainfn.xml:
6010         * docs/pwg/building-signals.xml:
6011         * docs/pwg/building-state.xml:
6012         * docs/pwg/building-testapp.xml:
6013         * docs/pwg/intro-basics.xml:
6014         * docs/pwg/other-manager.xml:
6015         * docs/pwg/other-source.xml:
6016           Typo fixes.
6017         * docs/pwg/other-manager.xml:
6018           Add some first content. No example code yet.
6019         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6020           Remove double newlines.
6021
6022 2004-11-04  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6025         (remove_from_group), (normalize_group), (group_migrate_connected),
6026         (gst_opt_scheduler_iterate):
6027         * testsuite/schedulers/.cvsignore:
6028         * testsuite/schedulers/Makefile.am:
6029         * testsuite/schedulers/queue_link.c: (main):
6030         Added testcase for scheduler segfault.
6031         Fix scheduler segfault when removing a decoupled
6032         entry point as the last element from a group.
6033
6034 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6035
6036         * gst/gstmarshal.list: add missing marshaller, fixes build
6037
6038 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6039
6040         * docs/random/signal: added notes about using BOXED for GstBuffer
6041         signal marshallers, not POINTER
6042
6043 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6044
6045         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6046         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6047         POINTER=>BOXED changes to marshal GstBuffers
6048
6049 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6050
6051         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6052         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6053
6054 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6055
6056         * docs/gst/gstreamer-sections.txt:
6057         * docs/gst/tmpl/gstcaps.sgml:
6058         * docs/gst/tmpl/gsterror.sgml:
6059         * docs/gst/tmpl/gstinfo.sgml:
6060         * docs/gst/tmpl/gstmacros.sgml:
6061         * docs/gst/tmpl/gstutils.sgml:
6062         * docs/random/ensonic/interfaces.txt:
6063         * gst/gstinfo.h:
6064           added some more docs, removed two obsolete defines
6065
6066 2004-11-02  Kjartan Maraas <as at gnome.org>
6067
6068         reviewed by: Wim Taymans, Ronald Bultje.
6069
6070         * gst/cothreads.c: (cothread_create):
6071         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6072         (gst_bin_child_state_change_func):
6073         * gst/gstbuffer.c: (gst_buffer_span):
6074         * gst/gstelement.c: (gst_element_get_index),
6075         (gst_element_get_event_masks), (gst_element_get_query_types),
6076         (gst_element_get_formats):
6077         * gst/gsterror.c: (_gst_core_errors_init),
6078         (_gst_library_errors_init), (_gst_resource_errors_init),
6079         (_gst_stream_errors_init):
6080         * gst/gstobject.c: (gst_object_default_deep_notify):
6081         * gst/gstpad.c: (gst_pad_get_event_masks),
6082         (gst_pad_get_internal_links_default):
6083         * gst/gstplugin.c: (gst_plugin_register_func),
6084         (gst_plugin_get_module):
6085         * gst/gststructure.c: (gst_structure_get_string),
6086         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6087         (gst_structure_to_abbr):
6088         * gst/gstutils.c: (gst_print_element_args):
6089         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6090         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6091         Aplied part of patch #157127: Cleanup of issues reported by 
6092         sparse.
6093         Also do not try to use cothreads when there is no cothread
6094         context yet.
6095
6096 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6097
6098         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6099         (gst_opt_scheduler_iterate):
6100         Applied patch #154061. Running a pipeline in which an element 
6101         calls GST_ELEMENT_ERROR in the chain function, the opt 
6102         scheduler doesn't unref the chain so it never gets freed.
6103
6104 2004-11-02  Wim Taymans  <wim@fluendo.com>
6105
6106         * gst/gststructure.c: (gst_structure_get_abbrs),
6107         (gst_structure_from_abbr), (gst_structure_to_abbr):
6108         Remove that ugly if-then thing in the code that converts
6109         between strings and types.
6110
6111 2004-11-02  Wim Taymans  <wim@fluendo.com>
6112
6113         * gst/gstscheduler.c: (gst_scheduler_add_element),
6114         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6115         Aplied clock distribution patch, this should fix bug
6116         #148787.
6117
6118 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6119
6120         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6121
6122         * po/LINGUAS:
6123         * po/nb.po:
6124           Added Norwegian Bokmaal translation
6125
6126 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6127
6128         * tools/gst-inspect.c: (print_signal_info):
6129           print signal arguments as pointers if they are
6130
6131 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6132
6133         * docs/pwg/building-boiler.xml:
6134           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6135
6136 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6137
6138         * gst/parse/parse.l:
6139         * testsuite/parse/parse1.c: (main):
6140         Since parse can do 'element name=a:b' make 'a:b.' work as
6141         well. 
6142         Added testcase to verify fix.
6143
6144 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6145
6146         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6147         Use the realpad when printing the direction.
6148         Add extra \n when printing extensions of typefind factories.
6149
6150 2004-10-13  David Schleef  <ds@schleef.org>
6151
6152         * examples/manual/Makefile.am: $< isn't portable in Makefile
6153         rules.
6154
6155 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6156
6157         * docs/gst/tmpl/gstobject.sgml:
6158         * docs/gst/tmpl/gstplugin.sgml:
6159         * docs/gst/tmpl/gstpluginfeature.sgml:
6160         * docs/gst/tmpl/gstregistry.sgml:
6161         * docs/gst/tmpl/gstversion.sgml:
6162         * gst/gstbin.c:
6163           more api documentation
6164         * gst/gstplugin.c: (gst_plugin_register_func),
6165         (gst_plugin_check_file), (gst_plugin_load_file):
6166           better error signaling and logging
6167
6168 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6169
6170         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6171           Subtract current queue contents from position queries.
6172
6173 2004-10-11  Johan Dahlin  <johan@gnome.org>
6174
6175         * gst/gsturi.c (gst_uri_get_location): unescape string
6176         (gst_uri_construct): escape string.
6177
6178 2004-10-11  Benjamin Otte  <otte@gnome.org>
6179
6180         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6181         (gst_pad_try_set_caps_nonfixed):
6182           allow renegotiation of unconnected pads (as inside spider). Simply
6183           return OK if unconnected - mimic try_set_caps there.
6184
6185 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6186
6187         * gst/gstbin.c: (gst_bin_sync_children_state):
6188           Add missing break.
6189
6190 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6191
6192         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6193         Set element to EOS before sending EOS event
6194
6195 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6196
6197         * gst/elements/gsttypefindelement.c:
6198         (gst_type_find_element_handle_event):
6199         Handle EOS events when doing the transition from
6200         typefind to data passing. This should fix the
6201         infinite loops in short files.
6202
6203 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6204
6205         * gst/gstthread.c: (gst_thread_change_state),
6206         (gst_thread_child_state_change):
6207         Make sure no iteration happens while performing
6208         the state change as it could mess up the internal
6209         consistency of the thread state.
6210
6211 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6212
6213         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6214         (gst_thread_change_state), (gst_thread_child_state_change):
6215         Do not try to grab the iterate lock in the state change method
6216         when we are in the same thread as the iterate or else we
6217         could deadlock. Some other cleanups.
6218
6219 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6220
6221         * configure.ac:
6222           bump nano to cvs
6223
6224 === release 0.8.7 ===
6225
6226 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6227
6228         * configure.ac:
6229         * NEWS:
6230         * RELEASE:
6231         * configure.ac:
6232           releasing 0.8.7, "A Cruise"
6233
6234 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6235
6236         * docs/random/mimetypes:
6237         Add an entry for Sony ATRAC3 audio format with mime-type
6238         used by rmdemux et riff-read
6239
6240 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6241
6242         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6243         Push the buffer store instead of clearing it in case that
6244         the stream is not seekable.
6245
6246 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6247
6248         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6249         (gst_thread_main_loop):
6250         Lock the iteration and the state change so that automatic
6251         negotiation and fixation does not happen at the same time
6252         as the in stream negotiation.
6253
6254 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6255
6256         * configure.ac:
6257           bump nano to cvs
6258
6259 === release 0.8.6 ===
6260
6261 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6262
6263         * configure.ac:
6264         * NEWS:
6265         * RELEASE:
6266         * configure.ac:
6267           releasing 0.8.6, "Narc"
6268
6269 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6270
6271         * configure.ac:
6272           prerel bump
6273
6274 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6275
6276         patch by: Steve Lhomme
6277
6278         * gst/elements/gstfakesrc.c:
6279         * gst/elements/gstidentity.c:
6280         * gst/gstthread.c:
6281           Fix for #153881
6282
6283 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6284
6285         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6286         Fix threadsafety of the crc checking function.
6287
6288 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6289
6290         patch by: Ronald Bultje
6291
6292         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6293         (gst_type_find_element_handle_event),
6294         (gst_type_find_element_chain):
6295         * gst/elements/gsttypefindelement.h:
6296          #153657.
6297          Filter out discont event from seekable sources when typefind
6298          asks them to seek.  Fixes typefind with demuxers for
6299          avi, asf and matroska.
6300
6301 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6302
6303         * docs/gst/gstreamer-sections.txt:
6304         * gst/gstcaps.c:
6305         * gst/gstcaps.h:
6306         * gst/gstpad.c:
6307           Revert preferred caps: (#147789)
6308
6309 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6310
6311         * win32/dirent.c:
6312           fix a memory leak
6313
6314 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6315
6316         * configure.ac:
6317           bump for prerelease
6318
6319 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6320
6321         * docs/Makefile.am:
6322         * docs/manual/elements-api.xml:
6323           restructure so that common stuff is shown first
6324         * docs/manual/init-api.xml:
6325           convert to examples
6326         * docs/manual/manual.xml:
6327         * docs/manuals.mak:
6328         * docs/url.entities:
6329           link to API on the website, possibly override later in build
6330         * examples/manual/.cvsignore:
6331           ignore more
6332         * examples/manual/Makefile.am:
6333           add more examples
6334         * examples/manual/extract.pl:
6335           error out on failure
6336
6337 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6338
6339         * docs/gst/tmpl/gstthread.sgml:
6340         * docs/manual/init-api.xml:
6341         * examples/manual/Makefile.am:
6342           convert two code bits to examples
6343
6344 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6345
6346         * gst/gstelement.c: (gst_element_change_state):
6347           Well, actually, I was about to remove this insane assert when
6348           I noticed Wim already did that. A warning is nice so we can
6349           fix actual ugs (using --g-fatal-warnings and backtraces), so
6350           I added that instead.
6351
6352 2004-09-06  Wim Taymans  <wim@fluendo.com>
6353
6354         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6355         (gst_element_threadsafe_properties_post_run),
6356         (gst_element_set_state), (gst_element_change_state):
6357         Added extra refcounting around various places. 
6358
6359 2004-09-06  Wim Taymans  <wim@fluendo.com>
6360
6361         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6362         Fix debug info.
6363
6364 2004-09-06  Wim Taymans  <wim@fluendo.com>
6365
6366         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6367         (remove_from_group):
6368         Some more debug info.
6369
6370 2004-09-03  Wim Taymans  <wim@fluendo.com>
6371
6372         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6373         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6374         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6375         (gst_fakesrc_get), (gst_fakesrc_change_state):
6376         * gst/elements/gstfakesrc.h:
6377         * gst/elements/gstidentity.c: (gst_identity_class_init),
6378         (gst_identity_init), (gst_identity_chain),
6379         (gst_identity_set_property), (gst_identity_get_property),
6380         (gst_identity_change_state):
6381         * gst/elements/gstidentity.h:
6382         Added datarate properties to limit the datarate.
6383
6384 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6385
6386         * gst/autoplug/gstspider.c: (plugin_init):
6387           don't set a rank. We don't want to autoplug by inserting spiders.
6388
6389 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6390
6391         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6392         (gst_spider_identity_plug):
6393           add a template for spider's sink
6394         * gst/gst.c: (gst_register_core_elements):
6395           queue's rank should be NULL, we don't want spider to add it.
6396
6397 2004-08-18  David Schleef  <ds@schleef.org>
6398
6399         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6400         * docs/libs/Makefile.am: same
6401         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6402         * docs/random/ds/0.9-planning: random additions
6403         * docs/random/ds/0.9-suggested-changes: same
6404         * gst/gstxml.h: remove vestigal GstXMLNs definition
6405
6406         Preferred caps: (#147789)
6407         * docs/gst/gstreamer-sections.txt: Add symbols
6408         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6409         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6410         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6411         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6412         (gst_caps_get_preferred), (gst_caps_set_preferred),
6413         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6414         (gst_caps_use_preferred): Handle caps preferences
6415         * gst/gstcaps.h: Add caps preferences
6416         * gst/gstpad.c: (gst_pad_link_get_preferred),
6417         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6418         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6419         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6420         negotiation.
6421
6422 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6423
6424         * gst/autoplug/gstspideridentity.c:
6425         (gst_spider_identity_request_new_pad):
6426         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6427         (gst_aggregator_init):
6428         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6429         (gst_fakesink_init):
6430         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6431         (gst_fakesrc_init):
6432         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6433         (gst_fdsink_init):
6434         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6435         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6436         (gst_filesink_init):
6437         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6438         (gst_filesrc_init):
6439         * gst/elements/gstidentity.c: (gst_identity_base_init),
6440         (gst_identity_init):
6441         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6442         (gst_multifilesrc_init):
6443         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6444         (gst_pipefilter_init):
6445         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6446         (gst_statistics_init):
6447         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6448         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6449           s/gst_pad_new/&_from_template/
6450           register pad templates in the base_init function
6451           add static pad template definitions
6452
6453 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6454
6455         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6456         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6457         * testsuite/refcounting/pad.c: (main):
6458         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6459           s/gst_pad_new/&_from_template/
6460           prepare deprecation of gst_pad_new
6461
6462 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6463
6464         patch by: Luca Ognibene <skaboy81@virgilio.it>
6465
6466         * gst/gstcaps.c:
6467         * gst/gstelement.c:
6468         * gst/gstpad.c:
6469         * gst/gstxml.c:
6470           fix memleaks.  Fixes #150001
6471
6472 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6473
6474         * docs/random/ds/0.9-suggested-changes:
6475           add notes - mostly about pad templates
6476
6477 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6478
6479         * win32/GStreamer.vcproj:
6480           temporary locale files are .gmo not .mo
6481
6482 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6483
6484         * configure.ac: bump nano to cvs
6485
6486 === release 0.8.5 ===
6487
6488 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6489
6490         * configure.ac:
6491           releasing 0.8.5, "Stuttgart"
6492         * NEWS:
6493         * RELEASE:
6494         * configure.ac:
6495         * docs/random/release:
6496           updates for release
6497
6498 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6499
6500         patch by: Wim Taymans (wim@fluendo.com)
6501
6502         * gst/gstbuffer.c:
6503         * gst/gstindex.h:
6504         * libs/gst/dataprotocol/dataprotocol.c:
6505           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6506
6507 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6508
6509         * Makefile.am:
6510         * win32/MANIFEST:
6511           add win32 dir to the build.  Fixes #149981.
6512
6513 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6514
6515         * configure.ac:
6516           bump libtool versioning
6517         * gst/gststructure.c:
6518           mark function as static
6519         * po/af.po:
6520         * po/az.po:
6521         * po/ca.po:
6522         * po/cs.po:
6523         * po/en_GB.po:
6524         * po/fr.po:
6525         * po/nl.po:
6526         * po/sq.po:
6527         * po/sr.po:
6528         * po/sv.po:
6529         * po/tr.po:
6530         * po/uk.po:
6531           translations update
6532         * win32/README.txt:
6533           trademark protection
6534
6535 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6536
6537         * configure.ac:
6538           fix GST_ORIGIN
6539           set GST_PACKAGE to source, and distinguish between release and other
6540         * tools/gst-inspect.c:
6541           print out plugin an element factory is part of so we see this info
6542
6543 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         * docs/gst/gstreamer-sections.txt:
6546         * docs/gst/tmpl/gstbuffer.sgml:
6547         * docs/gst/tmpl/gstschedulerfactory.sgml:
6548           reorder docs a little, make GstBuffer's more sensible.
6549         * gst/gstbuffer.h:
6550           API: added GST_BUFFER_FLAG_DELTA_UNIT
6551         * gst/gstscheduler.c:
6552           comment API addition
6553
6554 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6555
6556         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6557           work with non-regular files that can be mmapped (like /dev/zero)
6558         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6559           get rid of typefinds that require a seek when we can't seek instead
6560           of trying them over and over again
6561         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6562           return non-zero failure value when the pipeline was interrupted or
6563           an error occurred
6564
6565 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6566
6567         * win32/config.h:
6568         * win32/GStreamer.vcproj:
6569           compile and install the locales
6570
6571 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6572
6573         * gst/gstvalue.c:
6574           fix a possible memory leak under Windows
6575
6576 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6577
6578         * win32/GStreamer.vcproj:
6579           fix a memory leak that occured under Windows
6580         * win32/gstreamer.def:
6581           add gst_scheduler_register
6582
6583 2004-08-11  Benjamin Otte  <otte@gnome.org>
6584
6585         * docs/gst/gstreamer-sections.txt:
6586         * gst/gstscheduler.c: (gst_scheduler_register):
6587         * gst/gstscheduler.h:
6588           API:
6589           add gst_scheduler_register shortcut similar to gst_element_register
6590         * gst/schedulers/entryscheduler.c: (plugin_init):
6591         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6592         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6593           use it
6594
6595 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6596
6597         * gst/gstvalue.h:
6598           fix a memory leak that occured under Windows
6599
6600 2004-08-10  Colin Walters  <walters@redhat.com>
6601
6602         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6603         Don't use O_EXCL to open temporary registry.  It will prevent
6604         registry creation if a temporary one already exists, which
6605         is unnecessary.
6606
6607 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6608
6609         * docs/gst/gstreamer-sections.txt:
6610         * docs/gst/tmpl/gstvalue.sgml:
6611           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6612
6613 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6614
6615         * win32/gstbytestream.vcproj:
6616         * win32/gstelements.vcproj:
6617         * win32/gstgetbits.vcproj:
6618         * win32/gst-inspect.vcproj:
6619         * win32/gst-launch.vcproj:
6620         * win32/gstoptimalscheduler.vcproj:
6621         * win32/GStreamer.vcproj:
6622         * win32/gst-register.vcproj:
6623         * win32/gstspider.vcproj:
6624           update the include and lib dirs to fit standard libraries as
6625           described in the Win32 manual
6626
6627 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6628
6629         * win32/config.h:
6630         * win32/gstversion.h:
6631           enable NLS again, push the version number for the coming 0.8.5 release
6632
6633 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6634
6635         * gst/gstvalue.h:
6636           export gst_type_XXX for windows DLLs
6637
6638 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6639
6640         * docs/faq/gst-uninstalled:
6641           fix PKG_CONFIG_PATH and PYTHONPATH
6642         * gst/schedulers/Makefile.am:
6643           cleanup
6644         * libs/gst/bytestream/bytestream.c:
6645           remove newline
6646         * po/LINGUAS:
6647         * po/sq.po:
6648           adding Albanian translation (Laurent Dhima)
6649         * po/cs.po:
6650           updated
6651
6652 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6653
6654         * po/ca.po:
6655         * po/sv.po:
6656           updated translations
6657
6658 2004-08-04  Benjamin Otte  <otte@gnome.org>
6659
6660         * tests/mass_elements.c: (main):
6661           allow specifying src and sink element explicitly, so I can test
6662           videotestsrc instead of fakesrc
6663
6664 2004-08-04  Benjamin Otte  <otte@gnome.org>
6665
6666         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6667         (gst_structure_id_empty_new), (gst_structure_empty_new),
6668         (gst_structure_copy):
6669           add gst_structure_id_empty_new_with_size to allow preallocating
6670           value array sizes. Use this in gst_structure_copy to get rid of
6671           reallocs.
6672           don't do quark=>string=>quark when copying structures
6673
6674 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6675
6676         * docs/manual/win32.xml:
6677         * win32/README.txt:
6678           update documentation with the clean version of dependencies
6679
6680 2004-08-03  Benjamin Otte  <otte@gnome.org>
6681
6682         * gst/schedulers/entryscheduler.c:
6683         (gst_entry_scheduler_remove_element):
6684           fix for GST_DISABLE_DEBUG
6685         * tools/gst-launch.c: (print_tag):
6686           fixes for G_DISABLE_ASSERT
6687
6688 2004-08-03  Benjamin Otte  <otte@gnome.org>
6689
6690         * gst/gst.c: (gst_register_core_elements):
6691           fix for G_DISABLE_ASSERT
6692         * gst/gstinfo.c: (__gst_in_valgrind):
6693           add for GST_DISABLE_DEBUG
6694
6695 2004-08-03  Benjamin Otte  <otte@gnome.org>
6696
6697         * gst/parse/parse.l:
6698           fix for G_DISABLE_ASSERT
6699
6700 2004-08-03  Wim Taymans  <wim@fluendo.com>
6701
6702         * gst/gstbin.c: (gst_bin_get_type),
6703         (gst_bin_child_state_change_func):
6704         * gst/gstthread.c: (gst_thread_change_state):
6705         Backported some debug logging from a reverted patch
6706         Don't try to destroy the thread twice. Added some more
6707         debugging in GstThread. Unlock and signal even if we
6708         are in the thread context.
6709
6710 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6711
6712         * po/uk.po:
6713           updated translation
6714
6715 2004-07-30  David Schleef  <ds@schleef.org>
6716
6717         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6718
6719 2004-07-29  David Schleef  <ds@schleef.org>
6720
6721         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6722         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6723
6724 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6725
6726         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6727         (gst_bin_add_func), (gst_bin_remove_func),
6728         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6729         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6730         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6731         (gst_bin_sync_children_state):
6732         * gst/gstbin.h:
6733         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6734         (gst_thread_change_state):
6735         * testsuite/states/Makefile.am:
6736           revert state change patches as agreed so we can rework them
6737           gradually
6738
6739 2004-07-29  Benjamin Otte  <otte@gnome.org>
6740
6741         * libs/gst/control/Makefile.am:
6742           link to libgstreamer (fixes Debian bug 262019, see
6743           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6744
6745 2004-07-29  Wim Taymans  <wim@fluendo.com>
6746
6747         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6748         (check_from_fraction_convert), (transform_test), (main):
6749         Make the test less pedantic about float roundoff errors.
6750
6751 2004-07-29  Benjamin Otte  <otte@gnome.org>
6752
6753         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6754         (gst_filesrc_srcpad_event):
6755           make seek events to before start/after end of file not fail, but
6756           seek to start/end instead
6757         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6758           add more output
6759
6760 2004-07-29  Benjamin Otte  <otte@gnome.org>
6761
6762         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6763           check that caps are fixed
6764         * gst/gstpad.c: (gst_pad_template_new):
6765           don't try to simplify caps, costs too much time on gst_init
6766         * gst/gstplugin.c: (gst_plugin_add_feature):
6767           G_ERROR if features are added twice
6768         * gst/gsttypefind.c: (gst_type_find_register):
6769         * gst/gstelementfactory.c: (gst_element_register):
6770           don't add features twice
6771         * docs/random/ds/0.9-suggested-changes:
6772           add note about possible gst_init optimization
6773
6774 2004-07-28  David Schleef  <ds@schleef.org>
6775
6776         * testsuite/elements/Makefile.am:
6777         * testsuite/elements/struct_i386.h:
6778         * testsuite/elements/struct_size.c: (main):  A little test
6779         to keep distcheck from working if someone changes a structure
6780         size accidentally.
6781
6782 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * docs/libs/Makefile.am:
6785         * docs/libs/gstreamer-libs-docs.sgml:
6786         * docs/libs/gstreamer-libs-sections.txt:
6787         * docs/libs/tmpl/gstbytestream.sgml:
6788         * docs/libs/tmpl/gstcontrol.sgml:
6789         * docs/libs/tmpl/gstdataprotocol.sgml:
6790         * docs/libs/tmpl/gstgetbits.sgml:
6791         * libs/gst/bytestream/Makefile.am:
6792         * libs/gst/bytestream/bytestream.c:
6793         * libs/gst/bytestream/bytestream.h:
6794         * libs/gst/control/Makefile.am:
6795         * libs/gst/dataprotocol/Makefile.am:
6796         * libs/gst/getbits/Makefile.am:
6797         * libs/gst/getbits/getbits.h:
6798           various doc and style fixes, adding bytestream to libs docs.
6799
6800 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6801
6802         * docs/gst/gstreamer-docs.sgml:
6803         * docs/libs/Makefile.am:
6804         * docs/libs/gstreamer-libs-docs.sgml:
6805         * docs/libs/gstreamer-libs-sections.txt:
6806         * libs/gst/control/dparam.c:
6807           more doc fixes.  gst-libs docs now build the same way as gst.
6808
6809 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6810
6811         * configure.ac:
6812         * testsuite/Makefile.am:
6813         * testsuite/bins/Makefile.am:
6814         * testsuite/caps/Makefile.am:
6815         * testsuite/cleanup/Makefile.am:
6816         * testsuite/clock/Makefile.am:
6817         * testsuite/debug/Makefile.am:
6818         * testsuite/dlopen/Makefile.am:
6819         * testsuite/dynparams/Makefile.am:
6820         * testsuite/elements/.cvsignore:
6821         * testsuite/elements/Makefile.am:
6822         * testsuite/enumcaps/Makefile.am:
6823         * testsuite/enumcaps/enumcaps.c:
6824         * testsuite/ghostpads/Makefile.am:
6825         * testsuite/indexers/Makefile.am:
6826         * testsuite/negotiation/Makefile.am:
6827         * testsuite/parse/Makefile.am:
6828         * testsuite/plugin/Makefile.am:
6829         * testsuite/refcounting/Makefile.am:
6830         * testsuite/schedulers/.cvsignore:
6831         * testsuite/states/Makefile.am:
6832         * testsuite/tags/Makefile.am:
6833         * testsuite/threads/Makefile.am:
6834           fold enumcaps into caps dir
6835           clean up Makefile.am's for testsuite
6836
6837 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6838
6839         * docs/gst/Makefile.am:
6840         * docs/libs/Makefile.am:
6841           clean up docs build.  Fixes needless rebuilding of template files.
6842
6843 2004-07-28  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6846         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6847         Make sure that a bin state change tries to keep the children
6848         in sync. 
6849         Added debug logging to the thread.
6850
6851 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6852
6853         * win32/GStreamer.vcproj:
6854         * win32/gstreamer.def:
6855           more exports for the plugins
6856
6857 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6858
6859         * win32/gstgetbits.vcproj:
6860         * win32/gstgetbits.def:
6861         * win32/msvc71.sln:
6862           add support for the getbits plugin
6863
6864 2004-07-27  Wim Taymans  <wim@fluendo.com>
6865
6866         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6867         (gst_value_transform_fraction_double), (_gst_value_initialize):
6868         * testsuite/caps/Makefile.am:
6869         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6870         (check_from_fraction_convert), (transform_test), (main):
6871         Added transform functions between double and fraction.
6872         Added testcase to verify transforms
6873
6874 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6875
6876         * win32/GStreamer.vcproj:
6877           rename GStreamer-0.8.lib to libgstreamer.lib
6878
6879 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6880
6881         * win32/gstelements.vcproj:
6882         * win32/gstoptimalscheduler.vcproj:
6883           fixes for the Release build
6884
6885 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6886
6887         * win32/config.h:
6888           update the version number
6889
6890 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6891
6892         * win32/GStreamer.vcproj:
6893           add gstinterface to the build
6894
6895 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6896
6897         * win32/gstreamer.def:
6898           add many definitions needed by plugins,
6899           GST_CAT_DEFAULT only available in the Debug build ?
6900
6901 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * gst/gstelement.c: (gst_element_set_eos_recursive):
6904           various whitespace fixes.
6905           doc fix, fixes #148497
6906
6907 2004-07-25  Benjamin Otte  <otte@gnome.org>
6908
6909         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6910           don't delay links on the sink elements, it causes unnegotiated
6911           links.
6912         * gst/elements/gsttypefindelement.c:
6913         (gst_type_find_element_base_init):
6914           add our padtemplates, we indeed do have some.
6915         * gst/elements/gsttypefindelement.c:
6916         (gst_type_find_element_handle_event),
6917         (gst_type_find_element_chain):
6918           don't push data when typefinding failed.
6919         * gst/gstpad.c: (gst_pad_link_fixate):
6920           check that no fixate function returns empty caps.
6921         * gst/gstpad.c: (gst_pad_push):
6922           check that the link is negotiated before data gets pushed.
6923         * tools/gst-register.c: (main):
6924           don't assert (fixes #148283)
6925
6926 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6927
6928         * docs/gst/gstreamer-sections.txt:
6929         * docs/gst/tmpl/gstconfig.sgml:
6930           add GST_PLUGIN_EXPORT definition
6931
6932 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6933
6934         * gst/gstplugin.h:
6935         * gst/gstconfig.h.in:
6936         * win32/gstconfig.h:
6937         * win32/gstelements.def:
6938         * win32/gstelements.vcproj:
6939         * win32/gstoptimalscheduler.def:
6940         * win32/gstoptimalscheduler.vcproj:
6941         * win32/gstspider.def:
6942         * win32/gstspider.vcproj:
6943           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6944
6945 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6946
6947         * docs/gst/gstreamer-sections.txt:
6948           remove GST_CAT_DEFAULT because the type has changed
6949
6950 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6951
6952         * win32/gstbytestream.vcproj:
6953         * win32/gstelements.vcproj:
6954         * win32/gst-inspect.vcproj:
6955         * win32/gst-launch.vcproj:
6956         * win32/gstoptimalscheduler.vcproj:
6957         * win32/GStreamer.vcproj:
6958         * win32/gst-register.vcproj:
6959         * win32/gstspider.vcproj:
6960         * win32/msvc71.sln:
6961           Copy the files where needed after building, The testsuite will be
6962           built separately
6963
6964 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6965
6966         * win32/config.h:
6967         * win32/README.txt:
6968         * docs/manual/win32.xml:
6969         Fixed the plugin and GStreamer location
6970
6971 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6972
6973         * win32/gstreamer.def:
6974         More exports for the plugins
6975
6976 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6977
6978         * gst/gstinfo.h:
6979         Marc was right, we need to export literally GST_CAT_DEFAULT
6980
6981 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6982
6983         * win32/config.h:
6984         NLS crashes in gettext, disabled until this is solved
6985
6986 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6987
6988         * win32/gst-inspect.vcproj:
6989         * win32/gst-launch.vcproj:
6990         Should use NLS when available
6991
6992 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6993
6994         * gst/registries/gstxmlregistry.c:
6995         removing the file doesn't seem to be a good idea on Linux
6996
6997 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6998
6999         * gst/registries/gstxmlregistry.c:
7000         Remove the registry before renaming the tempfile (needed for Windows)
7001
7002 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7003
7004         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7005         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7006         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7007         * gst/elements/gstmultifilesrc.h:
7008         Added newmedia property so it generates newmedia events between each
7009         file when property is set, as well as fixed eos handling
7010
7011 2004-07-22  David Schleef  <ds@schleef.org>
7012
7013         * gst/gststructure.c: (gst_structure_id_empty_new),
7014         (gst_structure_empty_new):  Set type field correctly.
7015         * gst/gststructure.h: Check type field correctly.
7016         * testsuite/caps/Makefile.am:
7017         * testsuite/caps/structure.c: (test1), (main): Add a very small
7018         test for structures.
7019
7020 2004-07-22  David Schleef  <ds@schleef.org>
7021
7022         * docs/random/ds/0.9-suggested-changes: more comments
7023         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7024
7025 2004-07-22  Benjamin Otte  <otte@gnome.org>
7026
7027         * gst/gstelementfactory.c: (gst_element_register):
7028           set the factory in the class struct, so gst_element_get_factory
7029           actually works
7030         * gst/parse/grammar.y:
7031           set element to playing when it gets unlocked as we can't rely on the
7032           bin state - all elements in the bin state might still be locked in
7033           NULL)
7034
7035 2004-07-22  Benjamin Otte  <otte@gnome.org>
7036
7037         * gst/gstelement.c: (gst_element_set_state_func):
7038           make this a static function
7039
7040 2004-07-22  Wim Taymans  <wim@fluendo.com>
7041
7042         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7043         (gst_opt_scheduler_pad_link):
7044         fix 147894-2 and the group_link problem.
7045
7046 2004-07-22  Wim Taymans  <wim@fluendo.com>
7047
7048         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7049         (handoff_identity), (main):
7050         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7051         (handoff_identity), (main):
7052         * testsuite/schedulers/Makefile.am:
7053         * testsuite/schedulers/group_link.c: (main):
7054         Show bug in scheduler when linking chain and loop based element 
7055         where the chain based element was not yet in a group.
7056
7057 2004-07-21  Benjamin Otte  <otte@gnome.org>
7058
7059         * gst/.cvsignore:
7060         * gst/autoplug/.cvsignore:
7061         * gst/elements/.cvsignore:
7062         * gst/indexers/.cvsignore:
7063         * libs/gst/bytestream/.cvsignore:
7064         * libs/gst/control/.cvsignore:
7065         * libs/gst/getbits/.cvsignore:
7066         * testsuite/states/.cvsignore:
7067         * testsuite/threads/.cvsignore:
7068           keep this up to date, since I seem to be the only one who cares
7069           about not missing files on commits (editor's note: no you don't,
7070           but feel free to change them at the time you add stuff instead
7071           of later on)
7072
7073 2004-07-21  Benjamin Otte  <otte@gnome.org>
7074
7075         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7076         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7077         (gst_bin_child_state_change_func), (set_kid_state_func),
7078         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7079           make state changes work correctly and reentrant (so removing
7080           elements from bins during state changes of bins doesn't cause
7081           segfaults or even wrong states)
7082           add debugging category and debugging output to print children states
7083         * gst/gstbin.c: (gst_bin_dispose): 
7084           add some assertion checks
7085         * gst/gstbin.h:
7086         * gst/gstbin.c: (gst_bin_sync_children_state):
7087           deprecate this function - it just does gst_bin_set_state (bin,
7088           GST_STATE (bin)) 
7089         * testsuite/threads/queue.c: (main):
7090           don't use gst_bin_sync_children_state anymore
7091         * testsuite/states/Makefile.am:
7092         * testsuite/states/bin.c:
7093           test that the state changes of bins work as expected
7094         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7095           some adjustments to change states correctly, too
7096         * gst/gstthread.c: (gst_thread_change_state):
7097           don't enable/disable "threadsafe" properties, they're unused and
7098           cause random segfaults
7099         * testsuite/threads/Makefile.am:
7100           the queue check randomly passes now, ignore it
7101
7102 2004-07-21  Benjamin Otte  <otte@gnome.org>
7103
7104         * gst/gstpad.c:
7105           check if data is NULL before outputting debug info. (fixes #145100)
7106
7107 2004-07-21  Benjamin Otte  <otte@gnome.org>
7108
7109         * gst/schedulers/entryscheduler.c:
7110         (gst_entry_scheduler_loop_wrapper),
7111         (gst_entry_scheduler_chain_wrapper),
7112         (gst_entry_scheduler_get_wrapper):
7113           reset the state when the cothread starts, so we don't get assertion
7114           failures on restarting of cothreads
7115
7116 2004-07-20  Benjamin Otte  <otte@gnome.org>
7117
7118         * gst/gstelement.c: (gst_element_link_pads_filtered):
7119           use correct sinkpad, if only sinkpad is specified, but not srcpad
7120           (fixes #147889)
7121         * gst/gstelement.c: (gst_element_set_state_func),
7122         (gst_element_change_state): ref/unref the element, signal handlers
7123         could get rid of the element otherwise
7124
7125 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7126
7127         * docs/random/ds/0.9-suggested-changes:
7128           Make note about renaming fixed-list to array.
7129         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7130         (_gst_value_initialize):
7131           Add array intersections.
7132         * testsuite/caps/intersect2.c: (main):
7133           Add test for array intersections.
7134
7135 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7136
7137         * configure.ac: back to cvs
7138
7139 === release 0.8.4 ===
7140
7141 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7142
7143         * configure.ac:
7144           releasing 0.8.4, "Paella"
7145           bump libtool versioning
7146
7147 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7148
7149         * po/LINGUAS:
7150         * po/ca.po:
7151           adding Catalan translation (Jordi Mallach)
7152
7153 2004-07-20  Wim Taymans  <wim@fluendo.com>
7154
7155         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7156         (handoff_identity), (main):
7157         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7158         (handoff_identity), (main):
7159         * testsuite/schedulers/Makefile.am:
7160         Added failing testcase for variant of #147894
7161
7162 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         patch by: David Moore
7165
7166         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7167         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7168         (group_migrate_connected):
7169         * testsuite/schedulers/Makefile.am:
7170           fix for #142813 (Deadlock in optimal scheduler)
7171
7172 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7173
7174         patch by: Wim Taymans
7175
7176         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7177         (gst_opt_scheduler_schedule_run_queue),
7178         (gst_opt_scheduler_get_wrapper), (get_group),
7179         (group_migrate_connected):
7180         * testsuite/schedulers/Makefile.am:
7181           fix for #147819 (Add some checks in the opt scheduler)
7182
7183 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7184
7185         patch by: Benjamin Otte
7186
7187         * gst/gstelementfactory.c: (__gst_element_details_set):
7188           fix for #147929: running gst-register in non-utf8 locale can cause
7189           invalid registry
7190
7191 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         patch by: Wim Taymans
7194
7195         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7196         (group_has_element), (element_get_reachables_func),
7197         (group_migrate_connected):
7198           fix for #147894 (opt scheduler decoupled elements mismanagement)
7199         * testsuite/schedulers/Makefile.am:
7200           testsuite app now passes
7201
7202 2004-07-19  Wim Taymans  <wim@fluendo.com>
7203
7204         * testsuite/schedulers/147819.c: (handoff_identity1),
7205         (handoff_identity2), (main):
7206         * testsuite/schedulers/Makefile.am:
7207         Added testcase for bug 147819
7208
7209 2004-07-19  Wim Taymans  <wim@fluendo.com>
7210
7211         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7212         (handoff_identity), (main):
7213         * testsuite/schedulers/Makefile.am:
7214         Added testcase for bug 147894
7215
7216 2004-07-16  Wim Taymans  <wim@fluendo.com>
7217
7218         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7219         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7220         * testsuite/schedulers/Makefile.am:
7221         Added testsuite for bug 142183 in its two incarnations. Refcount
7222         is not increased for scheduled elements and threadsafe properties
7223         mutexes are not properly unlocked.
7224
7225 2004-07-16  Wim Taymans  <wim@fluendo.com>
7226
7227         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7228         (create_chain), (destroy_chain), (create_group), (destroy_group),
7229         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7230         (group_dec_link), (gst_opt_scheduler_pad_link),
7231         (group_inc_links_for_element), (group_migrate_connected):
7232         Call group_inc_link with the proper src->sink ordering -- 
7233         break this, and we break sort_chain. patch from wingo for bug
7234         147713.
7235         Partially revert patch 1.89. When adding a loop based element to 
7236         the scheduler, the links to other groups are automatically followed
7237         and incremented. This should not happen because the bin will call
7238         pad_link explicitly for those connection, resulting in them counted 
7239         twice. Results in assertion failure on pipeline cleanup.
7240
7241 2004-07-16  Wim Taymans  <wim@fluendo.com>
7242
7243         * testsuite/schedulers/143777-2.c: (main):
7244         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7245         (main):
7246         * testsuite/schedulers/Makefile.am:
7247         Added cleanup code to testcase 143777-2.
7248         Added testcase to show bug 147713, does not really show the
7249         deadlock as I can't figure out how to trigger it, but it does
7250         demonstrate bad ordering in the scheduler.
7251
7252 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7253
7254         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7255           change strndup to g_strndup.  Fixes #147707
7256
7257 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7258
7259         * po/af.po:
7260         * po/az.po:
7261         * po/cs.po:
7262         * po/en_GB.po:
7263         * po/fr.po:
7264         * po/nl.po:
7265         * po/sr.po:
7266         * po/sv.po:
7267         * po/tr.po:
7268         * po/uk.po:
7269           updated translations
7270
7271 2004-07-16  Benjamin Otte  <otte@gnome.org>
7272
7273         * gst/gstvalue.c: (gst_greatest_common_divisor):
7274           use ints and return ints, fractions only use ints, too, so this
7275           avoids accidently casting multiplications to unsigned
7276         (gst_value_lcopy_fraction): it's ints, not uint32
7277         (gst_value_set_fraction): disallow minint, multiplying and negation
7278           are broken with it
7279         (gst_value_fraction_multiply): fix to make large numbers work and get
7280         rid of the assumption that the multiplication of two ints fits an
7281         int64 - dunno if that's true for all systems
7282         * testsuite/caps/Makefile.am:
7283         * testsuite/caps/fraction-multiply-and-zero.c:
7284         (check_multiplication), (check_equal), (zero_test), (main):
7285           add tests for all the stuff above
7286         * testsuite/caps/value_compare.c: (test1):
7287           fix comment
7288         * tests/.cvsignore:
7289         * testsuite/caps/.cvsignore:
7290         * testsuite/debug/.cvsignore:
7291         * testsuite/dlopen/.cvsignore:
7292         * testsuite/states/.cvsignore:
7293           get up to date
7294
7295 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7296
7297         * docs/manual/bins-api.xml:
7298         * docs/manual/factories.xml:
7299         * docs/manual/helloworld.xml:
7300         * docs/manual/links-api.xml: 
7301           fixes for out of date info, incorrect info and grammar
7302
7303 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7304
7305         * docs/manual/pads.xml:
7306         * docs/manual/pads-api.xml: grammar fix
7307
7308 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7309
7310         * docs/manual/pads-api.xml: typo + grammar fix
7311
7312 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7313
7314         * docs/gst/gstreamer-sections.txt:
7315           add new symbols
7316         * docs/gst/tmpl/gstelement.sgml:
7317         * docs/gst/tmpl/gstpad.sgml:
7318         * docs/gst/tmpl/gsttypes.sgml:
7319         * docs/gst/tmpl/gstvalue.sgml:
7320           update docs
7321         * gst/gststructure.c: (gst_structure_set_valist),
7322         (gst_structure_from_abbr), (gst_structure_to_abbr):
7323         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7324         (gst_greatest_common_divisor), (gst_value_init_fraction),
7325         (gst_value_copy_fraction), (gst_value_collect_fraction),
7326         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7327         (gst_value_get_fraction_numerator),
7328         (gst_value_get_fraction_denominator),
7329         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7330         (gst_value_deserialize_fraction),
7331         (gst_value_transform_fraction_string),
7332         (gst_value_transform_string_fraction),
7333         (gst_value_compare_fraction), (_gst_value_initialize):
7334         * gst/gstvalue.h:
7335           adding GstFraction GValue type, get/set, and multiply
7336         * testsuite/caps/Makefile.am:
7337         * testsuite/caps/fraction.c: (test), (main):
7338         * testsuite/caps/string-conversions.c: (main):
7339         * testsuite/caps/value_compare.c: (test1), (main):
7340           add regression tests for GstFraction
7341
7342 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7343         
7344         * docs/manual/init-api.xml: Grammar fix
7345
7346 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7347
7348         * docs/manual/states.xml: Fix inconsistent information
7349
7350 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7351
7352         * gst/gstelement.c: (gst_element_set_state):
7353         * gst/gstpad.c: (gst_pad_try_set_caps):
7354         * gst/gststructure.c:
7355         * gst/gstthread.c: (gst_thread_child_state_change):
7356         * gst/gstvalue.c: (gst_value_compare_double):
7357         * gst/gstvalue.h:
7358         * testsuite/parse/parse1.c: (main):
7359           debugging additions and style cleanups
7360
7361 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7362
7363         * docs/manual/states.xml: Grammar fix
7364
7365 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7366
7367         * docs/manual/pads.xml: Grammar fix
7368
7369 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7370
7371         * docs/manual/elements.xml: Fixed image reference
7372
7373 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7374
7375         * docs/manual/goals.xml: Grammar fix
7376
7377 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7378
7379         * docs/manual/motivation.xml:
7380         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7381
7382 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7383
7384         * docs/manual/motivation.xml: Fix spelling
7385
7386 2004-07-15  Benjamin Otte  <otte@gnome.org>
7387
7388         * gst/gstelement.h: 
7389           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7390           strings.
7391         * gst/gstelement.c (gst_element_class_init):
7392           GError's are boxed, not objects
7393         * gst/gstmarshal.list:
7394           update list for the fixed error signal
7395
7396 2004-07-14  Andy Wingo  <wingo@pobox.com>
7397
7398         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7399         there all along, but the function wasn't. (guile-gstreamer's build
7400         system uses the address of the function -- I wasn't actually
7401         trying to use this.)
7402
7403 2004-07-14  Andy Wingo  <wingo@pobox.com>
7404
7405         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7406         as gst_pad_proxy_pad_link) just link to every other pad when they
7407         are called. In the case where the graph has cycles, this will mean
7408         that a call to try_set_caps will recurse. Allow this recursion
7409         and return OK, while we wait for the first try_set_caps to give a
7410         proper return value.
7411         (gst_pad_link_call_link_functions): Since this function is the
7412         only one to set the NEGOTIATING flag on a pad, if the flag is set
7413         it means that the link functions have indirectly recursed. If this
7414         happens, error out to avoid infinite recursion and an eventual
7415         SEGV.
7416         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7417         (gst_pad_proxy_getcaps): Intersect the result with the template
7418         caps to ensure that the return value is valid.
7419
7420 2004-07-14  Andy Wingo  <wingo@pobox.com>
7421
7422         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7423         one refcount, the calling function is the owner of the buffer.
7424
7425 2004-07-14  Wim Taymans  <wim@fluendo.com>
7426
7427         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7428         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7429         Fix stupid warning when an element is to be migrated but
7430         is already migrated.
7431
7432 2004-07-14  Wim Taymans  <wim@fluendo.com>
7433
7434         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7435         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7436         Make sure that a single non-loop-based element does not 
7437         end up in a group. This fixes the testsuite again.
7438
7439 2004-07-14  Wim Taymans  <wim@fluendo.com>
7440
7441         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7442         (add_to_group), (merge_groups), (schedule_group),
7443         (gst_opt_scheduler_get_wrapper), (group_elements),
7444         (group_dec_link), (gst_opt_scheduler_pad_link),
7445         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7446         (gst_opt_scheduler_iterate):
7447         move isolated groups to a new chain.
7448         Emit a warning instead of segfaulting in some error cases.
7449         Fix a bug where the link count between groups was not calculated 
7450         correctly. Fixes #144510.
7451
7452 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7453         * gst/elements/gstfilesrc.c:
7454           Binary files support under Windows now OK
7455       
7456 2004-07-13  Benjamin Otte  <otte@gnome.org>
7457
7458           compatibility fixes for Solaris 8/gcc 2.95
7459         * configure.ac:
7460           include libintl libs in LDFLAGS
7461         * gstvalue.c (gst_value_deserialize_buffer):
7462           cast isxdigit stuff to int to silence compiler warning
7463
7464 2004-07-12  Benjamin Otte  <otte@gnome.org>
7465
7466         * gst/gsttypes.h:
7467           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7468           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7469           just causes support madness
7470         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7471           make it work without this
7472         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7473         (gst_file_index_commit):
7474           glib IO channels don't want binary mode
7475         * testsuite/bytestream/filepadsink.c: (main):
7476         * testsuite/bytestream/test1.c: (read_param_file):
7477           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7478
7479 2004-07-12  Benjamin Otte  <otte@gnome.org>
7480
7481         * gst/gstelement.c: (gst_element_class_init),
7482         (gst_element_set_state), (gst_element_set_state_func):
7483           virutalize gst_element_set_state, use set_state member in class
7484           struct that was already added in 0.7 for this.
7485         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7486         (gst_bin_change_state):
7487           make gst_bin_foreach works similar to other foreach functions, plug
7488           memleaks in it. Make functions using it work with the new approach.
7489           Document gst_bin_foreach, so it can be exported if we want to
7490         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7491           use virtualized set_state to make set_state on bins set the state of
7492           all its children.
7493
7494 2004-07-12  Benjamin Otte  <otte@gnome.org>
7495
7496         * configure.ac:
7497           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7498           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7499         * gst/gstpad.c: (gst_pad_alloc_buffer):
7500           allow buffer_alloc functions to return NULL and allocate a normal
7501           buffer in that case
7502
7503 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7504         * gst/elements/gstfilesink.c:
7505         * gst/elements/gstfilesrc.c:
7506         * gst/indexers/gstfileindex.c:
7507         * gst/gsttypes.h:
7508         * testsuite/bytestream/filepadsink.c:
7509         * testsuite/bytestream/test1.c:
7510           Handle binary files under Windows
7511
7512 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7513         * docs/manual/win32.xml:
7514         * win32/config.h:
7515         * win32/gst-register.vcproj:
7516         * win32/gstreamer.def:
7517           Update to another gettext public build
7518
7519 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7520         * gst/gstplugin.c:
7521           Fix an impossible C syntax
7522         * win32/config.h:
7523           Disable i18n under Windows for the moment
7524         * win32/gst-register.vcproj:
7525           Use this configuration
7526
7527 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7528         * docs/manual/quotes.xml:
7529           Keep the quotes file alive
7530         * docs/random/ds/0.9-suggested-changes:
7531           Add the suggestion of including a 'rowstride' as part of video
7532           format caps
7533
7534 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7535
7536         * gst/gstelement.c: (gst_element_set_state),
7537         (gst_element_change_state):
7538           d'oh.  Set PENDING state correctly before forcing bin to change.
7539         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7540         (gst_structure_parse_fixed_list):
7541         * gst/schedulers/gstoptimalscheduler.c:
7542         (gst_opt_scheduler_state_transition):
7543         * testsuite/states/parent.c: (main):
7544           remove comment now that it's fixed.
7545
7546 2004-07-11  Benjamin Otte  <otte@gnome.org>
7547
7548         * gst/gstclock.h:
7549           GST_SECOND shouldn't cause a conversion to unsigned.
7550         * testsuite/clock/.cvsignore:
7551         * testsuite/clock/Makefile.am:
7552         * testsuite/clock/signedness.c: (main):
7553           make sure it never will again
7554
7555 2004-07-11  Andy Wingo  <wingo@pobox.com>
7556
7557         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7558         whose state is higher than the bin state, raise the bin state to
7559         ensure that bin state := highest child state.
7560         
7561 2004-07-11  Andy Wingo  <wingo@pobox.com>
7562
7563         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7564         procedure on the children of a bin. Assumes that the procedure can
7565         change the set of children.
7566         (set_kid_state_func): New static function.
7567         (gst_bin_change_state): Use gst_bin_foreach to call
7568         set_kid_state_func. Fixes a bug: if a child had a state-change
7569         handler that removes it from the bin, there would be a segfault.
7570         Hopefully it should also work in the case where the state-change
7571         handler on one child adds or removes other children. In any case,
7572         fixes should go to gst_bin_foreach.
7573
7574 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7575
7576         * gst/gstelement.c: (gst_element_set_state):
7577           compatibility fix for latest plugins release.  Change loop back
7578           to while {}
7579
7580 2004-07-09  Wim Taymans  <wim@fluendo.com>
7581
7582         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7583         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7584         (gst_thread_main_loop):
7585         Since remove is virtual in GstBin we must not assume the 
7586         elements GList to have anothing useful.
7587         Add some more logging to GstThread and be a bit more paranoid
7588         when resetting the scheduler.
7589         Set the state of the bin to NULL before removing the children.
7590
7591 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7592
7593         * testsuite/threads/Makefile.am:
7594         * testsuite/threads/threadg.c:
7595           added test to check if problem when removing all elements from a
7596           GstThread before setting GstThread state to NULL
7597
7598 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7599
7600         * docs/gst/tmpl/gstelement.sgml:
7601         * docs/gst/tmpl/gsttypes.sgml:
7602         * gst/gstbin.c: (gst_bin_change_state):
7603         * gst/gstelement.c: (gst_element_set_state),
7604         (gst_element_change_state):
7605           rework so that for bins we try to set the state on all children
7606           as well even if the bin is in the correct state already.
7607           change while to do so at least one iteration is done.
7608           For regular elements, we fall back to the previous behaviour for
7609           now since we first need a new plugins release.
7610         * testsuite/states/parent.c: (main):
7611           test for this case
7612           Fixes #123774
7613
7614 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7615
7616         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7617         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7618         (gst_queue_release_locks), (gst_queue_change_state),
7619         (gst_queue_set_property):
7620           add proper lock debugging.  Change dispose to finalize, since
7621           we're freeing mutexes and other stuff which should happen only once.
7622
7623 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7624
7625         * docs/gst/tmpl/gstelement.sgml:
7626         * docs/gst/tmpl/gstplugin.sgml:
7627         * docs/gst/tmpl/gsttypes.sgml:
7628         * docs/pwg/building-state.xml:
7629         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7630         * gst/gstelement.c: (gst_element_change_state):
7631         * gst/gstthread.c: (gst_thread_change_state):
7632           catch wrong state changes in element base class.
7633
7634 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7635
7636         * gst/gstinfo.h:
7637           clean up layout a little.
7638
7639 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7640
7641         * configure.ac:
7642         * testsuite/Makefile.am:
7643         * testsuite/states/Makefile.am:
7644         * testsuite/states/parent.c: (main):
7645           re-enable states testsuite dir.  Add test for state changes and
7646           parent behaviour
7647
7648 2004-07-09  Wim Taymans  <wim@fluendo.com>
7649
7650         * gst/schedulers/gstoptimalscheduler.c:
7651         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7652         (element_get_reachables_func), (element_get_reachables),
7653         (debug_element), (rechain_group), (group_migrate_connected),
7654         (gst_opt_scheduler_pad_unlink):
7655         Do not try to migrate decoupled elements to a new group since
7656         they are not added to groups.
7657
7658 2004-07-08  Benjamin Otte  <otte@gnome.org>
7659
7660         * gst/gstelement.c: (gst_element_error_func):
7661           make reentrant (= allow removing elements in error handler)
7662
7663 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7664
7665         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7666         (gst_pad_send_event), (gst_pad_call_chain_function):
7667           events sent to elements below PAUSED cannot be handled, so
7668           don't try to
7669
7670 2004-07-08  Wim Taymans  <wim@fluendo.com>
7671
7672         * gst/schedulers/gstoptimalscheduler.c:
7673         (chain_recursively_migrate_group), (create_group),
7674         (schedule_group), (gst_opt_scheduler_pad_link),
7675         (group_elements_set_visited), (element_get_reachables_func),
7676         (element_get_reachables), (group_can_reach_group), (debug_element),
7677         (rechain_group), (group_migrate_connected),
7678         (gst_opt_scheduler_pad_unlink):
7679         * testsuite/schedulers/Makefile.am:
7680         Implemented group splitting and rechaining.
7681         Fixes 143777 and 143777-2 in the testsuite.
7682
7683 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7684
7685         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7686           extra debugging
7687         * gst/gstevent.h:
7688         * gst/gstinfo.c: (gst_debug_log_default):
7689           print time nicely.  add thread pointer until someone figures out
7690           a completely portable way of getting at thread id's.
7691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7692         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7693         (gst_pad_call_chain_function):
7694           extra debugging
7695         * gst/schedulers/gstoptimalscheduler.c:
7696         (get_group_schedule_function), (loop_group_schedule_function),
7697         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7698         (pad_clear_queued), (gst_opt_scheduler_iterate):
7699           rename BUFPEN and friends to DATAPEN since that's what they are.
7700
7701 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7702
7703         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7704         * gst/gstbuffer.h:
7705         * gst/gstpad.c:
7706           cleanups and debugging
7707
7708 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7709
7710         * configure.ac:
7711         * gst/gstvalue.c: (gst_value_compare_enum),
7712         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7713         (gst_value_can_compare), (gst_value_compare):
7714         * testsuite/Makefile.am:
7715         * testsuite/enumcaps/Makefile.am:
7716         * testsuite/enumcaps/enumcaps.c:
7717           Fix enum serialization, deserialization, comparison in caps, add
7718           a test to ensure that this continues working in the future.
7719
7720 2004-07-06  David Schleef  <ds@schleef.org>
7721
7722         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7723         Fix memleak.
7724
7725 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7726
7727         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7728         * gst/gstplugin.h:
7729         * gst/registries/gstxmlregistry.c:
7730         (plugin_times_older_than_recurse), (plugin_times_older_than),
7731         (gst_xml_registry_parse_padtemplate):
7732           only rebuild registry when actual plugins have a newer time than
7733           the registry.  Fixes #145520
7734
7735 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7736
7737         * docs/manual/manual.xml:
7738         * docs/manual/win32.xml:
7739           add chapter on win32 building.  fixes #142422
7740
7741 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7742
7743         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7744
7745         * gst/autoplug/gstspider.c: (gst_spider_init),
7746         (gst_spider_dispose):
7747           fix spider memleaks.  fixes #137863
7748
7749 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7752
7753         * gst/schedulers/gstoptimalscheduler.c:
7754         (gst_opt_scheduler_pad_unlink):
7755           fix SIGBUS error, fixes #145338
7756
7757 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7758
7759         * gst/gstobject.c: (gst_object_replace):
7760         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7761         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7762           clean up clock lifecycle.  Fixes #109831
7763
7764 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7765
7766         * po/LINGUAS:
7767         * po/cs.po:
7768           added Czech translation (Miloslav Trmac)
7769
7770 2004-07-04  David Schleef  <ds@schleef.org>
7771
7772         * tools/Makefile.am:
7773         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7774
7775 2004-07-04  David Schleef  <ds@schleef.org>
7776
7777         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7778
7779 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7780
7781         * gst/gstbin.c: (gst_bin_restore_thyself):
7782           chain to parent restore so the bins get restored correctly
7783           in the editor
7784
7785 2004-07-03  David Schleef  <ds@schleef.org>
7786
7787         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7788         Actually do something in these functions, like before the big
7789         caps change.  (bug #145137)
7790
7791 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7792
7793         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7794         (gst_element_get_compatible_pad_filtered):
7795         * gst/gstthread.c: (gst_thread_main_loop):
7796           more debugging
7797
7798 2004-07-02  David Schleef  <ds@schleef.org>
7799
7800         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7801         * gst/gstobject.h:
7802         * gst/gstparse.h:
7803         * gst/gsttrace.h:
7804         * gst/gstxml.h:
7805
7806 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7807
7808         * gst/gstpad.c: (gst_pad_check_schedulers),
7809         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7810         (gst_pad_link_prepare):
7811           revert until testsuite is fixed
7812
7813 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * testsuite/Makefile.am:
7816         * testsuite/caps/filtercaps.c: (main):
7817         * testsuite/clock/clock1.c: (main):
7818         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7819           fix some more tests
7820
7821 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7822
7823         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7824         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7825         * testsuite/cleanup/cleanup4.c: (main):
7826           fix testsuite
7827
7828 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7829
7830         * libs/gst/control/control.c:
7831         * libs/gst/control/dparam.c:
7832         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7833         * libs/gst/control/dparammanager.c:
7834         * libs/gst/control/dparammanager.h:
7835         * testsuite/dynparams/Makefile.am:
7836         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7837         (gst_dptest_change_state), (gst_dptest_chain), (main):
7838           fix testcase for dparams
7839           add debugging category
7840
7841 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7842
7843         * testsuite/Rules:
7844           change path
7845
7846 2004-07-02  Benjamin Otte  <otte@gnome.org>
7847
7848         * tests/.cvsignore:
7849         * tests/Makefile.am:
7850         * tests/mass_elements.c: (gst_get_current_time), (main):
7851           add simple benchmark to test various speeds of fakesrc ! identity !
7852           identity ! ... ! fakesink.
7853           Usage: mass_elements [num_identities] [num_buffers]
7854           If not specified they default to 1000.
7855
7856 2004-07-02  Benjamin Otte  <otte@gnome.org>
7857
7858         * gst/gstpad.c: (gst_pad_check_schedulers),
7859         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7860         (gst_pad_link_prepare):
7861           check that pads that get linked belong to the same manager. The old
7862           code allowed linking elements before putting them into bins, so it
7863           worked to link them and then put them in different threads, which
7864           lead to weird behaviour.
7865           Since this effectively disallows linking elements before putting
7866           them in a bin, some applications might not work after this and error
7867           out. If these applications are too critical, we might need to revert
7868           that patch. Please test this before the next release...
7869
7870 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7871
7872         * gst/gstpad.c: (gst_pad_get_caps):
7873           throw an error if the getcaps function does not return a subset of
7874           the template caps.
7875         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7876           make disconts without position info an error in debugging
7877         * tests/spidey_bench.c: (handoff), (main):
7878           don't count first try when averaging
7879
7880 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7881
7882         * gst/gstplugin.c: (gst_plugin_load_file):
7883           figure out problem with dynamic test
7884
7885 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7886
7887         * docs/gst/Makefile.am:
7888           fix docs build
7889
7890 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7891
7892         * po/POTFILES.in:
7893         * po/af.po:
7894         * po/az.po:
7895         * po/en_GB.po:
7896         * po/fr.po:
7897         * po/nl.po:
7898         * po/sr.po:
7899         * po/sv.po:
7900         * po/tr.po:
7901         * po/uk.po:
7902         * tools/gst-register.c: (plugin_added_func), (main):
7903           i18n-ize -register, fix plural
7904
7905 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7906
7907         * gst/elements/gstidentity.c: (gst_identity_class_init),
7908         (gst_identity_init), (gst_identity_chain),
7909         (gst_identity_set_property), (gst_identity_get_property):
7910         * gst/elements/gstidentity.h:
7911           check for perfect stream
7912
7913 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7914
7915         * gst/elements/gstidentity.c: (gst_identity_chain):
7916           print offset_end
7917
7918 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * docs/gst/Makefile.am:
7921         * docs/gst/gstreamer-docs.sgml:
7922           doc fixes
7923
7924 2004-06-24  David Schleef  <ds@schleef.org>
7925
7926         * autogen.sh:  Remove call to env, since the buildbot isn't
7927         broken anymore.
7928
7929 2004-06-24  Wim Taymans  <wim@fluendo.com>
7930
7931         * gst/elements/Makefile.am:
7932         * gst/elements/gstelements.c:
7933         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7934         (gst_multifdsink_class_init), (gst_multifdsink_init),
7935         (gst_multifdsink_add), (gst_multifdsink_remove),
7936         (gst_multifdsink_clear), (gst_multifdsink_chain),
7937         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7938         * gst/elements/gstmultifdsink.h:
7939         Added an element that writes to multiple filedescriptors at once.
7940
7941 2004-06-24  Benjamin Otte  <otte@gnome.org>
7942
7943         * gst/parse/grammar.y:
7944           don't try to link elements before they have been added to bins
7945
7946 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7947
7948         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7949         (gst_file_pad_get_length):
7950         * libs/gst/bytestream/filepad.h:
7951           add 2 new functions
7952
7953 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7954
7955         * docs/gst/gstreamer-sections.txt:
7956         remove from docs, the define that Benjamin removed from gstelement.h
7957
7958 2004-06-22  Benjamin Otte  <otte@gnome.org>
7959
7960         * gst/gstelement.h:
7961           remove define that referenced a nonexisting GstElement struct member
7962
7963 2004-06-20  Benjamin Otte  <otte@gnome.org>
7964
7965         * gst/gstdata.c: (gst_data_is_writable):
7966           whoops, return values were wrong, so writable data was marked as
7967           non-writable and vice versa. (fixes #143953, spotted by Francis
7968           Labonte)
7969           Shows how rarely we need to copy data ;)
7970
7971 2004-06-20  Benjamin Otte  <otte@gnome.org>
7972
7973         * testsuite/schedulers/.cvsignore:
7974         * testsuite/schedulers/Makefile.am:
7975         * testsuite/schedulers/143777-2.c: (main):
7976           add test for opt breakage in bug #143777
7977
7978 2004-06-20  Benjamin Otte  <otte@gnome.org>
7979
7980         * gst/gstpad.c: (gst_pad_call_chain_function):
7981           check for if we were unlinked while inside the chainfunction (fixes
7982           entrygthread having issues with #143777)
7983         * testsuite/schedulers/143777.c: (main):
7984         * testsuite/schedulers/Makefile.am:
7985           add a test for that fix
7986
7987 2004-06-20  Benjamin Otte  <otte@gnome.org>
7988
7989         * gst/gstvalue.c: (gst_value_set_int_range):
7990           test that start is smaller then end
7991         * libs/gst/bytestream/Makefile.am:
7992         * libs/gst/bytestream/filepad.c: 
7993         * libs/gst/bytestream/filepad.h:
7994           add GstFilePad - a pad that behaves like a FILE*
7995         * testsuite/bytestream/.cvsignore:
7996         * testsuite/bytestream/Makefile.am:
7997         * testsuite/bytestream/filepadsink.c: 
7998           test for the GstFilePad
7999
8000 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8001
8002         * gst/elements/gstidentity.c: (gst_identity_class_init),
8003         (gst_identity_init), (gst_identity_set_clock),
8004         (gst_identity_chain), (gst_identity_set_property),
8005         (gst_identity_get_property):
8006         * gst/elements/gstidentity.h:
8007         * gst/gstclock.c: (gst_clock_id_wait):
8008           add a "sync" property to sync to the clock
8009
8010 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8011
8012         * gst/gstelementfactory.c: (gst_element_factory_create):
8013           make the freakin "elementfactory bla has no type" message more
8014           useful. So we actually can do something when someone shows up
8015           complaining about it.
8016
8017 2004-06-15  Johan Dahlin  <johan@gnome.org>
8018
8019         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8020         found. This matches the old behavior better. Thanks to Thomas for
8021         pointing out.
8022
8023 2004-06-14  David Schleef  <ds@schleef.org>
8024
8025         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8026         -fomit-frame-pointer.  Appears to generate correct code in
8027         other cases as well.
8028
8029 2004-06-14  Johan Dahlin  <johan@gnome.org>
8030
8031         * tools/gst-inspect.c (main): Add two new command line options: -a
8032         to print all elements and -n to print the name on each line. Also
8033         fix some error reporting.
8034         (main): Simplify, remove -n and always print names if -a is specified
8035
8036 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8037
8038         * win32/gstconfig.h:
8039         * win32/GSTreamer.vcproj:
8040         * win32/Makefile:
8041         * gst/gstconfig.h.in:
8042         * gst/gst.h:
8043         * gst/gstbin.h:
8044         * gst/gstelement.h:
8045         * gst/gstevent.h:
8046         * gst/gstobject.h:
8047         * gst/gstpad.h:
8048         * docs/gst/gstreamer-sections.txt:
8049         * docs/gst/tmpl/gstconfig.sgml:
8050           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8051
8052 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8053         * docs/gst/gstreamer-sections.txt:
8054         * docs/gst/tmpl/gstconfig.sgml:
8055         Add the GSTREAMER_EXPORT macro to the docs
8056
8057 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8058
8059         * tools/gst-compprep.c: (handle_xmlerror), (main):
8060         Add a check for the version that introduced SetStructuredError to fix
8061         the build on FC1
8062
8063 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8064
8065         * win32/msvc71.sln:
8066         * win32/testsuite/:
8067           prepare to compile the testsuite with MSVC
8068
8069 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8070
8071         * docs/manual/win32.xml:
8072           attempt to transform the Win32 README into an XML doc
8073
8074 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8075
8076         * gst/gst.c:
8077         * gst/gstbin.*:
8078         * gst/config.h.in:
8079         * gst/gstelement.*:
8080         * gst/gstevent.h:
8081         * gst/gstobject.*:
8082         * gst/gstpad.h:
8083         * tools/gst-register.c:
8084         * win32/gstreamer.def:
8085           extern symbols are now exported for the Windows DLL
8086
8087 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8088
8089         * gst/gstinfo.h:
8090           fix a problem to enable/disable DEBUG under MSVC
8091
8092 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8093
8094         * win32/:
8095           enable more debug code in DEBUG build
8096
8097 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8098
8099         * win32/config.h:
8100         * gst/gst-i18n-app.h:
8101           enable NLS under Windows
8102
8103 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8104         * tools/gst-compprep.c: (handle_xmlerror), (main):
8105           Make an error that baffled me a bit clearer
8106
8107 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8108
8109         * gst/gstqueue.c:
8110           don't use g_queue_get_length () because it's 2.4, use ->length
8111
8112 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8113
8114         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8115
8116         * tools/gst-inspect.c: (print_signal_info):
8117           don't free random data twice. (fixes #144185)
8118
8119 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8120
8121         * gst/gstqueue.c:
8122         * gst/gstqueue.h:
8123           fix removing from the wrong queue on event timeout
8124           fix disposing of the event queue by casting correctly
8125           add mutexes for handling the event queue
8126           someone was sleeping when fixing queue last time around :)
8127
8128 2004-06-10  Johan Dahlin  <johan@gnome.org>
8129
8130         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8131         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8132
8133 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8134
8135         * docs/random/gdp:
8136         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8137         * libs/gst/dataprotocol/dataprotocol.c:
8138         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8139         (gst_dp_buffer_from_header):
8140         * libs/gst/dataprotocol/dataprotocol.h:
8141         * libs/gst/dataprotocol/dp-private.h:
8142           rev version to 0.1, add buffer flags and copy them
8143
8144 2004-06-09  Johan Dahlin  <johan@gnome.org>
8145
8146         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8147         the flags from the buffer we're copying.
8148
8149 2004-06-09  Wim Taymans  <wim@fluendo.com>
8150
8151         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8152         * gst/elements/gstidentity.c: (gst_identity_init),
8153         (gst_identity_chain):
8154         Print more buffer info in fakesink.
8155         Make identity output similar to fakesink.
8156
8157 2004-06-07  Daniel Gazard  <dany42@free.fr>
8158
8159         reviewed by Benjamin Otte  <otte@gnome.org>
8160
8161         * configure.ac:
8162           fix cross compiling not working. (fixes #143741)
8163
8164 2004-06-07  Benjamin Otte  <otte@gnome.org>
8165
8166         * gst/gstelement.c: (gst_element_set_time_delay):
8167           add failure check
8168         * gst/gstinfo.h:
8169           put brackets around macro arguments of GST_TIME_ARGS, add note to
8170           move it to correct header in 0.9
8171
8172 2004-06-07  Benjamin Otte  <otte@gnome.org>
8173
8174         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8175         (gst_file_index_load), (_file_index_id_save_entries),
8176         (gst_file_index_commit), (gst_file_index_add_association),
8177         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8178         (gst_file_index_plugin_init):
8179           make debugging use a default category
8180
8181 2004-06-06  David Moore  <dcm@acm.org>
8182
8183         reviewed by Benjamin Otte  <otte@gnome.org>
8184
8185         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8186         (gst_fdsrc_change_state):
8187           reset offset counter when going READY => PAUSED. (fixes #142903)
8188
8189 2004-06-06  ed@catmur.co.uk
8190
8191         reviewed by Benjamin Otte  <otte@gnome.org>
8192
8193         * gst/registries/gstxmlregistry.c:
8194         (gst_xml_registry_rebuild_recurse):
8195           don't rely on g_dir_open to figure out if a file is a directory, use
8196           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8197           directories. (fixes #142850)
8198
8199 2004-06-06  Benjamin Otte  <otte@gnome.org>
8200
8201         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8202           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8203         * libs/gst/bytestream/adapter.c:
8204         * libs/gst/bytestream/adapter.h:
8205           fix copyright in header and typo in debugging category name
8206
8207 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8208
8209         * configure.ac:
8210           bump nano to cvs
8211
8212 === release 0.8.3 ===
8213
8214 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8215
8216         * configure.ac:
8217           update libtool versioning
8218           do a new release
8219         * docs/gst/tmpl/gstelement.sgml:
8220         * docs/gst/tmpl/gsttypes.sgml:
8221         * gst/gstinfo.c: (_gst_debug_init):
8222           put back GST_CAT_DATAFLOW to fix API breakage
8223
8224 2004-06-04  David Schleef  <ds@schleef.org>
8225
8226         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8227
8228 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8229
8230         * configure.ac:
8231           bump nano to cvs
8232
8233 === release 0.8.2 ===
8234
8235 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8238           check GST_DEBUG environment variable which is parsed the same way
8239           as --gst-debug=
8240
8241 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8242
8243         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8244                             gstmd5sink.c gstshaper.c gsttee.c
8245                             gsttypefindelement.c
8246         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8247
8248           - removing trailing commas at end of enums
8249             it is correct C99 code but C90 compilers would complain
8250             (AIX, Forte, ...)
8251             ('should' fix #143290, at least partially)
8252
8253 2004-05-27  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8256         (chain_group_set_enabled), (create_group), (add_to_group),
8257         (merge_groups), (setup_group_scheduler), (group_elements),
8258         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8259         Don't try to follow the pad connections with other groups
8260         when a loop based element is added to the scheduler because
8261         the bin will inform the scheduler about the pad links a little
8262         later.
8263
8264 2004-05-27  Wim Taymans  <wim@fluendo.com>
8265
8266         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8267         (remove_from_chain), (chain_group_set_enabled),
8268         (setup_group_scheduler), (group_element_set_enabled),
8269         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8270         (gst_opt_scheduler_show):
8271         Elements without a group can do a state change as well, just wait
8272         with the setup of the scheduling function when it is added to a
8273         chain.
8274
8275 2004-05-27  Wim Taymans  <wim@fluendo.com>
8276
8277         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8278         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8279         (merge_groups), (setup_group_scheduler),
8280         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8281         (gst_opt_scheduler_show):
8282         Fixes to maintain internal consistency of the scheduler data
8283         structures. 
8284          - adding an enabled group to a chain should increment the
8285            number of enabled elements in that chain.
8286          - removing an enabled group from a chain could disable the
8287            chain.
8288          - removing a disabled group from a chain could enable the
8289            chain.
8290          - add g_assert when internal inconsistency is detected.
8291          - adding an element to a group could increase the number of
8292            links this group has with other groups.
8293          - merging two groups also merges the chains.
8294          - also show group links in the _show method.
8295            
8296
8297 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8298
8299         * gst/gstcaps.c: (gst_caps_structure_simplify):
8300           don't print error messages when there is no error
8301         * gst/gstvalue.c: (gst_value_compare_int_range):
8302           compare the second value, too
8303         * testsuite/caps/Makefile.am:
8304         * testsuite/caps/random.c: (assert_on_error), (main):
8305           add tests to make sure the two things above are checked for
8306
8307 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8308
8309         * configure.ac:
8310         * libs/gst/dataprotocol/Makefile.am:
8311         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8312         * libs/gst/dataprotocol/dataprotocol.h:
8313           wrap header in GST_ENABLE_NEW.  make code use it
8314
8315 2004-05-23  Johan Dahlin  <johan@gnome.org>
8316
8317         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8318         so verbose and print GstElement signal names all the time.
8319
8320 2004-05-22  David Schleef  <ds@schleef.org>
8321
8322         * gst/registries/gstxmlregistry.c:
8323         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8324         (bug #142957)
8325
8326 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8327
8328         * configure.ac:
8329           scrub cflags for glib2 so gcc doesn't complain when glib is in
8330           /usr/local
8331
8332 2004-05-21  Johan Dahlin  <johan@gnome.org>
8333
8334         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8335         __GNUC__, patch from Brian Cameron, fixes bug #142804
8336
8337 2004-05-20  David Schleef  <ds@schleef.org>
8338
8339         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8340         comparison code.  (bug #142819)
8341
8342 2004-05-20  Wim Taymans  <wim@fluendo.com>
8343
8344         * gst/gstbuffer.c: (gst_buffer_default_copy):
8345         * gst/gstbuffer.h:
8346         Added Comment to a flag.
8347         copy relevant flags in _buffer_copy.
8348
8349 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         reviewed by: Wim Taymans <wim at fluendo dot com>
8352
8353         * gst/gstbuffer.h:
8354           add GST_BUFFER_IN_CAPS buffer flag
8355         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8356         (gst_structure_parse_any_list), (gst_structure_parse_list),
8357         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8358         * gst/gstvalue.c: (gst_value_serialize_any_list),
8359         (gst_value_transform_any_list_string),
8360         (gst_value_list_prepend_value), (gst_value_list_append_value),
8361         (gst_value_list_get_size), (gst_value_list_get_value),
8362         (gst_value_transform_list_string),
8363         (gst_value_transform_fixed_list_string),
8364         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8365         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8366         (_gst_value_initialize):
8367         * gst/gstvalue.h:
8368           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8369           < , > as a format.
8370         * testsuite/caps/string-conversions.c: (main):
8371           add regression tests for < >
8372
8373 2004-05-20  Johan Dahlin  <johan@gnome.org>
8374
8375         * docs/gst/Makefile.am (all-local): Re-add
8376
8377 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8378
8379         * docs/gst/Makefile.am:
8380         * docs/gst/gstreamer-docs.sgml:
8381         * docs/libs/Makefile.am:
8382         * docs/libs/gstreamer-libs-docs.sgml:
8383           fix distcheck issues
8384
8385 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8386
8387         * libs/gst/dataprotocol/Makefile.am:
8388           add to autotest
8389
8390 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         * libs/gst/dataprotocol/Makefile.am:
8393         * libs/gst/dataprotocol/dataprotocol.c:
8394         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8395         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8396         * libs/gst/dataprotocol/dp-private.h:
8397           use GST macros to read/write fixed length ints
8398           add some more asserts
8399
8400 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * docs/libs/gstreamer-libs-docs.sgml:
8403         * docs/libs/gstreamer-libs-sections.txt:
8404           remove idct and putbits
8405         * configure.ac:
8406         * docs/libs/tmpl/gstdataprotocol.sgml:
8407         * libs/gst/Makefile.am:
8408         * libs/gst/dataprotocol/Makefile.am:
8409         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8410         (buffer_test), (caps_test), (event_test), (main):
8411         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8412         (gst_dp_dump_byte_array), (gst_dp_init),
8413         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8414         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8415         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8416         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8417         (gst_dp_validate_header), (gst_dp_validate_payload),
8418         (gst_dp_validate_packet), (plugin_init):
8419         * libs/gst/dataprotocol/dataprotocol.h:
8420         * libs/gst/dataprotocol/dp-private.h:
8421           add dataprotocol
8422
8423 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8424
8425         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8426           fix int variable deserialization and add a helper so we can actually
8427           debug this.
8428
8429 2004-05-18  David Schleef  <ds@schleef.org>
8430
8431         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8432           argv[0].  Calling yourself is probably not the best way to
8433           construct a test like this, btw.
8434
8435 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8436
8437         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8438           don't claim to be more intelligent than a scheduler when the
8439           scheduler claims the pipeline is stopped
8440         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8441         (safe_cothread_destroy),
8442         (gst_entry_scheduler_remove_all_cothreads),
8443         (gst_entry_scheduler_reset), (_remove_cothread),
8444         (gst_entry_scheduler_state_transition):
8445           hold off cothread destruction if we're not in main cothread
8446         * configure.ac:
8447         * testsuite/Makefile.am:
8448           add new test dir
8449         * testsuite/schedulers/.cvsignore:
8450         * testsuite/schedulers/Makefile.am:
8451           add tests
8452         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8453           check relinking and adding/removing elements from a running pipeline
8454         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8455           check unlinking in a running pipeline
8456         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8457           check unreffing a running pipeline
8458         * testsuite/schedulers/useless_iteration.c: (main):
8459           check iterating a pipeline that contains running threads works
8460
8461 2004-05-18  David Schleef  <ds@schleef.org>
8462
8463         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8464           is false.
8465
8466 2004-05-18  Wim Taymans  <wim@fluendo.com>
8467
8468         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8469         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8470         Fixed an error introduced with patch for 1.63. When setting
8471         a get based element as the entry point in a group, make sure
8472         to mark the group as GET based.
8473
8474 2004-05-18  Wim Taymans  <wim@fluendo.com>
8475
8476         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8477         (setup_group_scheduler), (loop_group_schedule_function),
8478         (gst_opt_scheduler_pad_link):
8479         Added some more debug info and fixed a bug where the group
8480         type was set to LOOP but it was in fact unknown.
8481
8482 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8483
8484         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8485           make resetting scheduler work twice in a row
8486
8487 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8488
8489         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8490         (CREATE_USERIALIZATION), (_gst_value_initialize),
8491         (gst_value_compare_float), (gst_value_serialize_float),
8492         (gst_value_deserialize_float), (gst_value_compare_enum),
8493         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8494           add serialization and comparison functions for long, int64, enum and
8495           float values
8496         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8497           use best serialization function in type hierarchy instead of only a
8498           matching one. This is required for enums to work.
8499         * gst/parse/grammar.y:
8500           use gst_caps_deserialize
8501         * testsuite/parse/Makefile.am:
8502           parse1 now works
8503         * testsuite/parse/parse1.c: (main):
8504           remove aggregator check, aggregator is broken, this test works now
8505           but fails because of bug #138012
8506         * testsuite/parse/parse2.c: (main):
8507           s/xvideosink/xvimagesink - this test looks a lot like we should
8508           disable it
8509
8510 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8511
8512         * gst/gstelement.c: (gst_element_class_init):
8513           whoops, store the signal id correctly
8514         * gst/schedulers/gstbasicscheduler.c:
8515         (gst_basic_scheduler_chain_wrapper):
8516           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8517           chain function isn't linked
8518
8519 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8520         * configure.ac:
8521         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8522         support until we decide where the flags should be used
8523         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8524         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8525         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8526         Output refused caps in the debug info
8527
8528 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * gst/elements/gstidentity.c: (gst_identity_chain):
8531           add duration debug
8532         * gst/gstinfo.c: (gst_debug_log_default):
8533           add timestamp
8534
8535 2004-05-13  Benjamin Otte  <otte@gnome.org>
8536
8537         * gst/gstpipeline.c: (gst_pipeline_dispose),
8538         (gst_pipeline_change_state):
8539           call gst_scheduler_reset on dispose (fixes #141416)
8540
8541 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8542
8543         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8544           compute mapsize correctly
8545         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8546           use correct datatypes when calling a varargs function
8547         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8548           push a DISCONT event as first thing
8549         * gst/gst_private.h:
8550         * gst/gstinfo.c: (_gst_debug_init):
8551           remove GST_DATAFLOW debugging category
8552         * gst/gstbin.c: (gst_bin_iterate):
8553           use GST_SCHEDULING category
8554         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8555         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8556         (gst_pad_call_get_function):
8557           add GST_DATAFLOW to easily track flow of buffers or events.
8558         * gst/gstqueue.c: (gst_queue_get_type),
8559         (gst_queue_handle_pending_events), (gst_queue_chain),
8560         (gst_queue_get), (gst_queue_handle_src_event):
8561           use own static debugging category GST_DATAFLOW for dataflow,
8562           use DEBUG category for showing which path events go, use LOG
8563           category for buffers.
8564
8565 2004-05-10  David Schleef  <ds@schleef.org>
8566
8567         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8568
8569 2004-05-10  David Schleef  <ds@schleef.org>
8570
8571         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8572         symbols, because otherwise we don't know what they are.  Thanks,
8573         the GStreamer team.
8574         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8575
8576 2004-05-10  David Schleef  <ds@schleef.org>
8577
8578         (from Steve Lhomme)
8579         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8580         are deleted.  Fix.
8581         * win32/Makefile.inspect:
8582         * win32/Makefile.launch:
8583         * win32/Makefile.register:
8584
8585 2004-05-10  David Schleef  <ds@schleef.org>
8586
8587         * gst/gstinfo.h: Add missing inline function.
8588         * gst/gsttrace.c: add include
8589         * gst/parse/grammar.y: remove unused code
8590         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8591         more portable.
8592         * tools/gst-register.c: wrap unistd.h
8593         
8594         More additions/fixes from Steve for the MSVC build.
8595         * win32/GStreamer.vcproj:
8596         * win32/Makefile:
8597         * win32/Makefile.inspect:
8598         * win32/Makefile.launch:
8599         * win32/Makefile.register:
8600         * win32/README.txt:
8601         * win32/gst-inspect.vcproj:
8602         * win32/gst-launch.vcproj:
8603         * win32/gst-register.vcproj:
8604         * win32/gstbytestream.def:
8605         * win32/gstbytestream.vcproj:
8606         * win32/gstconfig.h:
8607         * win32/gstelements.def:
8608         * win32/gstelements.vcproj:
8609         * win32/gstenumtypes.c:
8610         * win32/gstenumtypes.h:
8611         * win32/gstoptimalscheduler.def:
8612         * win32/gstoptimalscheduler.vcproj:
8613         * win32/gstreamer.def:
8614         * win32/gstspider.def:
8615         * win32/gstspider.vcproj:
8616         * win32/gstversion.h:
8617         * win32/msvc71.sln:
8618
8619 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8620
8621         * gst/gstelement.c: (gst_element_class_init),
8622         (gst_element_no_more_pads):
8623         * gst/gstelement.h:
8624           add gst_element_no_more_pads and the "no-more-pads" signal
8625
8626 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8627
8628         * gst/gstregistry.c: (gst_registry_add_plugin):
8629           refuse to add plugins when a plugin with same name is already
8630           registered. Fixes a bunch of "How to remove plugins?" issues.
8631           May lead to other problems though, let's test
8632
8633 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8634
8635         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8636         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8637         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8638
8639 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8640
8641         * tests/Makefile.am: fix am16 issue
8642
8643 2004-05-09  Benjamin Otte  <otte@gnome.org>
8644
8645         * libs/gst/bytestream/Makefile.am:
8646           we should indeed add .c files to makefiles or they won't be built
8647           (d'oh)
8648
8649 2004-05-08  Benjamin Otte  <otte@gnome.org>
8650
8651         * gst/gstpad.c: (gst_pad_proxy_fixate):
8652           really reduce the set of caps
8653
8654 2004-05-08  Benjamin Otte  <otte@gnome.org>
8655
8656         * tests/Makefile.am:
8657         * tests/spidey_bench.c: (handoff), (main):
8658           add benchmark to test how long spider needs to create a pipeline
8659
8660 2004-05-08  Benjamin Otte  <otte@gnome.org>
8661
8662         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8663           mark links as unengaged when unnegotiating instead of deactivating.
8664           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8665
8666 2004-05-08  Benjamin Otte  <otte@gnome.org>
8667
8668         * docs/manual/helloworld.xml:
8669           s/audiosink/osssink (patch by Patrick Guimond)
8670
8671 2004-05-07  David Schleef  <ds@schleef.org>
8672
8673         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8674         since it contains important stuff.
8675
8676 2004-05-07  David Schleef  <ds@schleef.org>
8677
8678         * testsuite/caps/caps.c: (test3), (main): A check for appending
8679         ANY caps.
8680
8681 2004-05-07  David Schleef  <ds@schleef.org>
8682
8683         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8684         which may contain commas.  Fixes detection of -Wa,-mregnames
8685
8686 2004-05-06  David Schleef  <ds@schleef.org>
8687
8688         Changes to handle compilers that don't have variadic macro
8689         support.  In particular, glib headers define some inlines
8690         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8691         builds.
8692         * gst/Makefile.am:
8693         * gst/cothreads.c:
8694         * gst/elements/gstfdsink.c:
8695         * gst/elements/gstfdsrc.c:
8696         * gst/elements/gstfilesink.c:
8697         * gst/elements/gstfilesrc.c:
8698         * gst/gst_private.h:
8699         * gst/gstatomic.c:
8700         * gst/gstcaps.c: (gst_caps_append):
8701         * gst/gstcpu.c: (gst_cpuid_i386):
8702         * gst/gstelement.c:
8703         * gst/gsterror.c:
8704         * gst/gstfilter.c:
8705         * gst/gstinfo.h:
8706         * gst/gstprobe.c:
8707         * gst/gstquery.c:
8708         * gst/gstregistry.c:
8709         * gst/gststructure.c:
8710         * gst/gsttaginterface.c:
8711         * gst/gsttrace.c: (gst_trace_new):
8712         * gst/gsttrashstack.c:
8713         * gst/gsturi.c:
8714         * gst/gstvalue.c:
8715         * gst/parse/grammar.y:
8716         * gst/parse/parse.l:
8717         * tools/gst-inspect.c: (main):
8718         * tools/gst-launch.c: (main):
8719         * tools/gst-xmlinspect.c: (PUT_STRING):
8720
8721 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8722
8723         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8724         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8725         * gst/elements/gstfilesrc.h:
8726           send NEW_MEDIA events correctly
8727         * gst/elements/gsttypefindelement.c: (start_typefinding),
8728         (gst_type_find_element_handle_event):
8729           restart typefinding when we get a NEW_MEDIA event
8730         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8731         (gst_bin_dispose):
8732           don't die when someone removes elements in callbacks
8733         * gst/gstelement.c: (gst_element_change_state):
8734           improve debugging
8735         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8736           we need a NEW_MEDIA event to engage a link
8737         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8738           don't g_print debugging stuff
8739         * testsuite/caps/simplify.c: (check_caps):
8740
8741 2004-05-04  Benjamin Otte  <otte@gnome.org>
8742
8743         * gst/parse/grammar.y:
8744           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8745
8746 2004-05-04  Benjamin Otte  <otte@gnome.org>
8747
8748         * testsuite/caps/renegotiate.c: (main):
8749           improve output in error case
8750
8751 2004-05-04  Benjamin Otte  <otte@gnome.org>
8752
8753         * gst/parse/grammar.y:
8754           fix assert to not trigger when there's no error argument
8755         * gst/parse/parse.l:
8756           fix definition of caps to allow more than two structures
8757         * testsuite/caps/Makefile.am:
8758         * testsuite/caps/renegotiate.c: (main):
8759           it's sinesrc and works in that case
8760
8761 2004-05-04  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8764         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8765         when removing an element from a group, we always need to
8766         decrement the link count that this group had with other 
8767         groups through the element.
8768         added an extra assert to catch inconsistencies when decrementing
8769         the link count.
8770
8771 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8772
8773         * configure.ac:
8774         * docs/gst/Makefile.am:
8775         * docs/gst/gstreamer-sections.txt:
8776         * docs/gst/tmpl/gstcompat.sgml:
8777         * examples/appreader/Makefile.am:
8778         * examples/cutter/Makefile.am:
8779         * examples/events/Makefile.am:
8780         * examples/helloworld/Makefile.am:
8781         * examples/helloworld2/Makefile.am:
8782         * examples/launch/Makefile.am:
8783         * examples/manual/Makefile.am:
8784         * examples/mixer/Makefile.am:
8785         * examples/pingpong/Makefile.am:
8786         * examples/plugins/Makefile.am:
8787         * examples/queue/Makefile.am:
8788         * examples/queue2/Makefile.am:
8789         * examples/queue3/Makefile.am:
8790         * examples/queue4/Makefile.am:
8791         * examples/retag/Makefile.am:
8792         * examples/thread/Makefile.am:
8793         * examples/typefind/Makefile.am:
8794         * examples/xml/Makefile.am:
8795         * gst/Makefile.am:
8796         * gst/autoplug/Makefile.am:
8797         * gst/elements/Makefile.am:
8798         * gst/gstcompat.h:
8799         * gst/indexers/Makefile.am:
8800         * gst/parse/Makefile.am:
8801         * gst/registries/Makefile.am:
8802         * gst/schedulers/Makefile.am:
8803         * libs/gst/bytestream/Makefile.am:
8804         * libs/gst/control/Makefile.am:
8805         * libs/gst/getbits/Makefile.am:
8806         * po/af.po:
8807         * po/az.po:
8808         * po/en_GB.po:
8809         * po/fr.po:
8810         * po/nl.po:
8811         * po/sr.po:
8812         * po/sv.po:
8813         * po/tr.po:
8814         * po/uk.po:
8815         * tests/Makefile.am:
8816         * tests/bufspeed/Makefile.am:
8817         * tests/instantiate/Makefile.am:
8818         * tests/memchunk/Makefile.am:
8819         * tests/muxing/Makefile.am:
8820         * tests/negotiation/Makefile.am:
8821         * tests/probes/Makefile.am:
8822         * tests/sched/Makefile.am:
8823         * tests/seeking/Makefile.am:
8824         * tests/threadstate/Makefile.am:
8825         * testsuite/caps/Makefile.am:
8826         * testsuite/cleanup/Makefile.am:
8827         * testsuite/dlopen/Makefile.am:
8828         * testsuite/dynparams/Makefile.am:
8829         * testsuite/plugin/Makefile.am:
8830         * testsuite/states/Makefile.am:
8831         * tools/Makefile.am:
8832           reorganize compile/link flags to be consistent
8833           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8834
8835 2004-05-04  David Schleef  <ds@schleef.org>
8836
8837         The "once more, with feeling" check-in.
8838         * testsuite/caps/Makefile.am: dist caps_strings
8839         * testsuite/caps/renegotiate.c: (main): This test triggers a
8840           segfault in the core.  Marking as failing.
8841
8842 2004-05-03  David Schleef  <ds@schleef.org>
8843
8844         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8845           by the build bots.
8846         * testsuite/caps/renegotiate.c: (main): Same.
8847
8848 2004-05-03  David Schleef  <ds@schleef.org>
8849
8850         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8851
8852 2004-05-03  David Schleef  <ds@schleef.org>
8853
8854         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8855           variable to find our source file.
8856
8857 2004-05-03  David Schleef  <ds@schleef.org>
8858
8859         * configure.ac:  Link plugins with libgstreamer and dependent
8860           libraries
8861         * testsuite/caps/Makefile.am:
8862         * testsuite/caps/caps_strings:
8863         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8864           through a file of caps strings and test each one
8865
8866 2004-05-04  Benjamin Otte  <otte@gnome.org>
8867
8868         * libs/gst/bytestream/Makefile.am:
8869         * libs/gst/bytestream/adapter.c: 
8870         * libs/gst/bytestream/adapter.h:
8871           add GstAdapter, similar to bytestream, but doesn't require ugly event
8872           handling or uglier loopbased elements
8873
8874 2004-05-03  David Schleef  <ds@schleef.org>
8875
8876         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8877         * testsuite/caps/erathostenes.c:
8878         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8879
8880 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * docs/pwg/pwg.xml:
8883           remove hardcoded stylesheet path (duh)
8884         * docs/random/release:
8885         * docs/gst/gstreamer-sections.txt:
8886         * gst/Makefile.am:
8887         * gst/gst.h:
8888         * gst/gst_private.h:
8889         * gst/gstcaps.c:
8890         * gst/gstevent.c:
8891         * gst/gstformat.c:
8892         * gst/gstinfo.c:
8893         * gst/gstinfo.h:
8894         * gst/gstinterface.c:
8895         * gst/gstmemchunk.c:
8896         * gst/gstprobe.c:
8897         * gst/gstquery.c:
8898         * gst/gstregistry.c:
8899         * gst/gstregistrypool.c:
8900         * gst/gststructure.c:
8901         * gst/gsttaginterface.c:
8902         * gst/gstthread.c:
8903         * gst/gsttrace.c:
8904         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8905         * gst/gsturi.c:
8906         * gst/gstvalue.c:
8907           deprecate gst_info; remove gstlog.h
8908    
8909
8910 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * Makefile.am:
8913         * po/en_GB.po:
8914         * po/sv.po:
8915         * po/uk.po:
8916           updated translations
8917
8918 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8919
8920         * gst/gstbin.c: (gst_bin_dispose):
8921           better debugging
8922
8923 2004-05-03  Johan Dahlin  <johan@gnome.org>
8924
8925         * gst/schedulers/gstoptimalscheduler.c
8926         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8927         really is a GstElement. Avoids critical when running gst-launch -v
8928         and a oggdemux/decoding pipeline.
8929
8930 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8931
8932         * docs/gst/tmpl/gstpipeline.sgml :
8933         * docs/manual/elements-api.xml :
8934                 doc fix by Patrick Guimond (Protector) from devel ML
8935                 reviewed by ronald
8936
8937 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8938
8939         * docs/gst/Makefile.am :
8940         * docs/libs/Makefile.am :
8941                 apply a patch from Arwed v. Merkatz so that gtk-doc
8942                 generated docs install (same for .devhelp file)
8943                 (fixes part 1 of #138836)
8944
8945 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8946
8947         * docs/faq/dependencies.xml: typo
8948         * docs/faq/getting.xml :
8949             - fix download URL for new gstreamer site
8950             - hide sf.net download page as latest version aren't there
8951             - fix apt URLs
8952             - fill "get via CVS" paragraph (link to dev page on the site)
8953         * docs/faq/general.xml:
8954             hide status tables as they no more exists
8955             change case on plugins license file to reflect reality
8956         * docs/faq/troubleshooting.xml:
8957             remove the wiki question/answer as there is no more wiki
8958
8959 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8960
8961         * gst/gsterror.h:
8962           include the headers needed for declarations used in this header
8963
8964 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8965
8966         * docs/random/uraeus/gstreamer_and_midi.txt :
8967           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8968           (fixes #132288)
8969
8970 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8971
8972         reviewed by Benjamin Otte  <otte@gnome.org>
8973
8974         * gst/schedulers/gthread-cothreads.h:
8975           free allocated data for main cothread, too when destroying context
8976           (fixes #141417)
8977
8978 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8979
8980         * docs/manual/goals.xml : remove duplicated paragraph at end 
8981         of doc page (fixes #141448)
8982
8983 2004-04-29  David Schleef  <ds@schleef.org>
8984
8985         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8986         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8987
8988 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8989
8990         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8991           fix property
8992         * gst/gstcaps.c:
8993           fix doc string
8994         * po/POTFILES.in:
8995           rename typefind source file
8996
8997 2004-04-28  David Schleef  <ds@schleef.org>
8998
8999         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9000         * win32/GStreamer.vcproj:
9001         * win32/Makefile:
9002         * win32/config.h:
9003         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9004         (_trewinddir), (_ttelldir), (_tseekdir):
9005         * win32/dirent.h:
9006         * win32/gst-inspect.vcproj:
9007         * win32/gst-launch.vcproj:
9008         * win32/gst-register.vcproj:
9009         * win32/gstbytestream.vcproj:
9010         * win32/gstelements.vcproj:
9011         * win32/gstoptimalscheduler.vcproj:
9012         * win32/gstspider.vcproj:
9013         * win32/gtchar.h:
9014         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9015         * win32/mman.h:
9016         * win32/mman.inl:
9017         * win32/msvc71.sln:
9018
9019 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9020
9021         * gst/gst.c: (init_post):
9022         * gst/gstinfo.c:
9023           remove useless _gst_progname stuff
9024         * tools/gst-inspect.c: (print_field), (print_caps):
9025           improve caps output
9026
9027 2004-04-28  David Schleef  <ds@schleef.org>
9028
9029         Disable parsing of a lot of files that aren't part of the
9030         exported API.  Move corresponding template files to old/,
9031         waiting for removal when they don't contain anything
9032         interesting.
9033         * docs/gst/Makefile.am:
9034         * docs/gst/gstreamer-sections.txt:
9035         * docs/gst/tmpl/cothreads.sgml:
9036         * docs/gst/tmpl/cothreads_compat.sgml:
9037         * docs/gst/tmpl/gettext.sgml:
9038         * docs/gst/tmpl/gobject2gtk.sgml:
9039         * docs/gst/tmpl/grammar.tab.sgml:
9040         * docs/gst/tmpl/gst-i18n-app.sgml:
9041         * docs/gst/tmpl/gst-i18n-lib.sgml:
9042         * docs/gst/tmpl/gst_private.sgml:
9043         * docs/gst/tmpl/gstaggregator.sgml:
9044         * docs/gst/tmpl/gstarch.sgml:
9045         * docs/gst/tmpl/gstatomic_impl.sgml:
9046         * docs/gst/tmpl/gstbufferstore.sgml:
9047         * docs/gst/tmpl/gstdata_private.sgml:
9048         * docs/gst/tmpl/gstdisksink.sgml:
9049         * docs/gst/tmpl/gstdisksrc.sgml:
9050         * docs/gst/tmpl/gstelementfactory.sgml:
9051         * docs/gst/tmpl/gstextratypes.sgml:
9052         * docs/gst/tmpl/gstfakesink.sgml:
9053         * docs/gst/tmpl/gstfakesrc.sgml:
9054         * docs/gst/tmpl/gstfdsink.sgml:
9055         * docs/gst/tmpl/gstfdsrc.sgml:
9056         * docs/gst/tmpl/gstfilesink.sgml:
9057         * docs/gst/tmpl/gstfilesrc.sgml:
9058         * docs/gst/tmpl/gsthttpsrc.sgml:
9059         * docs/gst/tmpl/gstidentity.sgml:
9060         * docs/gst/tmpl/gstindexfactory.sgml:
9061         * docs/gst/tmpl/gstmarshal.sgml:
9062         * docs/gst/tmpl/gstmd5sink.sgml:
9063         * docs/gst/tmpl/gstmultidisksrc.sgml:
9064         * docs/gst/tmpl/gstmultifilesrc.sgml:
9065         * docs/gst/tmpl/gstpadtemplate.sgml:
9066         * docs/gst/tmpl/gstpipefilter.sgml:
9067         * docs/gst/tmpl/gstschedulerfactory.sgml:
9068         * docs/gst/tmpl/gstsearchfuncs.sgml:
9069         * docs/gst/tmpl/gstshaper.sgml:
9070         * docs/gst/tmpl/gstspider.sgml:
9071         * docs/gst/tmpl/gstspideridentity.sgml:
9072         * docs/gst/tmpl/gststatistics.sgml:
9073         * docs/gst/tmpl/gsttee.sgml:
9074         * docs/gst/tmpl/gsttimecache.sgml:
9075         * docs/gst/tmpl/gsttypefind.sgml:
9076         * docs/gst/tmpl/gsttypefindfactory.sgml:
9077         * docs/gst/tmpl/gstxmlregistry.sgml:
9078         * docs/gst/tmpl/gthread-cothreads.sgml:
9079         * docs/gst/tmpl/old/cothreads.sgml:
9080         * docs/gst/tmpl/old/cothreads_compat.sgml:
9081         * docs/gst/tmpl/old/gettext.sgml:
9082         * docs/gst/tmpl/old/gobject2gtk.sgml:
9083         * docs/gst/tmpl/old/grammar.tab.sgml:
9084         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9085         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9086         * docs/gst/tmpl/old/gst_private.sgml:
9087         * docs/gst/tmpl/old/gstaggregator.sgml:
9088         * docs/gst/tmpl/old/gstarch.sgml:
9089         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9090         * docs/gst/tmpl/old/gstbufferstore.sgml:
9091         * docs/gst/tmpl/old/gstdata_private.sgml:
9092         * docs/gst/tmpl/old/gstdisksink.sgml:
9093         * docs/gst/tmpl/old/gstdisksrc.sgml:
9094         * docs/gst/tmpl/old/gstelementfactory.sgml:
9095         * docs/gst/tmpl/old/gstextratypes.sgml:
9096         * docs/gst/tmpl/old/gstfakesink.sgml:
9097         * docs/gst/tmpl/old/gstfakesrc.sgml:
9098         * docs/gst/tmpl/old/gstfdsink.sgml:
9099         * docs/gst/tmpl/old/gstfdsrc.sgml:
9100         * docs/gst/tmpl/old/gstfilesink.sgml:
9101         * docs/gst/tmpl/old/gstfilesrc.sgml:
9102         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9103         * docs/gst/tmpl/old/gstidentity.sgml:
9104         * docs/gst/tmpl/old/gstindexfactory.sgml:
9105         * docs/gst/tmpl/old/gstmarshal.sgml:
9106         * docs/gst/tmpl/old/gstmd5sink.sgml:
9107         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9108         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9109         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9110         * docs/gst/tmpl/old/gstpipefilter.sgml:
9111         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9112         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9113         * docs/gst/tmpl/old/gstshaper.sgml:
9114         * docs/gst/tmpl/old/gstspider.sgml:
9115         * docs/gst/tmpl/old/gstspideridentity.sgml:
9116         * docs/gst/tmpl/old/gststatistics.sgml:
9117         * docs/gst/tmpl/old/gsttee.sgml:
9118         * docs/gst/tmpl/old/gsttimecache.sgml:
9119         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9120         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9121         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9122         * docs/gst/tmpl/old/types.sgml:
9123         * docs/gst/tmpl/types.sgml:
9124
9125         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9126         gtkdoc-scan doesn't like files with the same name in different
9127         directories.
9128         * gst/elements/Makefile.am:
9129         * gst/elements/gstelements.c:
9130         * gst/elements/gsttypefind.c: 
9131         * gst/elements/gsttypefind.h:
9132         * gst/elements/gsttypefindelement.c:
9133         * gst/elements/gsttypefindelement.h:
9134
9135 2004-04-28  David Schleef  <ds@schleef.org>
9136
9137         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9138         patch (bug #141317):
9139         * gst/gst-i18n-lib.h: Allow disabling gettext.
9140         * gst/gstatomic_impl.h: disable warning when it's dumb.
9141         * gst/gstclock.c: fix include
9142         * gst/gstcompat.h: fix variadic macro
9143         * gst/gstinfo.c: fix include
9144         * gst/gstmacros.h: add defines for inlines on MSVC
9145         * gst/gstplugin.c: fix includes
9146         * gst/gstregistry.c: fix includes
9147         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9148         * gst/gstsystemclock.c: fix include
9149         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9150         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9151         * gst/registries/gstxmlregistry.c:
9152         (gst_xml_registry_parse_element_factory): fix use of non-portable
9153         functions
9154         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9155         * libs/gst/control/dparammanager.h: same
9156
9157 2004-04-28  David Schleef  <ds@schleef.org>
9158
9159         Move a bunch of unused files to old/ with names that are
9160         not case-insensitive-unique.  These files still contain some
9161         useful information that needs to be merged into gstbin.sgml,
9162         etc., so they shouldn't be deleted yet.
9163         * docs/gst/tmpl/GstBin.sgml:
9164         * docs/gst/tmpl/GstBuffer.sgml:
9165         * docs/gst/tmpl/GstCaps.sgml:
9166         * docs/gst/tmpl/GstClock.sgml:
9167         * docs/gst/tmpl/GstCompat.sgml:
9168         * docs/gst/tmpl/GstData.sgml:
9169         * docs/gst/tmpl/GstElement.sgml:
9170         * docs/gst/tmpl/GstEvent.sgml:
9171         * docs/gst/tmpl/GstIndex.sgml:
9172         * docs/gst/tmpl/GstStructure.sgml:
9173         * docs/gst/tmpl/GstTag.sgml:
9174         * docs/gst/tmpl/old/GstBin.sgml:
9175         * docs/gst/tmpl/old/GstBuffer.sgml:
9176         * docs/gst/tmpl/old/GstCaps.sgml:
9177         * docs/gst/tmpl/old/GstClock.sgml:
9178         * docs/gst/tmpl/old/GstCompat.sgml:
9179         * docs/gst/tmpl/old/GstData.sgml:
9180         * docs/gst/tmpl/old/GstElement.sgml:
9181         * docs/gst/tmpl/old/GstEvent.sgml:
9182         * docs/gst/tmpl/old/GstIndex.sgml:
9183         * docs/gst/tmpl/old/GstStructure.sgml:
9184         * docs/gst/tmpl/old/GstTag.sgml:
9185
9186 2004-04-28  David Schleef  <ds@schleef.org>
9187
9188         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9189         (gst_caps_append), (gst_caps_append_structure),
9190         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9191         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9192         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9193         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9194         (gst_caps_intersect), (gst_caps_normalize),
9195         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9196         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9197         * gst/gstcaps.h: use GST_IS_CAPS().
9198
9199 2004-04-26  David Schleef  <ds@schleef.org>
9200
9201         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9202         assembly.  gcc doesn't handle it correctly. (bug #141083)
9203         * gst/gsttrashstack.h: same
9204
9205 2004-04-25  Benjamin Otte  <otte@gnome.org>
9206
9207         * gst/gstelement.c: (gst_element_change_state):
9208           fix assertion to do an int comparison
9209
9210 2004-04-25  Benjamin Otte  <otte@gnome.org>
9211
9212         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9213           better debugging output on error
9214
9215 2004-04-25  Benjamin Otte  <otte@gnome.org>
9216
9217         * gst/gstcaps.c: (gst_caps_subtract):
9218           fix memleak
9219
9220 2004-04-23  Benjamin Otte  <otte@gnome.org>
9221
9222         * gst/gstvalue.c: (gst_value_compare_buffer),
9223         (_gst_value_initialize):
9224           add comparison function for buffers
9225
9226 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9227
9228         * docs/pwg/pwg.xml:
9229           Just found out that this so-called "ima-wav" format is really
9230           just "dvi adpcm" (according to the MS WAV documentation). So
9231           renaming it. We didn't use it yet anyway.
9232
9233 2004-04-23  Benjamin Otte  <otte@gnome.org>
9234
9235         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9236           call gst_caps_is_subset
9237
9238 2004-04-23  Benjamin Otte  <otte@gnome.org>
9239
9240         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9241         (gst_caps_is_subset):
9242           add documentation
9243
9244 2004-04-23  Benjamin Otte  <otte@gnome.org>
9245           
9246         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9247         (gst_caps_structure_subtract), (gst_caps_subtract),
9248         (gst_caps_structure_figure_out_union),
9249         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9250           fix simplifying and subtracting not working correctly with optional
9251           properties
9252           solve assorted problems that make it now simplify ebven more
9253         * docs/gst/tmpl/gstcaps.sgml:
9254         * gst/gstcaps.h:
9255           make gst_caps_do_simplify return a bool to indicate if it simplified
9256         * testsuite/caps/simplify.c: (main):
9257           add more checks. The tests is quite a bit useless right now because
9258           the core is heavily simplifying itself.
9259         * testsuite/caps/caps.h:
9260           fix caps to contain all optional properties
9261
9262 2004-04-22  Benjamin Otte  <otte@gnome.org>
9263
9264         * docs/gst/tmpl/gstcaps.sgml:
9265         * docs/gst/tmpl/gstfilesrc.sgml:
9266         * docs/gst/tmpl/gststructure.sgml:
9267         * docs/gst/tmpl/gstvalue.sgml:
9268           update for recent API changes
9269         * gst/gstcaps.c: (gst_caps_do_simplify):
9270           fix to stop trying with a freed structure
9271         * gst/gstpad.c: (gst_pad_link_fixate):
9272           simplify caps
9273         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9274           remove C++ comment
9275         * gst/gstpad.h:
9276           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9277         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9278         (gst_structure_to_string):
9279           keep the correct type when using lists of ranges
9280         * gst/gstvalue.c: (gst_value_list_prepend_value),
9281         (gst_value_list_append_value):
9282           copy the value before adding to the list (d'oh)
9283         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9284         (gst_value_subtract_int_range_int_range):
9285           handle overflows correctly
9286         * gst/gstvalue.c: (gst_value_subtract_from_list):
9287           fix memleak
9288         * testsuite/caps/caps.h:
9289           add a caps that caused segfaults
9290
9291 2004-04-22  Benjamin Otte  <otte@gnome.org>
9292
9293         * testsuite/refcounting/pad.c: (main):
9294           fix test
9295
9296 2004-04-22  Benjamin Otte  <otte@gnome.org>
9297
9298         * gst/gstcaps.c: (gst_caps_subtract):
9299           allow subtracting ANY and EMPTY from ANY caps
9300
9301 2004-04-22  Benjamin Otte  <otte@gnome.org>
9302
9303         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9304         (gst_caps_union):
9305           only simplify in functions that create new caps. Simplifying in
9306           gst_caps_append breaks tests.
9307
9308 2004-04-22  Benjamin Otte  <otte@gnome.org>
9309
9310         * gst/gstcaps.c: (gst_caps_structure_simplify):
9311           unset GValue after use
9312         * gst/gstcaps.c: (gst_caps_append), 
9313         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9314           use gst_caps_simplify (reduces registry size by 30%)
9315         * gst/gstpad.c: (gst_pad_template_new):
9316           don't allow NULL caps
9317
9318 2004-04-22  Benjamin Otte  <otte@gnome.org>
9319
9320         * docs/gst/gstreamer-sections.txt:
9321           add gst_caps_do_simplify
9322         * gst/gstcaps.c:
9323           add documentation for gst_caps_do_simplify
9324         * gst/gstvalue.h:
9325           fix typo in gst_value_register_subtract_func declaration for gst-doc
9326
9327 2004-04-22  Benjamin Otte  <otte@gnome.org>
9328
9329         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9330           fix bug when converting from empty string.
9331         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9332         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9333           use gst_caps_new_empty to allocate a new caps. Only that function
9334           allocates memory for caps now.
9335         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9336         (gst_caps_remove_structure):
9337           add ability to remove one structure (but not to header yet)
9338         * gst/gstcaps.c: (gst_caps_compare_structures),
9339         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9340         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9341         * gst/gstcaps.h:
9342           add gst_caps_do_simplify that tries to simplify a caps in place.
9343           Deprecate old gst_caps_simplify function.
9344         * testsuite/caps/caps.h:
9345           add caps.h containing a common set of caps to test against.
9346         * testsuite/caps/sets.c: (check_caps), (main):
9347           use it.
9348         * testsuite/caps/.cvsignore:
9349         * testsuite/caps/Makefile.am:
9350         * testsuite/caps/simplify.c: (check_caps), (main):
9351           add test to check correctness and efficency of caps simplification.
9352
9353 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9354
9355         reviewed by Benjamin Otte  <otte@gnome.org>
9356
9357         * gst/gstparse.c: (_gst_parse_escape):
9358           Free the GString used in _gst_parse_escape()
9359
9360 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9361
9362         * gst/gstpad.c: (gst_pad_link_negotiate):
9363           refuse to link if the link is not possible
9364         * configure.ac:
9365         * testsuite/Makefile.am:
9366         * testsuite/negotiation/.cvsignore:
9367         * testsuite/negotiation/Makefile.am:
9368         * testsuite/negotiation/pad_link.c: (main):
9369           add test that checks the above behaviour
9370
9371 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9372
9373         * docs/gst/gstreamer-sections.txt:
9374           add newly added API
9375
9376 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9377
9378         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9379         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9380         (gst_filesrc_open_file), (gst_filesrc_close_file),
9381         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9382         * gst/elements/gstfilesrc.h:
9383           add support for non-regular files (#140734)
9384
9385 2004-04-21  Benjamin Otte  <otte@gnome.org>
9386
9387         * gst/gstpad.c: (gst_pad_link_fixate):
9388           add sophisticated error checking code to see if fixation functions
9389           did their fixation right
9390
9391 2004-04-21  Benjamin Otte  <otte@gnome.org>
9392
9393         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9394           check for ANY caps before appending/unioning
9395         * gst/gstcaps.c: (gst_caps_is_subset),
9396         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9397         (gst_caps_structure_subtract), (gst_caps_subtract):
9398         * gst/gstcaps.h:
9399           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9400           the API. deprecate gst_caps_is_equal_fixed
9401         * gst/gstpad.c: (gst_pad_try_set_caps):
9402         * gst/gstqueue.c: (gst_queue_link):
9403           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9404         * gst/gststructure.c: (gst_structure_get_name_id):
9405         * gst/gststructure.h:
9406           add function gst_structure_get_name_id
9407         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9408         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9409         (gst_value_subtract_int_range_int_range),
9410         (gst_value_subtract_double_double_range),
9411         (gst_value_subtract_double_range_double),
9412         (gst_value_subtract_double_range_double_range),
9413         (gst_value_subtract_from_list), (gst_value_subtract_list),
9414         (gst_value_can_intersect), (gst_value_subtract),
9415         (gst_value_can_subtract), (gst_value_register_subtract_func),
9416         (_gst_value_initialize):
9417         * gst/gstvalue.h:
9418           add support for subtracting values from each other. Note that
9419           subtracting means subtracting as in set theory. Required for caps
9420           stuff above.
9421         * testsuite/caps/.cvsignore:
9422         * testsuite/caps/Makefile.am:
9423         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9424         * testsuite/caps/sets.c: (check_caps), (main):
9425         * testsuite/caps/subtract.c: (check_caps), (main):
9426           add tests for subtraction and equality code.
9427
9428 2004-04-20  David Schleef  <ds@schleef.org>
9429
9430         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9431         * gst/indexers/Makefile.am:
9432         * gst/schedulers/Makefile.am:
9433         * libs/gst/bytestream/Makefile.am:
9434         * libs/gst/control/Makefile.am:
9435         * libs/gst/getbits/Makefile.am:
9436
9437 2004-04-20  David Schleef  <ds@schleef.org>
9438
9439         * common/as-libtool.mak: Fine-tune DLL building.
9440         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9441         (like gst-plugins)
9442         * examples/plugins/Makefile.am: remove plugindir
9443         * gst/autoplug/Makefile.am: DLL building fixes
9444         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9445         Windows.
9446         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9447         * gst/indexers/Makefile.am: DLL building fixes
9448         * gst/schedulers/Makefile.am: DLL building fixes.
9449         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9450         * libs/gst/control/Makefile.am: same
9451         * libs/gst/getbits/Makefile.am: same
9452         * testsuite/Makefile.am: New dlopen directory
9453         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9454         when dlopened.
9455         * testsuite/dlopen/dlopen_gst.c: (main): same
9456         * testsuite/dlopen/loadgst.c: (do_test): same
9457
9458 2004-04-20  David Schleef  <ds@schleef.org>
9459
9460         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9461         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9462
9463 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9464
9465         * gst/gstelement.c: (gst_element_wait),
9466         (gst_element_set_time_delay), (gst_element_change_state):
9467           Use GST_TIME_*
9468
9469 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9470
9471         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9472         (gst_spider_identity_plug):
9473           improve debugging messages
9474         * gst/gstbin.c: (gst_bin_remove_func):
9475           make sure the state_change function is only called with simple state
9476           transitions
9477
9478 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9479
9480         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9481         (gst_fakesink_set_property), (gst_fakesink_chain):
9482         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9483         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9484         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9485         * gst/elements/gstidentity.c: (gst_identity_chain),
9486         (gst_identity_set_property):
9487         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9488         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9489           add warnings to _set_property for unknown arguments
9490           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9491
9492 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9493
9494         * Makefile.am:
9495         * docs/manuals.mak:
9496           add .po file download snippet
9497           fix a bug in the doc makefile
9498
9499 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * Makefile.am:
9502         * po/LINGUAS:
9503         * po/en_GB.po:
9504           Added en_GB translation (Gareth Owen)
9505
9506 2004-04-20  Johan Dahlin  <johan@gnome.org>
9507
9508         * gst/gstpad.c (_invent_event): Clean up
9509
9510 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9511
9512         * testsuite/caps/filtercaps.c: (main):
9513           fix test to test things correctly (caps are complicated)
9514
9515 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9516
9517         * testsuite/caps/Makefile.am:
9518         * testsuite/caps/filtercaps.c: (main):
9519           add test (that doesn't work right now, but should)
9520
9521 2004-04-19  David Schleef  <ds@schleef.org>
9522
9523         * configure.ac: Add test for allowing unaligned access.  Add define
9524         to put in gstconfig.h.
9525         * docs/gst/gstreamer-sections.txt: New symbols
9526         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9527         * docs/gst/tmpl/gstfilesrc.sgml:
9528         * docs/gst/tmpl/gstparse.sgml:
9529         * docs/gst/tmpl/gsttypes.sgml:
9530         * docs/gst/tmpl/gstutils.sgml:
9531         * docs/gst/tmpl/gstvalue.sgml:
9532         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9533         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9534         on most !i386/!powerpc architectures.  From Daniel Gazard
9535         <daniel.gazard@free.fr>.  (bug #140156)
9536         * po/af.po: Check in changes made by gettext.
9537         * po/az.po:
9538         * po/fr.po:
9539         * po/nl.po:
9540         * po/sr.po:
9541         * po/sv.po:
9542
9543 2004-04-20  Benjamin Otte  <otte@gnome.org>
9544
9545         * gst/schedulers/entryscheduler.c: 
9546         (gst_entry_scheduler_yield):
9547           refuse to yield when decoupled elements insist on doing that.
9548           At least it's better than crashing
9549
9550 2004-04-19  David Schleef  <ds@schleef.org>
9551
9552         * docs/libs/Makefile.am: Change sinclude to include
9553         * docs/gst/Makefile.am: same
9554         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9555
9556 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         * po/LINGUAS:
9559         * po/uk.po:
9560           Added Ukrainian translation (Maxim V. Dziumanenko)
9561
9562 2004-04-19  Johan Dahlin  <johan@gnome.org>
9563
9564         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9565         checking here, do it before calling the function.
9566         Clean up, use for loops instead of while loops while iterating
9567         over lists.
9568
9569         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9570         in debug message.
9571         (gst_spider_create_and_plug): Improve debug message.
9572         General: Replace while loops which iterates over GLists with for
9573         loops. Which are much cleaner, improves readability, especially
9574         for gst_spider_identity_plug
9575
9576         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9577         fixes bug 140477
9578
9579 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9580
9581         * po/LINGUAS:
9582         * po/tr.po:
9583           Added Turkish translation (Baris Cicek)
9584
9585 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9586
9587         * docs/faq/troubleshooting.xml:
9588           Mention gst-register in the FAQ (fixes 139045).
9589
9590 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * docs/gst/gstreamer-sections.txt:
9593
9594 2004-04-17  Benjamin Otte  <otte@gnome.org>
9595
9596         * gst/gstelement.c: (gst_element_dispose):
9597           simplify
9598         * gst/gstpad.c: (gst_pad_call_chain_function):
9599           don't create loads of events due to bad macro usage
9600
9601 2004-04-16  David Schleef  <ds@schleef.org>
9602
9603         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9604         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9605         * gst/gstvalue.c: (gst_value_serialize_buffer),
9606         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9607         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9608         to indicate types that are fixed wrt caps or not.  Switching to
9609         this function fixes (bug #140298).
9610         * gst/gstvalue.h:
9611
9612 2004-04-16  David Schleef  <ds@schleef.org>
9613
9614         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9615         for GST_UNALIGNED_ACESS, since we essentially know which archs
9616         are ok.
9617
9618 2004-04-17  Benjamin Otte  <otte@gnome.org>
9619
9620         * docs/gst/Makefile.am:
9621           ignore gst/parse directory when building docs (fixes #140205)
9622
9623 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9624
9625         * testsuite/refcounting/mem.c: (vmsize):
9626           do error checking
9627
9628 2004-04-16  Johan Dahlin  <johan@gnome.org>
9629
9630         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9631         and gst_pad_call_get_function.
9632
9633 2004-04-15  David Schleef  <ds@schleef.org>
9634
9635         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9636         checks if we can access unaligned memory.
9637         * configure.ac: Use it.
9638
9639 2004-04-16  Benjamin Otte  <otte@gnome.org>
9640
9641         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9642         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9643         * gst/elements/gstfilesrc.h:
9644           s/seek_happened/need_discont/ and require discont before sending any
9645           data
9646
9647 2004-04-15  David Schleef  <ds@schleef.org>
9648
9649         * gst/gstvalue.c: (gst_value_serialize_buffer),
9650         (gst_value_deserialize_buffer), (_gst_value_initialize):
9651         Register these types as fundamental types. (bug #140015)
9652
9653 2004-04-16  Benjamin Otte  <otte@gnome.org>
9654
9655         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9656         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9657         (gst_pad_pull):
9658           implement enforcing discont events before buffers are passed. This
9659           allows state changes of only some elements and later correctly going
9660           on where they left off (or in short: you can now set audio sinks to
9661           NULL to release the device when the pipeline is paused)
9662         * gst/gstpad.c: (gst_pad_call_chain_function),
9663         (gst_pad_call_get_function):
9664         * gst/gstpad.h:
9665           add gst_pad_call_chain_function and gst_pad_call_get_function for
9666           scheduler interaction. They are required because of the changes
9667           above.
9668         * gst/schedulers/entryscheduler.c: (get_buffer),
9669         (gst_entry_scheduler_chain_wrapper),
9670         (gst_entry_scheduler_get_wrapper),
9671         (gst_entry_scheduler_state_transition),
9672         (gst_entry_scheduler_pad_link):
9673         * gst/schedulers/gstbasicscheduler.c:
9674         (gst_basic_scheduler_chain_wrapper),
9675         (gst_basic_scheduler_src_wrapper),
9676         (gst_basic_scheduler_chainhandler_proxy),
9677         (gst_basic_scheduler_gethandler_proxy),
9678         (gst_basic_scheduler_cothreaded_chain),
9679         (gst_basic_scheduler_chain_elements):
9680         * gst/schedulers/gstoptimalscheduler.c:
9681         (get_group_schedule_function), (pad_clear_queued),
9682         (gst_opt_scheduler_pad_link):
9683           use the new functions instead of calling get/chain-functions
9684           directly.
9685
9686 2004-04-15  David Schleef  <ds@schleef.org>
9687
9688         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9689         * docs/gst/tmpl/gstinfo.sgml: same
9690         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9691         gtk-doc put here.
9692         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9693         * examples/queue/queue.c: (main):  We iterate pipelines, not
9694         bins.  (bug #139996)
9695
9696 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9697
9698         * docs/pwg/advanced-types.xml:
9699           Add MS RLE support. Also document Qt RLE although I have no sample
9700           files for that yet. And document an extra property for ADPCM.
9701
9702 2004-04-15  David Schleef  <ds@schleef.org>
9703
9704         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9705         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9706         Windows.
9707
9708 2004-04-15  David Schleef  <ds@schleef.org>
9709
9710         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9711         symbol names to not conflict with new gstinfo.h symbols.
9712         * gst/gstinfo.h: Add inline functions for all those crazy
9713         compilers that don't know how to handle variadic macros (MSVC).
9714
9715 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9716
9717         * configure.ac: bump nano to 1
9718
9719 === release 0.8.1 ===
9720
9721 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9722
9723         * NEWS:
9724         * RELEASE:
9725         * configure.ac:
9726           releasing 0.8.1, "Snow Brigade"
9727
9728 2004-04-14  David Schleef  <ds@schleef.org>
9729
9730         * testsuite/Makefile.am: define tests_ignore
9731         * testsuite/Rules: Added new tests_ignore, which get compiled,
9732         but not run (generally because they're inconsistent or have
9733         heisenbugs).  Now we can ensure all the .c files compile in
9734         testsuite/.
9735         * testsuite/bins/Makefile.am: define tests_ignore
9736         * testsuite/bytestream/Makefile.am:
9737         * testsuite/caps/Makefile.am:
9738         * testsuite/clock/Makefile.am:
9739         * testsuite/debug/Makefile.am:
9740         * testsuite/debug/global.c: (gst_debug_log_one),
9741         (gst_debug_log_two): Fix compilation problem.
9742         * testsuite/dynparams/Makefile.am:
9743         * testsuite/elements/Makefile.am:
9744         * testsuite/ghostpads/Makefile.am:
9745         * testsuite/indexers/Makefile.am:
9746         * testsuite/parse/Makefile.am:
9747         * testsuite/plugin/Makefile.am:
9748         * testsuite/refcounting/Makefile.am:
9749         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9750         results, because it's not calculated correctly.
9751         * testsuite/refcounting/pad.c: (main): same
9752         * testsuite/states/Makefile.am:
9753         * testsuite/tags/Makefile.am:
9754         * testsuite/threads/Makefile.am:
9755
9756 2004-04-14  David Schleef  <ds@schleef.org>
9757
9758         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9759         generating bad code around the cpu detection asm code.
9760
9761 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * tools/gst-inspect.c: (print_element_info):
9764           print numeric version of rank as well, since we added some - 1
9765           rank values to elements
9766
9767 2004-04-13  David Schleef  <ds@schleef.org>
9768
9769         * configure.ac:  Disable various code when compiling for MinGW.
9770         * gst/elements/Makefile.am:
9771         * gst/elements/gstelements.c:
9772         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9773         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9774         * gst/registries/gstxmlregistry.c: (make_dir):
9775
9776 2004-04-13  David Schleef  <ds@schleef.org>
9777
9778         * gst/Makefile.am:
9779         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9780         assembly.
9781         * gst/gstcpuid_i386.s: remove
9782
9783 2004-04-13  David Schleef  <ds@schleef.org>
9784
9785         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9786         seems to think it needs to be done.
9787         * docs/gst/tmpl/gstfakesink.sgml:
9788         * docs/gst/tmpl/gstfakesrc.sgml:
9789         * docs/gst/tmpl/gstfdsink.sgml:
9790         * docs/gst/tmpl/gstfdsrc.sgml:
9791         * docs/gst/tmpl/gstfilesink.sgml:
9792         * docs/gst/tmpl/gstfilesrc.sgml:
9793         * docs/gst/tmpl/gstidentity.sgml:
9794         * docs/gst/tmpl/gstmd5sink.sgml:
9795         * docs/gst/tmpl/gstmultifilesrc.sgml:
9796         * docs/gst/tmpl/gstpipefilter.sgml:
9797         * docs/gst/tmpl/gstshaper.sgml:
9798         * docs/gst/tmpl/gstspider.sgml:
9799         * docs/gst/tmpl/gstspideridentity.sgml:
9800         * docs/gst/tmpl/gststatistics.sgml:
9801         * docs/gst/tmpl/gsttee.sgml:
9802         * docs/gst/tmpl/gsttypefind.sgml:
9803         * docs/gst/tmpl/gstutils.sgml:
9804
9805 2004-04-13  David Schleef  <ds@schleef.org>
9806
9807         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9808         and to build DLLs on Windows.
9809         * gst/Makefile.am:
9810         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9811         (gst_filesrc_open_file):
9812         * gst/schedulers/Makefile.am:
9813
9814 2004-04-13  David Schleef  <ds@schleef.org>
9815
9816         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9817         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9818         fixating lists.
9819
9820 2004-04-12  David Schleef  <ds@schleef.org>
9821
9822         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9823         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9824         to using it.
9825         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9826         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9827         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9828         * gst/gststructure.c: (gst_structure_set_valist),
9829         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9830         support for buffers.
9831         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9832         intended to be const.
9833         * gst/gsttag.h: same
9834         * gst/gstvalue.c: (gst_value_serialize_buffer),
9835         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9836         to (de)serialize buffers.
9837         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9838         * testsuite/caps/string-conversions.c: (main):
9839         * testsuite/caps/value_serialize.c: add new test
9840
9841 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9842
9843         * docs/pwg/advanced-types.xml:
9844           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9845
9846 2004-04-11  Benjamin Otte  <otte@gnome.org>
9847
9848         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9849           rename categories to basic_*
9850         * gst/schedulers/gstbasicscheduler.c: 
9851         (gst_basic_scheduler_chain_wrapper),
9852         (gst_basic_scheduler_chainhandler_proxy),
9853         (gst_basic_scheduler_gethandler_proxy),
9854         (gst_basic_scheduler_eventhandler_proxy):
9855           debugging category fixes - put common stuff in log category
9856         * gst/schedulers/gstbasicscheduler.c: 
9857         (gst_basic_scheduler_chain_elements):
9858           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9859           active and linking two active chains
9860
9861 2004-04-10  Benjamin Otte  <otte@gnome.org>
9862
9863         * docs/pwg/intro-preface.xml:
9864           fix dead links and remove reference to Wiki
9865
9866 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9867
9868         * gst/schedulers/gstbasicscheduler.c:
9869           make sure we can switch back to the main function if we're still in
9870           the main function (supposed to fix #139617)
9871         * gst/schedulers/gthread-cothreads.h:
9872           don't throw an error when switching to the same cothread
9873
9874 2004-04-09  Benjamin Otte  <otte@gnome.org>
9875
9876         * gst/gstbin.c: (gst_bin_get_type):
9877         * gst/gstclock.c: (gst_clock_get_type):
9878         * gst/gstindex.c: (gst_index_get_type):
9879         * gst/gstobject.c: (gst_object_get_type),
9880         (gst_signal_object_get_type):
9881         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9882         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9883         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9884         * gst/gstqueue.c: (gst_queue_get_type):
9885         * gst/gstregistry.c: (gst_registry_get_type):
9886         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9887         * gst/gstthread.c: (gst_thread_get_type):
9888           don't use memchunks for these objects, use malloc instead
9889
9890 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * docs/gst/.cvsignore:
9893         * docs/gst/Makefile.am:
9894         * docs/gst/gstreamer-sections.txt:
9895         * docs/gst/tmpl/gstaggregator.sgml:
9896         * docs/gst/tmpl/gstbuffer.sgml:
9897         * docs/gst/tmpl/gstclock.sgml:
9898         * docs/gst/tmpl/gstelement.sgml:
9899         * docs/gst/tmpl/gstfakesink.sgml:
9900         * docs/gst/tmpl/gstfakesrc.sgml:
9901         * docs/gst/tmpl/gstfdsink.sgml:
9902         * docs/gst/tmpl/gstfdsrc.sgml:
9903         * docs/gst/tmpl/gstfilesink.sgml:
9904         * docs/gst/tmpl/gstfilesrc.sgml:
9905         * docs/gst/tmpl/gstidentity.sgml:
9906         * docs/gst/tmpl/gstindex.sgml:
9907         * docs/gst/tmpl/gstinfo.sgml:
9908         * docs/gst/tmpl/gstmd5sink.sgml:
9909         * docs/gst/tmpl/gstmultifilesrc.sgml:
9910         * docs/gst/tmpl/gstpad.sgml:
9911         * docs/gst/tmpl/gstpipefilter.sgml:
9912         * docs/gst/tmpl/gstpipeline.sgml:
9913         * docs/gst/tmpl/gstpluginfeature.sgml:
9914         * docs/gst/tmpl/gstqueue.sgml:
9915         * docs/gst/tmpl/gstregistry.sgml:
9916         * docs/gst/tmpl/gstscheduler.sgml:
9917         * docs/gst/tmpl/gstshaper.sgml:
9918         * docs/gst/tmpl/gstspider.sgml:
9919         * docs/gst/tmpl/gstspideridentity.sgml:
9920         * docs/gst/tmpl/gststatistics.sgml:
9921         * docs/gst/tmpl/gstsystemclock.sgml:
9922         * docs/gst/tmpl/gsttee.sgml:
9923         * docs/gst/tmpl/gstthread.sgml:
9924         * docs/gst/tmpl/gsttypefind.sgml:
9925         * docs/gst/tmpl/gstutils.sgml:
9926           further doc build fixes
9927
9928 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9929
9930         * docs/gst/Makefile.am:
9931           make docs exit on scanning problems
9932           fix nonsrcdir build issues
9933         * docs/gst/gstreamer-sections.txt:
9934           adding stuff from -unused
9935         * gst/gstqueue.h:
9936           create GstQueueSize
9937         * gst/schedulers/cothreads_compat.h:
9938           fix cothread warnings
9939
9940 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * docs/gst/gstreamer-sections.txt:
9943           remove defines deprecated by Benjamin
9944
9945 2004-04-07  Benjamin Otte  <otte@gnome.org>
9946
9947         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9948           when the buffer is complete, don't check if other buffers are needed
9949         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9950           check that the offset is >0 so we don't try to read before the
9951           beginning of the file
9952         * gst/gstpad.c: (gst_pad_set_pad_template):
9953           sink the template, so we don't end up with 130k pad templates
9954
9955 2004-04-06  Benjamin Otte  <otte@gnome.org>
9956
9957         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9958           don't ref the element, adding already reffed it. And we didn't unref
9959           it later anyway... (huge memleak when you used many spider elements)
9960         * gst/gstelement.c: (gst_element_base_class_finalize):
9961         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9962         (gst_element_register):
9963         * gst/gsturi.c: (gst_element_make_from_uri):
9964           use gst_object_(un)ref instead of g_object(un)ref
9965
9966 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9967
9968         * gst/gstbuffer.h:
9969           remove macro that wouldn't work anymore because struct member has
9970           been removed.
9971         * gst/schedulers/entryscheduler.c: (schedule_forward):
9972           fix segfault for unconnected pads
9973         
9974 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9975
9976         reviewed by David Schleef <ds@schleef.org>
9977
9978         * gst/gstinfo.h:
9979           *_FORMAT modifiers should require putting a % in front of them for
9980           consistency reasons.
9981
9982 2004-04-05  Colin Walters  <walters@redhat.com>
9983
9984         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9985         space.
9986
9987 2004-04-05  Benjamin Otte  <otte@gnome.org>
9988
9989         * configure.ac:
9990         * gst/Makefile.am:
9991         * gst/gst_private.h:
9992         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9993           add support for detecting if GStreamer runs inside valgrind.
9994           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9995           print a big message in valgrind that GStreamer has detected it's
9996           running inside and might now use different code.
9997         * gst/gstmemchunk.c: (populate), (free_area),
9998         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9999         (gst_mem_chunk_free):
10000           flag memchunks for valgrind, so it can detect leaking of chunks.
10001           This allows detecting leaks of GstBuffer and GstEvent correctly
10002           inside valgrind.
10003
10004 2004-04-05  David Schleef  <ds@schleef.org>
10005
10006         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10007           jensgr@gmx.net (Jens Granseuer)
10008
10009 2004-04-05  David Schleef  <ds@schleef.org>
10010
10011         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10012         (gst_buffer_default_free), (gst_buffer_default_copy),
10013         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10014         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10015         structures in one place.
10016
10017 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10018
10019         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10020           (GST_TIME_FORMAT, GST_TIME_ARGS)
10021
10022 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10023
10024         * testsuite/elements/Makefile.am:
10025           disable test until it stops breaking make distcheck
10026
10027 2004-04-05  Johan Dahlin  <johan@gnome.org>
10028
10029         * po/sv.po: Updated translation
10030
10031 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10032
10033         * gst/gstplugin.c: (gst_plugin_load_file):
10034           fix segfault for when original plugin was loaded statically
10035
10036 2004-04-05  Benjamin Otte  <otte@gnome.org>
10037
10038         * testsuite/debug/category.c: (main):
10039         * testsuite/debug/commandline.c: (main):
10040         * testsuite/debug/output.c: (main):
10041           fix tests to work again with debugging enabled
10042
10043 2004-04-05  Benjamin Otte  <otte@gnome.org>
10044
10045         * gst/schedulers/gstbasicscheduler.c:
10046         (gst_basic_scheduler_pad_link):
10047           fix to work with recent scheduling changes
10048
10049 2004-04-05  Benjamin Otte  <otte@gnome.org>
10050
10051         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10052         prepareChangeLog doesn't work when cvs indents):
10053           don't throw an error when no element can be scheduled, there's too
10054           many weird reasons why it doesn't work. Return STOPPED instead.
10055           decoupled elemts' schedulability doesn't depend on bufpens.
10056
10057 2004-04-04  Benjamin Otte  <otte@gnome.org>
10058
10059         * gst/schedulers/gstbasicscheduler.c:
10060         (gst_basic_scheduler_pad_select):
10061           fix uninitialized variable warnings
10062
10063 2004-04-04  Benjamin Otte  <otte@gnome.org>
10064
10065         * gst/gstpad.c: (gst_pad_collect_valist):
10066           fix uninitialized variable warning
10067         * gst/schedulers/entryscheduler.c: (schedule_forward):
10068           fix shadowed variable
10069
10070 2004-04-04  Benjamin Otte  <otte@gnome.org>
10071
10072         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10073         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10074         (gst_pad_select):
10075         * gst/gstpad.h:
10076         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10077         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10078         * gst/gstscheduler.h:
10079           implement gst_pad_collect as replacement for gst_pad_select.
10080           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10081           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10082           new pad_select, lock and unlock calls.
10083         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10084         * gst/cothreads.h:
10085         * gst/schedulers/cothreads_compat.h:
10086         * gst/schedulers/gthread-cothreads.h:
10087           remove unused cothread_lock and cothread_unlock calls
10088         * gst/schedulers/entryscheduler.c:
10089         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10090         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10091         (gst_entry_scheduler_pad_select):
10092           update to new API
10093         * gst/schedulers/gstbasicscheduler.c:
10094         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10095         (gst_basic_scheduler_pad_select):
10096           remove useless lock and unlock calls, update pad_select to new API
10097           (untested)
10098         * gst/schedulers/gstoptimalscheduler.c:
10099         (gst_opt_scheduler_class_init):
10100           remove useless select, lock and unlock function calls
10101         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10102           use gst_pad_collect instead of gst_pad_select
10103
10104 2004-04-04  Benjamin Otte  <otte@gnome.org>
10105
10106         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10107         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10108         (schedule_next_element), (print_entry):
10109           add can_schedule_pad to handle element states.
10110           add schedule_forward to select the correct entry to schedule next
10111
10112 2004-04-03  Benjamin Otte  <otte@gnome.org>
10113
10114         * gst/schedulers/entryscheduler.c: 
10115           remove unused variable, fix error inside Rb, fix compile warning in
10116           unreachable code
10117
10118 2004-04-03  Benjamin Otte  <otte@gnome.org>
10119
10120         * gst/schedulers/entryscheduler.c:
10121           completely revamp the inner workings, so it's a lot easier to
10122           understand and extend
10123
10124 2004-04-03  Andy Wingo  <wingo@pobox.com>
10125
10126         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10127         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10128         This allows better introspection of pipeline topology.
10129         (add_to_chain): Don't do trickery to put loop elements first;
10130         rather, queue a chain sort by marking the chain as dirty.
10131         (remove_from_chain): Mark the chain dirty.
10132         (sort_chain): New function. Sorts the group list so that terminal
10133         sinks are first. This means elements on the sink side will be
10134         preferentially sscheduled before elements on the src side of the
10135         pipeline.
10136         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10137         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10138         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10139         (group_inc_link): Change argument and variable names to match the
10140         new link structure member names (src and sink).
10141         (group_dec_link): Add some description
10142
10143 2004-04-03  Benjamin Otte  <otte@gnome.org>
10144
10145         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10146         * gst/gstinfo.h:
10147         * testsuite/debug/category.c: (main):
10148         * testsuite/debug/commandline.c: (main):
10149         * testsuite/debug/output.c: (main):
10150         * testsuite/debug/printf_extension.c: (main):
10151           fix to successfully build and test with --disable-gst-debug
10152           configure switch (fixes #138705)
10153
10154 2004-04-03  Benjamin Otte  <otte@gnome.org>
10155
10156         * docs/pwg/building-boiler.xml:
10157           add cvs login line and s/anonymous/anoncvs/
10158
10159 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10160
10161         reviewed by Benjamin Otte  <otte@gnome.org>
10162
10163         * gst/gststructure.c: (gst_structure_free):
10164           memleak fix: free fields array (partial fix for #134839)
10165
10166 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10167
10168         * docs/random/ds/0.9-suggested-changes:
10169           Add a note to change handoff use in fakesrc to be usable in
10170           a more generic way (fakesrc should be renamed to appsrc or so).
10171         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10172           Change signal type to scope, so we can fill the buffer in the
10173           handoff handler (that's the whole use of this signal...).
10174
10175 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10176
10177         * docs/pwg/other-ntoone.xml:
10178           Document muxers and n-to-1 elements.
10179
10180 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10181
10182         * gst/registries/gstxmlregistry.c
10183         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10184         determine if a file is a G_MODULE. The old one discards paths
10185         containing "so" somewhere in the middle. My home directory is
10186         called "soto". Go figure...
10187
10188 2004-03-31  David Schleef  <ds@schleef.org>
10189
10190         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10191         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10192         * gst/gstbuffer.h:
10193
10194 2004-03-31  David Schleef  <ds@schleef.org>
10195
10196         * gst/gstvalue.c: (gst_value_union_int_int_range),
10197         (gst_value_union_int_range_int_range), (gst_value_can_union),
10198         (gst_value_union), (_gst_value_initialize):  Add some union
10199         implementations.  We didn't have any previously.
10200         * testsuite/caps/Makefile.am:
10201         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10202         (gst_audioscale_getcaps), (test_caps), (main): A little test
10203         that is the same as the caps manipulation in audioscale.
10204
10205 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10206
10207         * docs/faq/general.xml:
10208           add entry about "does gst support format X?"
10209
10210 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10211
10212         * gst/gstthread.c:
10213           fix docs
10214         * gst/gstutils.h:
10215           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10216
10217 2004-03-30  Benjamin Otte  <otte@gnome.org>
10218
10219         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10220           set the offset of the buffer to the requested offset
10221         * gst/elements/gsttypefind.c: (stop_typefinding):
10222           revert patch 1.18 (which I unfortunately don't know the reason for).
10223           This is needed to allow downstream elements to seek. Otherwise
10224           typefind might overwrite a previous seek by downstream elements.
10225           This lead to errors with id3tag and typefind on some mp3s.
10226         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10227         (gst_entry_scheduler_iterate):
10228           be more verbose when debugging
10229
10230 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10231
10232         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10233           make sure we don't get NULL strings
10234
10235 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10236
10237         * gst/gstcaps.c:
10238         * gst/gstelement.c:
10239         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10240         * gst/gstindex.c: (gst_index_resolver_get_type),
10241         (gst_index_get_type), (gst_index_factory_get_type):
10242         * gst/gstinfo.c:
10243         * gst/gstpad.c:
10244         * gst/gstplugin.c:
10245         * gst/gsturi.c: (gst_uri_handler_get_type):
10246         * gst/gstvalue.c:
10247           first batch of documentation fixes
10248
10249 2004-03-29  David Schleef  <ds@schleef.org>
10250
10251         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10252         * docs/gst/gstreamer-docs.sgml:  More hacking
10253         * docs/gst/gstreamer-sections.txt:
10254         * docs/gst/tmpl/cothreads_compat.sgml:
10255         * docs/gst/tmpl/gstcaps.sgml:
10256         * docs/gst/tmpl/gstclock.sgml:
10257         * docs/gst/tmpl/gstelement.sgml:
10258         * docs/gst/tmpl/gstevent.sgml:
10259         * docs/gst/tmpl/gstpad.sgml:
10260         * docs/gst/tmpl/gstutils.sgml:
10261         * docs/gst/tmpl/gstxml.sgml:
10262         * docs/gst/tmpl/gthread-cothreads.sgml:
10263         * docs/random/ds/0.9-suggested-changes:
10264         * gst/elements/gstfakesink.h: doc fixes
10265         * gst/elements/gstfakesrc.h: doc fixes
10266         * gst/gstcaps.c: doc fixes
10267         * gst/gstcaps.h: doc fixes
10268         * gst/gstelement.c: doc fixes
10269         * gst/gstelement.h: doc fixes
10270         * gst/gstindex.c: doc fixes
10271         * gst/gstinfo.c: doc fixes
10272         * gst/gstpad.c: doc fixes
10273         * gst/gstpad.h: doc fixes
10274         * gst/gstplugin.c: doc fixes
10275         * gst/gsttypefind.h: doc fixes
10276         * gst/gsturi.c: doc fixes
10277         * gst/gstvalue.c: doc fixes
10278
10279 2004-03-29  Colin Walters  <walters@redhat.com>
10280
10281         * gst/registries/gstxmlregistry.c (get_time)
10282         (plugin_times_older_than_recurse):
10283         Use the result of stat to determine whether a path is a file,
10284         so we don't attempt to opendir() files.
10285
10286 2004-03-29  Benjamin Otte  <otte@gnome.org>
10287
10288         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10289           print caps in debugging output when setting caps failed
10290         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10291         (schedule_next_element), (get_buffer), (run_chainhandler),
10292         (element_may_start), (gst_entry_scheduler_chain_handler),
10293         (gst_entry_scheduler_get_handler),
10294         (gst_entry_scheduler_state_transition),
10295         (gst_entry_scheduler_pad_link):
10296           make this scheduler a testcase for mandatory
10297           discont-before-first-buffer which is needed if we want to allow apps
10298           to release the sound device.
10299           add SCHED_ASSERT macro to print scheduler state before an assertion
10300           triggers.
10301
10302 2004-03-29  Benjamin Otte  <otte@gnome.org>
10303
10304         * COPYING:
10305           replace by LGPL (former COPYING.LIB). The core is completely
10306           licensed LGPL.
10307         * COPYING.LIB:
10308           remove
10309
10310 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10311
10312         * po/af.po:
10313         * po/sv.po:
10314           updated Afrikaans and Swedish
10315
10316 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         * po/LINGUAS:
10319         * po/az.po:
10320           adding Azerbaijani (Mətin Əmirov)
10321
10322 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10323
10324         * gst/gstelement.h: 
10325         * gst/gstelement.c (gst_element_set_time_delay): New function for
10326         setting element time taking into account a hardware buffering
10327         delay.
10328         (gst_element_set_time): Now just an invocation of
10329         gst_element_set_time_delay.
10330         * gst/gstclock.h: 
10331         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10332         allowing to set event times in the future.
10333         (gst_clock_get_event_time): Now just an invocation of
10334         gst_clock_get_event_time_delay.
10335
10336 2004-03-28  Benjamin Otte  <otte@gnome.org>
10337
10338         * gst/gstbin.c: (gst_bin_set_element_sched),
10339         (gst_bin_unset_element_sched):
10340           don't add decoupled elements to schedulers - otherwise it's
10341           impossible to control if a link to a decoupled element was already
10342           removed from a scheduler or not.
10343         * gst/schedulers/cothreads_compat.h:
10344         * gst/schedulers/gthread-cothreads.h:
10345           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10346           is no "unused" warning.
10347         * gst/schedulers/Makefile.am:
10348         * gst/schedulers/entryscheduler.c:
10349           add new scheduler, based on ideas from talking to David and Martin.
10350           It's supposed to be small and correct. Currently it's also slow (but
10351           it's not noticable)
10352         * examples/retag/retag.c: (main):
10353         * testsuite/bytestream/test1.c: (main):
10354           fix missing NULLs at end of variadic functions
10355         * testsuite/elements/.cvsignore:
10356           update
10357
10358 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10359
10360         * gst/gstevent.h:
10361         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10362
10363 2004-03-25  David Schleef  <ds@schleef.org>
10364
10365         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10366         * docs/gst/tmpl/gstaggregator.sgml:
10367         * docs/gst/tmpl/gstautoplugfactory.sgml:
10368         * docs/gst/tmpl/gstbin.sgml:
10369         * docs/gst/tmpl/gstbuffer.sgml:
10370         * docs/gst/tmpl/gstbufferstore.sgml:
10371         * docs/gst/tmpl/gstfakesink.sgml:
10372         * docs/gst/tmpl/gstfakesrc.sgml:
10373         * docs/gst/tmpl/gstmd5sink.sgml:
10374         * docs/gst/tmpl/gstreamer-unused.sgml:
10375         * docs/gst/tmpl/gstsearchfuncs.sgml:
10376         * docs/gst/tmpl/gstshaper.sgml:
10377         * docs/gst/tmpl/gstspider.sgml:
10378         * docs/gst/tmpl/gsttee.sgml:
10379         * docs/gst/tmpl/gstutils.sgml:
10380         * docs/gst/tmpl/gstvalue.sgml:
10381         * docs/gst/tmpl/gstxml.sgml:
10382         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10383         and we don't support it.
10384         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10385         (gst_use_threads), (gst_has_threads): same
10386         * gst/gstthreaddummy.c: same
10387         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10388         * gst/autoplug/gstspider.h: same
10389         * gst/elements/gstaggregator.h: Remove bogus function from header
10390         * gst/elements/gstfakesink.h: same
10391         * gst/elements/gstfakesrc.h: same
10392         * gst/elements/gstmd5sink.h: same
10393         * gst/elements/gstshaper.h: same
10394         * gst/elements/gsttee.h: same
10395         * gst/gstbin.c: doc fixes
10396         * gst/gstbin.h: Remove unused definition.
10397         * gst/gstbuffer.c: doc fixes
10398         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10399         * gst/gstfilter.c: doc fixes
10400         * gst/gsttag.c: doc fixes
10401         * gst/gstvalue.c: doc fixes
10402
10403 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10404
10405         * docs/pwg/advanced-types.xml:
10406           Document typefinding.
10407         * docs/pwg/other-oneton.xml:
10408           Document one-to-n elements, demuxers and parsers.
10409
10410 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10411
10412         reviewed by: David Schleef  <ds@schleef.org>
10413
10414         * configure.ac: Check bison version (bug #127838)
10415
10416 2004-03-25  David Schleef  <ds@schleef.org>
10417
10418         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10419         * docs/gst/gstreamer-sections.txt:
10420         * docs/gst/tmpl/gstautoplug.sgml:
10421         * docs/gst/tmpl/gststaticautoplug.sgml:
10422         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10423         * docs/gst/tmpl/gstutils.sgml:
10424         * docs/gst/tmpl/gstxml.sgml:
10425
10426 2004-03-24  David Schleef  <ds@schleef.org>
10427
10428         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10429         manual being such complete crap, that I decided to do major
10430         hacking of it.  This checkin replaces any fine tuning that
10431         may have been done previously, with the benefit of actually
10432         being complete for much of the API that was changed since
10433         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10434         * docs/gst/gstreamer-sections.txt:
10435         * docs/gst/tmpl/GstBin.sgml:
10436         * docs/gst/tmpl/GstBuffer.sgml:
10437         * docs/gst/tmpl/GstCaps.sgml:
10438         * docs/gst/tmpl/GstClock.sgml:
10439         * docs/gst/tmpl/GstCompat.sgml:
10440         * docs/gst/tmpl/GstData.sgml:
10441         * docs/gst/tmpl/GstElement.sgml:
10442         * docs/gst/tmpl/GstEvent.sgml:
10443         * docs/gst/tmpl/GstIndex.sgml:
10444         * docs/gst/tmpl/GstStructure.sgml:
10445         * docs/gst/tmpl/GstTag.sgml:
10446         * docs/gst/tmpl/cothreads.sgml:
10447         * docs/gst/tmpl/cothreads_compat.sgml:
10448         * docs/gst/tmpl/gettext.sgml:
10449         * docs/gst/tmpl/grammar.tab.sgml:
10450         * docs/gst/tmpl/gst-i18n-app.sgml:
10451         * docs/gst/tmpl/gst-i18n-lib.sgml:
10452         * docs/gst/tmpl/gst.sgml:
10453         * docs/gst/tmpl/gst_private.sgml:
10454         * docs/gst/tmpl/gstaggregator.sgml:
10455         * docs/gst/tmpl/gstarch.sgml:
10456         * docs/gst/tmpl/gstatomic.sgml:
10457         * docs/gst/tmpl/gstatomic_impl.sgml:
10458         * docs/gst/tmpl/gstbin.sgml:
10459         * docs/gst/tmpl/gstbuffer.sgml:
10460         * docs/gst/tmpl/gstbufferstore.sgml:
10461         * docs/gst/tmpl/gstcaps.sgml:
10462         * docs/gst/tmpl/gstclock.sgml:
10463         * docs/gst/tmpl/gstcompat.sgml:
10464         * docs/gst/tmpl/gstconfig.sgml:
10465         * docs/gst/tmpl/gstcpu.sgml:
10466         * docs/gst/tmpl/gstdata.sgml:
10467         * docs/gst/tmpl/gstdata_private.sgml:
10468         * docs/gst/tmpl/gstelement.sgml:
10469         * docs/gst/tmpl/gstenumtypes.sgml:
10470         * docs/gst/tmpl/gsterror.sgml:
10471         * docs/gst/tmpl/gstevent.sgml:
10472         * docs/gst/tmpl/gstfakesink.sgml:
10473         * docs/gst/tmpl/gstfakesrc.sgml:
10474         * docs/gst/tmpl/gstfilesink.sgml:
10475         * docs/gst/tmpl/gstfilter.sgml:
10476         * docs/gst/tmpl/gstindex.sgml:
10477         * docs/gst/tmpl/gstinfo.sgml:
10478         * docs/gst/tmpl/gstinterface.sgml:
10479         * docs/gst/tmpl/gstlog.sgml:
10480         * docs/gst/tmpl/gstmacros.sgml:
10481         * docs/gst/tmpl/gstmarshal.sgml:
10482         * docs/gst/tmpl/gstmd5sink.sgml:
10483         * docs/gst/tmpl/gstmultifilesrc.sgml:
10484         * docs/gst/tmpl/gstobject.sgml:
10485         * docs/gst/tmpl/gstpad.sgml:
10486         * docs/gst/tmpl/gstparse.sgml:
10487         * docs/gst/tmpl/gstpipeline.sgml:
10488         * docs/gst/tmpl/gstplugin.sgml:
10489         * docs/gst/tmpl/gstpluginfeature.sgml:
10490         * docs/gst/tmpl/gstqueue.sgml:
10491         * docs/gst/tmpl/gstreamer-unused.sgml:
10492         * docs/gst/tmpl/gstregistry.sgml:
10493         * docs/gst/tmpl/gstregistrypool.sgml:
10494         * docs/gst/tmpl/gstscheduler.sgml:
10495         * docs/gst/tmpl/gstsearchfuncs.sgml:
10496         * docs/gst/tmpl/gstshaper.sgml:
10497         * docs/gst/tmpl/gstspider.sgml:
10498         * docs/gst/tmpl/gstspideridentity.sgml:
10499         * docs/gst/tmpl/gststructure.sgml:
10500         * docs/gst/tmpl/gstsystemclock.sgml:
10501         * docs/gst/tmpl/gsttag.sgml:
10502         * docs/gst/tmpl/gsttaginterface.sgml:
10503         * docs/gst/tmpl/gsttee.sgml:
10504         * docs/gst/tmpl/gstthread.sgml:
10505         * docs/gst/tmpl/gsttrace.sgml:
10506         * docs/gst/tmpl/gsttrashstack.sgml:
10507         * docs/gst/tmpl/gsttypefind.sgml:
10508         * docs/gst/tmpl/gsttypes.sgml:
10509         * docs/gst/tmpl/gsturi.sgml:
10510         * docs/gst/tmpl/gsturitype.sgml:
10511         * docs/gst/tmpl/gstutils.sgml:
10512         * docs/gst/tmpl/gstvalue.sgml:
10513         * docs/gst/tmpl/gstversion.sgml:
10514         * docs/gst/tmpl/gstxml.sgml:
10515         * docs/gst/tmpl/gstxmlregistry.sgml:
10516         * docs/gst/tmpl/gthread-cothreads.sgml:
10517         * docs/gst/tmpl/types.sgml:
10518
10519 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10520
10521         * docs/pwg/other-sink.xml:
10522         * docs/pwg/other-source.xml:
10523           Documentation on how to write source and sink elements. Other
10524           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10525           manager, autoplugger) are all still pending.
10526
10527 2004-03-25  Benjamin Otte  <otte@gnome.org>
10528
10529         * testsuite/elements/Makefile.am:
10530         * testsuite/elements/gst-compprep-check:
10531           add check to make sure gst-compprep works
10532         * testsuite/elements/gst-inspect-check.in:
10533           improve initialization output
10534         * testsuite/Makefile.am:
10535         * testsuite/gst-inspect-check:
10536           remove old file
10537
10538 2004-03-24  David Schleef  <ds@schleef.org>
10539
10540         * testsuite/elements/Makefile.am:
10541         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10542         to the testsuite.
10543
10544 2004-03-24  Benjamin Otte  <otte@gnome.org>
10545
10546         * libs/gst/control/dparam.c: (gst_dparam_attach),
10547         (gst_dparam_detach):
10548         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10549           fix lvalue casts for real
10550
10551 2004-03-24  Benjamin Otte  <otte@gnome.org>
10552
10553         * gst/schedulers/gstbasicscheduler.c:
10554         (gst_basic_scheduler_src_wrapper):
10555         * gst/schedulers/gstoptimalscheduler.c:
10556         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10557         (pad_clear_queued), (gst_opt_scheduler_add_element),
10558         (gst_opt_scheduler_remove_element):
10559           fix GStreamer to not have issues with lvalue casts anymore (fixes
10560           #136841)
10561
10562 2004-03-24  Benjamin Otte  <otte@gnome.org>
10563
10564         * gst/gstelement.c:
10565           add documentation about a gobject quirk where the object hasn't the
10566           correct class pointer set on initialization
10567         * gst/schedulers/gstbasicscheduler.c:
10568         (gst_basic_scheduler_src_wrapper):
10569           make sure to not run into an infinite loop
10570
10571 2004-03-22  Benjamin Otte  <otte@gnome.org>
10572
10573         * gst/gstutils.c: (gst_util_dump_mem):
10574         * gst/gstutils.h:
10575           first argument of gst_util_dump_mem should be const
10576
10577 2004-03-22  Johan Dahlin  <johan@gnome.org>
10578
10579         * gst/gstvalue.h: Clean up a little bit.
10580
10581 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10582
10583         reviewed by Benjamin Otte  <otte@gnome.org>
10584
10585         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10586         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10587         (gst_aggregator_class_init), (gst_aggregator_init):
10588         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10589         (gst_filesrc_dispose), (gst_filesrc_set_location):
10590         * gst/elements/gstidentity.c: (gst_identity_finalize),
10591         (gst_identity_class_init), (gst_identity_chain):
10592         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10593         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10594         (gst_statistics_class_init):
10595         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10596         (gst_tee_get_property):
10597           clean up used memory in this elements correctly on teardown (closes
10598           #137279)
10599
10600 2004-03-20  Colin Walters  <walters@redhat.com>
10601
10602         * gst/registries/gstxmlregistry.c:
10603         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10604         registry saving atomic.
10605
10606 2004-03-20  Colin Walters  <walters@redhat.com>
10607
10608         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10609         Just use
10610         access() instead of actually creating and deleting files.
10611
10612 2004-03-18  David Schleef  <ds@schleef.org>
10613
10614         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10615         (bug #137625)
10616
10617 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10618
10619         * po/sv.po: updated translation (Christian Rose)
10620
10621 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10622
10623         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10624         (gst_filesink_get_query_types), (_do_init),
10625         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10626           return FALSE silently
10627         * po/af.po: updated translation (Petri Jooste)
10628
10629 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10630
10631         * Makefile.am:
10632         * configure.ac:
10633           dist common properly
10634         * po/af.po:
10635         * po/fr.po:
10636         * po/nl.po:
10637         * po/sr.po:
10638         * po/sv.po:
10639           refreshing translations
10640
10641 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * po/LINGUAS:
10644         * po/sv.po:
10645         * po/af.po:
10646           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10647
10648 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10649
10650         * Makefile.am: use common/release.mak
10651
10652 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * docs/faq/gst-uninstalled:
10655           adding gst-monkeysaudio to the list of possible plugin dirs
10656
10657 2004-03-16  David Schleef  <ds@schleef.org>
10658
10659         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10660         (gst_init_check_with_popt_table):  Fix some gettext strings to
10661         make them easier to translate.  Required making the strings
10662         non-const.
10663
10664 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10665
10666         * configure.ac: bump nano to 1
10667
10668 === release 0.8.0 ===
10669
10670 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10671
10672         * configure.ac: release 0.8.0, "Executive Slacks"
10673
10674 2004-03-16  Johan Dahlin  <johan@gnome.org>
10675
10676         * gst/schedulers/gstoptimalscheduler.c
10677         (gst_opt_scheduler_pad_unlink): Remove double ;,
10678         spotted by Scott Wheeler
10679
10680 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10681
10682         * configure.ac: bump libtool version
10683
10684 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10685
10686         * gst/gstcaps.h:
10687         * gst/gststructure.h:
10688           add reserved padding
10689
10690 2004-03-15  Benjamin Otte  <otte@gnome.org>
10691
10692         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10693           set the first parameter for select call correctly.
10694           (fixes #137230)
10695
10696 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10697
10698         * *.c,*.h: don't mix tabs and spaces
10699
10700 2004-03-15  Johan Dahlin  <johan@gnome.org>
10701
10702         * gst/schedulers/gstoptimalscheduler.c
10703         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10704         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10705
10706         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10707         
10708 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10709
10710         * testsuite/Rules:
10711           fix gst-register rules
10712
10713 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10714
10715         * testsuite/Rules:
10716           use versioned gst-register
10717
10718 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * docs/libs/gstreamer-libs-sections.txt:
10721           remove </SUBSECTION>
10722         * gst/gstplugin.c:
10723         * gst/gstregistry.c: (gst_registry_add_plugin):
10724         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10725         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10726           add debugging and fix some comment blocks
10727
10728 2004-03-15  Johan Dahlin  <johan@gnome.org>
10729
10730         * *.h: Revert indent changes.
10731         
10732 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10733
10734         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10735           g_error_free the g_error
10736         * tools/gst-feedback-m.m:
10737           check for other versions of gstreamer
10738         * tools/gst-indent:
10739           use sh, not bash
10740
10741 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * tools/gst-register.c: do not spill paths when registries are not
10744           writable, until we fix the "user running gst-register" case.
10745
10746 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * *.c, *.h: commit of gst-indent run on core
10749
10750 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10751
10752         * tools/gst-indent:
10753         * tools/Makefile.am:
10754           add our indentation style as a script
10755
10756 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10757
10758         * po/sr.po:
10759         * po/LINGUAS:
10760           added Serbian translation
10761
10762 2004-03-13  Benjamin Otte  <otte@gnome.org>
10763
10764         * gst/gstelement.c:
10765           add documentation note about gst_element_found_tags_for_pad not
10766           being usable in getfunctions. (see #137042)
10767
10768 2004-03-12  David Schleef  <ds@schleef.org>
10769
10770         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10771         change API right now!  Readd gst_caps_is_simple() macro.
10772         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10773         uninitialized variable.  I'd bet this caused crashes.
10774         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10775
10776 2004-03-12  Johan Dahlin  <johan@gnome.org>
10777
10778         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10779         * gst/gstcaps.h: Clean up
10780
10781         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10782         _gst_caps_initalize()
10783
10784         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10785         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10786
10787         * gst/gststructure.c (gst_structure_get_type): Ditto
10788
10789         * gst/gststructure.h: Ditto
10790         
10791 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10792
10793         * gst/gstqueue.c: (gst_queue_init):
10794           Reset default max. values in queues. Reason is simply to avoid
10795           braindead use. If you want wider values, use the properties. The
10796           default is supposed to always work. Wider values would make this
10797           beast a memory hog by default (250 full-PAL RGB32 video frames?
10798           That's 440 MB! No thank you).
10799
10800 2004-03-10  David Schleef  <ds@schleef.org>
10801
10802         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10803         were found.  (bug #136793)
10804
10805 2004-03-10  Johan Dahlin  <johan@gnome.org>
10806
10807         * gst/schedulers/gstoptimalscheduler.c
10808         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10809         links to elements within the same group, so we can finally remove
10810         that annoying warning. Refactor the code a little bit
10811         (group_dec_links_for_element): Split out
10812
10813 2004-03-09  David Schleef  <ds@schleef.org>
10814
10815         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10816         (bug #134863)
10817
10818 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10819
10820         * configure.ac: first bug fix due to major/minor bump
10821
10822 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * configure.ac: bump nano to 1
10825
10826 === release 0.7.6 ===
10827
10828 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10829
10830         * NEWS:
10831         * RELEASE:
10832         * configure.ac:
10833           releasing 0.7.6, "Almost"
10834         * po/fr.po:
10835         * po/nl.po:
10836         * tools/Makefile.am:
10837         * tools/gst-feedback-m.m:
10838           unversioned source
10839
10840 2004-03-09  Johan Dahlin  <johan@gnome.org>
10841
10842         Reviewed by: Thomas Vander Stichele
10843
10844         * gst/gstelement.c (gst_element_class_init): register second
10845         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10846         language bindings can (de)marshall correctly.
10847
10848         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10849
10850         * gst/gsterror.c (gst_g_error_get_type): New function
10851
10852         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10853         with VOID:OBJECT,OBJECT,STRING 
10854
10855 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10856
10857         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10858         Free a leaked g_timer on early returns.
10859
10860 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10861
10862         * docs/pwg/advanced-types.xml:
10863           Add cinepak description.
10864
10865 2004-03-07  David Schleef  <ds@schleef.org>
10866
10867         * docs/random/mimetypes:  Added cinepak description
10868
10869 2004-03-07  Andy Wingo  <wingo@pobox.com>
10870
10871         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10872
10873         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10874         there are no links to other groups when a group is destroyed.
10875         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10876         removed from a group, make sure the link count to elements linked
10877         to other pads is appropriately decremented. This really fixes
10878         #135672.
10879
10880         The 1.60->1.61 patch has been reapplied in light of this fix.
10881
10882         * gst/gstelement.c (gst_element_dispose): Really protect against
10883         multiple invocations this time.
10884
10885 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * docs/gst/gstreamer-sections.txt:
10888         * docs/gst/tmpl/gsttag.sgml:
10889           remove some deprecated functions, document some existing ones
10890         * gst/gsttag.c: (gst_tag_get_flag):
10891         * gst/gsttag.h:
10892           add accessor function
10893
10894 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * docs/gst/gstreamer-sections.txt:
10897         * docs/gst/tmpl/gsttag.sgml:
10898         * docs/gst/tmpl/gstxml.sgml:
10899         * gst/gsttag.c: (gst_tag_get_flag):
10900         * gst/gsttag.h:
10901
10902 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10903
10904         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10905         leak
10906
10907 2004-03-05  David Schleef  <ds@schleef.org>
10908
10909         * REQUIREMENTS: Add bison and flex.
10910         * configure.ac: Fix comment about bison.
10911         * docs/random/ds/0.9-suggested-changes: yer ma
10912         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10913
10914 2004-03-05  Benjamin Otte  <otte@gnome.org>
10915
10916         * gst/gstelement.c: (gst_element_error_full):
10917           revert recent recursive state changing commit - messing with other
10918           elements' states is evil and should be done by apps only.
10919
10920 2004-03-05  Benjamin Otte  <otte@gnome.org>
10921
10922         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10923           check for empty intersection instead of NULL caps
10924         (gst_element_get_compatible_pad_filtered):
10925           remove old workaround that is only a bug nowadays
10926
10927 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10928
10929         * gst/gstelement.c: (gst_element_error_full):
10930           make elements try to recursively change state to PAUSED on all
10931           parents after an error to suppress ensuing warnings
10932         * gst/parse/grammar.y:
10933           make it check if it was able to sync the state, and throw an error
10934           if not, so stuff like
10935           oggdemux ! vorbisdec ! osssink gets caught
10936
10937 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10940           it contains lib64; use AS_AC_EXPAND to handle it properly
10941
10942 2004-03-05  David Schleef  <ds@schleef.org>
10943
10944         * gst/gstcpuid_i386.s:  Remove unused code
10945         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10946         (gst_getbits_newbuf): Remove MMX code
10947         * libs/gst/getbits/getbits.h: Remove MMX code
10948
10949 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10950
10951         * debian/.cvsignore:
10952         * debian/README.Debian:
10953         * debian/changelog:
10954         * debian/control:
10955         * debian/control.in:
10956         * debian/copyright:
10957         * debian/gstreamer-core-libs-dev.files:
10958         * debian/gstreamer-core-libs.files:
10959         * debian/gstreamer-core.files:
10960         * debian/gstreamer-core.postinst:
10961         * debian/gstreamer-core.postrm:
10962         * debian/gstreamer-doc.files:
10963         * debian/gstreamer-doc.links:
10964         * debian/gstreamer-doc.lintian:
10965         * debian/gstreamer-runtime.files:
10966         * debian/gstreamer-runtime.manpages:
10967         * debian/gstreamer-runtime.postinst:
10968         * debian/gstreamer-runtime.postrm:
10969         * debian/gstreamer-tools.files:
10970         * debian/gstreamer-tools.manpages:
10971         * debian/libgstreamer-dev.files:
10972         * debian/libgstreamer0.4.1.files:
10973         * debian/libgstreamerVERSION.files:
10974         * debian/rules:
10975         Debian package info not maintained here.
10976
10977 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10980         * gst/gstbin.c: (gst_bin_class_init):
10981         * gst/gstelement.c: (gst_element_class_init):
10982         * gst/gstindex.c: (gst_index_class_init):
10983         * gst/gstobject.c: (gst_object_class_init),
10984         (gst_signal_object_class_init):
10985         * gst/gstpad.c: (gst_pad_template_class_init):
10986         * gst/gstregistry.c: (gst_registry_class_init):
10987         * gst/gsturi.c: (gst_uri_handler_base_init):
10988         * gst/gstxml.c: (gst_xml_class_init):
10989         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10990         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10991           make all signal names use dashes instead of underscore
10992
10993 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10994
10995         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10996
10997 2004-03-03  Benjamin Otte  <otte@gnome.org>
10998
10999         * gst/schedulers/gstoptimalscheduler.c:
11000           revert last commit by Andy Wingo. It causes segfaults on unreffing
11001           in Rhythmbox. (see bug #135672)
11002
11003 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11004
11005         * po/fr.po: fix typo
11006
11007 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11008
11009         * tools/gst-inspect.c: (main): 
11010         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11011
11012 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * configure.ac:
11015           get GLIB_ONLY and POPT flags for the nonversioned binaries
11016         * tools/Makefile.am:
11017           use them
11018
11019 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * gst/gst.c: (init_post):
11022           change so that GST_REGISTRY now is where the global registry gets
11023           saved, since that is where plugins now get attached to first, and
11024           spilled over to the user registry.  Note that in the case of using
11025           GST_REGISTRY env var, we don't want to affect any real registries
11026           beyond the one given by this var, and thus we don't set a user
11027           registry to spill to.  So make sure GST_REGISTRY is writable.
11028
11029 2004-03-01  David Schleef  <ds@schleef.org>
11030
11031         * AUTHORS:  Added some names.  Add yourself if you're missing.
11032
11033 2004-03-01  David Schleef  <ds@schleef.org>
11034
11035         * MAINTAINERS: Add
11036
11037 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11038
11039         * configure.ac:
11040           remove whitespace
11041         * docs/gst/tmpl/gstbuffer.sgml:
11042         * docs/gst/tmpl/gstdata.sgml:
11043         * docs/gst/tmpl/gstreamer-unused.sgml:
11044         * docs/gst/tmpl/gstxml.sgml:
11045           doc update
11046         * docs/manuals.mak:
11047           add a FIXME
11048         * docs/pwg/intro-preface.xml:
11049         * docs/pwg/pwg.xml:
11050           remove GNOME
11051         * gst/gst.c: (init_post):
11052           try GST_PLUGIN_PATH paths for the _global_registry first
11053         * gst/gstelement.h:
11054           add the error message as well, otherwise (null) debug info doesn't
11055           make much sense
11056         * tools/gst-register.c: (main):
11057           spill paths to next registry if this registry is not writable
11058         * po/fr.po:
11059         * po/nl.po:
11060           translation updates
11061
11062 2004-03-01  Johan Dahlin  <johan@gnome.org>
11063
11064         * gst/gstbuffer.c (_gst_buffer_initialize): 
11065         * gst/gstdata.c (gst_data_get_type): 
11066         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11067         instead of ref, since some applications that uses GBoxed
11068         routines depends on a function that actually returns a copy.
11069
11070 2004-02-27  Benjamin Otte  <otte@gnome.org>
11071
11072         * gst/gstbuffer.h:
11073           remove gst_buffer_free, use gst_data_unref
11074         * gst/gstdata.c: (gst_data_get_type):
11075           use refcounting in GstData GBoxed registration
11076         * gst/gstdata.h:
11077           remove gst_data_free, use gst_data_unref
11078
11079 2004-02-27  Johan Dahlin  <johan@gnome.org>
11080
11081         * gst/gstdata.c (gst_data_get_type): New function, register
11082         GstData as a GBoxed type.
11083
11084         * gst/gstdata.h (GST_TYPE_DATA): New macro
11085
11086 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * Makefile.am:
11089         * gstreamer.spec.in:
11090           put back RELEASE
11091         * gst/Makefile.am:
11092           clean up non-disting of built files
11093         * testsuite/debug/commandline.c:
11094           test fix for option rename
11095
11096 2004-02-26  David Schleef  <ds@schleef.org>
11097
11098         * configure.ac:  We don't really need glib-2.3.  Also remove
11099         some unneeded checks for library functions.
11100         * gst/Makefile.am:  Instead, we need to not dist files created
11101         by glib-genmarshal.
11102
11103 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11104
11105         * configure.ac:
11106           bump glib required version to 2.3.0 for g_value_takes_boxed
11107
11108  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11109
11110         * common/m4/gst-docs.m4
11111         change flavour text from enable to disable as enable is our default
11112         closes bug Bug 135304
11113
11114 === release 0.7.5 ===
11115  
11116  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11117  
11118         * NEWS:
11119           instate NEWS file
11120         * Makefile.am:
11121         * gstreamer.spec.in:
11122         * RELEASE:
11123           put back release
11124         * configure.ac:
11125         * docs/random/release:
11126           more updates
11127
11128 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11129
11130         * gst/gsttag.c: (_gst_tag_initialize):
11131         * po/fr.po:
11132         * po/nl.po:
11133           remove hyphen from codec tags
11134
11135 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11136
11137         * gst/parse/Makefile.am:
11138           fix dependency so that a make from a clean build works the first
11139           time
11140
11141 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11142
11143         * docs/random/release:
11144           update release strategy
11145         * po/fr.po:
11146           auto-update po file
11147         * po/nl.po:
11148           update dutch translation
11149
11150 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11151
11152         * docs/manual/debugging.xml:
11153         fix manual for new debugging system
11154
11155 2004-02-25  Andy Wingo  <wingo@pobox.com>
11156
11157         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11158         gst_pad_link_prepare. Please email the list with specific reasons
11159         for reverting.
11160
11161 2004-02-24  Andy Wingo  <wingo@pobox.com>
11162
11163         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11164         invocations.
11165
11166         * gst/schedulers/gstoptimalscheduler.c:
11167         I added a mess of prototypes at the top of the file by way of
11168         documentation. Some of the operations on chains and groups were
11169         re-organized.
11170
11171         (create_group): Added a type argument so if the group is enabled,
11172         the setup_group_scheduler knows what to do.
11173         (group_elements): Added a type argument here, too, to be passed on
11174         to create_group.
11175         (group_element_set_enabled): If an unlinked PLAYING element is
11176         added to a bin, we have to create a new group to hold the element,
11177         and this function will be called before the group is added to the
11178         chain. Thus we have a valid case for group->chain==NULL. Instead
11179         of calling chain_group_set_enabled, just set the flag on the group
11180         (the chain's status will be set when the group is added to it).
11181         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11182         Setup the group scheduler when the group is enabled, not
11183         specifically when an element goes PAUSED->PLAYING. This means
11184         PLAYING elements can be added, linked, and scheduled into a
11185         PLAYING pipeline, as was intended.
11186         (add_to_group): Don't ref the group twice. I don't know when this
11187         double-ref got in here. Removing it has the potential to cause
11188         segfaults if other parts of the scheduler are buggy. If you find
11189         that the scheduler is segfaulting for you, put in an extra ref
11190         here and see if that hacks over the underlying issue. Of course,
11191         then find out what code is unreffing a group it doesn't own...
11192         (create_group): Make the extra refcount floating, and remove it
11193         after adding the element. This means that...
11194         (unref_group): Destroy when the refcount reaches 0, not 1, like
11195         every other refcounted object in the known universe.
11196         (remove_from_group): When a group becomes empty, set it to be not
11197         active, and remove it from its chain. Don't unref it again,
11198         there's no floating reference any more.
11199         (destroy_group): We have to remove the group from the chain in
11200         remove_from_group (rather than here) to break refcounting cycles
11201         (the chain always has a ref on the group). So assert that
11202         group->chain==NULL.
11203         (ref_group_by_count): Removed, it was commented out anyway.
11204         (merge_chains): Use the remove_from_chain and add_to_chain
11205         primitives to do the reparenting, instead of rolling our own
11206         implementation.
11207         (add_to_chain): The first non-disabled group in the chain's group
11208         list will be the entry point for the chain. Because buffers can
11209         accumulate in loop elements' peer bufpens, we preferentially
11210         schedule loop groups before get groups to avoid unnecessary
11211         execution of get-based groups when the bufpens are already full.
11212         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11213         (get_group_schedule_function): Ditto.
11214         (loop_group_schedule_function): Ditto.
11215         (gst_opt_scheduler_loop_wrapper): Ditto.
11216         (gst_opt_scheduler_iterate): Ditto.
11217
11218         I understand the opt scheduler now, yippee!
11219
11220         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11221         (gst_pad_get_name, gst_pad_set_chain_function) 
11222         (gst_pad_set_get_function, gst_pad_set_event_function) 
11223         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11224         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11225         (gst_pad_set_query_function, gst_pad_get_query_types) 
11226         (gst_pad_get_query_types_default) 
11227         (gst_pad_set_internal_link_function) 
11228         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11229         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11230         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11231         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11232         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11233         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11234         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11235         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11236         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11237         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11238         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11239         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11240         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11241         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11242         argument checks, and some doc fixes.
11243
11244         (gst_pad_custom_new_from_template): Um, does anyone
11245         use these functions? Actually make a custom pad instead of a
11246         normal one.
11247         (gst_pad_try_set_caps): Transpose some checks.
11248         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11249         the pad is in negotiation.
11250         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11251         
11252         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11253
11254         * gst/gstelement.h: 
11255         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11256         on the list.
11257
11258 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11259
11260         * gst/gstbin.c: (gst_bin_add):
11261           add error for not being able to add elements
11262
11263 2004-02-22  Julien MOUTTE <julien@moutte.net>
11264
11265         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11266         audio-codec and video-codec.
11267
11268 2004-02-22  Benjamin Otte  <otte@gnome.org>
11269
11270         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11271
11272         * autogen.sh:
11273           replace test -e with test -x for mkinstalldirs to be more portable.
11274           (fixes #134816)
11275
11276 2004-02-22  Benjamin Otte  <otte@gnome.org>
11277
11278         * gst/gstpad.c:
11279           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11280           too noisy
11281         * gst/gsttag.c: (_gst_tag_initialize):
11282         * gst/gsttag.h:
11283           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11284         * libs/gst/control/dparam.c: (gst_dparam_attach):
11285         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11286           check that types for attached dparams match
11287
11288 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11289
11290         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11291         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11292         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11293           fix errors
11294
11295 2004-02-20  Andy Wingo  <wingo@pobox.com>
11296
11297         * gst/gstbin.c:
11298         * gst/gstbuffer.c:
11299         * gst/gstplugin.c:
11300         * gst/registries/gstxmlregistry.c: 
11301         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11302
11303         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11304         (gst_element_add_pad): DEBUG->INFO, some fixes.
11305         (gst_element_get_compatible_pad_template): Just see if the
11306         templates' caps intersect, not if one is a strict subset of the
11307         other. This conforms more to what gst_pad_link_intersect() does.
11308         (gst_element_class_add_pad_template): Don't memcpy the pad
11309         template, just ref it.
11310         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11311
11312         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11313         (gst_pad_link_filtered): Debug changes.
11314         (gst_pad_link_prepare): New function, consolidated from
11315         can_link_filtered and link_filtered.
11316
11317         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11318         look more like that of the functions in gstelement.c
11319
11320         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11321         object, and return the empty string if object is NULL.
11322
11323         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11324         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11325         LOG, not DEBUG. We still get flex info on debug.
11326
11327         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11328         debug string more verbose.
11329         (plugin_times_older_than): DEBUG->LOG.
11330
11331 2004-02-20  Julien MOUTTE <julien@moutte.net>
11332
11333         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11334         will emit found_tag for each stream they demux with the codec.
11335
11336 2004-02-20  Benjamin Otte  <otte@gnome.org>
11337
11338         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11339           copy navigation event correctly. Check freeing tag lists. 
11340         * gst/gstthread.c: (gst_thread_change_state):
11341           don't abort() on state changing mess - it might happen because of
11342           bugs.
11343         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11344           use boxed functions
11345         * gst/gstvalue.h:
11346           fix GST_VALUE_HOLDS_CAPS
11347
11348 2004-02-19  David Schleef  <ds@schleef.org>
11349
11350         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11351         and use it for GST_FUNCTION.  (bug #134750)
11352
11353 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11354
11355         * po/fr.po:
11356         * po/nl.po:
11357           updating translations
11358
11359 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11362
11363 2004-02-18  kost@imn.htwk-leipzig.de
11364
11365         reviewed by: David Schleef  <ds@schleef.org>
11366
11367         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11368         for libgstcontrol.
11369
11370 2004-02-18  David Schleef  <ds@schleef.org>
11371
11372         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11373         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11374         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11375         * tools/gst-inspect.c: (print_element_info): Support dumping of
11376         double dparam information.
11377
11378 2004-02-17  David Schleef  <ds@schleef.org>
11379
11380         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11381         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11382         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11383         Use GST_TYPE_CAPS in signal prototype.
11384         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11385         Convert GST_TYPE_CAPS to boxed.
11386         * gst/gstelement.c: (gst_element_class_init):
11387         Use GST_TYPE_TAG_LIST in signal prototype.
11388         * gst/gstindex.c: (gst_index_class_init):
11389         * gst/gstindex.h:
11390         Add GST_TYPE_INDEX_ENTRY type.
11391         * gst/gstmarshal.list:
11392         Add necessary marshal types.
11393         * gst/gstpad.c: (gst_real_pad_class_init),
11394         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11395         (gst_pad_recover_caps_error):
11396         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11397         * gst/gststructure.c: (_gst_structure_initialize),
11398         (gst_structure_copy), (_gst_structure_copy_conditional):
11399         * gst/gststructure.h:
11400         Convert GST_TYPE_STRUCTURE to boxed.
11401         * gst/gsttag.c: (gst_tag_list_get_type):
11402         * gst/gsttag.h:
11403         Add GST_TYPE_TAG_LIST type.
11404
11405 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11406
11407         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11408         to what we agreed with david.
11409         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11410
11411 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * po/nl.po: update translation
11414
11415 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11416
11417         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11418           throw an error if spider is trying to play a mime type there is
11419           no decoder for
11420         * po/POTFILES.in:
11421           add gst/autoplug/gstspider.c for translation
11422
11423 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11424
11425         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11426         silently when the pad is negotiating.
11427
11428 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11429
11430         * docs/faq/Makefile.am:
11431           add script to run gstreamer uninstalled 
11432         * docs/faq/faq.xml:
11433         * docs/faq/developing.xml:
11434         * docs/faq/gst-uninstalled:
11435           extract script to run gstreamer uninstalled
11436         * docs/manuals.mak:
11437           add EXTRA_SOURCES variable for Makefile.am's to set to
11438           use additional SOURCE files for the doc build
11439
11440 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11441
11442         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11443
11444 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11445
11446         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11447         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11448         an error was thrown by osssink. Basically a state change failure for
11449         an element in a different scheduling group was considered as
11450         successful, which means that caps nego was going on and weird stuff
11451         happened. Like I wrote in the comment there, if someone wants to
11452         revert that please drop me a mail explaining why because I really see
11453         no point in keeping that broken behaviour there.
11454         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11455         be empty, we then return NULL which will trigger a nice error when 
11456         pulling from the pad.
11457
11458 2004-02-13  David Schleef  <ds@schleef.org>
11459
11460         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11461         (gst_dparam_get_property), (gst_dparam_set_property),
11462         (gst_dparam_do_update_default):
11463         * libs/gst/control/dparam.h:
11464         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11465         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11466         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11467         (gst_dpsmooth_do_update_double):
11468         * libs/gst/control/dparam_smooth.h:
11469         * libs/gst/control/dparammanager.c:
11470         (gst_dpman_inline_direct_update):
11471         Add support for double dparams.
11472
11473 2004-02-13  David Schleef  <ds@schleef.org>
11474
11475         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11476         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11477
11478 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11479
11480         reviewed by: David Schleef  <ds@schleef.org>
11481
11482         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11483         (gst_fdsrc_init), (gst_fdsrc_set_property),
11484         (gst_fdsrc_get_property), (gst_fdsrc_get):
11485         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11486         and sends an EOS event if file descriptor reading times out.
11487
11488 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11489
11490         * configure.ac:
11491           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11492
11493 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11494
11495         * configure.ac: pass required libxml version as argument
11496         (bug reported by Christophe Fergeau)
11497
11498 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11499   
11500         * docs/gst/gstreamer-docs.sgml:
11501         * docs/gst/tmpl/gstxml.sgml:
11502         * docs/libs/gstreamer-libs-docs.sgml:
11503           version API docs
11504
11505 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11506
11507         * gst/gstinfo.c:
11508         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11509         (gst_registry_pool_feature_filter):
11510         * gst/gstthread.c: (gst_thread_class_init):
11511         * gst/gstvalue.c:
11512           add includes exposed by building without libxml
11513         * gst/indexers/Makefile.am:
11514           do not build fileindex when LOADSAVE disabled; we should have
11515           a better libxml check later since fileindex depends on xml, not
11516           LOADSAVE or REGISTRY
11517         * libs/gst/control/Makefile.am:
11518           link with m
11519         * tools/Makefile.am:
11520           fix wrong source code for gst-xmlinspect
11521
11522 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11523
11524         * configure.ac:
11525           fix gcov help output
11526           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11527         * docs/random/release:
11528           some updated releasing notes
11529         * gstreamer.spec.in:
11530           more updates
11531
11532 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * docs/faq/faq.xml:
11535         * docs/manual/manual.xml:
11536         * docs/pwg/pwg.xml:
11537         * docs/pwg/titlepage.xml:
11538           put version in documentation
11539
11540 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11541
11542         * tools/Makefile.am: fix man page installation
11543
11544 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11545
11546         * configure.ac:
11547           don't check for libxml when load/save and registry disabled (#105844)
11548         * gstreamer.spec.in:
11549           sync with fedora candidate spec
11550
11551 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11552
11553         * po/fr.po:
11554         * po/nl.po:
11555           replace multidisksrc with multifilesrc
11556
11557 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11558
11559         * po/POTFILES.in:
11560           update to multidisksrc => multifilesrc file renaming (#134145)
11561
11562 2004-02-11  David Schleef  <ds@schleef.org>
11563
11564         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11565         * docs/gst/tmpl/gstpadtemplate.sgml: same
11566         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11567         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11568         fixing dance.
11569         * gst/gstutils.c: Remove disabled code that uses GstProps.
11570         * gst/registries/gstxmlregistry.h: same
11571         * docs/random/ds/0.9-suggested-changes: random notes
11572
11573 2004-02-11  kost@imn.htwk-leipzig.de
11574
11575         reviewed by: David Schleef  <ds@schleef.org>
11576
11577         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11578         initialisation of clock (bug #134128)
11579
11580 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11581
11582         * configure.ac:
11583         * gst/elements/Makefile.am:
11584         * gst/elements/gstelements.c:
11585         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11586         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11587         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11588         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11589         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11590         * gst/elements/gstmultifilesrc.h:
11591           rename multidisksrc to multifilesrc (part of #122200)
11592
11593 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11594
11595         * docs/manuals.mak:
11596           fix automake complaints
11597         * gst-element-check.m4:
11598           fix unquotedness
11599
11600 2004-02-11  David Schleef  <ds@schleef.org>
11601
11602         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11603         * gst/gstatomic_impl.h: Disable sparc implementation.
11604
11605 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11606
11607         * gst-element-check.m4:
11608           fix underquoted macros as reported by automake 1.8.x (#133800)
11609         * configure.ac:
11610           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11611           by autopoint (fixes #132996)
11612
11613 2004-02-10  Andy Wingo  <wingo@pobox.com>
11614
11615         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11616         way to do inheritance.
11617         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11618         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11619         Routine docs.
11620         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11621         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11622         doc.
11623         (gst_pad_unlink, gst_pad_is_linked): Docs.
11624         (gst_pad_renegotiate): A brief description of capsnego.
11625         (gst_pad_try_set_caps): Document.
11626         (gst_pad_try_set_caps_nonfixed): Document.
11627         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11628         (gst_pad_set_parent): Deprecated (although not out of the API).
11629         (gst_pad_get_parent): Deprecated, although many plugins use this.
11630         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11631         are private and will go away in 0.9.
11632         (gst_pad_perform_negotiate): Doc.
11633         (gst_pad_link_unnegotiate): I think this is meant to be static.
11634         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11635         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11636         (gst_pad_get_peer): Doc updates.
11637         (gst_pad_caps_change_notify): Doc.
11638         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11639         (gst_ghost_pad_new): Doc fixes.
11640
11641         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11642         (gst_object_check_uniqueness): 
11643
11644         * gst/gstelement.c (gst_element_add_pad) 
11645         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11646         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11647         (gst_element_get_static_pad, gst_element_get_pad_list) 
11648         (gst_element_class_get_pad_template_list) 
11649         (gst_element_class_get_pad_template): Work on the docs.
11650         (gst_element_get_pad_template_list): Uses the class method.
11651         (gst_element_get_compatible_pad_template): Docs, and consolidate
11652         some test conditions. 
11653         (gst_element_get_pad_from_template): New static function.
11654         (gst_element_request_compatible_pad): Docs, and work with
11655         non-request compatible templates. 
11656         (gst_element_get_compatible_pad_filtered): Docs and remove
11657         redundant checks.
11658         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11659         (gst_element_link_filtered, gst_element_link_many) 
11660         (gst_element_link, gst_element_link_pads) 
11661         (gst_element_unlink_many): Docs.
11662
11663 2004-02-05  Andy Wingo  <wingo@pobox.com>
11664
11665         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11666         s/pointer/boxed/.
11667
11668         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11669
11670         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11671         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11672         with the type=GST_TYPE_CAPS. This allows language bindings to know
11673         what kind of data they're dealing with.
11674
11675         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11676         to NULL when g_value_init is called. GstCaps, which rolls its own
11677         type implementation, now does the same instead of allocating empty
11678         caps.
11679         (_gst_caps_initialize, _gst_caps_collect_value,
11680         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11681         table methods. This allows G_VALUE_COLLECT to work.
11682
11683 2004-02-05  Andy Wingo  <wingo@pobox.com>
11684
11685         * configure.ac:
11686         * testsuite/Makefile.am (SUBDIRS): 
11687         * testsuite/ghostpads/Makefile.am: 
11688         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11689
11690         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11691         These two routines are the only ones that set
11692         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11693         pad template. They should be made static, depending on ABI needs.
11694         (gst_real_pad_dispose): Handle the case of ghost pads without a
11695         parent. Assert after dealing with ghost pads that the ghost pad
11696         list is empty.
11697         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11698         set after creation.
11699         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11700         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11701         functions. set_property will call add_ghost_pad/remove_ghost_pad
11702         as appropriate.
11703         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11704
11705         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11706         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11707         (gst_element_remove_pad): Handle ghost pads as well.
11708         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11709         depending on API-stability needs).
11710
11711 2004-02-05  Andy Wingo  <wingo@pobox.com>
11712
11713         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11714         of course they're const
11715
11716 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11717
11718         * tools/Makefile.am:
11719         * tools/gst-feedback:
11720         * tools/gst-feedback-0.7:
11721           make gst-feedback versioned too for consistency
11722
11723 2004-02-11  David Schleef  <ds@schleef.org>
11724
11725         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11726         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11727
11728 2004-02-10  Julien MOUTTE <julien@moutte.net>
11729
11730         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11731         the structure does not contain a valid tag list. Adding a safety check
11732         to remove a noisy warning in that case.
11733
11734 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11735
11736         * gst/gst.c: fix name to be in line with others
11737
11738 2004-02-09  Julien MOUTTE <julien@moutte.net>
11739
11740         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11741         not shout that loud when len is 0. Just return 0 silently.
11742
11743 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11744
11745         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11746         because data_unref has one and I prefer the debug to be symetric.
11747         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11748         were refed when added to the queue and unrefed only once when the queue
11749         was flushed. Now the flush handler unref the buffers two times : first
11750         unref for the ref added when pushing in the queue's tail and second
11751         unref to destroy the flushed buffer.
11752
11753 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11754
11755         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11756
11757 2004-02-06  David Schleef  <ds@schleef.org>
11758
11759         * docs/random/ds/0.9-suggested-changes: Random ramblings
11760         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11761         to int before printing.
11762         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11763         * gst/parse/parse.l: same.  See bug #129600
11764
11765 2004-02-06  David Schleef  <ds@schleef.org>
11766
11767         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11768         (gst_index_add_entry), (gst_index_add_associationv),
11769         (gst_index_add_association): Add gst_index_add_associationv()
11770         and clean up gst_index_add_association(). #127133
11771
11772 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11773
11774         * autogen.sh: check out common with right tag if CVS/Tag exists
11775
11776 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11777
11778         * testsuite/ghostpads/ghostpads.c: (main):
11779           fix testsuite from segfaulting
11780
11781 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11782
11783         * Makefile.am: add release target
11784         * configure.ac: bump nano to 1
11785         * docs/random/release:
11786
11787 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11788
11789         * gst/gstcaps.h:
11790         * gst/gstelement.c: (gst_element_base_class_init),
11791         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11792         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11793         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11794         (gst_real_pad_dispose):
11795         * gst/gststructure.c: (gst_structure_free),
11796         (gst_structure_from_string):
11797           put reverted patch back in
11798         * gst/gstelement.c: (gst_element_remove_pad):
11799           free explicit caps if they're set
11800         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11801           copy the structure when fixating
11802
11803 2004-02-05  David Schleef  <ds@schleef.org>
11804
11805         * gst/gstmarshal.list:
11806         * gst/gstpad.c: (gst_real_pad_class_init),
11807         (_gst_real_pad_fixate_accumulator):
11808         Revert POINTER->BOXED change in signal marshaller.
11809
11810 === release 0.7.4 ===
11811                                                                                 
11812 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11813                                                                                 
11814         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11815         * configure.ac: changed for release
11816
11817 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11818
11819         * gstreamer.spec.in:
11820           bump required version of gtk-doc
11821
11822 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11823
11824         * gst/gstcaps.h:
11825         * gst/gstelement.c: (gst_element_base_class_init),
11826         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11827         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11828         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11829         (gst_real_pad_dispose):
11830         * gst/gststructure.c: (gst_structure_free),
11831         (gst_structure_from_string):
11832           revert patch that breaks applications, reapply after release
11833           to get this fixed properly
11834
11835 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11836
11837         * gst/gsttag.c: (_gst_tag_initialize):
11838         * gst/gsttag.h:
11839           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11840
11841 2004-02-04  David Schleef  <ds@schleef.org>
11842
11843         Fix some memleaks:
11844         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11845         (gst_spider_plug_from_srcpad):
11846         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11847
11848 2004-02-04  David Schleef  <ds@schleef.org>
11849
11850         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11851         a GstRealPad before accessing its structure members.
11852
11853 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11854
11855         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11856         (gst_clock_get_speed):
11857         * gst/gstclock.h:
11858           reset padding, remove unused fields
11859
11860 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11861
11862         * gst/autoplug/gstspideridentity.c:
11863         (gst_spider_identity_sink_loop_type_finding):
11864           use get_allowed_caps, not get_caps (fixes #132519)
11865         * gst/elements/gsttypefind.c: (stop_typefinding):
11866           use correct order when sending buffers and seeking
11867
11868 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11869
11870         * configure.ac:
11871         * gst/gstelement.h:
11872         * gst/gstpad.h:
11873         * gst/gstqueue.h:
11874           upgrade libtool CURRENT, reset padding
11875
11876 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11877
11878         * configure.ac:
11879           bump to prerelease
11880           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11881
11882 2004-02-04  David Schleef  <ds@schleef.org>
11883
11884         * docs/random/ds/0.9-suggested-changes: random notes
11885         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11886         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11887         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11888         expansion.
11889         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11890         (gst_filesink_get_query_types): same
11891         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11892         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11893         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11894         to use new GST_PTR_FORMAT.
11895         * gst/gstelement.h: deprecate function factory macros
11896         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11897         These are our last variadic macros that can't be replaced with
11898         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11899         attempting to deprecate gst_element_clock_wait().
11900         * gst/gstevent.h: same
11901         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11902         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11903         * gst/gstpad.h: deprecate function factory macros similar to above.
11904
11905 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11906
11907         * configure.ac:
11908         * tools/Makefile.am:
11909         * tools/gst-run.c: (popt_callback), (hash_print_key),
11910         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11911         (get_candidates), (main):
11912           add new source file to generate non-versioned wrapper binaries
11913           for our tools.
11914
11915 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11916
11917         * gst/gstevent.c: (_gst_event_free):
11918           actually break; inside the switch statement
11919         * gst/parse/grammar.y:
11920           fix memleak where GValues weren't unset
11921
11922 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11923
11924         * gst/gststructure.c: (gst_structure_from_string):
11925           fix huge memleak
11926         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11927         (new_entry), (gst_type_find_element_chain):
11928         * gst/gstelement.c: (gst_element_base_class_init),
11929         (gst_element_class_set_details):
11930         * gst/gstpad.c: (gst_pad_can_link_filtered):
11931           fix smaller memleaks
11932         * gst/gstpad.c: (gst_real_pad_dispose):
11933           check that explicit caps are gone
11934         * gst/gststructure.c: (gst_structure_free):
11935           actually free the structure
11936         * gst/gstelement.c: (gst_element_clear_pad_caps):
11937           unset explicit caps
11938
11939 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11940
11941         * tools/Makefile.am:
11942           use AM_CFLAGS since all the CFLAGS are the same
11943           use AM_LDFAGS
11944
11945 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * docs/manual/gnome.xml:
11948           expand example a little
11949         * gst/gst.c: (gst_init_with_popt_table),
11950         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11951           make sure popt option displays are done with right textdomain
11952           use GstPoptOption type
11953         * gst/gst.h:
11954           create GstPoptOption type
11955
11956 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * gst/gsterror.c: (_gst_stream_errors_init):
11959         * gst/gsterror.h:
11960           adding error type for no codec
11961         * po/POTFILES.in:
11962           add gst-inspect
11963         * po/nl.po:
11964           update dutch translation
11965         * tools/gst-inspect.c: (print_element_list), (main):
11966           do proper internationalization
11967         * tools/gst-launch.c: (idle_func):
11968           remove commented out function call
11969
11970 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11971
11972         * docs/README:
11973           add some error fixing notes
11974         * docs/gst/gstreamer-sections.txt:
11975           remove double entries
11976         * docs/gst/tmpl/gstbin.sgml:
11977         * docs/gst/tmpl/gstclock.sgml:
11978           remove override
11979         * docs/gst/tmpl/gstelement.sgml:
11980         * docs/gst/tmpl/gstindex.sgml:
11981         * docs/gst/tmpl/gstobject.sgml:
11982         * docs/gst/tmpl/gstpadtemplate.sgml:
11983         * docs/gst/tmpl/gstreamer-unused.sgml:
11984         * docs/gst/tmpl/gsttag.sgml:
11985         * docs/gst/tmpl/gstthread.sgml:
11986         * docs/gst/tmpl/gstxml.sgml:
11987         * gst/gsttag.h:
11988           sync header prototypes with c decls
11989         * gst/gsttaginterface.c:
11990           fix doc headers
11991
11992 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11993
11994         * gst/parse/Makefile.am:
11995         * gst/gstobject.h:
11996           get rid of gstmarshal.h dependency. It's not needed.
11997         * gst/gst.h:
11998         * gst/elements/gstfakesink.c:
11999         * gst/elements/gstfakesrc.c:
12000         * gst/elements/gstidentity.c:
12001         * gst/gstbin.c:
12002         * gst/gstelement.c:
12003         * gst/gstindex.c:
12004         * gst/gstobject.c:
12005         * gst/gstpad.c:
12006         * gst/gstthread.c:
12007         * gst/gstxml.c:
12008         * libs/gst/control/dparam.c:
12009         * libs/gst/control/dparammanager.c:
12010           include gstmarshal.h.
12011         Fixes #132045
12012
12013 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12014
12015         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12016         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12017         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12018         * gst/elements/gstfilesrc.h:
12019           don't ref the filesrc when creating mmaped buffers. Don't keep a
12020           list of not-yet-destroyed buffers.
12021         * gst/gstbuffer.h:
12022           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12023
12024 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12025
12026         * gst/gst.c: (init_pre):
12027           remove textdomain
12028
12029 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12030
12031         * docs/pwg/advanced-events.xml:
12032         * docs/pwg/advanced-scheduling.xml:
12033         * docs/pwg/intro-basics.xml:
12034         * docs/pwg/other-manager.xml:
12035         * docs/pwg/other-nton.xml:
12036         * docs/pwg/other-ntoone.xml:
12037         * docs/pwg/other-oneton.xml:
12038         * docs/pwg/pwg.xml:
12039           All sort of documentation... Forgot what. Point is that I want this
12040           in before I leave. The 'other-*' will be the last section and will
12041           explain issues specific to these type of elements.
12042
12043 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12044
12045         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12046         (gst_filesrc_get_read):
12047           set all the values on buffers that we can
12048
12049 2004-02-02  David Schleef  <ds@schleef.org>
12050
12051         Change usage of isblah() to g_ascii_isblah() to be more locale
12052         independent.  (#133076)
12053         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12054         * gst/gstutils.c:
12055         * gst/parse/parse.l:
12056
12057 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12058
12059         reviewed by: David Schleef  <ds@schleef.org>
12060
12061         Fix memory leaks:
12062         * gst/gstcaps.c: (gst_caps_to_string):
12063         * gst/registries/gstxmlregistry.c:
12064         (gst_xml_registry_add_path_list_func),
12065         (gst_xml_registry_parse_padtemplate):
12066
12067 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12068
12069         * gst/gstelement.c: (gst_element_default_error):
12070           suffix error messages with period
12071
12072 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12073
12074         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12075         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12076         * gst/gsterror.c: (gst_error_get_message):
12077           Suffix with dots
12078         * po/fr.po:
12079         * po/nl.po:
12080           Update translation files
12081
12082 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12083
12084         * gst/autoplug/gstspideridentity.c:
12085         (gst_spider_identity_sink_loop_type_finding):
12086         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12087         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12088         (gst_filesink_close_file), (gst_filesink_handle_event),
12089         (gst_filesink_chain):
12090         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12091         (gst_filesrc_get_read), (gst_filesrc_open_file):
12092         * gst/elements/gstidentity.c: (gst_identity_chain):
12093         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12094         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12095         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12096         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12097         * gst/gsterror.c: (_gst_core_errors_init),
12098         (_gst_library_errors_init), (_gst_resource_errors_init),
12099         (_gst_stream_errors_init), (gst_error_get_message):
12100         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12101         (gst_pad_recover_caps_error), (gst_pad_pull):
12102         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12103         * gst/schedulers/gstbasicscheduler.c:
12104         (gst_basic_scheduler_chainhandler_proxy),
12105         (gst_basic_scheduler_gethandler_proxy),
12106         (gst_basic_scheduler_cothreaded_chain):
12107           Suffix error messages with period.
12108           Use (NULL) instead of NULL
12109
12110 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12111
12112         * docs/gst/tmpl/gstelement.sgml:
12113         * docs/gst/tmpl/gstxml.sgml:
12114         * gst/gstelement.c: (gst_element_error_full):
12115           add element path to error
12116
12117 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12118
12119         * docs/random/mimetypes:
12120           update raw int/float info
12121         * gst/gsttag.c: (_gst_tag_initialize):
12122         * gst/gsttag.h:
12123           add GST_TAG_ENCODER
12124
12125 2004-01-30  David Schleef  <ds@schleef.org>
12126
12127         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12128           missing (#132991)
12129
12130 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12131
12132         reviewed by Benjamin Otte 
12133           parts of the patch submitted in bug #113913
12134
12135         * configure.ac:
12136           use AC_C_INLINE. Use = instead of == with test
12137         * examples/plugins/example.c:
12138         * gst/autoplug/gstspideridentity.c:
12139         * gst/elements/gstfdsrc.c:
12140         * gst/elements/gstfilesrc.c:
12141         * gst/elements/gstidentity.c:
12142         * gst/elements/gstmultidisksrc.c:
12143         * gst/elements/gststatistics.c:
12144         * gst/gstelement.c:
12145         * gst/gstobject.c:
12146         * gst/gstpad.c:
12147         * gst/gstpipeline.c:
12148         * gst/gstthread.c:
12149           don't end enums with a comma
12150         * gst/gstindex.c: (gst_index_compare_func):
12151           do explicit casting to gint
12152         * gst/gsttrace.c: (gst_trace_text_flush):
12153           #define strsize as a macro
12154
12155 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12156
12157         * docs/README:
12158         * docs/gst/gstreamer-docs.sgml:
12159         * docs/gst/gstreamer-sections.txt:
12160         * docs/gst/tmpl/gstelement.sgml:
12161         * docs/gst/tmpl/gsterror.sgml:
12162         * docs/gst/tmpl/gstinterface.sgml:
12163         * docs/gst/tmpl/gstreamer-unused.sgml:
12164         * docs/gst/tmpl/gststructure.sgml:
12165         * docs/gst/tmpl/gsttag.sgml:
12166         * docs/gst/tmpl/gsttaginterface.sgml:
12167         * docs/gst/tmpl/gstvalue.sgml:
12168         make sure all API ends up in the built docs
12169         * gst/gstinterface.c:
12170         * gst/gststructure.c: (gst_structure_id_set_value),
12171         (gst_structure_set_value), (gst_structure_id_get_value):
12172         * gst/gststructure.h:
12173         * gst/gstvalue.h:
12174         sync .h with .c declarations
12175
12176 2004-01-30  Julien Moutte  <julien@moutte.net>
12177
12178         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12179         Ronald will fix riffread.
12180
12181 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12182
12183         * docs/pwg/advanced-interfaces.xml:
12184           Added tuner interface docs.
12185
12186 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12187
12188         * docs/random/mimetypes:
12189           correct Theora information
12190         * gst/gstelement.h:
12191           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12192
12193 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12194
12195         * gst/gstelement.c: (gst_element_error_full):
12196         * gst/gstelement.h:
12197           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12198
12199 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12200
12201         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12202         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12203         again and even before DISCONT.
12204         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12205         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12206         bytestream so that it's not stopping to fill the bytestream if events
12207         different than EOS or DISCONT are received. Instead it process them so
12208         that they go downstream.
12209
12210 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12211
12212         * docs/gst/tmpl/gstelement.sgml:
12213         * docs/gst/tmpl/gstreamer-unused.sgml:
12214         * docs/gst/tmpl/gstxml.sgml:
12215         * gst/autoplug/gstspideridentity.c:
12216         (gst_spider_identity_sink_loop_type_finding):
12217         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12218         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12219         (gst_filesink_close_file), (gst_filesink_handle_event),
12220         (gst_filesink_chain):
12221         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12222         (gst_filesrc_get_read), (gst_filesrc_open_file):
12223         * gst/elements/gstidentity.c: (gst_identity_chain):
12224         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12225         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12226         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12227         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12228         * gst/gstelement.h:
12229         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12230         (gst_pad_recover_caps_error), (gst_pad_pull):
12231         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12232         * gst/schedulers/gstbasicscheduler.c:
12233         (gst_basic_scheduler_chainhandler_proxy),
12234         (gst_basic_scheduler_gethandler_proxy),
12235         (gst_basic_scheduler_cothreaded_chain):
12236           gst_element_error -> GST_ELEMENT_ERROR
12237
12238 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12239
12240         * docs/Makefile.am:
12241         * docs/gst/tmpl/gstelement.sgml:
12242         * docs/gst/tmpl/gstxml.sgml:
12243         * docs/manuals.mak:
12244         * docs/pwg/advanced-request.xml:
12245         * docs/pwg/advanced-scheduling.xml:
12246         * docs/pwg/advanced-tagging.xml:
12247           fix non-validating docbook using CDATA
12248           make sure make check-local gets run first to check if it validates
12249
12250 2004-01-29  Julien MOUTTE <julien@moutte.net>
12251
12252         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12253         handling (up and downstream).
12254         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12255         my_filter thing.
12256
12257 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12258
12259         * docs/pwg/advanced-tagging.xml:
12260           Add docs about tag writing.
12261
12262 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12263
12264         * docs/pwg/advanced-tagging.xml:
12265           Add a part about tag reading and application signalling... Tag
12266           writing still needs to be documented.
12267         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12268           We can set file locations in READY, too.
12269
12270 2004-01-29  Julien MOUTTE <julien@moutte.net>
12271
12272         * docs/random/ds/element-checklist: Adding some notes about src
12273         events.
12274
12275 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12276
12277         * docs/random/mimetypes:
12278           Update docs to point to correct elements for various mimetypes, and
12279           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12280           <stephane.loeuillet@tiscali.fr>.
12281
12282 2004-01-28  David Schleef  <ds@schleef.org>
12283
12284         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12285
12286 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12287
12288         * docs/random/mimetypes:
12289           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12290           undefined"
12291         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12292           make it only work in NULL.
12293         * gst/gstcaps.c:
12294           don't posion NULL caps
12295         * gst/gstelement.c: (gst_element_set_time):
12296           add debugging statement
12297         * gst/gstelement.c: (gst_element_emit_found_tag),
12298         (gst_element_found_tag_func), (gst_element_found_tags):
12299         * gst/gstelement.h:
12300           These functions take const taglists
12301         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12302           fix memleak
12303         * gst/gstpad.c: (gst_pad_event_default):
12304           make more effort on handling discont and clocks, g_warn if everything
12305           fails
12306         * gst/gststructure.c: (gst_structure_remove_fields),
12307         (gst_structure_remove_fields_valist):
12308         * gst/gststructure.h:
12309           add gst_structure_remove_fields(_valist)
12310         * gst/gsttag.c:
12311           fix doc glitch
12312
12313 2004-01-28  David Schleef  <ds@schleef.org>
12314
12315         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12316         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12317         Fix memory leakage of gst_caps_to_string().
12318
12319         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12320         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12321         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12322         (gst_spider_identity_sink_loop_type_finding):
12323         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12324         (find_suggest):
12325         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12326         (gst_pad_set_explicit_caps):
12327         * gst/parse/grammar.y:
12328
12329 2004-01-28  David Schleef  <ds@schleef.org>
12330
12331         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12332         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12333         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12334         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12335         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12336         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12337         (gst_debug_log_default), (_gst_info_printf_extension),
12338         (_gst_info_printf_extension_arginfo):  Add printf extension.
12339         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12340         * gst/gststructure.c: (gst_structure_to_string),
12341         (_gst_structure_parse_value): Use gst_value_deserialize() and
12342         remove old code.
12343         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12344         (gst_value_deserialize_boolean), (gst_strtoi),
12345         (gst_value_deserialize_int), (gst_value_deserialize_double),
12346         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12347         a bunch of deserialize functions and gst_value_deserialize.
12348         * gst/gstvalue.h: er, _de_serialize, not unserialize
12349         * testsuite/caps/string-conversions.c: (main): We don't currently
12350         handle (float) in caps, so convert these to (double).
12351         * testsuite/debug/Makefile.am: Add new test for the printf extension
12352         * testsuite/debug/printf_extension.c: (main): same
12353
12354 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12355
12356         * docs/random/company/time:
12357           Add some docs about clocking and time
12358
12359 2004-01-28  Julien MOUTTE <julien@moutte.net>
12360
12361         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12362
12363 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12364
12365         * docs/pwg/advanced-clock.xml:
12366         * docs/pwg/advanced-dparams.xml:
12367         * docs/pwg/advanced-events.xml:
12368         * docs/pwg/advanced-interfaces.xml:
12369         * docs/pwg/advanced-midi.xml:
12370         * docs/pwg/advanced-request.xml:
12371         * docs/pwg/advanced-scheduling.xml:
12372         * docs/pwg/advanced-tagging.xml:
12373         * docs/pwg/advanced-types.xml:
12374         * docs/pwg/appendix-checklist.xml:
12375         * docs/pwg/building-boiler.xml:
12376         * docs/pwg/building-chainfn.xml:
12377         * docs/pwg/building-filterfactory.xml:
12378         * docs/pwg/building-pads.xml:
12379         * docs/pwg/building-props.xml:
12380         * docs/pwg/building-signals.xml:
12381         * docs/pwg/building-state.xml:
12382         * docs/pwg/building-testapp.xml:
12383         * docs/pwg/intro-basics.xml:
12384         * docs/pwg/intro-preface.xml:
12385         * docs/pwg/other-autoplugger.xml:
12386         * docs/pwg/other-sink.xml:
12387         * docs/pwg/other-source.xml:
12388         * docs/pwg/titlepage.xml:
12389           fix up id's
12390
12391 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12392
12393         * docs/95NonPath:
12394         * docs/HACKING:
12395         * docs/README:
12396         * docs/building-the-docs-on-debian:
12397           collect relevant bits of doc info
12398
12399 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12400
12401         * docs/pwg/advanced_tagging.xml:
12402           Half-assed commit so Thomas can re-arrange document IDs here to be
12403           consistent, too.
12404
12405 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12406
12407         * docs/manual/autoplugging.xml:
12408         * docs/manual/bins-api.xml:
12409         * docs/manual/bins.xml:
12410         * docs/manual/buffers-api.xml:
12411         * docs/manual/buffers.xml:
12412         * docs/manual/clocks.xml:
12413         * docs/manual/components.xml:
12414         * docs/manual/cothreads.xml:
12415         * docs/manual/debugging.xml:
12416         * docs/manual/dparams-app.xml:
12417         * docs/manual/dynamic.xml:
12418         * docs/manual/elements-api.xml:
12419         * docs/manual/elements.xml:
12420         * docs/manual/factories.xml:
12421         * docs/manual/gnome.xml:
12422         * docs/manual/goals.xml:
12423         * docs/manual/helloworld.xml:
12424         * docs/manual/helloworld2.xml:
12425         * docs/manual/init-api.xml:
12426         * docs/manual/intro.xml:
12427         * docs/manual/links-api.xml:
12428         * docs/manual/links.xml:
12429         * docs/manual/manual.xml:
12430         * docs/manual/motivation.xml:
12431         * docs/manual/pads-api.xml:
12432         * docs/manual/pads.xml:
12433         * docs/manual/plugins-api.xml:
12434         * docs/manual/plugins.xml:
12435         * docs/manual/programs.xml:
12436         * docs/manual/queues.xml:
12437         * docs/manual/quotes.xml:
12438         * docs/manual/schedulers.xml:
12439         * docs/manual/states-api.xml:
12440         * docs/manual/states.xml:
12441         * docs/manual/threads.xml:
12442         * docs/manual/typedetection.xml:
12443         * docs/manual/xml.xml:
12444           use chapter, part, section or misc as id starts for all bits
12445
12446 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12447
12448         * docs/gst/gstreamer-sections.txt:
12449           Fix up TITLE of the sections
12450
12451 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12452
12453         * docs/pwg/advanced_interfaces.xml:
12454           Add documentation on propertyprobing.
12455         * docs/pwg/advanced_events.xml:
12456         * docs/pwg/advanced_tagging.xml:
12457         * docs/pwg/building_boiler.xml:
12458         * docs/pwg/building_filterfactory.xml:
12459         * docs/pwg/pwg.xml:
12460           Move filterfactory and tagging into their own chapter, add a chapter
12461           on events. all these are empty placeholders that will be filled in
12462           some day.
12463
12464 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12465
12466         * docs/pwg/advanced_interfaces.xml:
12467           Docs for mixer interface. Also a check for website uploading.
12468
12469 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12470
12471         * docs/HACKING:
12472         * docs/Makefile.am:
12473         * docs/faq/Makefile.am:
12474         * docs/gst/Makefile.am:
12475         * docs/gst/tmpl/gstelement.sgml:
12476         * docs/gst/tmpl/gstplugin.sgml:
12477         * docs/gst/tmpl/gstreamer-unused.sgml:
12478         * docs/libs/Makefile.am:
12479         * docs/manual/Makefile.am:
12480         * docs/manuals.mak:
12481         * docs/pwg/Makefile.am:
12482         * docs/upload.mak:
12483           Separate out upload target and make it similar for
12484           both docbook and gtk-doc docs
12485
12486 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12487
12488         * docs/manuals.mak:
12489           Fix upload target to work with freedesktop
12490
12491 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12492
12493         * docs/pwg/advanced_types.xml:
12494           Add notes on creating your own types.
12495         * docs/pwg/building_boiler.xml:
12496         * docs/pwg/building_pads.xml:
12497         * docs/pwg/building_state.xml:
12498           Add some stuff about how to retrieve values from structures, how
12499           that relates to types and change layout slightly again to be almost
12500           perfect.
12501
12502 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12503
12504         * docs/pwg/advanced_dparams.xml:
12505         * docs/pwg/advanced_scheduling.xml:
12506           Change index layout slightly.
12507
12508 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12509
12510         * docs/pwg/advanced_clock.xml:
12511         * docs/pwg/advanced_interfaces.xml:
12512         * docs/pwg/advanced_midi.xml:
12513           General placeholders for now.
12514         * docs/pwg/advanced_request.xml:
12515           Explanation about sometimes and request pads.
12516         * docs/pwg/advanced_scheduling.xml:
12517           Concept of bytestream, loopfunctions and schedulers.
12518         * docs/pwg/building_boiler.xml:
12519           Add something about plugin-init.
12520
12521 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12522
12523         * docs/pwg/building_pads.xml:
12524           Fix broken docbook
12525
12526 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12527
12528         * docs/pwg/advanced_interfaces.xml:
12529         * docs/pwg/pwg.xml:
12530           Add as a placeholder for future filling-in.
12531         * docs/pwg/basics_autoplugging.xml:
12532         * docs/pwg/basics_buffers.xml:
12533         * docs/pwg/basics_elements.xml:
12534         * docs/pwg/basics_events.xml:
12535         * docs/pwg/basics_plugins.xml:
12536         * docs/pwg/basics_types.xml:
12537           Remove, because unused (this is all in intro_basics.xml).
12538         * docs/pwg/building_signals.xml:
12539           Short intro to signals + reference to GObject docs - we really
12540           shouldn't go into these sort of things to deply because we don't
12541           use them that extensively anyway.
12542         * docs/pwg/building_state.xml:
12543           Explanation of states. Benjamin, please check.
12544         * docs/pwg/building_testapp.xml:
12545           Put everything in one page - putting only a few lines of content
12546           per page doesn't really make sense.
12547
12548           Time to get into the advanced topics. ;).
12549
12550 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12551
12552         * docs/pwg/advanced_types.xml:
12553           Finish documenting the current state of mimetypes.
12554         * docs/pwg/building_boiler.xml:
12555         * docs/pwg/building_chainfn.xml:
12556         * docs/pwg/building_pads.xml:
12557         * docs/pwg/building_props.xml:
12558         * docs/pwg/building_testapp.xml:
12559           Start documenting the "how to build a simple audio filter" part
12560           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12561           states and (maybe?) a short introduction to capsnego in the chapter
12562           on pads (building_pads.xml). Capsnego should probably be explained
12563           fully in advanced_capsnego.xml or so.
12564
12565 2004-01-26  David Schleef  <ds@schleef.org>
12566
12567         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12568         * gst/gstpad.h: Add new function to allow element to (somewhat)
12569         specify non-fixed caps on a pad.
12570         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12571         that I added a few weeks ago.
12572
12573 2004-01-26  David Schleef  <ds@schleef.org>
12574
12575         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12576           making try_set_caps() work with non-fixed caps.
12577
12578 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12579
12580         * docs/pwg/advanced_types.xml:
12581         * docs/pwg/intro_basics.xml:
12582         * docs/pwg/intro_preface.xml:
12583         * docs/pwg/pwg.xml:
12584         * docs/pwg/titlepage.xml:
12585           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12586           in here (docs/random/mimetypes), and will from there on work on both
12587           updating outdated parts and adding missing parts.
12588           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12589
12590 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12591
12592         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12593           policy is set
12594
12595 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12596
12597         * gst/gstelement.h:
12598           remove gst_element_factory_get_version. It doesn't exist anymore.
12599         * gst/gstplugin.c:
12600         * gst/gstplugin.h:
12601           remove gst_plugin_set_name and change gst_plugin_get_longname to
12602           gst_plugin_get_description to match code.
12603         * gst/gsterror.h:
12604           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12605         * gst/gstpad.c: (gst_pad_try_set_caps):
12606           make it work with nonfixed caps.
12607           Note that even in the nonfixed case the link function of the pad
12608           that tries to set caps isn't called.
12609
12610 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12611
12612         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12613           fix bug where buffer was not assembled correctly
12614         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12615           silence by default
12616         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12617           only seek if there's no more buffers that could work without seeking
12618
12619 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12620
12621         * gst/gsttag.c: (_gst_tag_initialize):
12622         * gst/gsttag.h:
12623           Add application tag (for encoding/muxing app).
12624
12625 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12626
12627         * autogen.sh:
12628           make autopoint force, and libtoolize not copy
12629         * common/m4/as-docbook.m4:
12630           added docbook xml catalog setup check
12631         * common/m4/gst-doc.m4:
12632           use docbook check
12633
12634 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12637         * gst/gsttag.h:
12638           add GstTagFlag
12639
12640 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12641
12642         * docs/gst/gstreamer-sections.txt:
12643         * docs/gst/tmpl/gst.sgml:
12644         * docs/gst/tmpl/gstbuffer.sgml:
12645         * docs/gst/tmpl/gstclock.sgml:
12646         * docs/gst/tmpl/gstelement.sgml:
12647         * docs/gst/tmpl/gstreamer-unused.sgml:
12648         * docs/gst/tmpl/gstxml.sgml:
12649           sync latest API changes to docs
12650
12651 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12652
12653         * gst/gstpluginfeature.c:
12654           fix doc snippet
12655         * tools/gst-inspect.c: (print_element_list):
12656           fix output of typefind
12657           add GPL header
12658         * tools/gst-launch.c:
12659           add GPL header
12660
12661 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * gst/elements/Makefile.am:
12664         * gst/elements/gstelements.c:
12665         * gst/elements/gsttypefindelement.c:
12666         * gst/elements/gsttypefindelement.h:
12667         * po/POTFILES.in:
12668         * po/fr.po:
12669         * po/nl.po:
12670           renamed gsttypefindelement to gsttypefind, conserving CVS history
12671
12672 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12673
12674         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12675         * gst/gsttag.h:
12676           add some tags used in ogg as well
12677           fix _ in replaygain tags
12678
12679 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12680
12681         * gst/gsterror.h:
12682           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12683
12684 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * gst/gstelement.c: (gst_element_error_full):
12687         * gst/gstelement.h:
12688           change _extended to _full
12689
12690 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12691
12692         reviewed by: <delete if not using a buddy>
12693
12694         * docs/gst/tmpl/gst.sgml:
12695         * docs/gst/tmpl/gstbuffer.sgml:
12696         * docs/gst/tmpl/gstclock.sgml:
12697         * docs/gst/tmpl/gstelement.sgml:
12698         * docs/gst/tmpl/gstreamer-unused.sgml:
12699         * docs/gst/tmpl/gstxml.sgml:
12700         * gst/gstelement.c: (gst_element_error_full):
12701         * gst/gstelement.h:
12702
12703 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12704
12705         * gst/gstelement.h: fix _gst_element_error_printf prototype
12706
12707 2004-01-20  David Schleef  <ds@schleef.org>
12708
12709         * gst/gststructure.c: (gst_structure_to_string):
12710         Convert function to use gst_value_serialize().
12711         * gst/gstvalue.c: (gst_value_serialize_list),
12712         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12713         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12714         (gst_value_serialize_int), (gst_value_serialize_double),
12715         (gst_string_wrap), (gst_value_serialize_string),
12716         (gst_value_serialize), (gst_value_deserialize):
12717         * gst/gstvalue.h:
12718         Add implementations for serialize.
12719
12720 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12721
12722         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12723         we want to keep that one in the future or change xvidenc.c to use 
12724         another error.
12725
12726 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12727
12728         * gst/gstelement.c: (_gst_element_error_printf):
12729         * gst/gstelement.h:
12730           privatise function
12731
12732 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12733
12734         * docs/random/error:
12735           doc explaining error system
12736         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12737           cleanup
12738
12739 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12740
12741         * gst/gst-i18n-app.h:
12742         * gst/gst-i18n-lib.h:
12743           remove inclusion of config.h
12744         * po/POTFILES.in:
12745         * po/nl.po:
12746           add gst/gstelement.c
12747
12748 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12749
12750         * po/nl.po: updated Dutch translation
12751
12752 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12753
12754         * gst/gsterror.c: (_gst_core_errors_init),
12755         (_gst_library_errors_init), (_gst_resource_errors_init),
12756         (_gst_stream_errors_init):
12757         remove ending punctuation dots
12758
12759 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12760
12761         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12762         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12763         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12764         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12765         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12766         use GST_ERROR_SYSTEM
12767
12768 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12769
12770         * gst/gstelement.c: (gst_element_error_printf),
12771         (gst_element_error_extended):
12772         * gst/gstelement.h:
12773           add a helper printf function so we can have NULL values passed.
12774
12775 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12776
12777         * gst/gstelement.h:
12778           add G_STMT macros to gst_element_error, which isn't strictly
12779           necessary but people tell me to anyway.
12780
12781 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12782
12783         * gst/Makefile.am:
12784         * gst/autoplug/gstspideridentity.c:
12785         (gst_spider_identity_sink_loop_type_finding):
12786         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12787         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12788         (gst_filesink_close_file), (gst_filesink_handle_event),
12789         (gst_filesink_chain):
12790         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12791         (gst_filesrc_map_region), (gst_filesrc_get_read),
12792         (gst_filesrc_open_file):
12793         * gst/elements/gstidentity.c: (gst_identity_chain):
12794         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12795         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12796         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12797         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12798         * gst/gst.h:
12799         * gst/gst_private.h:
12800         * gst/gstelement.c: (gst_element_class_init),
12801         (gst_element_default_error), (gst_element_error_func),
12802         (gst_element_error_extended):
12803         * gst/gstelement.h:
12804         * gst/gsterror.c: (_gst_core_errors_init),
12805         (_gst_library_errors_init), (_gst_resource_errors_init),
12806         (_gst_stream_errors_init), (gst_error_get_message):
12807         * gst/gsterror.h:
12808         * gst/gstinfo.c: (_gst_debug_init):
12809         * gst/gstmarshal.list:
12810         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12811         (gst_pad_recover_caps_error), (gst_pad_pull):
12812         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12813         * gst/schedulers/gstbasicscheduler.c:
12814         (gst_basic_scheduler_chainhandler_proxy),
12815         (gst_basic_scheduler_gethandler_proxy),
12816         (gst_basic_scheduler_cothreaded_chain):
12817         * po/POTFILES.in:
12818         * po/fr.po:
12819         * po/nl.po:
12820           change error signal
12821           add error categories
12822
12823 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12824
12825         * gst/gsttag.c: (_gst_tag_initialize):
12826         * gst/gsttag.h:
12827         Add replaygain tag
12828
12829 2004-01-18  Colin Walters  <walters@verbum.org>
12830
12831         * examples/retag/retag.c: Call gst_init before processing
12832         program args.  Add g_assert to _link_many call.
12833
12834 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12835
12836         * gst/gstpad.c: (gst_pad_alloc_buffer):
12837           Return a newly allocated buffer when the pad has no peer.
12838
12839 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12840
12841         * gst/gstclock.c: (gst_clock_get_time):
12842           make it compile with gcc 2.95 again.
12843           Patch by Scott Wheeler
12844
12845 2004-01-15  David Schleef  <ds@schleef.org>
12846
12847         * gst/gstcaps.h:
12848         Added gst_caps_is_simple() macro.
12849         * testsuite/caps/caps.c: (test1):
12850         * testsuite/caps/intersect2.c: (main):
12851         * testsuite/caps/intersection.c: (main):
12852         Fixes to make 'make check' work again after removing
12853         gst_caps_is_chained().
12854
12855 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12856
12857         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12858         and additions to the MIDI document.
12859
12860 2004-01-15  David Schleef  <ds@schleef.org>
12861
12862         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12863         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12864         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12865
12866 2004-01-15  David Schleef  <ds@schleef.org>
12867
12868         * gst/gstqueue.c:
12869         * gst/gstqueue.h:
12870         Fix the spelling of "treshold" and make min_threshold actually
12871         affect the queue.
12872
12873 2004-01-15  David Schleef  <ds@schleef.org>
12874
12875         * gst/gstcaps.c:
12876         Add lots of documentation.
12877         * gst/gstcaps.h:
12878         Deprecate a few functions.
12879         * gst/gstpad.c:
12880         Removed use of deprecated functions.
12881
12882 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12883
12884         * gst/gstpad.c: (gst_pad_is_linked):
12885         * gst/gstpad.h:
12886           implement gst_pad_is_linked
12887         * gst/gstelement.h:
12888           reserve space for initiate_state_change
12889
12890 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12891
12892         * gst/autoplug/gstspideridentity.c:
12893         (gst_spider_identity_sink_loop_type_finding):
12894           break infinite loop by just returning instead of looping
12895         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12896           set event time difference correctly. Set it to 1 second instead
12897           of 100ms to be more tolerant
12898         * gst/gstelement.c: (gst_element_set_time):
12899           add debugging output
12900
12901 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12902
12903         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12904           query if buffers are inside the pool, ignore events
12905
12906 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12907
12908         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12909         (gst_clock_set_speed), (gst_clock_set_active),
12910         (gst_clock_is_active), (gst_clock_reset),
12911         (gst_clock_handle_discont):
12912         * gst/gstclock.h:
12913           deprecate old interface and disable functions that aren't in use
12914           anymore.
12915         * gst/gstelement.h:
12916         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12917         (gst_element_set_time), (gst_element_adjust_time):
12918           add concept of "element time" and functions to get/set this time.
12919         * gst/gstelement.c: (gst_element_change_state):
12920           update element time correctly.
12921         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12922           This is a debug message, not a g_critical.
12923         * gst/gstpad.c: (gst_pad_event_default):
12924           handle discontinuous events right with element time.
12925         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12926           update to clocking fixes.
12927           set clocks on elements in READY=>PAUSED. The old behaviour caused
12928           a wrong element time on the first element that started playing.
12929         * gst/schedulers/gstbasicscheduler.c:
12930         (gst_basic_scheduler_class_init):
12931         * gst/schedulers/gstoptimalscheduler.c:
12932         (gst_opt_scheduler_class_init):
12933           remove code that just implements the default behaviour.
12934         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12935           update to use new clocking functions
12936         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12937         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12938           update to test new element time.
12939         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12940           use _get_allowed_caps instead of _get_caps. This catches filtered
12941           caps correctly.
12942         * testsuite/debug/commandline.c:
12943           update for new GST_DEBUG syntax.
12944         * testsuite/threads/Makefile.am:
12945           disable a test that only works sometimes.
12946
12947 2004-01-13  Julien MOUTTE <julien@moutte.net>
12948
12949         * po/LINGUAS: Adding fr.
12950         * po/fr.po: Adding french translation.
12951
12952 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12953
12954         * gst/parse/grammar.y:
12955         * po/POTFILES.in:
12956         * po/nl.po:
12957         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12958           translate parsing error messages
12959
12960 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12961
12962         * po/POTFILES.in: adding gst-launch
12963         * po/nl.po: updated translation, all 99 strings translated
12964         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12965         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12966           fix strings for translation
12967
12968 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * gst/gst.c:
12971           - capitalize beginnings of popt options
12972           - fix strings for translation
12973           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12974
12975 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12976
12977         * po/README: add some notes on how to update translations
12978
12979 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12980
12981         * ABOUT-NLS: removed, is autogenerated from autopoint
12982         * autogen.sh: add autopoint stuff
12983         * configure.ac: fix up gettext stuff
12984         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12985         * gst/elements/gsttypefindelement.c: add header include
12986         * gst/gettext.h: add header, copy from system-installed header
12987         * gst/gst-i18n-app.h: to be included by each app having translations
12988         * gst/gst-i18n-lib.h: to be included by each lib having translations
12989         * gst/gst.c: (init_pre): fix up gettext calls
12990         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12991         * po/LINGUAS: the new way to specify translations present
12992         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12993         * po/Makevars: the variables filled in for GStreamer
12994         * po/POTFILES.in: added new files with translations
12995         * po/de.po: has new strings
12996         * po/nl.po: readded, has new strings
12997
12998 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12999
13000         * gst/gsttag.c: fix some strings marked for translation
13001
13002 2004-01-13  Iain <iain@prettypeople.org>
13003
13004         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13005         group when we add an element to it, cos we unref it when we remove one
13006
13007 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13008
13009         * testsuite/debug/commandline.c: (debug_not_reached):
13010         * testsuite/debug/output.c: (check_message):
13011           fix testsuite
13012
13013 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13014
13015         * examples/cutter/.cvsignore:
13016         * examples/helloworld/.cvsignore:
13017         * examples/launch/.cvsignore:
13018         * examples/manual/.cvsignore:
13019         * examples/mixer/.cvsignore:
13020         * examples/pingpong/.cvsignore:
13021         * examples/plugins/.cvsignore:
13022         * examples/queue/.cvsignore:
13023         * examples/queue2/.cvsignore:
13024         * examples/queue3/.cvsignore:
13025         * examples/queue4/.cvsignore:
13026         * examples/retag/.cvsignore:
13027         * examples/thread/.cvsignore:
13028         * examples/typefind/.cvsignore:
13029         * examples/xml/.cvsignore:
13030         * gst/.cvsignore:
13031         * gst/autoplug/.cvsignore:
13032         * gst/elements/.cvsignore:
13033         * gst/indexers/.cvsignore:
13034         * gst/parse/.cvsignore:
13035         * gst/registries/.cvsignore:
13036         * gst/schedulers/.cvsignore:
13037         * libs/gst/bytestream/.cvsignore:
13038         * libs/gst/control/.cvsignore:
13039         * libs/gst/getbits/.cvsignore:
13040         * tests/.cvsignore:
13041         * tests/bufspeed/.cvsignore:
13042         * tests/instantiate/.cvsignore:
13043         * tests/memchunk/.cvsignore:
13044         * tests/muxing/.cvsignore:
13045         * tests/sched/.cvsignore:
13046         * tests/seeking/.cvsignore:
13047         * tests/threadstate/.cvsignore:
13048         * testsuite/.cvsignore:
13049         * testsuite/caps/.cvsignore:
13050         * testsuite/cleanup/.cvsignore:
13051         * testsuite/dynparams/.cvsignore:
13052         * testsuite/plugin/.cvsignore:
13053         * tools/.cvsignore:
13054           update - this is huge, because it includes *.bb, *.bbg and *.da files
13055           which are generated for gcov.
13056
13057 2004-01-11  David Schleef  <ds@schleef.org>
13058
13059         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13060         a function to parse integers in ways that strto[u]l() does not.
13061
13062 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13063
13064         * tools/gst-inspect.c: (print_caps):
13065           improve output of caps a bit
13066
13067 2004-01-11  David Schleef  <ds@schleef.org>
13068
13069         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13070         inherit correct flags (READONLY and DONTKEEP).
13071
13072 2004-01-11  David Schleef  <ds@schleef.org>
13073
13074         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13075         (gst_filesrc_map_region):
13076         * gst/gstbuffer.c: (_gst_buffer_initialize),
13077         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13078         (gst_buffer_new), (gst_buffer_create_sub),
13079         (gst_buffer_is_span_fast), (gst_buffer_span):
13080         * gst/gstbuffer.h:
13081         Change GstBuffer private structure element names. (all files)
13082         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13083         (gst_queue_link):
13084         * gst/gstqueue.h:
13085         Implement getcaps/pad_link functions that handle the case where
13086         there are data in the queue.
13087
13088 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13089
13090         * gst/elements/gstbufferstore.c:
13091           initialize debugging structure correctly
13092         * gst/elements/gsttee.c: (gst_tee_set_property):
13093           g_object_notify when property was changed
13094         * gst/elements/gsttypefindelement.c:
13095         (gst_type_find_element_change_state):
13096           clear caps correctly
13097
13098 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13099
13100         * gst/gstqueue.c: (gst_queue_init):
13101           Use better defaults for when a queue should block. This
13102           gets rid of jerky playback for quite a few files.
13103           It takes more memory.
13104
13105 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13106
13107         (gst_xml_registry_parse_padtemplate):
13108           make critical message slightly more useful
13109
13110 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13111
13112         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13113         (gst_debug_message_get), (gst_debug_log_default):
13114         * gst/gstinfo.h:
13115           Change gst_debug_log(_valist) to take a const format string.
13116           Change prototype of log function and functions using those to 
13117           take a GstDebugMessage instead of a string that requires using
13118           gst_debug_message_get.
13119
13120 2004-01-08  David Schleef  <ds@schleef.org>
13121
13122         * Makefile.am:
13123         * configure.ac:
13124         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13125         and -ftest-coverage, which allows gcov to show information about
13126         testsuite coverage.
13127
13128 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13129
13130         * gst/gstutils.h:
13131           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13132           GST_PARENT_CALL_WITH_DEFAULT
13133         * gst/elements/gstaggregator.c: 
13134         * gst/elements/gstbufferstore.c: 
13135         * gst/elements/gstfakesink.c: 
13136         * gst/elements/gstfakesrc.c: 
13137         * gst/elements/gstfdsink.c: 
13138         * gst/elements/gstfdsrc.c: 
13139         * gst/elements/gstfilesink.c: 
13140         * gst/elements/gstfilesrc.c: 
13141         * gst/elements/gstidentity.c: 
13142         * gst/elements/gstmd5sink.c: 
13143         * gst/elements/gstmultidisksrc.c:
13144         * gst/elements/gstpipefilter.c: 
13145         * gst/elements/gstshaper.c:
13146         * gst/elements/gststatistics.c:
13147         * gst/elements/gsttee.c:
13148         * gst/elements/gsttypefindelement.c:
13149           use them.
13150
13151 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * docs/gst/gstreamer-docs.sgml: remove props
13154         * docs/gst/gstreamer-sections.txt: remove props
13155         * docs/gst/tmpl/gst.sgml:
13156         * docs/gst/tmpl/gstbin.sgml:
13157         * docs/gst/tmpl/gstbuffer.sgml:
13158         * docs/gst/tmpl/gstcaps.sgml:
13159         * docs/gst/tmpl/gstclock.sgml:
13160         * docs/gst/tmpl/gstelement.sgml:
13161         * docs/gst/tmpl/gstindex.sgml:
13162         * docs/gst/tmpl/gstobject.sgml:
13163         * docs/gst/tmpl/gstpad.sgml:
13164         * docs/gst/tmpl/gstpadtemplate.sgml:
13165         * docs/gst/tmpl/gstreamer-unused.sgml:
13166         * docs/gst/tmpl/gstthread.sgml:
13167         * docs/gst/tmpl/gstxml.sgml:
13168           sync with code reorganization
13169
13170 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13171
13172         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13173         Make the 'Could not find compatible pad' message more informative.
13174
13175 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13176                                                                                 
13177         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13178           Fix for if we pass NULL as property to location.
13179         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13180         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13181           Fix for instantiate-test (see below).
13182         * gst/gststructure.c: (_gst_structure_parse_value):
13183           Fix compile error on gcc-2.96.
13184         * configure.ac:
13185         * tests/Makefile.am:
13186         * tests/instantiate/Makefile.am:
13187         * tests/instantiate/create.c: (create_all_elements), (main):
13188           Add a test that instantiates all elements. This makes it easy to
13189           track dead code for old API/design (like setting event functions
13190           on sink pads and so on).
13191
13192 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13193
13194         * gst/gstcaps.c: (gst_caps_append_structure):
13195           Move the poisoning to allow a NULL structure
13196         * gst/gstevent.c: (_gst_event_free):
13197           When freeing a navigation event, free the structure
13198           also
13199
13200 2004-01-04  David Schleef  <ds@schleef.org>
13201
13202         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13203         Remove usage of gst_pad_proxy_fixate.
13204         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13205         (gst_caps_split_one), (gst_caps_replace):
13206         Add poisoning code.
13207         * gst/gstmarshal.list:
13208         Add pointer__pointer for fixate signal
13209         * gst/gstpad.c: (gst_real_pad_class_init),
13210         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13211         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13212         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13213         Add poisoning code. Add fixate signal on RealPad. Change
13214         set_explicit_caps() to take const GstCaps, like try_set_caps().
13215         * gst/gstpad.h:
13216         * testsuite/caps/Makefile.am:
13217         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13218
13219 2004-01-03  David Schleef  <ds@schleef.org>
13220
13221         * gst/elements/gsttypefindelement.c:
13222         (gst_type_find_element_have_type), (gst_type_find_element_init):
13223         Use gst_pad_use_explicit_caps for src pad.
13224         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13225         before using it.
13226
13227 2004-01-03  David Schleef  <ds@schleef.org>
13228
13229         * gst/gstelement.c: (gst_element_link_pads_filtered),
13230         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13231         that linking was successful.
13232         * gst/gstpad.c: (gst_pad_link_free),
13233         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13234         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13235         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13236         GstPadLinkReturn correctly between functions, and don't fail
13237         when DELAYED is used (DELAYED is very important).  Better
13238         cleanup on unlinking and unnegotiation.  Should fix some spider
13239         bugs.
13240
13241 2004-01-02  David Schleef  <ds@schleef.org>
13242
13243         * gst/gstelement.c: (gst_element_class_init),
13244         (gst_element_base_class_init): ->padtemplates should be cleared
13245         in base_init, since we need to have a fresh list for every
13246         class.  (Alternately, we chould copy the list and share the
13247         actual pad templates (not the list), but that would require
13248         changing every plugin to move pad template registration from
13249         base_init to class_init.)
13250
13251 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13252
13253         * gst/gstelement.c: (gst_element_class_add_pad_template):
13254           Refuse registering a pad template if another pad template
13255           with the same name already exists (#114715).
13256
13257 2004-01-02  David Schleef  <ds@schleef.org>
13258
13259         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13260         (gst_caps_is_equal_fixed): Add new function.
13261         * gst/gstcaps.h: ditto.
13262         * gst/gstpad.c: (gst_real_pad_class_init),
13263         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13264         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13265         check new caps against existing caps -- if they're the same, return
13266         OK without renegotiating.  caps-nego-failed signal fixed so that
13267         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13268         to save an extra caps copy.  Don't complete negotiation if a pad
13269         link function returns DELAYED.
13270
13271 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13272
13273         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13274           Fix wrong g_return_if_fail
13275
13276 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13277
13278         * gst/gstbin.c: (gst_bin_class_init):
13279         Change the marshalling of element_added/element_removed
13280         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13281         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13282
13283 2004-01-01  David Schleef  <ds@schleef.org>
13284
13285         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13286         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13287         (gst_pad_use_explicit_caps):
13288         * gst/gstpad.h:
13289         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13290         to use an internal getcaps and link fuction so that negotiation
13291         always results in the explicitly set caps.
13292         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13293         are particularly useful for decoders.
13294
13295 2003-12-31  David Schleef  <ds@schleef.org>
13296
13297         * gst/elements/gstidentity.c: (gst_identity_class_init),
13298         (gst_identity_init), (gst_identity_chain),
13299         (gst_identity_set_property), (gst_identity_get_property):
13300         * gst/elements/gstidentity.h:
13301         * gst/gstqueue.c: (gst_queue_init):
13302           Negotiation fixes.
13303
13304 2003-12-31  David Schleef  <ds@schleef.org>
13305
13306         * gst/gstcaps.c: (gst_caps_intersect),
13307         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13308           Implement gst_caps_normalize().
13309         * testsuite/caps/normalisation.c: (main):
13310           Add an additional test
13311
13312 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13313
13314         * gst/gstqueue.c: (gst_queue_init):
13315           use gst_pad_proxy_getcaps()
13316
13317 2003-12-31  David Schleef  <ds@schleef.org>
13318
13319         * gst/elements/gstshaper.c: (gst_shaper_link):
13320         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13321         * gst/gstqueue.c: (gst_queue_link):
13322           Negotiation fixes.
13323
13324 2003-12-31  David Schleef  <ds@schleef.org>
13325
13326         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13327         * gst/gstpad.h: Add functions that are useful as default pad
13328         link and fixate functions for elements.
13329
13330 2003-12-30  David Schleef  <ds@schleef.org>
13331
13332         * gst/gstpad.c: (gst_pad_link_try):
13333           Fix segfault when attempting to return to old caps
13334
13335 2003-12-29  David Schleef  <ds@schleef.org>
13336
13337         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13338         (gst_caps_structure_simplify), (gst_caps_simplify):
13339         * gst/gstcaps.h:
13340           Add simplify function
13341         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13342         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13343         * gst/gstpad.h:
13344           Copy over srcnotify, sinknotify when calling old pad_link
13345           functions.  Add new is_negotiated() function.
13346         * gst/gststructure.c: (gst_structure_copy):
13347           Fix an incredibly stupid bug that should have been noticed
13348           weeks ago.  _copy() returned the argument, not the new copy.
13349
13350 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13351
13352         * gst/gstcaps.c: (gst_caps_append):
13353           add sanity checks
13354         * gst/gstcaps.h: (gst_caps_debug):
13355           remove, it doesn't exist anymore.
13356         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13357         (gst_element_threadsafe_properties_post_run):
13358           make debugging messages not clutter up THREAD debug category
13359         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13360         (gst_element_change_state):
13361           update to new caps API
13362         * gst/gstinterface.c: (gst_implements_interface_cast):
13363           don't put vital code in g_return_if_fail
13364         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13365         (gst_pad_link_filtered):
13366           add pst_pad_try_link and use it.
13367         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13368           implement correctly, deprecate first one.
13369         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13370           add and implement.
13371         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13372           implement.
13373         (gst_pad_get_negotiated_caps):
13374           add and implement. Make GST_PAD_CAPS call this function.
13375         (gst_pad_get_caps):
13376           remove unneeded check..
13377         (gst_pad_recover_caps_error):
13378           disable, always return FALSE.
13379         (gst_real_pad_dispose):
13380           don't free caps and appfilter anymore, they're unused.
13381         * gst/gstpad.h:
13382           Reflect changes mentioned above.
13383         * gst/gstsystemclock.c: (gst_system_clock_wait):
13384           Make 'clock is way behind' a debugging message.
13385         * gst/gstthread.c: (gst_thread_change_state):
13386           Fix debugging message
13387
13388 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * gst/gstinfo.h:
13391           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13392         * docs/gst/tmpl/gstreamer-unused.sgml:
13393           removed all traces of cvs conflicts
13394
13395 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13396
13397         * configure.ac:
13398         * gst/schedulers/cothreads_compat.h:
13399         * libs/Makefile.am:
13400           remove last instances of wingo cothread usage
13401
13402 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13403
13404         * gst/gstplugin.c:
13405         * gst/gstversion.h.in:
13406         * gst/parse/grammar.y:
13407           change comment block from /** to /* when not gtk-doc comments
13408
13409 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13410
13411         * gst/gst.c: whitespace and doc style fixes
13412
13413 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13414
13415         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13416
13417 2003-12-24  Colin Walters  <walters@verbum.org>
13418
13419         * gst/elements/gsttypefindelement.c:
13420           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13421           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13422           Don't double-free caps.
13423
13424 2003-12-23  David Schleef  <ds@schleef.org>
13425
13426         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13427           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13428           Many little fixes and additions of debug statements to
13429           get rhythmbox working.
13430
13431 2003-12-23  Colin Walters  <walters@verbum.org>
13432
13433         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13434         Use GST_PAD_LINK_SUCCESSFUL.
13435
13436 2003-12-23  David Schleef  <ds@schleef.org>
13437
13438         * gst/elements/gstaggregator.c:
13439         * gst/elements/gsttee.c:
13440           Use gst_pad_proxy_getcaps().
13441         * gst/gstpad.c:
13442         * gst/gstpad.h:
13443           Add gst_pad_proxy_getcaps(), which filter elements can use
13444           as a generic getcaps implementation.
13445           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13446           was advertised.
13447
13448 2003-12-23  David Schleef  <ds@schleef.org>
13449
13450         * gst/gstpad.c:
13451           Rearrange/rewrite much of the pad negotiation code, since it
13452           resembled pasta.  This actually changes the way some
13453           negotiation works, since the previous code was inconsistent
13454           depending on how it was invoked.  Add (internal) structure
13455           GstPadLink, which is used to hold some information (more in
13456           the future) about the link between two pads.  Fixes a number
13457           of bugs, including random lossage of filter caps when the
13458           initial negotiation is delayed.  A few functions are still
13459           unimplemented.
13460         * gst/gstpad.h:
13461           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13462           these when testing GstPadLinkReturn values instead of comparing
13463           directly.
13464
13465 2003-12-23  David Schleef  <ds@schleef.org>
13466
13467         * gst/gstvalue.c: 
13468         * gst/gstvalue.h:
13469           Rearrange lots of code.  Change registration of compare function
13470           into registration of compare/serialize/deserialize functions.
13471           Doesn't include implementation of gst_value_[de]serialize(),
13472           but that should be easy.
13473
13474 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13475
13476         * docs/gst/gstreamer-sections.txt:
13477         * docs/gst/tmpl/gstprops.sgml: removed
13478         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13479           David removed props and caps code, so let's remove their docs as well.
13480           Removed all no longer existing symbols from gstreamer-sections.txt
13481           
13482 2003-12-22  Colin Walters  <walters@verbum.org>
13483
13484         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13485           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13486           of tags directly.
13487
13488 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13489
13490         * gst/elements/gstelements.c:
13491           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13492         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13493           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13494           gst_caps (peer).
13495
13496 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13497
13498         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13499         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13500         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13501         (gst_spider_identity_sink_loop_type_finding):
13502         * gst/autoplug/gstspideridentity.h:
13503           Fix autoplugging in spider element, so it works with new caps.
13504           This was mainly caused by identifying empty caps incorrectly.
13505
13506 2003-12-22  David Schleef  <ds@schleef.org>
13507
13508         * gststructure.c, gstvalue.c, gstvalue.h: Add
13509           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13510           using g_value_copy()
13511
13512 2003-12-21  David Schleef  <ds@schleef.org>
13513
13514         * many, many files: Merge CAPS branch.  This includes:
13515           - implemention of GstValue and several GstValue types
13516           - implemention of GstStructure
13517           - entire rewrite of GstCaps
13518           - removal of GstProps
13519           - many changes to GstPad to compensate for new caps paradigm
13520           - removal of GstBufferpool
13521         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13522         gstvalue.h, gst/gstcaps[2]*.[ch]:
13523           - rename gstcaps2.[ch] to gstcaps.[ch]
13524
13525 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13526
13527         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13528         (gst_queue_chain), (gst_queue_handle_src_event):
13529           implement timeout for sending events. Workaround for if the
13530           pipeline on this queue is not passing any data.
13531
13532 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13533                                                                                 
13534         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13535         * moved CVS to freedesktop.org
13536