gst/gstpad.c: Implement default fixation once again, so that gst_pad_fixate() actuall...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
4         (gst_pad_fixate_caps):
5           Implement default fixation once again, so that gst_pad_fixate()
6           actually does anything at all. This probably needs to be some
7           sort of a last resort, and use profile-based fixation first, but
8           since that doesn't exist yet, this is the best we have. Fixes
9           visualization in Totem.
10
11 2005-07-22  Wim Taymans  <wim@fluendo.com>
12
13         * docs/design/part-events.txt:
14         Small update.
15
16         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18         (gst_base_sink_activate_pull):
19         Some more comments.
20
21         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
22         (gst_fake_src_create):
23         Fix handoff marshall.
24
25         * gst/elements/gstidentity.c: (gst_identity_class_init),
26         (gst_identity_transform_ip):
27         We're a real inplace element.
28
29         * gst/gstbus.c: (gst_bus_post):
30         Added some comments.
31
32         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
33         * tests/muxing/case1.c: (main):
34         * tests/sched/dynamic-pipeline.c: (main):
35         * tests/sched/interrupt1.c: (main):
36         * tests/sched/interrupt2.c: (main):
37         * tests/sched/interrupt3.c: (main):
38         * tests/sched/runxml.c: (main):
39         * tests/sched/sched-stress.c: (main):
40         * tests/seeking/seeking1.c: (event_received), (main):
41         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
42         (main):
43         * tests/threadstate/threadstate3.c: (main):
44         * tests/threadstate/threadstate4.c: (main):
45         * tests/threadstate/threadstate5.c: (main):
46         Fix the tests.
47
48 2005-07-21  Wim Taymans  <wim@fluendo.com>
49
50         * docs/design/part-seeking.txt:
51         Some small additions.
52
53         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
54         (gst_base_sink_get_times), (gst_base_sink_do_sync),
55         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
56         * gst/base/gstbasesink.h:
57         discont values are gint64, handle the math correctly.
58
59         * gst/base/gstbasesrc.c: (gst_base_src_loop):
60         Make the basesrc report error if the source pad is not linked.
61
62         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
63         (gst_queue_loop), (gst_queue_handle_src_query),
64         (gst_queue_src_activate_push):
65         Make queue collect data even if the srcpad is not linked.
66         Start pushing out data as soon as it is linked.
67
68         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
69         * gst/gstutils.h:
70         Added gst_flow_get_name() to ease error reporting.
71
72 2005-07-20  Wim Taymans  <wim@fluendo.com>
73
74         * gst/gstmessage.c: (gst_message_new_segment_start),
75         (gst_message_new_segment_done), (gst_message_parse_segment_start),
76         (gst_message_parse_segment_done):
77         * gst/gstmessage.h:
78         Added a bunch of messages for advanced seeking.
79
80         * gst/parse/grammar.y:
81         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
82         (gst_dpman_state_changed):
83         Fix some new-pad -> pad-added signals
84
85 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
86
87         * docs/manual/appendix-porting.xml:
88         * docs/pwg/appendix-porting.xml:
89           Document new-pad/state-change signal renames and the FixedList
90           type rename.
91
92 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
93
94         * docs/manual/advanced-autoplugging.xml:
95         * docs/manual/basics-helloworld.xml:
96         * docs/manual/basics-pads.xml:
97         * docs/random/ds/0.9-suggested-changes:
98         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
99         * gst/gstelement.h:
100         * gst/gstevent.h:
101         * gst/gstformat.h:
102         * gst/gstquery.h:
103         * gst/gststructure.c: (gst_structure_value_get_generic_type),
104         (gst_structure_parse_array), (gst_structure_parse_value):
105         * gst/gstvalue.c: (gst_type_is_fixed),
106         (gst_value_list_prepend_value), (gst_value_list_append_value),
107         (gst_value_list_get_size), (gst_value_list_get_value),
108         (gst_value_transform_array_string), (gst_value_serialize_array),
109         (gst_value_deserialize_array), (gst_value_intersect_array),
110         (gst_value_is_fixed), (_gst_value_initialize):
111         * gst/gstvalue.h:
112           GstElement::new-pad -> pad-added, GstElement::state-change ->
113           state-changed, GstValueFixedList -> GstValueArray, add format and
114           flags as their own arguments in gst_element_seek() (should improve
115           "bindeability"), remove function generators since they don't work
116           under a whole bunch of compilers (they were deprecated already
117           anyway).
118
119 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
120
121         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
122         (_gst_debug_register_funcptr):
123         * gst/gstinfo.h:
124           Fix illegal cast on some platforms (#309253).
125
126 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
127
128         * gst/gstmessage.c: (gst_message_new_custom):
129         * gst/gstmessage.h:
130           Add _new_custom, make _new_application a macro to _new_custom.
131
132 2005-07-20  Wim Taymans  <wim@fluendo.com>
133
134         * gst/base/gstbasesrc.c: (gst_base_src_init),
135         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
136         * gst/base/gstbasesrc.h:
137         Add a gboolean to decide when to push out a discont.
138
139         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
140         (gst_queue_loop), (gst_queue_handle_src_query),
141         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
142         (gst_queue_set_property), (gst_queue_get_property):
143         Some cleanups.
144
145         * tests/threadstate/threadstate1.c: (main):
146         Make a thread test compile and run... very silly..
147
148
149 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
150
151         * docs/manual/appendix-porting.xml:
152           Mention removal of libgstgconf-0.9.la and existence of gconf
153           elements.
154
155 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
156
157         * docs/pwg/advanced-clock.xml:
158         * docs/pwg/appendix-porting.xml:
159         * docs/pwg/intro-preface.xml:
160         * docs/pwg/other-base.xml:
161         * docs/pwg/other-manager.xml:
162         * docs/pwg/other-nton.xml:
163         * docs/pwg/other-ntoone.xml:
164         * docs/pwg/other-oneton.xml:
165         * docs/pwg/pwg.xml:
166           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
167           demuxer), remove n-to-n (was never written), fix some code examples
168           and links and update the porting section to include all this.
169
170 2005-07-19  Wim Taymans  <wim@fluendo.com>
171
172         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
173         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
174         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
175         (gst_queue_src_activate_push), (gst_queue_change_state),
176         (gst_queue_get_property):
177         * gst/gstqueue.h:
178         Propagate GstFlowReturn more intelligently upstream and output
179         an ERROR/EOS when streaming stopped due to fatal error.
180
181 2005-07-19  Wim Taymans  <wim@fluendo.com>
182
183         * tools/gst-launch.c: (check_intr), (event_loop), (main):
184         Don't block forever for the state change to complete, the
185         pipeline already did with a sensible timeout.
186
187 2005-07-19  Wim Taymans  <wim@fluendo.com>
188
189         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
190         Make sure we never call the create function is we
191         got deactivated.
192
193 2005-07-19  Andy Wingo  <wingo@pobox.com>
194
195         * gst/parse/parse.l: Attempt to solve bug #172815.
196
197 2005-07-19  Wim Taymans  <wim@fluendo.com>
198
199         * docs/design/part-clocks.txt:
200         * docs/design/part-events.txt:
201         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
202         Small docs updates.
203         Only update the seeking values when we are not
204         busy streaming.
205
206 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
207
208         * gst/base/gstbasesrc.c: (gst_base_src_loop):
209           Oops, ignore the result of gst_pad_push_event here.
210
211 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
212
213         * gst/base/gstbasesrc.c: (gst_base_src_loop),
214         (gst_base_src_activate_push):
215           Send discont event from the loop function, as pads
216           aren't activated yet in the activate_push handler.
217
218         * gst/gstbin.c: (bin_bus_handler):
219           Don't leak element name.
220
221 2005-07-18  Andy Wingo  <wingo@pobox.com>
222
223         * configure.ac: Use AS_LIBTOOL_TAGS.
224
225 2005-07-18  Wim Taymans  <wim@fluendo.com>
226
227         * docs/gst/gstreamer.types:
228         Remove deleted types.
229
230 2005-07-18  Wim Taymans  <wim@fluendo.com>
231
232         * check/elements/gstfakesrc.c: (GST_START_TEST):
233         * configure.ac:
234         * gst/Makefile.am:
235         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
236         (init_popt_callback):
237         * gst/gst.h:
238         * gst/gst_private.h:
239         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
240         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
241         * gst/gstbin.h:
242         * gst/gstbus.h:
243         * gst/gstconfig.h.in:
244         * gst/gstelement.c: (gst_element_class_init),
245         (gst_element_set_base_time), (gst_element_get_base_time),
246         (iterator_fold_with_resync), (gst_element_change_state),
247         (gst_element_dispose), (gst_element_get_bus):
248         * gst/gstelement.h:
249         * gst/gstelementfactory.h:
250         * gst/gsterror.c: (_gst_core_errors_init):
251         * gst/gsterror.h:
252         * gst/gstevent.h:
253         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
254         * gst/gstindex.c:
255         * gst/gstinfo.c: (_gst_debug_init):
256         * gst/gstmessage.c: (_gst_message_copy):
257         * gst/gstmessage.h:
258         * gst/gstminiobject.h:
259         * gst/gstobject.c:
260         * gst/gstobject.h:
261         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
262         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
263         * gst/gstpad.h:
264         * gst/gstparse.h:
265         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
266         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
267         (gst_pipeline_get_last_stream_time):
268         * gst/gstpipeline.h:
269         * gst/gstpluginfeature.h:
270         * gst/gstquery.h:
271         * gst/gstscheduler.c:
272         * gst/gstscheduler.h:
273         * gst/gststructure.h:
274         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
275         (gst_task_finalize), (gst_task_func), (gst_task_create),
276         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
277         (gst_task_stop), (gst_task_pause):
278         * gst/gsttask.h:
279         * gst/gsttypefind.h:
280         * gst/gsttypes.h:
281         * gst/registries/gstlibxmlregistry.c: (load_feature),
282         (gst_xml_registry_load), (gst_xml_registry_save_feature):
283         * gst/registries/gstxmlregistry.c:
284         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
285         * gst/schedulers/threadscheduler.c:
286         * libs/gst/control/dparammanager.h:
287         * tools/gst-inspect.c: (print_element_list),
288         (print_plugin_features), (print_element_features):
289         * tools/gst-xmlinspect.c: (print_element_list),
290         (print_plugin_info), (main):
291         Removed plugable schedulers.
292         Removed Scheduler/Manager from elements.
293         Removed gsttypes.h, rearranged includes.
294         Removed dependency pad<->element, element<>pipeline, and
295         various others,  fix includes.
296         implement gst_pad_get_parent() with gst_object_get_parent()
297         Make GstTask sefcontained.
298         Fix _get_state() on GstBin, it did not return ASYNC with a 0
299         timeout.
300         Fix endless loop in iterator_fold_with_resync.
301
302
303 2005-07-18  Wim Taymans  <wim@fluendo.com>
304
305         * gst/Makefile.am:
306         * gst/gstarch.h:
307         Remove old file.
308
309 2005-07-18  Wim Taymans  <wim@fluendo.com>
310
311         * gst/Makefile.am:
312         No more cothreads.h
313
314 2005-07-18  Wim Taymans  <wim@fluendo.com>
315
316         * gst/cothreads.c:
317         * gst/cothreads.h:
318         Let's remove these.
319
320 2005-07-18  Wim Taymans  <wim@fluendo.com>
321
322         * docs/design/part-dynamic.txt:
323         * docs/design/part-events.txt:
324         * docs/design/part-seeking.txt:
325         Some more docs in the works.
326
327         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
328         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
329         (gst_base_transform_setcaps), (gst_base_transform_get_size),
330         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
331         (gst_base_transform_handle_buffer),
332         (gst_base_transform_sink_activate_push),
333         (gst_base_transform_src_activate_pull),
334         (gst_base_transform_set_passthrough),
335         (gst_base_transform_is_passthrough):
336         Refcounting fixes.
337
338         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
339         Cleanups.
340
341         * gst/gstevent.c: (gst_event_finalize):
342         Set SRC to NULL.
343
344         * gst/gstutils.c: (gst_element_unlink),
345         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
346         (gst_pad_proxy_setcaps):
347         * gst/gstutils.h:
348         Add _get_parent_element() to get a pads parent as an element.
349
350 2005-07-18  Wim Taymans  <wim@fluendo.com>
351
352         * check/gst/gstbin.c: (GST_START_TEST):
353         Remove bogus test.
354
355 2005-07-18  Wim Taymans  <wim@fluendo.com>
356
357         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
358         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
359         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
360         (gst_base_sink_event), (gst_base_sink_do_sync),
361         (gst_base_sink_chain), (gst_base_sink_loop),
362         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
363         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
364         Refcounting fixes.
365         Fix logic for returning ASYNC when not prerolled.
366
367 2005-07-18  Wim Taymans  <wim@fluendo.com>
368
369         * gst/gstqueue.c: (gst_queue_handle_sink_event):
370         Fix nasty refcount bug.
371
372 2005-07-16 Philippe Khalaf <burger@speedy.org>
373         * gst/elements/gstfdsrc.c:
374         * gst/elements/gstfdsrc.h:
375         * gst/elements/gstelements.c:
376         * gst/elements/Makefile.am:
377         Ported fdsrc to 0.9.
378
379 2005-07-16  Wim Taymans  <wim@fluendo.com>
380
381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
382         (gst_base_sink_do_sync):
383         Fix compile error.
384
385 2005-07-16  Wim Taymans  <wim@fluendo.com>
386
387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
388         (gst_base_sink_event), (gst_base_sink_get_times),
389         (gst_base_sink_do_sync), (gst_base_sink_change_state):
390         * gst/base/gstbasesink.h:
391         Store and use discont values when syncing buffers as described
392         in design docs.
393         
394         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
395         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
396         (gst_base_src_activate_push):
397         Push discont event when starting.
398
399         * gst/elements/gstidentity.c: (gst_identity_transform):
400         Small cleanups.
401
402         * gst/gstbin.c: (gst_bin_change_state):
403         Small cleanups in base_time  distribution.
404
405         * gst/gstelement.c: (gst_element_set_base_time),
406         (gst_element_get_base_time), (gst_element_change_state):
407         * gst/gstelement.h:
408         Added methods for the base_time of the element.
409         Some MT fixes.
410
411         * gst/gstpipeline.c: (gst_pipeline_send_event),
412         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
413         (gst_pipeline_get_last_stream_time):
414         * gst/gstpipeline.h:
415         MT fixes.
416         Handle seeking as described in design doc, remove stream_time
417         hack.
418         Cleanups clock and stream_time selection code. Added accessors
419         for the stream_time.
420         
421
422 2005-07-16  Andy Wingo  <wingo@pobox.com>
423
424         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
425         (#305291).
426
427 2005-07-16  Wim Taymans  <wim@fluendo.com>
428
429         * check/gst/gstbin.c: (GST_START_TEST):
430         Make elements silent as the deep_notify refs the
431         parent, which might make the test fail.
432
433         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
434         Don't hold the lock for too long.
435
436 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
437
438         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
439           Don't unref the caps we passed to gst_caps_make_writable() after
440           passing them. gst_caps_make_writable() will do that for us.
441
442 2005-07-15  Andy Wingo  <wingo@pobox.com>
443
444         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
445         (#157311).
446
447         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
448         own marshalling function for the handoff signal. Properly type the
449         buffer as a buffer. Fixes some warnings. Should do a more general
450         solution.
451         (gst_identity_class_init): Plug into the right marshaller.
452
453 2005-07-15  Wim Taymans  <wim@fluendo.com>
454
455         * docs/design/part-TODO.txt:
456         * docs/design/part-clocks.txt:
457         * docs/design/part-element-sink.txt:
458         * docs/design/part-events.txt:
459         * docs/design/part-gstpipeline.txt:
460         Updated docs, mostly DISCONT related.
461
462 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
463
464         * docs/pwg/building-pads.xml:
465           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
466
467 2005-07-15  Andy Wingo  <wingo@pobox.com>
468
469         * tools/gst-typefind.c: Update, add copyright block.
470
471         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
472         Normalize and truncate caps before fixation.
473
474         * gst/gstcaps.h:
475         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
476         discards all but the first structure from its argument.
477
478 2005-07-15  Wim Taymans  <wim@fluendo.com>
479
480         * gst/base/gstbasetransform.c: (gst_base_transform_init),
481         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
482         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
483         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
484         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
485         (gst_base_transform_chain), (gst_base_transform_change_state),
486         (gst_base_transform_set_passthrough),
487         (gst_base_transform_is_passthrough):
488         * gst/base/gstbasetransform.h:
489         Make passthrough work using the bufferpools.
490         Changed API a bit, subclasses have to write into a buffer
491         provided by the base class.
492         More debug info in nego functions.
493         
494         * gst/elements/gstidentity.c: (gst_identity_init),
495         (gst_identity_transform):
496         Port to new base class.
497
498 2005-07-15  Wim Taymans  <wim@fluendo.com>
499
500         * gst/gstmessage.c: (gst_message_new_state_changed):
501         * tools/gst-launch.c: (event_loop), (main):
502         Totally dump messages in -launch with the -m option.
503         Fix message name for State messages,
504
505 2005-07-14  Wim Taymans  <wim@fluendo.com>
506
507         * gst/base/gstbasesrc.c: (gst_base_src_loop):
508         Post error messages on errors.
509
510 2005-07-14  Wim Taymans  <wim@fluendo.com>
511
512         * gst/gstcaps.c: (gst_caps_do_simplify):
513         Remove debug info.
514
515         * gst/gsterror.h:
516         Define error for stream stopped.
517
518         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
519         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
520         Do proper return values.
521
522         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
523         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
524         (gst_pad_get_range):
525         Better return values.
526
527         * gst/gstpad.h:
528         Reorganise return values, add macro to check for fatal errors.
529
530         * gst/gstqueue.c: (gst_queue_chain):
531         Return proper GstFlowReturn values,
532
533 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
534
535         * docs/gst/gstreamer-sections.txt:
536         * docs/gst/gstreamer.types:
537         * docs/gst/tmpl/gst.sgml:
538         * docs/gst/tmpl/gstbasesink.sgml:
539         * docs/gst/tmpl/gstbasesrc.sgml:
540         * docs/gst/tmpl/gstbasetransform.sgml:
541         * docs/gst/tmpl/gstbin.sgml:
542         * docs/gst/tmpl/gstbuffer.sgml:
543         * docs/gst/tmpl/gstcaps.sgml:
544         * docs/gst/tmpl/gstclock.sgml:
545         * docs/gst/tmpl/gstcompat.sgml:
546         * docs/gst/tmpl/gstconfig.sgml:
547         * docs/gst/tmpl/gstelement.sgml:
548         * docs/gst/tmpl/gstelementdetails.sgml:
549         * docs/gst/tmpl/gstelementfactory.sgml:
550         * docs/gst/tmpl/gstenumtypes.sgml:
551         * docs/gst/tmpl/gsterror.sgml:
552         * docs/gst/tmpl/gstevent.sgml:
553         * docs/gst/tmpl/gstfakesink.sgml:
554         * docs/gst/tmpl/gstfakesrc.sgml:
555         * docs/gst/tmpl/gstfilesink.sgml:
556         * docs/gst/tmpl/gstfilesrc.sgml:
557         * docs/gst/tmpl/gstfilter.sgml:
558         * docs/gst/tmpl/gstformat.sgml:
559         * docs/gst/tmpl/gstghostpad.sgml:
560         * docs/gst/tmpl/gstimplementsinterface.sgml:
561         * docs/gst/tmpl/gstindex.sgml:
562         * docs/gst/tmpl/gstindexfactory.sgml:
563         * docs/gst/tmpl/gstinfo.sgml:
564         * docs/gst/tmpl/gstiterator.sgml:
565         * docs/gst/tmpl/gstmacros.sgml:
566         * docs/gst/tmpl/gstmemchunk.sgml:
567         * docs/gst/tmpl/gstminiobject.sgml:
568         * docs/gst/tmpl/gstobject.sgml:
569         * docs/gst/tmpl/gstpad.sgml:
570         * docs/gst/tmpl/gstpadtemplate.sgml:
571         * docs/gst/tmpl/gstparse.sgml:
572         * docs/gst/tmpl/gstpipeline.sgml:
573         * docs/gst/tmpl/gstplugin.sgml:
574         * docs/gst/tmpl/gstpluginfeature.sgml:
575         * docs/gst/tmpl/gstquery.sgml:
576         * docs/gst/tmpl/gstqueue.sgml:
577         * docs/gst/tmpl/gstregistry.sgml:
578         * docs/gst/tmpl/gstregistrypool.sgml:
579         * docs/gst/tmpl/gstscheduler.sgml:
580         * docs/gst/tmpl/gstschedulerfactory.sgml:
581         * docs/gst/tmpl/gststructure.sgml:
582         * docs/gst/tmpl/gstsystemclock.sgml:
583         * docs/gst/tmpl/gsttaglist.sgml:
584         * docs/gst/tmpl/gsttagsetter.sgml:
585         * docs/gst/tmpl/gsttrace.sgml:
586         * docs/gst/tmpl/gsttrashstack.sgml:
587         * docs/gst/tmpl/gsttypefind.sgml:
588         * docs/gst/tmpl/gsttypefindfactory.sgml:
589         * docs/gst/tmpl/gsttypes.sgml:
590         * docs/gst/tmpl/gsturihandler.sgml:
591         * docs/gst/tmpl/gsturitype.sgml:
592         * docs/gst/tmpl/gstutils.sgml:
593         * docs/gst/tmpl/gstvalue.sgml:
594         * docs/gst/tmpl/gstversion.sgml:
595         * docs/gst/tmpl/gstxml.sgml:
596         * docs/libs/tmpl/gstcontrol.sgml:
597         * docs/libs/tmpl/gstdataprotocol.sgml:
598         * docs/libs/tmpl/gstdparam.sgml:
599         * docs/libs/tmpl/gstdplinint.sgml:
600         * docs/libs/tmpl/gstdpman.sgml:
601         * docs/libs/tmpl/gstdpsmooth.sgml:
602         * docs/libs/tmpl/gstgetbits.sgml:
603         * docs/libs/tmpl/gstunitconvert.sgml:
604         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
605         (gst_push_src_base_init), (gst_push_src_class_init),
606         (gst_push_src_init), (gst_push_src_create):
607         * gst/base/gstpushsrc.h:
608         * gst/elements/gstelements.c:
609         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
610         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
611         (gst_fake_sink_init), (gst_fake_sink_set_property),
612         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
613         (gst_fake_sink_event), (gst_fake_sink_preroll),
614         (gst_fake_sink_render), (gst_fake_sink_change_state):
615         * gst/elements/gstfakesink.h:
616         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
617         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
618         (gst_fake_src_base_init), (gst_fake_src_class_init),
619         (gst_fake_src_init), (gst_fake_src_event_handler),
620         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
621         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
622         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
623         (gst_fake_src_create_buffer), (gst_fake_src_create),
624         (gst_fake_src_start), (gst_fake_src_stop):
625         * gst/elements/gstfakesrc.h:
626         * gst/elements/gstfilesink.c: (_do_init),
627         (gst_file_sink_base_init), (gst_file_sink_class_init),
628         (gst_file_sink_init), (gst_file_sink_dispose),
629         (gst_file_sink_set_location), (gst_file_sink_set_property),
630         (gst_file_sink_get_property), (gst_file_sink_open_file),
631         (gst_file_sink_close_file), (gst_file_sink_query),
632         (gst_file_sink_event), (gst_file_sink_render),
633         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
634         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
635         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
636         * gst/elements/gstfilesink.h:
637         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
638         (gst_file_src_class_init), (gst_file_src_init),
639         (gst_file_src_finalize), (gst_file_src_set_location),
640         (gst_file_src_set_property), (gst_file_src_get_property),
641         (gst_file_src_map_region), (gst_file_src_map_small_region),
642         (gst_file_src_create_mmap), (gst_file_src_create_read),
643         (gst_file_src_create), (gst_file_src_is_seekable),
644         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
645         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
646         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
647         (gst_file_src_uri_handler_init):
648         * gst/elements/gstfilesrc.h:
649           more autistic cleanliness in functions/names/defines
650
651 2005-07-13  Andy Wingo  <wingo@pobox.com>
652
653         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
654         source couldn't negotiate.
655
656         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
657         connections again.
658
659         * gst/gstutils.h:
660         * gst/gstutils.c (gst_element_link_pads_filtered): New old
661         function. I am channeling Hades. Put your boots on suckers!!!
662
663 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
664
665         * testsuite/caps/Makefile.am:
666         * testsuite/caps/value_compare.c:
667         * testsuite/caps/value_intersect.c:
668         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
669           move two testsuite apps over to the check dir
670
671 2005-07-12  Wim Taymans  <wim@fluendo.com>
672
673         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
674         Added more debug info in the negotiate process.
675
676         * gst/gstmessage.h:
677         Prepare for segment playback.
678
679         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
680         Better debugging.
681
682         * gst/gstutils.c:
683         Some more docs.
684
685         * tools/gst-launch.c: (main):
686         NULL pipeline on errors.
687
688 2005-07-12  Andy Wingo  <wingo@pobox.com>
689
690         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
691         not it comes from a malloc region. Make sure our copy gets freed.
692
693 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
694
695         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
696         * check/gst/gstmessage.c: (GST_START_TEST):
697         * check/gst/gststructure.c: (GST_START_TEST),
698         (gst_structure_suite), (main):
699           more testing
700         * gst/gstelement.c: (gst_element_message_full):
701           clean up GError and debug string now that they get copied
702         * gst/gstmessage.c: (gst_message_new_error),
703         (gst_message_new_warning), (gst_message_parse_error),
704         (gst_message_parse_warning):
705           use GST_TYPE_G_ERROR for structure_new, and take copies of
706           arguments, so that we don't mess up refcounting
707
708 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
709
710         * check/Makefile.am:
711           add per-test valgrind targets
712         * check/gst-libs/gdp.c: (GST_START_TEST),
713         (gst_data_protocol_suite), (main):
714           clean up
715
716 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
717
718         * check/Makefile.am:
719           instate more valgrindable tests
720         * check/elements/gstfakesrc.c: (chain_func), (event_func),
721         (GST_START_TEST), (fakesrc_suite):
722         * check/gst/gstpad.c: (GST_START_TEST):
723         * check/gst/gststructure.c: (GST_START_TEST):
724           fix test leaks
725         * docs/gst/tmpl/gstminiobject.sgml:
726         * gst/gstpad.c: (gst_pad_finalize):
727           fix the static mutex leak
728
729 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * check/Makefile.am:
732           add two more tests for valgrinding
733         * check/gst/gstvalue.c: (GST_START_TEST):
734           test refcount of deserialized buffer, found a leak
735         * docs/gst/gstreamer-docs.sgml:
736         * docs/gst/gstreamer-sections.txt:
737         * docs/gst/gstreamer.types:
738         * docs/gst/tmpl/gstminiobject.sgml:
739           add miniobject to docs
740         * gst/gstminiobject.c:
741           add some docs
742         * gst/gstvalue.c: (gst_value_deserialize_buffer),
743         (gst_string_unwrap):
744           fix a hard-to-find invalid write for one of the tests
745           fix a leak for deserialized buffers
746
747 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
748
749         * docs/pwg/advanced-events.xml:
750         * docs/pwg/advanced-request.xml:
751         * docs/pwg/advanced-scheduling.xml:
752         * docs/pwg/appendix-porting.xml:
753         * docs/pwg/building-boiler.xml:
754         * docs/pwg/intro-preface.xml:
755         * docs/pwg/other-ntoone.xml:
756           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
757           of example code and explanation for pad activation, loop() and
758           getrange() functions and a bit more. Remove old comments pointing
759           to loop-functions.
760         * examples/pwg/Makefile.am:
761           Add loop/getrange examples.
762
763 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
764
765         * configure.ac:
766           check for valgrind binary + some fixes
767         * check/gst.supp:
768           valgrind suppressions for the tests
769         * check/Makefile.am:
770           add a valgrind: target that valgrinds the unit tests
771         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
772         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
773         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
774         * check/gst/gstghostpad.c:
775           added some cleanup
776         * check/gst/gstdata.c:
777           removed
778         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
779         (thread_unref), (gst_mini_object_suite), (main):
780           added
781         * gst/gst.c: (gst_deinit):
782         * gst/gst.h:
783           add a method to clean up.
784         * gst/gstsystemclock.c: (gst_system_clock_dispose),
785         (gst_system_clock_obtain):
786           allow for disposing the system clock.
787         * tools/gst-launch.c: (main):
788           deinit
789
790 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
791
792         * docs/gst/tmpl/gstbasesrc.sgml:
793         * docs/gst/tmpl/gstfakesrc.sgml:
794         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
795         (gst_base_src_init), (gst_base_src_set_property),
796         (gst_base_src_get_property), (gst_base_src_get_range),
797         (gst_base_src_start):
798         * gst/base/gstbasesrc.h:
799           add num-buffers property
800         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
801         (gst_fakesrc_init), (gst_fakesrc_set_property),
802         (gst_fakesrc_get_property), (gst_fakesrc_create),
803         (gst_fakesrc_start):
804           remove num-buffers property
805
806 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
807
808         * docs/gst/gstreamer-sections.txt:
809         * docs/gst/tmpl/gstbasesink.sgml:
810         * docs/gst/tmpl/gstbasesrc.sgml:
811         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
812         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
813         (gst_base_sink_finalize), (gst_base_sink_set_clock),
814         (gst_base_sink_set_property), (gst_base_sink_get_property),
815         (gst_base_sink_handle_object), (gst_base_sink_event),
816         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
817         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
818         (gst_base_sink_loop), (gst_base_sink_deactivate),
819         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
820         (gst_base_sink_change_state):
821         * gst/base/gstbasesink.h:
822         * gst/base/gstbasesrc.h:
823         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
824         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
825         (gst_filesink_init):
826           more macro splitting
827
828 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
829
830         * gst/gstelement.c: (gst_element_get_bus):
831           add debug
832         * tools/gst-launch.c: (check_intr), (event_loop):
833           fix bus leaks
834
835 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
836
837         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
838           fix a caps leak
839
840 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
841
842         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
843         (gst_base_src_finalize):
844           add finalize method and clean up properly
845         * gst/gstpipeline.c: (gst_pipeline_dispose):
846           add debug
847
848 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
849
850         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
851         (gst_bin_suite):
852           add more things to check
853         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
854         * gst/gstelement.c:
855           more debug
856
857 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * check/elements/gstfakesrc.c: (chain_func), (event_func),
860         (GST_START_TEST), (fakesrc_suite):
861         * check/gst-libs/gdp.c: (GST_START_TEST):
862         * check/gst/gst.c: (GST_START_TEST):
863         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
864         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
865         * check/gst/gstbus.c: (GST_START_TEST):
866         * check/gst/gstcaps.c: (GST_START_TEST):
867         * check/gst/gstdata.c: (GST_START_TEST):
868         * check/gst/gstelement.c: (GST_START_TEST):
869         * check/gst/gstghostpad.c: (GST_START_TEST):
870         * check/gst/gstiterator.c: (GST_START_TEST):
871         * check/gst/gstmessage.c: (GST_START_TEST):
872         * check/gst/gstobject.c: (GST_START_TEST):
873         * check/gst/gstpad.c: (GST_START_TEST):
874         * check/gst/gststructure.c: (GST_START_TEST):
875         * check/gst/gstsystemclock.c: (GST_START_TEST),
876         (gst_systemclock_suite):
877         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
878         * check/gst/gstvalue.c: (GST_START_TEST):
879         * check/pipelines/cleanup.c: (GST_START_TEST):
880         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
881         * check/states/sinks.c: (GST_START_TEST):
882         * check/gstcheck.c: (gst_check_init):
883         * check/gstcheck.h:
884           add debugging category
885           use GST_START_TEST now, so we add a debug line
886
887 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
888
889         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
890           add test for state change message on a bin
891         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
892           add another test
893         * gst/gstbin.c: (gst_bin_init):
894         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
895         * gst/gstelement.c: (gst_element_post_message),
896         (gst_element_set_state):
897         * gst/gstelementfactory.c: (gst_element_factory_create):
898         * gst/gstmessage.c: (gst_message_new):
899         * gst/gstscheduler.c:
900           various debugging additions and cleanups
901
902 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
903
904         * check/Makefile.am:
905         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
906         (main):
907           adding tests for elements
908         * gst/gstelement.c: (gst_element_dispose):
909
910 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
911
912         * gst/registries/gstlibxmlregistry.c: (load_feature):
913           plug more leaks.  A simple gst_init() now is leakfree, yay.
914
915 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
916
917         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
918         (gst_xml_registry_load):
919           plug another memleak
920
921 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
922
923         * configure.ac:
924           use GST_SET_ERROR_CFLAGS
925         * docs/faq/cvs.xml:
926           change to ERROR_CFLAGS
927
928 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
929
930         * configure.ac:
931           make GST_ERROR_CFLAGS overridable and re-enable Werror
932         * docs/faq/cvs.xml:
933           add a note about error CFLAGS
934         * docs/gst/tmpl/gstfakesrc.sgml:
935         * gst/elements/gstfakesrc.c:
936           comment out some unused code
937         * gst/gst.c: (split_and_iterate):
938         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
939         (load_feature):
940           plug some memleaks
941
942 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
943
944         * common/Makefile.am:
945         * common/gtk-doc.mak:
946         * docs/gst/Makefile.am:
947           factor out gtk-doc.mak
948
949 2005-07-07  Wim Taymans  <wim@fluendo.com>
950
951         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
952         (gst_thread_scheduler_dispose):
953         Unlock the STREAM_LOCK completely.
954
955 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * check/Makefile.am:
958         * check/elements/.cvsignore:
959         * check/elements/gstfakesrc.c: (chain_func), (event_func),
960         (START_TEST), (fakesrc_suite), (main):
961         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
962         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
963         (gst_fakesrc_create), (gst_fakesrc_start):
964         * gst/elements/gstfakesrc.h:
965           adding a first element test
966
967 2005-07-07  Andy Wingo  <wingo@pobox.com>
968
969         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
970         debug message.
971
972 2005-07-07  Wim Taymans  <wim@fluendo.com>
973
974         * gst/gstquery.c:
975         * gst/gstquery.h:
976         Remove old types
977
978 2005-07-07  Wim Taymans  <wim@fluendo.com>
979
980         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
981         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
982         Allow subclasses to implement their own negotiation.
983
984 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
985
986         * docs/design/part-gstbin.txt:
987         * docs/design/part-gstpipeline.txt:
988           Update design notes to reflect the movement of
989           responsibility for bus handling from GstPipeline to
990           GstBin
991
992 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
993
994         * configure.ac:
995           Remove unnecessary queue2/3/4 examples.
996
997 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
998
999         * examples/Makefile.am:
1000         * examples/helloworld/helloworld.c: (event_loop), (main):
1001         * examples/queue/queue.c: (event_loop), (main):
1002         * examples/queue2/queue2.c: (main):
1003           Update a couple of the examples to work again.
1004
1005         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1006         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1007          Spelling corrections and extra debug.
1008         
1009         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1010         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1011         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1012         * gst/gstbin.h:
1013         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1014         (gst_pipeline_change_state):
1015         * gst/gstpipeline.h:
1016           Move the bus handler for children to the GstBin, and create a
1017           separate bus for receiving messages from children to the one the
1018           bus sends 'upwards' on.
1019
1020 2005-07-06  Wim Taymans  <wim@fluendo.com>
1021
1022         * gst/base/README:
1023         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1024         (gst_base_sink_handle_object), (gst_base_sink_loop),
1025         (gst_base_sink_change_state):
1026         * gst/base/gstbasesink.h:
1027         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1028         (gst_base_src_init), (gst_base_src_setcaps),
1029         (gst_base_src_getcaps), (gst_base_src_loop),
1030         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1031         (gst_base_src_start), (gst_base_src_change_state):
1032         * gst/base/gstbasesrc.h:
1033         Make basesrc negotiate.
1034         Handle the case where preroll fails in basesink.
1035         Update README.
1036
1037 2005-07-06  Wim Taymans  <wim@fluendo.com>
1038
1039         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1040         Implement the fixate function.
1041         Clean up acceptcaps.
1042
1043 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1044
1045         * docs/pwg/building-filterfactory.xml:
1046         * docs/pwg/pwg.xml:
1047           Remove never-written filter-factory chapter; I'll add the various
1048           base classes to part 4 ("other element types") later on.
1049
1050 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1051
1052         * docs/pwg/advanced-negotiation.xml:
1053         * docs/pwg/building-boiler.xml:
1054         * docs/pwg/building-pads.xml:
1055         * docs/pwg/pwg.xml:
1056         * examples/pwg/Makefile.am:
1057           Add a chapter on caps negotiation, simplify the original code
1058           samples a bit w.r.t. caps negotiation, add link to the advanced
1059           section. Add a bunch of examples showing different use cases of
1060           different types of caps negotiation. Upstream renegotiation isn't
1061           fully documented yet since nobody knows how that works.
1062
1063 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1064
1065         * check/gst/gstpad.c:
1066         * check/gstcheck.c:
1067         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1068           if pad has no parent, return NULL as list of internal links
1069
1070 2005-07-05  Andy Wingo  <wingo@pobox.com>
1071
1072         * gst/elements/gstfilesrc.c:
1073         * gst/elements/gstfakesrc.c: 
1074         * gst/base/gstpushsrc.c:
1075         * gst/base/gstbasesrc.h: 
1076         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1077         
1078 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1079
1080         * Makefile.am:
1081           better report generation target (lcov needs a patch)
1082
1083 2005-07-05  Andy Wingo  <wingo@pobox.com>
1084
1085         * gst/elements, testsuite: Null if we got it...
1086
1087 2005-07-05  Wim Taymans  <wim@fluendo.com>
1088
1089         * configure.ac:
1090         * libs/gst/dataprotocol/Makefile.am:
1091         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1092         * libs/gst/dataprotocol/dataprotocol.h:
1093         * pkgconfig/Makefile.am:
1094         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1095         * pkgconfig/gstreamer-dataprotocol.pc.in:
1096         Ported dataprotol to 0.9. 
1097         Added pkgconfig files.
1098
1099 2005-07-05  Andy Wingo  <wingo@pobox.com>
1100
1101         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1102         Default to returning TRUE for the case when tranform_caps returns
1103         a fixed caps, like for identity or volume.
1104
1105         * check/gst/gstbus.c (pound_bus_with_messages): 
1106         * check/gst/gstmessage.c (START_TEST): 
1107         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1108         message API change.
1109
1110         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1111         logic weaks here: always run transform_caps, trying passthrough
1112         operation only if the original caps intersects with the transform.
1113
1114         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1115         source and sink caps.
1116
1117         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1118         Intersect the peer caps with the pad template before going into
1119         transform_caps.
1120         (gst_base_transform_transform_caps): More debugging.
1121
1122         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1123         src argument.
1124
1125 2005-07-04  Edward Hervey  <edward@fluendo.com>
1126
1127         * gst/gstutils.c:
1128         * gst/gstutils.h:
1129         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1130         in bindings.
1131
1132 2005-07-04  Andy Wingo  <wingo@pobox.com>
1133
1134         * check/gst/gstpad.c: Only set explicit caps on pads.
1135
1136 2005-07-01  Andy Wingo  <wingo@pobox.com>
1137
1138         * tests/network-clock.scm: Commentary update.
1139
1140         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1141         Didn't really make sense, not implementable with basetransform,
1142         etc.
1143         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1144         attempt at implementing the sync property, needs an unlock method.
1145
1146         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1147         New func, by default returns the same caps (the identity
1148         transformation).
1149         (gst_base_transform_getcaps): Uses transform_caps to return
1150         something sensible.
1151         (gst_base_transform_setcaps): Complicated logic to get caps on
1152         both pads, even if they are different, and to call set_caps once
1153         for every time both pads get their caps set.
1154         (gst_base_transform_handle_buffer): Give the ref to the transform
1155         function. Allows in-place modification of the buffer.
1156
1157         * gst/base/gstbasetransform.h (transform_caps): New class method.
1158         Given caps on one side, what can I do on the other.
1159         (set_caps): Take two caps, one for each side of the element.
1160
1161         * gst/gstpad.h:
1162         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1163         caps in place. This is safe because we can check the mutability of
1164         the caps, and a good idea because fixate functions are just called
1165         as a matter of last resort. (Not actually implemented.)
1166         (gst_pad_set_caps): If the caps we're setting is actually the same
1167         as the existing pad caps, just update the pointer without calling
1168         setcaps. Assert that caps is either NULL or fixed, as per the
1169         docs.
1170
1171         * gst/gstghostpad.c: Update for fixate changes.
1172
1173 2005-07-02  Andy Wingo  <wingo@pobox.com>
1174
1175         * gst/gstcaps.c:
1176         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1177         two refcounts makes it immutable, which is enough. Doc more.
1178
1179 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1180
1181         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1182           Put the mini_object into GValue as a mini_object,
1183           not a gpointer, since that's how we declared
1184           the signal.
1185
1186 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1187
1188         * examples/pwg/Makefile.am:
1189           Fix buildbot again.
1190
1191 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1192
1193         * docs/pwg/building-testapp.xml:
1194           Add extra check.
1195         * examples/pwg/Makefile.am:
1196           Fix buildbot.
1197
1198 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1199
1200         * configure.ac:
1201         * examples/Makefile.am:
1202         * examples/pwg/Makefile.am:
1203         * examples/pwg/extract.pl:
1204           Enable building the PWG examples.
1205         * docs/pwg/advanced-interfaces.xml:
1206           Add URI interface stub.
1207         * docs/pwg/advanced-types.xml:
1208         * docs/pwg/other-autoplugger.xml:
1209         * docs/pwg/appendix-porting.xml:
1210         * docs/pwg/pwg.xml:
1211           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1212         * docs/pwg/building-boiler.xml:
1213         * docs/pwg/building-chainfn.xml:
1214         * docs/pwg/building-pads.xml:
1215         * docs/pwg/building-props.xml:
1216         * docs/pwg/building-state.xml:
1217         * docs/pwg/building-testapp.xml:
1218           Update the building-*.xml parts for 0.9 changes. All examples
1219           code blocks compile in examples/pwg/*.
1220
1221 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1222
1223         * docs/manual/advanced-autoplugging.xml:
1224         * docs/manual/appendix-checklist.xml:
1225         * docs/manual/appendix-integration.xml:
1226         * docs/manual/highlevel-components.xml:
1227           Fix playbin/decodebin examples, update docs a bit, mention bus
1228           instead of signals in various places, mention kmplayer and
1229           kaffeine since they have a working GStreamer backend in the KDE
1230           section.
1231
1232 2005-06-30  Wim Taymans  <wim@fluendo.com>
1233
1234         * CHANGES-0.9:
1235         * docs/design/draft-ghostpads.txt:
1236         * docs/design/draft-push-pull.txt:
1237         * docs/design/draft-query.txt:
1238         * docs/design/part-TODO.txt:
1239         * docs/design/part-query.txt:
1240         Added CHANGES-0.9 doc, updated status of other docs.
1241         
1242         * gst/gstquery.h:
1243         Remove "hmm" macro
1244
1245 2005-06-30  Wim Taymans  <wim@fluendo.com>
1246
1247         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1248         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1249         (gst_base_sink_change_state):
1250         * gst/base/gstbasesink.h:
1251         Some tweaks, only EOS and a buffer complete a preroll.
1252
1253 2005-06-30  Andy Wingo  <wingo@pobox.com>
1254
1255         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1256         activate_push down to the internal pad as well.
1257
1258 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1259
1260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1261
1262         * gst/gsttaginterface.c:
1263           Some documentation fixes (#307394 and #307397).
1264
1265 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1266
1267         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1268
1269         * gst/gstvalue.c: (gst_value_intersect_list):
1270           Fix memleak (#309125).
1271
1272 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1273
1274         * docs/manual/advanced-dataaccess.xml:
1275           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1276         * docs/manual/basics-pads.xml:
1277           Add reference for filtered caps to above chapter.
1278
1279 2005-06-30  Wim Taymans  <wim@fluendo.com>
1280
1281         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1282         (gst_bin_change_state):
1283         Probes are gone.
1284         Lame attempt at making the state change function a bit
1285         more readable.
1286
1287 2005-06-30  Wim Taymans  <wim@fluendo.com>
1288
1289         * docs/design/part-clocks.txt:
1290         * docs/design/part-element-sink.txt:
1291         * docs/design/part-events.txt:
1292         * docs/design/part-preroll.txt:
1293         * docs/design/part-states.txt:
1294         Some more tweeks and additions to the docs.
1295
1296 2005-06-30  Wim Taymans  <wim@fluendo.com>
1297
1298         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1299         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1300         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1301         (gst_pad_check_pull_range), (gst_pad_get_range),
1302         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1303         * gst/gstpad.h:
1304         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1305         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1306         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1307         (gst_pad_remove_buffer_probe):
1308         Removed atomic operations, use existing LOCK.
1309         Move exception handling out of main code path.
1310
1311 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1312
1313         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1314         (silly_return_true_function), (gst_pad_class_init),
1315         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1316         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1317         (gst_pad_send_event):
1318           Fix accumulator, add default value by using _emitv() instead
1319           of _emit() for signal emission.
1320
1321 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1322
1323         * docs/manual/advanced-dataaccess.xml:
1324         * examples/manual/Makefile.am:
1325           Add probe example.
1326         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1327           Make work (??).
1328
1329 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1330
1331         * gst/elements/gstfilesink.c: (gst_filesink_render):
1332           Simplify code so that we don't have to handle short
1333           writes and return GST_FLOW_ERROR if an error occured.
1334
1335 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1336
1337         * docs/gst/gstreamer-docs.sgml:
1338           Remove probes more.
1339
1340 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1341
1342         * docs/gst/gstreamer-sections.txt:
1343         * docs/gst/tmpl/gstpad.sgml:
1344         * docs/gst/tmpl/gstprobe.sgml:
1345         * gst/Makefile.am:
1346         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1347         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1348         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1349         (gst_pad_push_event), (gst_pad_send_event):
1350         * gst/gstpad.h:
1351         * gst/gstutils.c: (gst_pad_add_data_probe),
1352         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1353         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1354         (gst_pad_remove_buffer_probe):
1355         * gst/gstutils.h:
1356           Remove old probes, add new g-signal-based probes and some utility
1357           functions.
1358
1359 2005-06-29  Edward Hervey  <edward@fluendo.com>
1360
1361         * gst/gstelementfactory.c:
1362         * gst/gstutils.h:
1363         * gst/gstutils.c:
1364         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1365         the definition to the header file.
1366
1367 2005-06-29  Andy Wingo  <wingo@pobox.com>
1368
1369         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1370         plugins from the source directory.
1371
1372 2005-06-29  Wim Taymans  <wim@fluendo.com>
1373
1374         * docs/gst/tmpl/gstbuffer.sgml:
1375         * docs/gst/tmpl/gstclock.sgml:
1376         Some fixings for blantently wrong text.
1377
1378 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1379
1380         * check/Makefile.am:
1381         * gst/gst.c: (add_path_func), (init_pre):
1382         * gst/gstregistry.c: (gst_registry_add_path):
1383           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1384           only scan the GST_PLUGIN_PATH locations, and not add
1385           system locations
1386
1387 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1388
1389         * docs/gst/gstreamer-sections.txt:
1390         * docs/gst/tmpl/gstbasesrc.sgml:
1391         * gst/gstelement.c:
1392         * gst/gstelement.h:
1393         * gst/gstevent.c:
1394         * gst/gstutils.c:
1395           doc fixes
1396
1397 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1398
1399         * docs/manual/advanced-autoplugging.xml:
1400           Fix autoplugging example.
1401
1402 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1403
1404         * docs/manual/advanced-autoplugging.xml:
1405         * docs/manual/mime-world.fig:
1406           Try to get autoplugging working, fix type detection. Fix text
1407           in hello-world image.
1408
1409 2005-06-29  Wim Taymans  <wim@fluendo.com>
1410
1411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1412         (gst_base_sink_change_state):
1413         Small debug line.
1414
1415         * gst/gstclock.h:
1416         map SIGNAL and BROADCAST to the right function.
1417
1418         * gst/gstobject.h:
1419         Remove redundant braces.
1420
1421         * gst/gstpad.c: (gst_pad_set_caps):
1422         Don't call setcaps function when reseting caps to NULL.
1423
1424         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1425         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1426         (gst_system_clock_id_unschedule):
1427         Use BROADCAST as this is what we do.
1428
1429 2005-06-29  Wim Taymans  <wim@fluendo.com>
1430
1431         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1432         We are actually prerolling before commiting the state
1433         change. 
1434
1435 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1436
1437         * docs/manual/advanced-clocks.xml:
1438         * docs/manual/advanced-interfaces.xml:
1439         * docs/manual/advanced-metadata.xml:
1440         * docs/manual/advanced-position.xml:
1441         * docs/manual/advanced-schedulers.xml:
1442         * docs/manual/advanced-threads.xml:
1443         * docs/manual/appendix-porting.xml:
1444         * docs/manual/basics-bins.xml:
1445         * docs/manual/basics-bus.xml:
1446         * docs/manual/basics-elements.xml:
1447         * docs/manual/basics-helloworld.xml:
1448         * docs/manual/basics-pads.xml:
1449         * docs/manual/highlevel-components.xml:
1450         * docs/manual/manual.xml:
1451         * docs/manual/thread.fig:
1452           Update (until threads/scheduling) Application Development Manual;
1453           remove GstThread, add GstBus, add simple porting checklist, add
1454           documentation for tag writing, clocks, make all examples until this
1455           part compile and run.
1456         * examples/manual/Makefile.am:
1457           Update from changes to Application Development Manual; add bus
1458           example, remove thread example.
1459
1460 2005-06-28  Wim Taymans  <wim@fluendo.com>
1461
1462         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1463         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1464         (gst_bus_source_dispatch):
1465         Add debugging messages.
1466         Make internal methods static.
1467         Handle the case where the bus is flushed in the handler.
1468         
1469         * gst/gstelement.c: (gst_element_get_bus):
1470         Fix refcount in _get_bus();
1471
1472         * gst/gstpipeline.c: (gst_pipeline_change_state),
1473         (gst_pipeline_get_clock_func):
1474         Clock refcounting fixes.
1475         Handle the case where preroll timed out more gracefully.
1476         
1477         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1478         Clean up the internal thread in dispose. This is needed
1479         for subclasses that actually get disposed.
1480         
1481         * gst/schedulers/threadscheduler.c:
1482         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1483         (gst_thread_scheduler_dispose):
1484         Free thread pool in dispose.
1485
1486 2005-06-28  Andy Wingo  <wingo@pobox.com>
1487
1488         * tests/network-clock-utils.scm (debug, print-event): New utils.
1489
1490         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1491         (*packet-loss*): Unified loss probability.
1492         (network-time): Report out-of-band events.
1493
1494         * tests/plot-data: Add support for out-of-band events. Hack it
1495         into this script instead of passing it down the pipe; should fix
1496         this later.
1497
1498 2005-06-28  Wim Taymans  <wim@fluendo.com>
1499
1500         * docs/gst/gstreamer.types:
1501         * docs/gst/tmpl/gstbasesrc.sgml:
1502         * docs/gst/tmpl/gstpad.sgml:
1503         Docs fixes.
1504
1505 2005-06-28  Wim Taymans  <wim@fluendo.com>
1506
1507         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1508         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1509         (gst_proxy_pad_do_fixatecaps):
1510         Correctly proxy the check_pull_range function.
1511
1512 2005-06-28  Andy Wingo  <wingo@pobox.com>
1513
1514         * tests/network-clock.scm: Removed need for slib.
1515         
1516 2005-06-28  Wim Taymans  <wim@fluendo.com>
1517
1518         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1519         (gst_basesink_preroll_queue_flush):
1520         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1521         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1522         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1523         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1524         (gst_proxy_pad_set_property):
1525         * gst/gstpad.c:
1526         * gst/gstpad.h:
1527         * gst/gstqueue.c: (gst_queue_init):
1528         The deprecated pad loop function is removed now.
1529
1530 2005-06-28  Andy Wingo  <wingo@pobox.com>
1531
1532         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1533         New parameters, simulate network packet loss.
1534
1535         * tests/network-clock-utils.scm: Initialize the RNG.
1536
1537 2005-06-28  Wim Taymans  <wim@fluendo.com>
1538
1539         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1540         (gst_basesink_event), (gst_basesink_deactivate):
1541         Flushing the preroll queue always needs to unlock the waiters.
1542
1543 2005-06-28  Edward Hervey  <edward@fluendo.com>
1544
1545         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1546         Wheen a seek was successful on a pipeline, set the stream_time to the
1547         seek offset in order to have a synchronized stream_time.
1548
1549 2005-06-28  Wim Taymans  <wim@fluendo.com>
1550
1551         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1552         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1553         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1554         (gst_proxy_pad_do_fixatecaps):
1555         Call wrapper function instead of just calling the function
1556         pointers. This takes care of any locking and whatmore.
1557
1558 2005-06-28  Wim Taymans  <wim@fluendo.com>
1559
1560         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1561         (gst_pad_pull_range):
1562         * gst/gstpad.h:
1563         CONNECTED -> LINKED.
1564
1565 2005-06-28  Andy Wingo  <wingo@pobox.com>
1566
1567         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1568         source-munging commit!!!
1569
1570         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1571         (gst_object_sink): Take gpointer arguments, not GstObject --
1572         avoids casts. Like GLib.
1573
1574         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1575         activate.
1576
1577 2005-06-27  Andy Wingo  <wingo@pobox.com>
1578
1579         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1580         remaining buffer.
1581
1582         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1583         returns a sorted copy of the trace list.
1584         (gst_alloc_trace_print_live): New API, only prints traces with
1585         live objects. Sort the list.
1586         (gst_alloc_trace_print_all): Sort the list.
1587         (gst_alloc_trace_print): Align columns.
1588
1589         * gst/elements/gstttypefindelement.c:
1590         * gst/elements/gsttee.c:
1591         * gst/base/gstbasesrc.c:
1592         * gst/base/gstbasesink.c:
1593         * gst/base/gstbasetransform.c:
1594         * gst/gstqueue.c: Adapt for pad activation changes.
1595
1596         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1597         sched.
1598         (gst_pipeline_dispose): Drop ref on sched.
1599
1600         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1601         (gst_pad_activate_default): Push mode by default.
1602         (pre_activate_switch, post_activate_switch): New stubs, things to
1603         do before and after switching activation modes on pads.
1604         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1605         the pad's activate function to choose which mode to activate.
1606         Shortcut on deactivation and call the right function directly.
1607         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1608         mode.
1609         (gst_pad_activate_push): New API, same for push mode.
1610         (gst_pad_set_activate_function) 
1611         (gst_pad_set_activatepull_function) 
1612         (gst_pad_set_activatepush_function): Setters for new API.
1613
1614         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1615         Trace all miniobjects.
1616         (gst_mini_object_make_writable): Unref the arg if we copy, like
1617         gst_caps_make_writable.
1618
1619         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1620
1621         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1622         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1623         Adapt for new pad API.
1624
1625         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1626
1627         * gst/gstelement.h:
1628         * gst/gstelement.c (gst_element_iterate_src_pads) 
1629         (gst_element_iterate_sink_pads): New API functions.
1630         
1631         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1632         should fold into gstiterator.c in some form.
1633         (gst_element_pads_activate): Simplified via use of fold and
1634         delegation of decisions to gstpad->activate.
1635
1636         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1637         help in debugging.
1638
1639         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1640         class once in init, like gstmessage. Didn't run into this issue
1641         but it seems correct. Don't initialize a trace, gstminiobject does
1642         that.
1643
1644         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1645         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1646         to the bus.
1647         (assert_live_count): New util function, uses alloc traces to check
1648         cleanup.
1649
1650         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1651         To be modified when unlink drops the internal pad.
1652
1653 2005-06-27  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1656         (gst_bin_change_state):
1657         Cleanup the get_state() function a little, make sure it
1658         iterates the same set of elements.
1659         Added stub iterate_state_order().
1660
1661 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1662
1663         * docs/gst/gstreamer-docs.sgml:
1664         * docs/gst/gstreamer-sections.txt:
1665         * docs/gst/gstreamer.types:
1666         * docs/gst/tmpl/gstbasesink.sgml:
1667         * docs/gst/tmpl/gstbasesrc.sgml:
1668         * docs/gst/tmpl/gstbasetransform.sgml:
1669         * docs/gst/tmpl/gstelement.sgml:
1670         * docs/gst/tmpl/gstiterator.sgml:
1671         * gst/base/gstbasesrc.c:
1672         * gst/base/gstbasesrc.h:
1673         * gst/base/gstbasetransform.h:
1674         * gst/gstelement.c:
1675         * gst/gstiterator.h:
1676           adding basetransform and iterator docs
1677
1678 2005-06-27  Andy Wingo  <wingo@pobox.com>
1679
1680         * docs/design/part-activation.txt: Notes on how activation should
1681         work -- not quite implemented yet.
1682
1683 2005-06-25  Wim Taymans  <wim@fluendo.com>
1684
1685         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1686         At least get the chain function correct, needs more
1687         fixing.
1688
1689 2005-06-25  Wim Taymans  <wim@fluendo.com>
1690
1691         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1692         (gst_basesink_handle_object), (gst_basesink_event),
1693         (gst_basesink_do_sync), (gst_basesink_handle_event),
1694         (gst_basesink_change_state):
1695         * gst/gsttask.h:
1696         Right, two problems here: ghostpads don't take locks and
1697         glib _rec_mutex_lock_full() with depth==0 still locks.
1698         Catch illegal locking and g_warn them.
1699
1700 2005-06-25  Wim Taymans  <wim@fluendo.com>
1701
1702         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1703         Have to check for completion now...
1704
1705 2005-06-25  Wim Taymans  <wim@fluendo.com>
1706
1707         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1708         (gst_basesink_handle_object), (gst_basesink_event),
1709         (gst_basesink_do_sync), (gst_basesink_handle_event),
1710         (gst_basesink_change_state):
1711         * gst/gstpad.h:
1712         Unlock STREAM_LOCK whatever the recursion was.
1713
1714 2005-06-25  Wim Taymans  <wim@fluendo.com>
1715
1716         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1717         (gst_basesink_preroll_queue_empty),
1718         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1719         (gst_basesink_event), (gst_basesink_do_sync),
1720         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1721         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1722         (gst_basesink_change_state):
1723         Reworked the base sink, handle event and buffer serialisation
1724         correctly and removed possible deadlock.
1725         Handle EOS correctly.
1726
1727 2005-06-25  Wim Taymans  <wim@fluendo.com>
1728
1729         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1730         (gst_pipeline_change_state):
1731         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1732         Allow elements to post EOS in the state change function.
1733         Fix up -launch, make it exit the poll loop when the
1734         pipeline actually changed state.
1735         Fix up warning parsing in -launch.
1736
1737 2005-06-25  Wim Taymans  <wim@fluendo.com>
1738
1739         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1740         (gst_tee_sink_activate):
1741         Core takes STREAM_LOCK for us now.
1742
1743 2005-06-25  Wim Taymans  <wim@fluendo.com>
1744
1745         * gst/gstelement.c: (gst_element_get_state_func),
1746         (gst_element_set_state):
1747         * gst/gstelement.h:
1748         * gst/gstmessage.c: (gst_message_parse_error),
1749         (gst_message_parse_warning):
1750         Keep track of current target state while performing a state
1751         change so that subclasses can do something interesting.
1752         Fix parsing of warning/error messages when GError is NULL.
1753
1754 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1755
1756         * docs/gst/Makefile.am:
1757         * docs/gst/gstreamer-docs.sgml:
1758         * docs/gst/gstreamer-sections.txt:
1759         * docs/gst/gstreamer.types:
1760         * docs/gst/tmpl/gstbasesink.sgml:
1761         * docs/gst/tmpl/gstbasesrc.sgml:
1762         * docs/gst/tmpl/gstbin.sgml:
1763         * docs/gst/tmpl/gstcompat.sgml:
1764         * docs/gst/tmpl/gstfakesink.sgml:
1765         * docs/gst/tmpl/gstfakesrc.sgml:
1766         * docs/gst/tmpl/gstfilesink.sgml:
1767         * docs/gst/tmpl/gstfilesrc.sgml:
1768         * docs/gst/tmpl/gstindex.sgml:
1769         * docs/manual/appendix-quotes.xml:
1770         * gst/base/gstbasesrc.h:
1771         * gst/elements/gstfakesrc.h:
1772         * gst/gstmessage.h:
1773           start pulling in base classes and elements in our docs
1774
1775 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1776
1777         * docs/gst/Makefile.am:
1778         * docs/libs/Makefile.am:
1779           fixed make distcheck with gtk-doc 1.3
1780
1781 2005-06-23  Wim Taymans  <wim@fluendo.com>
1782
1783         * gst/gstelement.c: (gst_element_get_state_func),
1784         (gst_element_set_state), (gst_element_change_state):
1785         When the state did not change, also report NO_PREROLL
1786         when it matters.
1787
1788 2005-06-23  Wim Taymans  <wim@fluendo.com>
1789
1790         * gst/gstpad.c: (gst_pad_event_default):
1791         * gst/gstqueue.c: (gst_queue_loop):
1792         No unsafe task pausing please.
1793
1794 2005-06-23  Wim Taymans  <wim@fluendo.com>
1795
1796         * gst/schedulers/threadscheduler.c:
1797         (gst_thread_scheduler_task_start),
1798         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1799         Ref the task before pushing it on the threadpool. This
1800         makes sure that we have a ref when the threadfunction is
1801         actually called.
1802
1803 2005-06-23  Andy Wingo  <wingo@pobox.com>
1804
1805         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1806         offset is greater than the file's size.
1807
1808         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1809         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1810         * gst/gstobject.c (gst_object_class_init): Make the class lock
1811         recursive. Wim won't let me drop deep_notify. Decodebin works
1812         again, whoopdy doo.
1813
1814         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1815         internal pad, and hacks accordingly. Doesn't do it on the target
1816         pad because we change its caps. Probably catches all cases of
1817         interest tho.
1818         (gst_ghost_pad_set_property): Connect to notify::caps as
1819         appropritate.
1820
1821         * tests/network-clock.scm (plot-simulation): Pipe data to the
1822         elite python skript.
1823
1824         * tests/network-clock-utils.scm (define-parameter): New macro,
1825         defines a parameter that can be set via the command line.
1826         (set-parameter!, parse-parameter-arguments): Command line args
1827         parser.
1828
1829         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1830         stdin.
1831
1832 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1833
1834         * gst/elements/gsttypefindelement.c:
1835         (gst_type_find_element_handle_event):
1836           Don't restart typefinding on a discont.
1837         * gst/gstelement.c: (gst_element_set_state):
1838           Debug spelling fix.
1839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1840           Allow changing mode of an active pad.
1841           Debug output fixes.
1842         * gst/registries/gstlibxmlregistry.c: (load_feature):
1843           Don't cast a static pad template to a normal pad template.
1844
1845 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1846
1847         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1848         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1849           remove gst_strtoll completely, since it didn't actually do
1850           anything more than what g_ascii_strtoull already does.
1851           check for range errors when deserializing
1852           do a cast for the unsigned cases; but further fixing needs
1853           a decision on what the interpretation of "(int)" and
1854           deserialization should be for values that fall outside the
1855           type's boundaries (ie, refuse, or interpret as casting)
1856
1857 2005-06-23  Wim Taymans  <wim@fluendo.com>
1858
1859         * check/Makefile.am:
1860         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1861         * docs/design/part-live-source.txt:
1862         * docs/design/part-states.txt:
1863         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1864         (gst_basesrc_set_live), (gst_basesrc_is_live),
1865         (gst_basesrc_get_range), (gst_basesrc_activate),
1866         (gst_basesrc_change_state):
1867         * gst/base/gstbasesrc.h:
1868         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1869         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1870         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1871         * gst/gstelement.c: (gst_element_get_state_func),
1872         (gst_element_set_state):
1873         * gst/gstelement.h:
1874         * gst/gsttypes.h:
1875         * tools/gst-launch.c: (event_loop), (main):
1876         Added support for live sources and other elements that
1877         cannot do preroll.
1878         Updated design docs, added live-source design doc.
1879         Implemented live source functionality in basesrc
1880         Fix error condition in _bin_get_state()
1881         Implement live source handling in -launch.
1882         Added check for live sources.
1883         Fixed case in GstBin where elements were changed state
1884         multiple times.
1885
1886
1887 2005-06-23  Andy Wingo  <wingo@pobox.com>
1888
1889         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1890         borken refcounting.
1891
1892         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1893         gst_caps_replace takes care of this for us.
1894
1895         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1896         gst_pad_set_caps on the target, not just its setcaps() function.
1897
1898         * tests/network-clock.scm: 
1899         * tests/network-clock-utils.scm: A network clock simulator.
1900         Something of an algorithmic testbed before doing something in C.
1901
1902 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1903
1904         * check/Makefile.am:
1905         * check/gst/capslist.h:
1906           copy over from 0.8, and add two with bitmasks specified with
1907           (int) 0xFF...
1908         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1909           add test to parse everything from capslist.h
1910         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1911         (main):
1912           add test for structure deserialization
1913         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1914           add tests for deserialization of strings to int types
1915         * gst/gststructure.c: (gst_structure_nth_field_name):
1916         * gst/gststructure.h:
1917           add a way to get the name of a field referenced by index
1918         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1919           instead of checking if the resulting long long lies between
1920           min and max, we check if the long long would fit into
1921           a number of bytes for the final type.
1922           This fixes cases where a string represents 2^32 - 1, which
1923           when cast to int would be the (valid) -1, but is bigger than
1924           G_MAXINT
1925
1926 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1927
1928         * gst/parse/grammar.y:
1929           add a log line for type deserialization
1930
1931 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * check/gst/gstvalue.c: (START_TEST):
1934         * gst/gstvalue.c: (gst_value_deserialize):
1935           return long long, not int, so gint64 deserialization actually
1936           works.  Is there any flag that makes the compiler check this ?
1937           Fixes #308559
1938
1939 2005-06-22  Wim Taymans  <wim@fluendo.com>
1940
1941         * gst/gstbuffer.h:
1942         Added convenience macros for setting buffers in GValue.
1943
1944 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1945
1946         * check/gst/.cvsignore:
1947         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1948           add a test deserializing int64, and comment part out because
1949           it fails, yay !
1950
1951 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1952
1953         * check/Makefile.am:
1954         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1955         * testsuite/Makefile.am:
1956         * testsuite/caps/Makefile.am:
1957         * testsuite/caps/value_serialize.c:
1958         * testsuite/test_gst_init.c:
1959           move a value_serialize test over
1960
1961 2005-06-20  Wim Taymans  <wim@fluendo.com>
1962
1963         * gst/gstpad.c:
1964         Small doc updates.
1965         
1966         * gst/gstvalue.c: (gst_value_compare_buffer),
1967         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1968         (gst_value_compare_flags), (gst_value_serialize_flags),
1969         (gst_value_deserialize_flags), (_gst_value_initialize):
1970         Fix serialisation of buffers, they are not boxed types anymore
1971
1972 2005-06-20  Wim Taymans  <wim@fluendo.com>
1973
1974         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1975         Testcase to show error in buffer-on-caps serialisation.
1976
1977 2005-06-20  Andy Wingo  <wingo@pobox.com>
1978
1979         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1980         will be adding to later.
1981
1982         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1983         if its socks fill with rocks.
1984         (gst_system_clock_obtain): Set the name on object construction.
1985         Avoid double-checked locking.
1986
1987 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * gst/gsturi.c: (gst_element_make_from_uri):
1990           Fix potential endless loop.
1991
1992 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1993
1994         * check/Makefile.am:
1995           add gsttag
1996         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1997         (main):
1998           move over from testsuite dir and clean up
1999         * configure.ac:
2000         * gst/gsttag.c:
2001         * testsuite/Makefile.am:
2002         * testsuite/tags/.cvsignore:
2003         * testsuite/tags/Makefile.am:
2004         * testsuite/tags/merge.c:
2005           remove testsuite/tags
2006
2007 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2008
2009         * docs/gst/gstreamer-sections.txt:
2010         * docs/gst/tmpl/gstenumtypes.sgml:
2011         * win32/gstenumtypes.c:
2012           clean up documentation build a little
2013
2014 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2015
2016         * check/gstcheck.h:
2017           add macros for checking refcounts on objects and caps
2018         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2019           add some more unit tests
2020         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2021         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2022           fix leaked refcounts (I hope :)) so unittest works
2023         * gst/gstpad.h:
2024           whitespace removal
2025
2026 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2027
2028         * configure.ac: back to HEAD
2029
2030 === release 0.9.1 ===
2031
2032 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2033
2034         * NEWS:
2035         * RELEASE:
2036           updated
2037
2038 2005-06-17  Andy Wingo  <wingo@pobox.com>
2039
2040         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2041         assert; it's always possible that the pad gets deactivated in
2042         between the checks in gstpad.c and the implementation. Rely on
2043         finish_preroll() to return a FLUSHING or similar instead of on the
2044         assert.
2045         
2046         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2047         clock and post an EOS message if we come out of finish_preroll in
2048         the playing state.
2049
2050 2005-06-16  David Schleef  <ds@schleef.org>
2051
2052         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2053         (gst_capsfilter_set_property): Allow NULL as possible value
2054         for filter_caps property, indicating GST_CAPS_ANY.
2055
2056 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2057
2058         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2059           fix debug output
2060         * gst/schedulers/Makefile.am:
2061           use libgst prefix
2062         * gstreamer.spec.in:
2063           fix spec for it
2064
2065 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2066
2067         * gstreamer.spec.in:
2068           clean up
2069
2070 2005-06-08  Andy Wingo  <wingo@pobox.com>
2071
2072         * gst/gstutils.c: RPAD fixes all around.
2073         (gst_element_link_pads): Refcounting fixes.
2074
2075         * tools/gst-inspect.c:
2076         * tools/gst-xmlinspect.c:
2077         * parse/grammar.y:
2078         * gst/base/gsttypefindhelper.c:
2079         * gst/base/gstbasesink.c:
2080         * gst/gstqueue.c: RPAD fixes.
2081
2082         * gst/gstghostpad.h:
2083         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2084         pads. The tricky thing is they provide both source and sink
2085         interfaces, since they proxy the internal pad for the external
2086         pad, and vice versa. Implement with lower-level ProxyPad objects,
2087         with the interior proxy pad as a child of the exterior ghost pad.
2088         Should write a doc on this.
2089         
2090         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2091         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2092         gst_object API.
2093         
2094         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2095         pads are real pads. No ghost pads in this file. Not documenting
2096         the myriad s/RPAD/PAD/ and REALIZE fixes.
2097         (gst_pad_class_init): Add properties for "direction" and
2098         "template". Both are construct-only, so they can't change during
2099         the life of the pad. Fixes properly deriving from GstPad.
2100         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2101         derived objects, just set properties when creating the objects via
2102         g_object_new.
2103         (gst_pad_get_parent): Implement as a function, return NULL if the
2104         parent is not an element.
2105         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2106         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2107         
2108         * gst/gstobject.c (gst_object_class_init): Make name a construct
2109         property. Don't set it in the object init.
2110
2111         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2112         with UNKNOWN direction.
2113         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2114         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2115         (gst_element_remove_pad): Remove ghost-pad special cases.
2116         (gst_element_pads_activate): Remove rpad cruft.
2117
2118         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2119         catch the pad's-parent-not-an-element case.
2120
2121         * gst/gst.h: Include gstghostpad.h.
2122
2123         * gst/gst.c (init_post): No more real, ghost pads.
2124
2125         * gst/Makefile.am: Add gstghostpad.[ch].
2126
2127         * check/Makefile.am:
2128         * check/gst/gstbin.c:
2129         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2130         into a bin creates ghost pads, and that the refcounts are right.
2131         Partly moved from gstbin.c.
2132
2133 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2134
2135         * check/gst-libs/.cvsignore:
2136         * check/gst/.cvsignore:
2137         * check/pipelines/.cvsignore:
2138           ignore more
2139         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2140         (START_TEST), (cleanup_suite), (main):
2141           add some tests related to cleanup after running pipelines
2142
2143 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2144
2145         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2146           add a testsuite for GstBuffer
2147
2148 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2149
2150         * gst/gstminiobject.h:
2151           add defines for accessing the refcount
2152
2153 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2154
2155         * Makefile.am: added support for html unit test coverage reports
2156
2157 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2158
2159         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2160           Free existing caps if the capsfilter changes. Add a FIXME about
2161           setting those caps on the pads.
2162
2163         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2164           Before adding a ghost pad to a parent bin, check that there isn't
2165           already one for the element on the bin. Prevents infinite recursion
2166           when using decodebin in parse pipelines. Andy says he'll rewrite the
2167           way this works anyway, so ignore the hack.
2168
2169 2005-06-02  Andy Wingo  <wingo@pobox.com>
2170
2171         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2172         file size, pass it on to the type find helper.
2173
2174         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2175         segment_start and segment_end properly according to the seek
2176         method. Segment_end is still a bit flaky because offset can be
2177         negative for CUR and END cases, but it takes -1 as an "unset"
2178         value.
2179
2180 2005-06-02  Wim Taymans  <wim@fluendo.com>
2181
2182         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2183         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2184         (gst_basesink_activate):
2185         * gst/base/gstbasesink.h:
2186         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2187         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2188         (gst_pad_query), (gst_pad_start_task):
2189         * gst/gstpad.h:
2190         * gst/gstqueue.c: (gst_queue_bufferalloc),
2191         (gst_queue_handle_sink_event), (gst_queue_chain):
2192         Bufferalloc: return GstFlowReturn to more accuratly report
2193         why allocation failed.
2194
2195 2005-06-02  Wim Taymans  <wim@fluendo.com>
2196
2197         * gst/gstpipeline.c: (gst_pipeline_send_event):
2198         Take snapshot of state without blocking.
2199
2200 2005-06-02  Wim Taymans  <wim@fluendo.com>
2201
2202         * docs/design/part-TODO.txt:
2203         * docs/design/part-caps.txt:
2204         * docs/design/part-clocks.txt:
2205         * docs/design/part-negotiation.txt:
2206         * docs/design/part-preroll.txt:
2207         Small doc updates 
2208
2209 2005-05-30  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/elements/gstidentity.c: (gst_identity_event),
2212         (gst_identity_transform), (gst_identity_get_property):
2213         Protect last_message property as it is accessed from
2214         multiple threads.
2215
2216 2005-05-30  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/gstelement.c: (gst_element_init),
2219         (gst_element_pads_activate), (gst_element_change_state):
2220         Slicker pad activation code.
2221
2222 2005-05-30  Wim Taymans  <wim@fluendo.com>
2223
2224         * gst/Makefile.am:
2225         * gst/gstelement.h:
2226         * gst/gstelementfactory.h:
2227         * gst/gsttypes.h:
2228         Move elementfactory methods to separate .h file.
2229
2230 2005-05-30  Wim Taymans  <wim@fluendo.com>
2231
2232         * docs/design/part-overview.txt:
2233         * gst/gstsystemclock.h:
2234         Small typo fixes, doc updates.
2235
2236 2005-05-30  Wim Taymans  <wim@fluendo.com>
2237
2238         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2239         (init_popt_callback):
2240         Remove cpu-opt flag.
2241
2242 2005-05-30  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2245         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2246         * gst/gstbuffer.h:
2247         Avoid typechecking in places where not needed.
2248         Added accessor for malloc_data.
2249
2250 2005-05-30  Wim Taymans  <wim@fluendo.com>
2251
2252         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2253         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2254         (gst_pad_configure_sink), (gst_pad_configure_src),
2255         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2256         (gst_pad_start_task):
2257         Propagate errors from _set_caps() in configure_src/sink
2258         functions instead of returning TRUE.
2259         FLUSH events can travel up and downstream
2260
2261
2262 2005-05-30  Wim Taymans  <wim@fluendo.com>
2263
2264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2265         (gst_basesink_activate):
2266         Handle EOS in preroll.
2267
2268 2005-05-30  Wim Taymans  <wim@fluendo.com>
2269
2270         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2271         (gst_queue_loop), (gst_queue_handle_src_event):
2272         Remove old pieces of code
2273         Flushing the queue in an upstream event is a very bad idea.
2274
2275 2005-05-26  Andy Wingo  <wingo@pobox.com>
2276
2277         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2278         gst_value_set_mini_object so as to add a ref on the object (which
2279         will be removed when the value is unset).
2280
2281         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2282         arg type in ::handoff.
2283
2284         * gst/gstelement.c (gst_element_change_state): Also deactivate
2285         pads in READY->NULL, just in case the element didn't make it to
2286         PAUSED. Wingo tested, Wim approved.
2287
2288 2005-05-26  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2291         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2292         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2293         A flushing pad cannot be used to alloc_buffer from.
2294
2295 2005-05-26  Wim Taymans  <wim@fluendo.com>
2296
2297         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2298         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2299         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2300         (gst_bus_create_watch), (gst_bus_add_watch_full):
2301         * gst/gstbus.h:
2302         Implement a real GSource and use g_main_context_wakeup() to
2303         signal new messages instead of the socketpair.
2304
2305 2005-05-25  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2308         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2310         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2311         (gst_pad_send_event), (gst_pad_start_task):
2312         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2313         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2314         (gst_queue_sink_activate), (gst_queue_src_activate),
2315         (gst_queue_change_state):
2316         * gst/gstqueue.h:
2317         Fix state changes for non sinks. We now change sinks, then elements
2318         with unconnected srcpads, then the rest.
2319         More efficient queue unlocking in flush and state changes.
2320         Set the pad activate mode even if it does not have an activate
2321         function.
2322
2323 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2324
2325         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2326           Don't go in pull mode for non-seekable sources.
2327         * gst/elements/gsttypefindelement.h:
2328         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2329         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2330         (free_entry), (stop_typefinding),
2331         (gst_type_find_element_handle_event), (find_peek),
2332         (gst_type_find_element_chain), (do_pull_typefind),
2333         (gst_type_find_element_change_state):
2334           Allow typefinding (w/o seeking) in push-mode, simplified version
2335           of what was in 0.8.
2336         * gst/gstutils.c: (gst_buffer_join):
2337         * gst/gstutils.h:
2338           gst_buffer_join() from 0.8.
2339
2340 2005-05-25  Wim Taymans  <wim@fluendo.com>
2341
2342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2343         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2344         (gst_pad_send_event), (gst_pad_start_task):
2345         Disable attempt at mode switching until it is figured out.
2346
2347 2005-05-25  Wim Taymans  <wim@fluendo.com>
2348
2349         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2350         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2351         (gst_basesink_finish_preroll), (gst_basesink_chain),
2352         (gst_basesink_loop), (gst_basesink_activate),
2353         (gst_basesink_change_state):
2354         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2355         (gst_basesrc_get_range), (gst_basesrc_loop),
2356         (gst_basesrc_activate):
2357         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2358         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2359         (gst_real_pad_init), (gst_real_pad_set_property),
2360         (gst_real_pad_get_property), (gst_pad_set_active),
2361         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2362         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2363         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2364         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2365         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2366         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2367         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2368         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2369         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2370         (gst_pad_stop_task):
2371         * gst/gstpad.h:
2372         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2373         (gst_queue_loop), (gst_queue_src_activate):
2374         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2375         (gst_task_get_state):
2376         * gst/gsttask.h:
2377         * gst/schedulers/threadscheduler.c:
2378         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2379         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2380         in task function.
2381         Remove ACTIVE pad flag, use FLUSHING everywhere
2382         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2383         functions.
2384         Add locks around IS_FLUSHING when reading.
2385         Take STREAM lock in chain(), get_range() functions so plugins
2386         don't need to take it anymore.
2387         
2388
2389
2390 2005-05-25  Wim Taymans  <wim@fluendo.com>
2391
2392         * tools/gst-launch.c: (event_loop):
2393         Unref message after using its contents instead of
2394         before.
2395
2396 2005-05-24  Wim Taymans  <wim@fluendo.com>
2397
2398         * docs/design/draft-ghostpads.txt:
2399         * docs/design/draft-push-pull.txt:
2400         * docs/design/draft-query.txt:
2401         * docs/design/part-overview.txt:
2402         Docs updates, added general overview doc.
2403
2404 2005-05-21  David Schleef  <ds@schleef.org>
2405
2406         * docs/gst/tmpl/old/GstBin.sgml:
2407         * docs/gst/tmpl/old/GstBuffer.sgml:
2408         * docs/gst/tmpl/old/GstCaps.sgml:
2409         * docs/gst/tmpl/old/GstClock.sgml:
2410         * docs/gst/tmpl/old/GstCompat.sgml:
2411         * docs/gst/tmpl/old/GstData.sgml:
2412         * docs/gst/tmpl/old/GstElement.sgml:
2413         * docs/gst/tmpl/old/GstEvent.sgml:
2414         * docs/gst/tmpl/old/GstIndex.sgml:
2415         * docs/gst/tmpl/old/GstStructure.sgml:
2416         * docs/gst/tmpl/old/GstTag.sgml:
2417         * docs/gst/tmpl/old/cothreads.sgml:
2418         * docs/gst/tmpl/old/cothreads_compat.sgml:
2419         * docs/gst/tmpl/old/gettext.sgml:
2420         * docs/gst/tmpl/old/gobject2gtk.sgml:
2421         * docs/gst/tmpl/old/grammar.tab.sgml:
2422         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2423         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2424         * docs/gst/tmpl/old/gst_private.sgml:
2425         * docs/gst/tmpl/old/gstaggregator.sgml:
2426         * docs/gst/tmpl/old/gstarch.sgml:
2427         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2428         * docs/gst/tmpl/old/gstbufferstore.sgml:
2429         * docs/gst/tmpl/old/gstdata_private.sgml:
2430         * docs/gst/tmpl/old/gstdisksink.sgml:
2431         * docs/gst/tmpl/old/gstdisksrc.sgml:
2432         * docs/gst/tmpl/old/gstelementfactory.sgml:
2433         * docs/gst/tmpl/old/gstextratypes.sgml:
2434         * docs/gst/tmpl/old/gstfakesink.sgml:
2435         * docs/gst/tmpl/old/gstfakesrc.sgml:
2436         * docs/gst/tmpl/old/gstfdsink.sgml:
2437         * docs/gst/tmpl/old/gstfdsrc.sgml:
2438         * docs/gst/tmpl/old/gstfilesink.sgml:
2439         * docs/gst/tmpl/old/gstfilesrc.sgml:
2440         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2441         * docs/gst/tmpl/old/gstidentity.sgml:
2442         * docs/gst/tmpl/old/gstindexfactory.sgml:
2443         * docs/gst/tmpl/old/gstmarshal.sgml:
2444         * docs/gst/tmpl/old/gstmd5sink.sgml:
2445         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2446         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2447         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2448         * docs/gst/tmpl/old/gstpipefilter.sgml:
2449         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2450         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2451         * docs/gst/tmpl/old/gstshaper.sgml:
2452         * docs/gst/tmpl/old/gstspider.sgml:
2453         * docs/gst/tmpl/old/gstspideridentity.sgml:
2454         * docs/gst/tmpl/old/gststatistics.sgml:
2455         * docs/gst/tmpl/old/gsttee.sgml:
2456         * docs/gst/tmpl/old/gsttimecache.sgml:
2457         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2458         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2459         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2460         * docs/gst/tmpl/old/types.sgml:
2461           I didn't intend to add these or check them in.
2462
2463 2005-05-19  David Schleef  <ds@schleef.org>
2464
2465         * configure.ac: Use -no-common everywhere.  In a sane world, it
2466           would be the default in libtool, because without it, you can't
2467           build DLLs on Windows.
2468         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2469         * docs/gst/gstreamer-sections.txt:
2470         * docs/gst/tmpl/gstcpu.sgml:
2471         * docs/gst/tmpl/gstdata.sgml:
2472         * docs/gst/tmpl/gstthread.sgml:
2473
2474 2005-05-19  David Schleef  <ds@schleef.org>
2475
2476         * gst/gstminiobject.c: (gst_value_set_mini_object),
2477         (gst_value_take_mini_object), (gst_value_get_mini_object):
2478         * gst/gstminiobject.h: Add GValue set/get functions.
2479
2480 2005-05-19  Wim Taymans  <wim@fluendo.com>
2481
2482         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2483         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2484         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2485         * gst/gstbuffer.h:
2486         * gst/gstbus.c: (gst_bus_post):
2487         * gst/gstelement.c: (gst_element_get_random_pad):
2488         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2489         Make subbufer unref the parent in finalize.
2490         some more debugging info.
2491
2492
2493 2005-05-19  Wim Taymans  <wim@fluendo.com>
2494
2495         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2496         (gst_basesink_init), (gst_basesink_finalize),
2497         (gst_basesink_activate), (gst_basesink_change_state):
2498         Don't free preroll queue too early.
2499
2500 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2501
2502         * gst/Makefile.am:
2503         * gst/ROADMAP:
2504           Hi, I'm outdated. Please shoot me.
2505
2506 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2507
2508         * gst/gstpipeline.c: (gst_pipeline_send_event):
2509           Do not access variables after they have been deleted.
2510
2511 2005-05-19  Wim Taymans  <wim@fluendo.com>
2512
2513         * tools/gst-inspect.c: (print_plugin_features):
2514         A plugin feature does unfortunatly not use the
2515         object name yet...
2516
2517 2005-05-18  Wim Taymans  <wim@fluendo.com>
2518
2519         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2520         Port _span() functions to new subbuffers.
2521
2522 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2523
2524         * gst/gstbin.c: (gst_bin_add_func):
2525           Fix clock settery in bins when adding kids after the clock has
2526           been selected.
2527
2528 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2529
2530         * gst/elements/gstidentity.c: (gst_identity_class_init):
2531           Workaround until signals support GstMiniObject.
2532
2533 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2534
2535         * gst/gstbuffer.c:
2536         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2537
2538 2005-05-18  Wim Taymans  <wim@fluendo.com>
2539
2540         * gst/base/Makefile.am:
2541         * gst/base/gstadapter.c: (gst_adapter_base_init),
2542         (gst_adapter_class_init), (gst_adapter_init),
2543         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2544         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2545         (gst_adapter_flush), (gst_adapter_available),
2546         (gst_adapter_available_fast):
2547         * gst/base/gstadapter.h:
2548         Ported and added adapter to the base classes.
2549
2550 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2551
2552         * gst/gst.c:
2553         * gst/gstmessage.c:
2554           Make sure the class is reffed/unreffed once before threads can be
2555           used.  Fixes #304551.
2556
2557 2005-05-17  Wim Taymans  <wim@fluendo.com>
2558
2559         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2560         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2561         * gst/gstminiobject.c: (gst_mini_object_get_type),
2562         (gst_mini_object_free):
2563         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2564         (gst_pad_push), (gst_pad_push_event):
2565         * gst/gstqueue.c: (gst_queue_change_state):
2566         Don't queue buffers in basesink when we are flushing.
2567         Unref buffer when flushing in basesink.
2568         Flush queue when going to READY
2569         Unref buffer when _push() returns an error.
2570         Don't free MiniObject instance when refcount is incremented
2571         in _finalize() so that we can recover objects.
2572
2573 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2574
2575         * docs/manual/advanced-schedulers.xml:
2576         * docs/manual/appendix-checklist.xml:
2577         * docs/pwg/advanced-clock.xml:
2578         * docs/pwg/advanced-interfaces.xml:
2579         * docs/pwg/advanced-request.xml:
2580         * docs/pwg/advanced-types.xml:
2581         * docs/pwg/intro-preface.xml:
2582         * examples/plugins/example.c: (gst_example_get_type),
2583         (gst_example_class_init), (gst_example_chain),
2584         (gst_example_set_property), (gst_example_get_property),
2585         (gst_example_change_state), (plugin_init):
2586         * examples/plugins/example.h:
2587           small doc fixes
2588
2589 2005-05-17  Wim Taymans  <wim@fluendo.com>
2590
2591         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2592         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2593         * gst/gstqueue.c: (gst_queue_change_state):
2594         Clear queue when going to READY.
2595         Remove IN_SETCAPS flag too.
2596
2597 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2598
2599         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2600           Remove implicit cast from gboolean to GstElementStateReturn;
2601           make sure we still return failure in paused => ready case if
2602           the parent class fails to change state and our own stop 
2603           vfunc succeeds.
2604
2605 2005-05-17  Wim Taymans  <wim@fluendo.com>
2606
2607         * tools/gst-launch.c: (event_loop):
2608         Message was unreffed too soon.
2609
2610 2005-05-16  Andy Wingo  <wingo@pobox.com>
2611
2612         * gst/gstbin.c (sink_iterator_filter): Err... um...
2613
2614         * check/gst/gstbin.c (test_ghost_pads): New test for the
2615         ghosting-if-elements-not-in-same-bin behavior.
2616
2617 2005-05-16  David Schleef  <ds@schleef.org>
2618
2619         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2620         accessing refcount directly.
2621
2622 2005-05-15  David Schleef  <ds@schleef.org>
2623
2624         * check/Makefile.am: remove GstData checks
2625         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2626         * gst/Makefile.am: add miniobject, remove data
2627         * gst/gst.h: add miniobject, remove data
2628         * gst/gstdata.c: remove
2629         * gst/gstdata.h: remove
2630         * gst/gstdata_private.h: remove
2631         * gst/gsttypes.h: remove GstEvent and GstMessage
2632         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2633         * gst/gstmarshal.list: change BOXED -> OBJECT
2634
2635         Implement GstMiniObject.
2636         * gst/gstminiobject.c:
2637         * gst/gstminiobject.h:
2638
2639         Modify to be subclasses of GstMiniObject.
2640         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2641         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2642         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2643         (gst_subbuffer_get_type), (gst_subbuffer_init),
2644         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2645         (gst_buffer_span):
2646         * gst/gstbuffer.h:
2647         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2648         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2649         (_gst_event_copy), (gst_event_new):
2650         * gst/gstevent.h:
2651         * gst/gstmessage.c: (_gst_message_initialize),
2652         (gst_message_get_type), (gst_message_class_init),
2653         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2654         (gst_message_new), (gst_message_new_error),
2655         (gst_message_new_warning), (gst_message_new_tag),
2656         (gst_message_new_state_changed), (gst_message_new_application):
2657         * gst/gstmessage.h:
2658         * gst/gstprobe.c: (gst_probe_perform),
2659         (gst_probe_dispatcher_dispatch):
2660         * gst/gstprobe.h:
2661         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2662         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2663         (_gst_query_copy), (gst_query_new):
2664
2665         Update elements for GstData -> GstMiniObject changes
2666         * gst/gstquery.h:
2667         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2668         (gst_queue_chain), (gst_queue_loop):
2669         * gst/elements/gstbufferstore.c:
2670         (gst_buffer_store_add_buffer_func),
2671         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2672         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2673         (gst_fakesink_render):
2674         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2675         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2676         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2677         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2678         (gst_filesrc_create_read):
2679         * gst/elements/gstidentity.c: (gst_identity_class_init):
2680         * gst/elements/gsttypefindelement.c:
2681         (gst_type_find_element_src_event), (free_entry_buffers),
2682         (gst_type_find_element_handle_event):
2683         * libs/gst/dataprotocol/dataprotocol.c:
2684         (gst_dp_header_from_buffer):
2685         * libs/gst/dataprotocol/dataprotocol.h:
2686         * libs/gst/dataprotocol/dp-private.h:
2687
2688 2005-05-15  David Schleef  <ds@schleef.org>
2689
2690         * gst/elements/gstelements.c: Don't include headers that were
2691         just removed.
2692
2693 2005-05-15  David Schleef  <ds@schleef.org>
2694
2695         * gst/elements/Makefile.am: Remove some elements that don't
2696         need to be in the core (or even exist at all).
2697         * gst/elements/gstaggregator.c:
2698         * gst/elements/gstaggregator.h:
2699         * gst/elements/gstmd5sink.c:
2700         * gst/elements/gstmd5sink.h:
2701         * gst/elements/gstmultifilesrc.c:
2702         * gst/elements/gstmultifilesrc.h:
2703         * gst/elements/gstpipefilter.c:
2704         * gst/elements/gstpipefilter.h:
2705         * gst/elements/gstshaper.c:
2706         * gst/elements/gstshaper.h:
2707         * gst/elements/gststatistics.c:
2708         * gst/elements/gststatistics.h:
2709         * po/POTFILES.in: Remove above files.
2710
2711 2005-05-14  Andy Wingo  <wingo@pobox.com>
2712
2713         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2714         so as to get the refs right.
2715         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2716         unreffing objects that don't pass the filter.
2717
2718         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2719         gst_element_set_bus.
2720         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2721         normal cases, this will destroy the bus.
2722
2723         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2724         object.
2725
2726         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2727         has no sinks.
2728
2729 2005-05-13  Andy Wingo  <wingo@pobox.com>
2730
2731         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2732         gst_pad_link, call pad_link_maybe_ghosting,
2733         (pad_link_maybe_ghosting): Links pads, making sure that the
2734         elements being linked are in the same bin.
2735         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2736         Helpers for pad_link_maybe_ghosting.
2737
2738 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2739
2740         * configure.ac:
2741           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2742
2743 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2744
2745         * docs/design/part-element-source.txt:
2746           Mention GstPushSrc
2747
2748 2005-05-12  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/base/gstbasesink.c: (gst_basesink_init),
2751         (gst_basesink_activate):
2752         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2753         (gst_basesrc_is_seekable):
2754         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2755         (bin_element_is_sink), (gst_bin_change_state):
2756         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2757         * gst/gstelement.h:
2758         Identify sinks by their flag to avoid overly complicated
2759         checks (fow now).
2760         Do state changes even for elements not reachable from the
2761         sinks.
2762         BaseSink is a sink now :)
2763         Some more debugging info in the basesrc.
2764
2765
2766 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2767
2768         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2769           Implement _query on a bin, similar to _send_event.
2770
2771 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2772
2773         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2774           Discont event offset format should be GST_FORMAT_BYTES,
2775           not GST_FORMAT_TIME.
2776
2777 2005-05-12  Wim Taymans  <wim@fluendo.com>
2778
2779         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2780         Same fix as Ronald's but without the signal. 
2781
2782 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2783
2784         * gst/gstutils.c: (gst_element_query_position):
2785           No, an element is not a pad.
2786
2787 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2788
2789         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2790         (gst_bin_get_state):
2791           If a child is removed from a bin while we remove the child from
2792           the bin and while we're retrieving its state, signal this to the
2793           get_state function so we abort the wait (instead of waiting for
2794           a timeout) and can immediately re-iterate over all other elements.
2795
2796 2005-05-12  Wim Taymans  <wim@fluendo.com>
2797
2798         * gst/base/Makefile.am:
2799         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2800         (gst_basesrc_start):
2801         * gst/base/gstbasesrc.h:
2802         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2803         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2804         (gst_pushsrc_init), (gst_pushsrc_create):
2805         * gst/base/gstpushsrc.h:
2806         Added is_seekable to BaseSrc
2807         Added simple PushSrc.
2808
2809 2005-05-11  Wim Taymans  <wim@fluendo.com>
2810
2811         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2812         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2813         (gst_element_link_pads), (gst_element_query_position),
2814         (gst_element_query_convert), (intersect_caps_func),
2815         (gst_pad_query_position), (gst_pad_query_convert):
2816         Fix refcounting in utils function.
2817         No point in trying to activate a pad when it's added, it could
2818         be added from the state change function and then we deadlock, the
2819         element has to decide what to do.
2820
2821 2005-05-10  Andy Wingo  <wingo@pobox.com>
2822
2823         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2824         *all* the arguments.
2825
2826         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2827         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2828         lock (according to the docs -- if this is wrong change the docs).
2829
2830         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2831         flush messages in the NULL state.
2832
2833         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2834         message immediately and return.
2835         (gst_bus_set_flushing): New function. If a bus is flushing, it
2836         flushes out any queued messages and immediately unrefs new
2837         messages. This is so when an element goes to NULL, all of the
2838         unhandled messages coming from it can be freed, and their
2839         references to the element dropped. In other words: message source
2840         ref considered harmful :P
2841
2842         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2843         we're finished with it.
2844
2845         * gst/gstmessage.c (gst_message_new_state_changed): 
2846
2847 2005-05-10  Wim Taymans  <wim@fluendo.com>
2848
2849         * gst/gstvalue.c: (gst_value_compare_flags),
2850         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2851         (_gst_value_initialize):
2852         Added flags serialize/deserialize/compare code.
2853
2854 2005-05-09  Andy Wingo  <wingo@pobox.com>
2855
2856         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2857         Intersect the peer's caps with our caps.
2858
2859 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2860
2861         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2862         * gst/elements/gsttypefindelement.c: (find_peek):
2863           Handle negative offsets better. Fixes decodebin.
2864
2865 2005-05-09  Wim Taymans  <wim@fluendo.com>
2866
2867         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2868         (gst_base_transform_event):
2869         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2870         Implement accept_caps.
2871         Fix silly lock/unlock mismatch in base class.
2872
2873 2005-05-09  Wim Taymans  <wim@fluendo.com>
2874
2875         * docs/design/draft-push-pull.txt:
2876         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2877         * gst/elements/gstfilesink.c: (gst_filesink_init),
2878         (gst_filesink_query):
2879         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2880         (gst_type_find_handle_src_query), (find_element_get_length):
2881         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2882         * gst/gstelement.h:
2883         * gst/gstmessage.c:
2884         * gst/gstmessage.h:
2885         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2886         (gst_real_pad_get_caps_unlocked),
2887         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2888         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2889         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2890         (gst_real_pad_dispose), (gst_real_pad_finalize),
2891         (gst_pad_load_and_link), (gst_pad_save_thyself),
2892         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2893         (gst_pad_check_pull_range), (gst_pad_pull_range),
2894         (gst_pad_template_get_type), (gst_pad_template_class_init),
2895         (gst_pad_template_init), (gst_pad_template_dispose),
2896         (name_is_valid), (gst_static_pad_template_get),
2897         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2898         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2899         (gst_pad_get_element_private), (gst_pad_start_task),
2900         (gst_pad_pause_task), (gst_pad_stop_task),
2901         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2902         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2903         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2904         (gst_ghost_pad_new):
2905         * gst/gstpad.h:
2906         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2907         (gst_query_new_position), (gst_query_set_position),
2908         (gst_query_parse_position), (gst_query_new_convert),
2909         (gst_query_set_convert), (gst_query_parse_convert):
2910         * gst/gstquery.h:
2911         * gst/gstqueryutils.c:
2912         * gst/gstqueryutils.h:
2913         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2914         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2915         (gst_queue_handle_src_query):
2916         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2917         (gst_element_query_position), (gst_element_query_convert),
2918         (intersect_caps_func), (gst_pad_query_position),
2919         (gst_pad_query_convert):
2920         * gst/gstutils.h:
2921         * tools/gst-inspect.c: (print_pad_info):
2922         * tools/gst-xmlinspect.c: (print_element_info):
2923         Remove old query functions. Ported old code.
2924         Added position/convert helper functions to gstutils.
2925         Reordered gstpad.c code, grouping relevant things.
2926         Remove gst_message_new(), always need to speficy a specific
2927         message.
2928
2929
2930 2005-05-09  Andy Wingo  <wingo@pobox.com>
2931
2932         * gst/gstiterator.h: Add some includes.
2933
2934         * gst/gstqueryutils.h: Include more headers.
2935
2936         * gst/gstpad.h:
2937         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2938         some uses of gst_pad_query.
2939
2940         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2941         NULL out parameters.
2942         (gst_query_new_position): New proc, allocates a new position
2943         query.
2944
2945         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2946         gstqueryutils.c to the build.
2947
2948         * gst/gststructure.c (gst_structure_set_valist): Implement with
2949         the generic G_VALUE_COLLECT.
2950         
2951 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2952
2953         * gst/Makefile.am: (gst_headers):
2954         Added gstqueryutils.h to the list of headers to install, that was
2955         a 'nachty' move wingo :)
2956
2957 2005-05-06  Andy Wingo  <wingo@pobox.com>
2958
2959         * gst/gstquery.h
2960         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2961         GstData, init a memchunk.
2962         (standard_definitions): Add a few query types, deprecate a few.
2963         (gst_query_get_type): New proc.
2964         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2965         implementation.
2966         (gst_query_new_application, gst_query_get_structure): New public
2967         procs.
2968
2969         * docs/design/draft-query.txt: Removed LINKS from the query types,
2970         because all the rest can be dispatched to other pads -- seemed
2971         ugly to have a query that couldn't be dispatched. internal_links
2972         is fine as a pad method.
2973
2974         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2975         in gstpad.c, but maintain binary compatibility for the moment.
2976         Will fix before 0.9 is out.
2977
2978         * gst/gstqueryutils.c: 
2979         * gst/gstqueryutils.h: New files, implement 3 methods for each
2980         query type: parse_query, parse_response, and set. Probably need an
2981         allocator as well.
2982
2983         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2984
2985         * gst/elements/gstfilesink.c (gst_filesink_query2):
2986         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2987         query_types, and formats methods.
2988
2989         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2990         (gst_pad_set_query2_function): New functions.
2991         (gst_real_pad_init): Set query2_default as the default query2
2992         function. Basically just dispatches to internally linked pads.
2993
2994         Needs review!
2995         
2996         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2997         without using the atomic operations. Only one thread can possibly
2998         be accessing the data at this point. Changed so as to avoid
2999         gst_atomic operations.
3000
3001 2005-05-06  Wim Taymans  <wim@fluendo.com>
3002
3003         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3004         Also set caps if we use the fallback buffer alloc.
3005
3006 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3007
3008         * docs/gst/Makefile.am:
3009         * docs/gst/gstreamer-docs.sgml:
3010         * docs/gst/gstreamer-sections.txt:
3011         * docs/gst/tmpl/gstatomic.sgml:
3012         * docs/gst/tmpl/gstmemchunk.sgml:
3013         * testsuite/elements/struct_i386.h:
3014         * win32/GStreamer.vcproj:
3015         * win32/Makefile:
3016           Purge GstAtomic stuff from docs and win32 makefiles as well
3017
3018 2005-05-06  Wim Taymans  <wim@fluendo.com>
3019
3020         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3021         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3022         * gst/gstpad.c: (gst_pad_peer_get_caps):
3023         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3024         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3025         (gst_queue_src_activate), (gst_queue_change_state):
3026         * gst/gstqueue.h:
3027         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3028         (intersect_caps_func):
3029         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3030         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3031         Some fixes for the peer_get_caps() change.
3032
3033 2005-05-06  Wim Taymans  <wim@fluendo.com>
3034
3035         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3036         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3037         (gst_basesink_activate):
3038         Actually do something with error codes returned from the push
3039         functions.
3040
3041 2005-05-06  Wim Taymans  <wim@fluendo.com>
3042
3043         * docs/design/part-element-sink.txt:
3044         * docs/design/part-element-source.txt:
3045         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3046         (gst_basesink_event), (gst_basesink_activate):
3047         * gst/base/gstbasesink.h:
3048         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3049         (gst_basesrc_activate):
3050         * gst/base/gstbasesrc.h:
3051         * gst/gstelement.c: (gst_element_pads_activate):
3052         Some more documentation.
3053         Fixed scheduling decision in _pads_activate().
3054
3055 2005-05-05  Andy Wingo  <wingo@pobox.com>
3056
3057         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3058         the test suite.
3059
3060 2005-05-05  Wim Taymans  <wim@fluendo.com>
3061
3062         * gst/base/Makefile.am:
3063         * gst/base/gstbasesink.h:
3064         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3065         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3066         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3067         (gst_collectpads_class_init), (gst_collectpads_init),
3068         (gst_collectpads_finalize), (gst_collectpads_new),
3069         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3070         (find_pad), (gst_collectpads_remove_pad),
3071         (gst_collectpads_is_active), (gst_collectpads_collect),
3072         (gst_collectpads_collect_range), (gst_collectpads_start),
3073         (gst_collectpads_stop), (gst_collectpads_peek),
3074         (gst_collectpads_pop), (gst_collectpads_available),
3075         (gst_collectpads_read), (gst_collectpads_flush),
3076         (gst_collectpads_chain):
3077         * gst/base/gstcollectpads.h:
3078         * gst/elements/Makefile.am:
3079         * gst/elements/gstelements.c:
3080         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3081         (gst_fakesink_get_times), (gst_fakesink_event),
3082         (gst_fakesink_preroll), (gst_fakesink_render):
3083         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3084         (gst_filesink_init), (gst_filesink_set_location),
3085         (gst_filesink_open_file), (gst_filesink_close_file),
3086         (gst_filesink_pad_query), (gst_filesink_event),
3087         (gst_filesink_render), (gst_filesink_change_state):
3088         * gst/elements/gstfilesink.h:
3089         Added object to help in making collect pad based elements.
3090         Ported filesink.
3091         Make event function in sink baseclass return gboolean.
3092
3093 2005-05-05  Wim Taymans  <wim@fluendo.com>
3094
3095         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3096         (gst_bin_get_by_name):
3097         * gst/gstbuffer.h:
3098         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3099         (gst_clock_finalize):
3100         * gst/gstdata.c: (gst_data_replace):
3101         * gst/gstdata.h:
3102         * gst/gstelement.c: (gst_element_request_pad),
3103         (gst_element_pads_activate):
3104         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3105         (gst_object_unref):
3106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3107         (gst_pad_set_checkgetrange_function),
3108         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3109         (gst_pad_check_pull_range), (gst_pad_pull_range),
3110         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3111         (gst_pad_pause_task), (gst_pad_stop_task):
3112         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3113         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3114         Fix name lookup in GstBin.
3115         Added _data_replace() function and _buffer_replace()
3116         Use finalize method to clean up clock.
3117         Fix refcounting on request pads.
3118         Fix pad schedule mode error.
3119         Some more object refcounting debug info,
3120
3121
3122 2005-05-04  Andy Wingo <wingo@pobox.com>
3123
3124         * check/Makefile.am:
3125         * docs/gst/tmpl/gstatomic.sgml:
3126         * docs/gst/tmpl/gstplugin.sgml:
3127         * gst/base/gstbasesink.c: (gst_basesink_activate):
3128         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3129         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3130         (gst_basesrc_query), (gst_basesrc_set_property),
3131         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3132         (gst_basesrc_activate):
3133         * gst/base/gstbasesrc.h:
3134         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3135         (gst_base_transform_src_activate):
3136         * gst/elements/gstelements.c:
3137         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3138         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3139         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3140         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3141         (gst_type_find_element_checkgetrange),
3142         (gst_type_find_element_activate):
3143         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3144         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3145         (gst_caps_load_thyself):
3146         * gst/gstelement.c: (gst_element_pads_activate),
3147         (gst_element_save_thyself), (gst_element_restore_thyself):
3148         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3149         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3150         * gst/gstpad.h:
3151         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3152         (gst_xml_parse_file), (gst_xml_parse_memory),
3153         (gst_xml_get_element), (gst_xml_make_element):
3154         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3155         (_file_index_id_save_xml), (gst_file_index_commit):
3156         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3157         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3158         (load_paths):
3159         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3160         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3161         * tools/gst-complete.c: (main):
3162         * tools/gst-compprep.c: (main):
3163         * tools/gst-inspect.c: (print_element_properties_info):
3164         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3165         * tools/gst-xmlinspect.c: (print_element_properties):
3166         GCC 4 fixen.
3167         
3168 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3169
3170         * gst/gstplugin.c: (gst_plugin_check_module),
3171         (gst_plugin_check_file), (gst_plugin_load_file):
3172             apply patch from #172526 to make register work on MacOSX
3173
3174 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3175
3176         * docs/gst/tmpl/gstconfig.sgml:
3177         * gst/gstconfig.h.in:
3178           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3179         * testsuite/debug/printf_extension.c: (main):
3180           Do not use GST_PTR_FORMAT on pointers to types with
3181           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3182         * testsuite/elements/property.h:
3183           use correct printf format
3184
3185 2005-05-02  Wim Taymans  <wim@fluendo.com>
3186
3187         * docs/design/draft-push-pull.txt:
3188         * docs/design/draft-query.txt:
3189         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3190         (gst_basesrc_start):
3191         Added draft for new query API.
3192         Added draft for better selecting scheduling methods.
3193         Make basesrc ignore length if the subclass does not support
3194         it.
3195
3196 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * gst/Makefile.am:
3199           possible fixes for automake-1.5 - _LIBADD is reserved
3200
3201 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3202
3203         * docs/faq/Makefile.am:
3204         * docs/manual/Makefile.am:
3205         * docs/manuals.mak:
3206         * docs/pwg/Makefile.am:
3207         * gst/Makefile.am:
3208           possible fixes for automake-1.5
3209
3210 2005-04-28  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3213         (gst_basesink_pad_getcaps), (gst_basesink_init),
3214         (gst_basesink_do_sync):
3215         * gst/gstclock.c: (gst_clock_entry_new):
3216         * gst/gstevent.c: (gst_event_discont_get_value):
3217         * gst/gstpipeline.c: (pipeline_bus_handler),
3218         (gst_pipeline_change_state):
3219         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3220         Better debugging of clocking info.
3221         Allow NULL values when getting discont values.
3222
3223 2005-04-27  Wim Taymans  <wim@fluendo.com>
3224
3225         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3226         * check/gst/gstpad.c: (gst_pad_suite):
3227         Increase timeout for checks.
3228
3229 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3230
3231         * check/Makefile.am:
3232           fix the broken rule for cleanup.  Apparently this rule is
3233           only needed on FC2, so maybe this warrants further autotool
3234           inspection.
3235
3236 2005-04-26  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/gsttrashstack.h:
3239         Ooohh. a nasty one! After having a failed pop() from the stack,
3240         it's possible that the stack is empty. In that case, don't
3241         follow the NULL pointer.
3242
3243 2005-04-25  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3246         (gst_pad_set_checkgetrange_function),
3247         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3248         (gst_pad_check_pull_range), (gst_pad_pull_range),
3249         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3250         (gst_pad_pause_task), (gst_pad_stop_task):
3251         * gst/gstplugin.c: (gst_plugin_load):
3252         * gst/gstplugin.h:
3253         Remove gst_library_load as it does more harm than good with
3254         the new g_module flags.
3255         Revert bogus caps template check in pad linking, pad caps
3256         are important when linking not the template, which is more
3257         general than the current caps.
3258
3259 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3260
3261         * gst/autoplug/.cvsignore:
3262         * gst/autoplug/Makefile.am:
3263         * gst/autoplug/gstsearchfuncs.c:
3264         * gst/autoplug/gstsearchfuncs.h:
3265         * gst/autoplug/gstspider.c:
3266         * gst/autoplug/gstspider.h:
3267         * gst/autoplug/gstspideridentity.c:
3268         * gst/autoplug/gstspideridentity.h:
3269         * gst/autoplug/spidertest.c:
3270           Die, spider, die.
3271
3272 2005-04-25  Wim Taymans  <wim@fluendo.com>
3273
3274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3275         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3276         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3277         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3278         * gst/gstpad.h:
3279         Added stubs for unimplemented functions. 
3280
3281 2005-04-24  David Schleef  <ds@schleef.org>
3282
3283         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3284         please fix.
3285
3286 2005-04-24  David Schleef  <ds@schleef.org>
3287
3288         Convert everything from GstAtomicInt to g_atomic_int_*, and
3289         remove gstatomic.
3290         * gst/Makefile.am:
3291         * gst/gstatomic.c:
3292         * gst/gstatomic.h:
3293         * gst/gstatomic_impl.h:
3294         * gst/gstbuffer.c:
3295         * gst/gstcaps.c:
3296         * gst/gstcaps.h:
3297         * gst/gstclock.c:
3298         * gst/gstclock.h:
3299         * gst/gstdata.c:
3300         * gst/gstdata.h:
3301         * gst/gstdata_private.h:
3302         * gst/gstevent.c:
3303         * gst/gstinfo.c:
3304         * gst/gstinfo.h:
3305         * gst/gstmessage.c:
3306         * gst/gstobject.c:
3307         * gst/gstobject.h:
3308         * gst/gststructure.c:
3309         * gst/gststructure.h:
3310         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3311         * gst/gstutils.h:
3312
3313 2005-04-24  David Schleef  <ds@schleef.org>
3314
3315         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3316         make the regressions tests work.  Remove some code that is no
3317         longer true.
3318         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3319         Disable warning for pads without templates.
3320
3321 2005-04-24  David Schleef  <ds@schleef.org>
3322
3323         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3324         functions that handle filtered links.
3325         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3326         removed functions.
3327         * gst/gstutils.c: Fix/remove utility functions that handle
3328         filtered caps.
3329         * gst/gstutils.h:
3330         * gst/gstvalue.c: Add serialization/deserialization of caps
3331         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3332         requires fixing so that the filter caps notation creates
3333         a capsfilter element and sets the filter_caps property.  I
3334         think everyone probably wants to keep the shorthand notation.
3335         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3336         * docs/gst/tmpl/gstpad.sgml:
3337
3338         * gst/elements/gstelements.c: Register capsfilter element.
3339         * gst/Makefile.am: fix spacing
3340         * docs/random/ds/0.9-suggested-changes: random
3341
3342 2005-04-23  David Schleef  <ds@schleef.org>
3343
3344         * gst/elements/Makefile.am:
3345         * gst/elements/gstcapsfilter.c: New element that acts like an
3346         identity, but filters caps.  Will eventually replace filtered
3347         caps in pad linking.
3348         * gst/gstutils.c: (gst_element_create_all_pads): New function
3349         to create all the ALWAYS pads that are registered with an
3350         element class.  This functionality should eventually be
3351         merged in with GstElement initialization.
3352         * gst/gstutils.h:
3353         * testsuite/trigger/README: part of trigger test code that should
3354         have been checked in a long time ago.
3355
3356 2005-04-23  David Schleef  <ds@schleef.org>
3357
3358         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3359         needed with new versions of libtool (nobody will confirm this),
3360         and hard to carry around.
3361         * gst/autoplug/Makefile.am:
3362         * gst/base/Makefile.am:
3363         * gst/elements/Makefile.am:
3364         * gst/indexers/Makefile.am:
3365         * gst/schedulers/Makefile.am:
3366         * libs/gst/bytestream/Makefile.am:
3367         * libs/gst/control/Makefile.am:
3368         * libs/gst/dataprotocol/Makefile.am:
3369         * libs/gst/getbits/Makefile.am:
3370
3371 2005-04-21  Wim Taymans  <wim@fluendo.com>
3372
3373         * docs/design/draft-push-pull.txt:
3374         * docs/design/part-MT-refcounting.txt:
3375         * docs/design/part-TODO.txt:
3376         * docs/design/part-caps.txt:
3377         * docs/design/part-events.txt:
3378         * docs/design/part-gstbus.txt:
3379         * docs/design/part-gstpipeline.txt:
3380         * docs/design/part-messages.txt:
3381         * docs/design/part-push-pull.txt:
3382         * docs/design/part-query.txt:
3383         Some more docs.
3384
3385 2005-04-21  Wim Taymans  <wim@fluendo.com>
3386
3387         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3388         (gst_message_new), (gst_message_new_error),
3389         (gst_message_new_warning), (gst_message_new_tag),
3390         (gst_message_new_state_changed), (gst_message_new_application),
3391         (gst_message_get_structure):
3392         * gst/gstmessage.h:
3393         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3394         (gst_structure_copy_conditional):
3395         Use parent refcount in GstMessage to ensure GstStructure
3396         consistency.
3397         Cleaned up headers a bit.
3398         
3399
3400 2005-04-20  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3403         (gst_basesink_pad_getcaps), (gst_basesink_init),
3404         (gst_basesink_chain_unlocked):
3405         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3406         (gst_type_find_helper):
3407         * gst/elements/gsttypefindelement.c:
3408         (gst_type_find_element_have_type), (gst_type_find_element_init),
3409         (stop_typefinding), (gst_type_find_element_handle_event),
3410         (find_suggest), (gst_type_find_element_chain),
3411         (gst_type_find_element_checkgetrange),
3412         (gst_type_find_element_getrange), (do_typefind),
3413         (gst_type_find_element_activate):
3414         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3415         (gst_buffer_default_free), (gst_buffer_default_copy),
3416         (gst_buffer_set_caps):
3417         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3418         (gst_caps_replace):
3419         * gst/gstmessage.c: (gst_message_new),
3420         (gst_message_new_state_changed):
3421         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3422         (gst_pad_set_checkgetrange_function),
3423         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3424         (gst_pad_set_caps), (gst_pad_check_pull_range),
3425         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3426         * gst/gstpad.h:
3427         * gst/gsttypefind.c: (gst_type_find_register):
3428         Make gst_caps_replace() work like other _replace() functions.
3429         Use _caps_replace() where possible.
3430         Make sure _message_new() initialises its field.
3431         Add gst_static_pad_template_get_caps()
3432
3433
3434 2005-04-18  Andy Wingo  <wingo@pobox.com>
3435
3436         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3437         on the peer, not the pad. I think that was a typo. Pass an extra
3438         arg to see if random access is possible. Activate the pads as
3439         PULL_RANGE if possible.
3440
3441         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3442
3443         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3444         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3445         to PROP_....
3446
3447 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3448
3449         * docs/faq/using.xml:
3450           Add note on gstreamer-properties (#154996).
3451
3452 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3453
3454         * docs/random/bbb/optional-properties:
3455           Some analysis on optional properties.
3456
3457 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3458
3459         * docs/gst/tmpl/gstelementfactory.sgml:
3460         * gst/gstelement.h:
3461         * gst/gstelementfactory.c: (gst_element_factory_init),
3462         (gst_element_factory_cleanup), (gst_element_register),
3463         (__gst_element_factory_add_static_pad_template),
3464         (gst_element_factory_get_static_pad_templates),
3465         (gst_element_factory_can_src_caps),
3466         (gst_element_factory_can_sink_caps):
3467         * gst/registries/Makefile.am:
3468         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3469         (gst_xml_registry_class_init), (gst_xml_registry_init),
3470         (gst_xml_registry_new), (gst_xml_registry_set_property),
3471         (gst_xml_registry_get_property), (get_time), (make_dir),
3472         (gst_xml_registry_get_perms_func),
3473         (plugin_times_older_than_recurse), (plugin_times_older_than),
3474         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3475         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3476         (add_to_char_array), (read_string), (read_uint), (read_enum),
3477         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3478         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3479         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3480         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3481         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3482         (gst_xml_registry_rebuild):
3483         * gst/registries/gstlibxmlregistry.h:
3484         * tools/gst-compprep.c: (main):
3485         * tools/gst-inspect.c: (print_pad_templates_info):
3486         * tools/gst-xmlinspect.c: (print_element_info):
3487           Use libxml2 for registry parsing, use staticpadtemplates in
3488           elementfactories. Makes gst_init() +/- 10x faster.
3489
3490 2005-04-12  Wim Taymans  <wim@fluendo.com>
3491
3492         * gst/base/Makefile.am:
3493         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3494         (gst_basesink_pad_getcaps), (gst_basesink_init),
3495         (gst_basesink_event), (gst_basesink_change_state):
3496         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3497         (gst_basesrc_init), (gst_basesrc_query),
3498         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3499         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3500         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3501         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3502         (gst_basesrc_stop), (gst_basesrc_activate),
3503         (gst_basesrc_change_state):
3504         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3505         (helper_find_suggest), (gst_type_find_helper):
3506         * gst/base/gsttypefindhelper.h:
3507         * gst/elements/Makefile.am:
3508         * gst/elements/gstelements.c:
3509         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3510         (gst_fakesink_get_times), (gst_fakesink_event),
3511         (gst_fakesink_preroll), (gst_fakesink_render):
3512         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3513         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3514         (gst_fakesrc_get_property), (gst_fakesrc_create),
3515         (gst_fakesrc_start), (gst_fakesrc_stop):
3516         * gst/elements/gstfakesrc.h:
3517         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3518         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3519         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3520         (gst_filesrc_create_read), (gst_filesrc_create),
3521         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3522         (gst_filesrc_start):
3523         * gst/elements/gsttypefindelement.c:
3524         (gst_type_find_element_have_type), (gst_type_find_element_init),
3525         (start_typefinding), (stop_typefinding), (push_buffer_store),
3526         (gst_type_find_element_handle_event),
3527         (gst_type_find_element_chain),
3528         (gst_type_find_element_checkgetrange),
3529         (gst_type_find_element_getrange), (do_typefind),
3530         (gst_type_find_element_activate),
3531         (gst_type_find_element_change_state):
3532         * gst/elements/gsttypefindelement.h:
3533         * gst/gstpipeline.c: (pipeline_bus_handler):
3534         Added typefind helper.
3535         Small preroll fix in the base sink.
3536         Disable typefind code in basesrc.
3537         Crude port of typefindelement.
3538         Fakesrc cleanups.
3539
3540
3541 2005-04-11  Wim Taymans  <wim@fluendo.com>
3542
3543         * check/gst/gstbus.c: (gstbus_suite):
3544         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3545         * check/gstcheck.h:
3546           Fix up the timeout so that the test does not fail.
3547
3548 2005-04-06  Wim Taymans  <wim@fluendo.com>
3549
3550         * gst/base/README:
3551         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3552         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3553         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3554         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3555         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3556         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3557         (gst_basesrc_stop), (gst_basesrc_activate),
3558         (gst_basesrc_change_state), (basesrc_find_peek),
3559         (basesrc_find_suggest), (gst_basesrc_type_find):
3560         * gst/base/gstbasesrc.h:
3561         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3562         (gst_filesrc_class_init), (gst_filesrc_init),
3563         (gst_filesrc_finalize), (gst_filesrc_set_location),
3564         (gst_filesrc_set_property), (gst_filesrc_get_property),
3565         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3566         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3567         (gst_filesrc_create_read), (gst_filesrc_create),
3568         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3569         * gst/elements/gstfilesrc.h:
3570         * gst/gstelement.c: (gst_element_get_state_func),
3571         (gst_element_lost_state), (gst_element_pads_activate):
3572         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3573         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3574         (gst_pad_pull_range):
3575         * gst/gstpad.h:
3576         More work on the generic source base class, implement seeking,
3577         query.
3578         Make filesrc extend the base source class.
3579         Added gst_pad_set_checkgetrange_function to GstPad.
3580
3581 2005-04-06  Andy Wingo  <wingo@pobox.com>
3582
3583         * pkgconfig/gstreamer-base.pc.in:
3584         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3585
3586         * pkgconfig/Makefile.am:
3587         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3588
3589 2005-04-04  Wim Taymans  <wim@fluendo.com>
3590
3591         * gst/base/Makefile.am:
3592         * gst/base/README:
3593         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3594         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3595         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3596         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3597         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3598         (gst_basesrc_base_init), (gst_basesrc_class_init),
3599         (gst_basesrc_init), (gst_basesrc_get_formats),
3600         (gst_basesrc_get_query_types), (gst_basesrc_query),
3601         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3602         (gst_basesrc_set_property), (gst_basesrc_get_property),
3603         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3604         (gst_basesrc_loop), (gst_basesrc_activate),
3605         (gst_basesrc_change_state):
3606         * gst/base/gstbasesrc.h:
3607         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3608         (gst_fakesrc_class_init), (gst_fakesrc_init),
3609         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3610         (gst_fakesrc_get_property), (gst_fakesrc_create):
3611         * gst/elements/gstfakesrc.h:
3612         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3613         (gst_filesrc_open_file), (gst_filesrc_loop),
3614         (gst_filesrc_activate), (filesrc_find_peek),
3615         (gst_filesrc_type_find):
3616         Made base source class, make fakesrc extend it.
3617         Add comments to basesink class.
3618         Some filesrc cleanup.
3619
3620 2005-03-31  David Schleef  <ds@schleef.org>
3621
3622         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3623         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3624         expected to link against libgstreamer.
3625         * gst/base/Makefile.am: link against libgstreamer
3626         * gst/elements/Makefile.am: same
3627
3628 2005-03-31  Andy Wingo  <wingo@pobox.com>
3629
3630         * tests/instantiate/Makefile.am:
3631         * tests/instantiate/caps.c: Add test to test speed of caps copy
3632         and free.
3633
3634         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3635         GMemChunk to be fair.
3636
3637         * gst/gsttrashstack.h: Remove warning about using the fallback
3638         trash stack implementation, it's still faster than malloc.
3639
3640 2005-03-30  Andy Wingo  <wingo@pobox.com>
3641
3642         * tests/complexity.c: Add a copyright.
3643
3644 2005-03-31  Wim Taymans  <wim@fluendo.com>
3645
3646         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3647         (gst_base_transform_class_init), (gst_base_transform_init),
3648         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3649         (gst_base_transform_get_property),
3650         (gst_base_transform_sink_activate),
3651         (gst_base_transform_src_activate),
3652         (gst_base_transform_change_state):
3653         * gst/base/gstbasetransform.h:
3654         * gst/elements/gstidentity.c: (gst_identity_class_init),
3655         (gst_identity_event), (gst_identity_check_perfect),
3656         (gst_identity_transform), (gst_identity_start),
3657         (gst_identity_stop):
3658         Added start/stop methods to transform base class so subclasses 
3659         don't need to deal with state changes even.
3660
3661 2005-03-31  Wim Taymans  <wim@fluendo.com>
3662
3663         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3664         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3665         * gst/gstevent.h:
3666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3667         (gst_pad_pull_range):
3668         Added rate to the discont event to prepare for variable speed
3669         and reverse playback.
3670
3671 2005-03-29  David Schleef  <ds@schleef.org>
3672
3673         * configure.ac:
3674         * testsuite/trigger/Makefile.am:
3675         * testsuite/trigger/trigger.c: A little example program to show
3676         how trigger-based elements can work.
3677
3678 2005-03-29  Wim Taymans  <wim@fluendo.com>
3679
3680         * gst/base/Makefile.am:
3681         * gst/base/README:
3682         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3683         (gst_basesink_base_init), (gst_basesink_class_init),
3684         (gst_basesink_pad_getcaps), (gst_basesink_init),
3685         (gst_basesink_activate), (gst_basesink_change_state):
3686         * gst/base/gstbasesink.h:
3687         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3688         (gst_base_transform_base_init), (gst_base_transform_finalize),
3689         (gst_base_transform_class_init), (gst_base_transform_init),
3690         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3691         (gst_base_transform_event), (gst_base_transform_getrange),
3692         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3693         (gst_base_transform_set_property),
3694         (gst_base_transform_get_property),
3695         (gst_base_transform_sink_activate),
3696         (gst_base_transform_src_activate),
3697         (gst_base_transform_change_state):
3698         * gst/base/gstbasetransform.h:
3699         * gst/elements/gstidentity.c: (gst_identity_finalize),
3700         (gst_identity_class_init), (gst_identity_init),
3701         (gst_identity_event), (gst_identity_check_perfect),
3702         (gst_identity_transform), (gst_identity_set_property),
3703         (gst_identity_get_property), (gst_identity_change_state):
3704         * gst/elements/gstidentity.h:
3705         * gst/gstelement.c: (gst_element_get_state_func),
3706         (gst_element_lost_state), (gst_element_pads_activate):
3707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3708         (gst_pad_check_pull_range), (gst_pad_pull_range):
3709         * gst/gstpad.h:
3710         Simplify pad activation.
3711         Added function to check if pull_range can be performed.
3712         Error out when pulling inactive or flushing pads.
3713         Removed const from refcounted types as it does not make sense.
3714         Simplify pad templates in basesink
3715         Added base class for simple 1-to-1 transforms.
3716         Make identity subclass the base transform.
3717
3718 2005-03-29  Andy Wingo  <wingo@pobox.com>
3719
3720         * docs/libs/gstreamer-libs-overrides.txt: 
3721         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3722         really don't understand what's going on, but like whatever. I want
3723         green buildbot!
3724
3725         * docs/gst/Makefile.am:
3726         * docs/libs/Makefile.am: Dist the overrides files.
3727
3728         * check/Makefile.am (clean-local): Remove .libs directories.
3729
3730         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3731         elements to EXTRA_DIST, so po/ files are happy.
3732
3733         * po/POTFILES.in: Er, remove it here.
3734
3735         * po/POTFILES: Remove gstspider.c.
3736
3737         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3738
3739         * docs/libs/gstreamer-libs-docs.sgml: 
3740         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3741         bytestream.
3742
3743         * tests/complexity.c (main): Set the length of the preroll queue
3744         on the sinks to prevent a lockup.
3745
3746         * libs/gst/dataprotocol/Makefile.am: 
3747         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3748         the same as the one in check/gst-libs/gdp.c.
3749
3750         * po/, docs/gst/: Commit automatic changes to docs and po files.
3751
3752         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3753         the versioned libgstbase.
3754
3755         * check/Makefile.am: Depend on an unversioned gst-register, seems
3756         to make autoconf happier.
3757
3758         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3759
3760 2005-03-28  Wim Taymans  <wim@fluendo.com>
3761
3762         * configure.ac:
3763         * docs/design/part-gstelement.txt:
3764         * docs/design/part-negotiation.txt:
3765         * docs/design/part-preroll.txt:
3766         * docs/design/part-scheduling.txt:
3767         * docs/design/part-states.txt:
3768         * gst/Makefile.am:
3769         * gst/base/Makefile.am:
3770         * gst/base/README:
3771         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3772         (gst_basesink_base_init), (gst_basesink_class_init),
3773         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3774         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3775         (gst_basesink_set_pad_functions),
3776         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3777         (gst_basesink_set_property), (gst_basesink_get_property),
3778         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3779         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3780         (gst_basesink_preroll_queue_push),
3781         (gst_basesink_preroll_queue_empty),
3782         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3783         (gst_basesink_event), (gst_basesink_get_times),
3784         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3785         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3786         (gst_basesink_loop), (gst_basesink_activate),
3787         (gst_basesink_change_state):
3788         * gst/base/gstbasesink.h:
3789         * gst/elements/Makefile.am:
3790         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3791         (gst_fakesink_class_init), (gst_fakesink_init),
3792         (gst_fakesink_set_property), (gst_fakesink_get_property),
3793         (gst_fakesink_get_times), (gst_fakesink_event),
3794         (gst_fakesink_preroll), (gst_fakesink_render),
3795         (gst_fakesink_change_state):
3796         * gst/elements/gstfakesink.h:
3797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3798         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3799         * gst/gstelement.c: (gst_element_add_pad),
3800         (gst_element_get_state_func), (gst_element_abort_state),
3801         (gst_element_commit_state), (gst_element_lost_state),
3802         (gst_element_set_state), (gst_element_pads_activate):
3803         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3804         * gst/gstpipeline.c: (gst_pipeline_send_event),
3805         (gst_pipeline_change_state):
3806         Added state change code.
3807         Added/updated docs.
3808         Added sink base class, make fakesink extend the base class.
3809         Small cleanups in GstPipeline.
3810
3811 2005-03-26  David Schleef  <ds@schleef.org>
3812
3813         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3814         is broken and should be implemented in a different library.
3815         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3816         * gst/gst.h: remove gstcpu.h
3817         * gst/gstcpu.c: remove
3818         * gst/gstcpu.h: remove
3819         * gst/Makefile.am.future: Remove this file.  It's ancient.
3820
3821 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3822
3823         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3824         (gst_bin_send_event):
3825           Add default event/set_manager handlers. The set_manager handler
3826           takes care that the manager is distributed over kids that were
3827           already in the bin before the manager was set. The event handler
3828           is a utility virtual function that sends the event over all sinks,
3829           so that gst_element_send_event (bin, event); has the expected
3830           behaviour.
3831         * gst/gstpad.c: (gst_pad_event_default):
3832           Re-install default event handling for discontinuities, so that
3833           seeking works without requiring hacks in applications or extra
3834           code in sinks.
3835         * gst/gstpipeline.c: (gst_pipeline_class_init),
3836         (gst_pipeline_send_event):
3837           Half hack, half utility: set a pipeline to PAUSED for seek events,
3838           since that is the only way we can guarantee a/v sync. Means that
3839           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3840           and it "just works".
3841
3842 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3843
3844         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3845           Lock/unlock mismatch.
3846
3847 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3848
3849         * docs/faq/gst-uninstalled:
3850           add gst-plugins-base
3851         * docs/gst/Makefile.am:
3852           don't error out until docs are fixed
3853         * docs/gst/gstreamer.types:
3854           remove thread
3855
3856 2005-03-22  Wim Taymans  <wim@fluendo.com>
3857
3858         * check/Makefile.am:
3859         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3860         * gst/gststructure.c: (gst_structure_set_valist),
3861         (gst_structure_copy_conditional):
3862         Activated more tests.
3863         Added message test.
3864         Added G_TYPE_POINTER to GstStructure.
3865         
3866
3867 2005-03-22  Wim Taymans  <wim@fluendo.com>
3868
3869         * docs/design/part-TODO.txt:
3870         * docs/design/part-events.txt:
3871         * docs/design/part-gstbin.txt:
3872         * docs/design/part-gstbus.txt:
3873         * docs/design/part-gstpipeline.txt:
3874         * docs/design/part-messages.txt:
3875         * gst/gstbus.c:
3876         * gst/gstmessage.c:
3877         Docs updates
3878
3879 2005-03-21  Wim Taymans  <wim@fluendo.com>
3880
3881         * gst/gstbus.c: (gst_bus_post):
3882         Fix copy-and-paste error.
3883
3884 2005-03-21  Wim Taymans  <wim@fluendo.com>
3885
3886         * check/Makefile.am:
3887         * gst/Makefile.am:
3888         * gst/elements/Makefile.am:
3889         * gst/elements/gstelements.c:
3890         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3891         (gst_fakesink_event), (gst_fakesink_chain):
3892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3893         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3894         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3895         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3896         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3897         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3898         (gst_fakesrc_loop), (gst_fakesrc_activate),
3899         (gst_fakesrc_change_state):
3900         * gst/elements/gstfakesrc.h:
3901         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3902         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3903         (gst_filesrc_open_file), (gst_filesrc_loop),
3904         (gst_filesrc_activate), (gst_filesrc_change_state),
3905         (filesrc_find_peek), (filesrc_find_suggest),
3906         (gst_filesrc_type_find):
3907         * gst/elements/gstidentity.c: (gst_identity_finalize),
3908         (gst_identity_class_init), (gst_identity_init),
3909         (gst_identity_proxy_getcaps), (identity_queue_push),
3910         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3911         (gst_identity_getrange), (gst_identity_chain),
3912         (gst_identity_sink_loop), (gst_identity_src_loop),
3913         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3914         (gst_identity_set_property), (gst_identity_get_property),
3915         (gst_identity_change_state):
3916         * gst/elements/gstidentity.h:
3917         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3918         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3919         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3920         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3921         (gst_tee_sink_activate):
3922         * gst/elements/gsttee.h:
3923         * gst/gst.c: (gst_register_core_elements), (init_post):
3924         * gst/gst.h:
3925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3926         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3927         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3928         (gst_bin_change_state):
3929         * gst/gstbin.h:
3930         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3931         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3932         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3933         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3934         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3935         (bus_watch_callback), (bus_watch_destroy),
3936         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3937         (poll_timeout), (gst_bus_poll):
3938         * gst/gstbus.h:
3939         * gst/gstcaps.h:
3940         * gst/gstdata.h:
3941         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3942         (gst_element_post_message), (gst_element_message_full),
3943         (gst_element_get_state_func), (gst_element_get_state),
3944         (gst_element_abort_state), (gst_element_commit_state),
3945         (gst_element_lost_state), (gst_element_set_state),
3946         (gst_element_pads_activate), (gst_element_change_state),
3947         (gst_element_dispose), (gst_element_set_manager_func),
3948         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3949         (gst_element_set_manager), (gst_element_get_manager),
3950         (gst_element_set_bus), (gst_element_get_bus),
3951         (gst_element_set_scheduler), (gst_element_get_scheduler):
3952         * gst/gstelement.h:
3953         * gst/gstevent.c: (gst_event_new_segment_seek),
3954         (gst_event_new_flush):
3955         * gst/gstevent.h:
3956         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3957         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3958         (gst_message_new_eos), (gst_message_new_error),
3959         (gst_message_new_warning), (gst_message_new_tag),
3960         (gst_message_new_state_changed), (gst_message_new_application),
3961         (gst_message_get_structure), (gst_message_parse_tag),
3962         (gst_message_parse_state_changed), (gst_message_parse_error),
3963         (gst_message_parse_warning):
3964         * gst/gstmessage.h:
3965         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3966         (gst_real_pad_set_property), (gst_pad_set_active),
3967         (gst_pad_is_active), (gst_pad_set_blocked_async),
3968         (gst_pad_set_blocked), (gst_pad_is_blocked),
3969         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3970         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3971         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3972         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3973         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3974         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3975         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3976         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3977         (gst_pad_set_caps), (gst_pad_configure_sink),
3978         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3979         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3980         (gst_real_pad_dispose), (gst_real_pad_finalize),
3981         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3982         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3983         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3984         * gst/gstpad.h:
3985         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3986         (pipeline_bus_handler), (gst_pipeline_change_state),
3987         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3988         * gst/gstpipeline.h:
3989         * gst/gstprobe.h:
3990         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3991         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3992         (gst_queue_link_src), (gst_queue_bufferalloc),
3993         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3994         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3995         (gst_queue_loop), (gst_queue_handle_src_event),
3996         (gst_queue_handle_src_query), (gst_queue_src_activate),
3997         (gst_queue_change_state):
3998         * gst/gstqueue.h:
3999         * gst/gstscheduler.c: (gst_scheduler_init),
4000         (gst_scheduler_dispose), (gst_scheduler_create_task),
4001         (gst_scheduler_factory_create):
4002         * gst/gstscheduler.h:
4003         * gst/gststructure.c: (gst_structure_get_type),
4004         (gst_structure_copy_conditional):
4005         * gst/gststructure.h:
4006         * gst/gsttaginterface.h:
4007         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4008         (gst_task_init), (gst_task_dispose), (gst_task_create),
4009         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4010         (gst_task_pause):
4011         * gst/gsttask.h:
4012         * gst/gstthread.c:
4013         * gst/gstthread.h:
4014         * gst/gsttypes.h:
4015         * gst/schedulers/Makefile.am:
4016         * gst/schedulers/cothreads_compat.h:
4017         * gst/schedulers/entryscheduler.c:
4018         * gst/schedulers/faircothreads.c:
4019         * gst/schedulers/faircothreads.h:
4020         * gst/schedulers/fairscheduler.c:
4021         * gst/schedulers/gstbasicscheduler.c:
4022         * gst/schedulers/gstoptimalscheduler.c:
4023         * gst/schedulers/gthread-cothreads.h:
4024         * gst/schedulers/threadscheduler.c:
4025         (gst_thread_scheduler_task_get_type),
4026         (gst_thread_scheduler_task_class_init),
4027         (gst_thread_scheduler_task_init),
4028         (gst_thread_scheduler_task_start),
4029         (gst_thread_scheduler_task_stop),
4030         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4031         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4032         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4033         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4034         (plugin_init):
4035         * libs/gst/Makefile.am:
4036         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4037         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4038         (gst_file_pad_parent_set):
4039         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4040         (gst_dp_event_from_packet):
4041         * tests/complexity.c: (main):
4042         * tests/mass_elements.c: (main):
4043         * testsuite/states/locked.c: (message_received), (main):
4044         * testsuite/states/parent.c: (main):
4045         * tools/gst-inspect.c: (print_element_flag_info),
4046         (print_implementation_info), (print_pad_info):
4047         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4048         (main):
4049         * tools/gst-md5sum.c: (event_loop), (main):
4050         * tools/gst-typefind.c: (main):
4051         * tools/gst-xmlinspect.c: (print_element_info):
4052         Next big merge.
4053         Added GstBus for mainloop integration.
4054         Added GstMessage for sending notifications on the bus.
4055         Added GstTask as an abstraction for pipeline entry points.
4056         Removed GstThread.
4057         Removed Schedulers.
4058         Simplified GstQueue for multithreaded core.
4059         Made _link threadsafe, removed old capsnego.
4060         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4061         Added pad blocking functions.
4062         Reworked scheduling functions in GstPad to prepare for
4063         scheduling updates soon.
4064         Moved events out of data stream.
4065         Simplified GstEvent types.
4066         Added return values to push/pull.
4067         Removed clocking from GstElement.
4068         Added prototypes for state change function for next merge.
4069         Removed iterate from bins and state change management.
4070         Fixed some elements, disabled others for now.
4071         Fixed -inspect and -launch.
4072         Added check for GstBus.
4073
4074 2005-03-10  Wim Taymans  <wim@fluendo.com>
4075
4076         * docs/design/part-MT-refcounting.txt:
4077         * docs/design/part-clocks.txt:
4078         * docs/design/part-gstelement.txt:
4079         * docs/design/part-gstobject.txt:
4080         * docs/design/part-standards.txt:
4081         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4082         (gst_bin_remove_func), (gst_bin_remove):
4083         * gst/gstbin.h:
4084         * gst/gstbuffer.c:
4085         * gst/gstcaps.h:
4086         * testsuite/clock/clock1.c: (main):
4087         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4088         (main):
4089         * testsuite/dlopen/loadgst.c: (do_test):
4090         * testsuite/refcounting/bin.c: (add_remove_test1),
4091         (add_remove_test2), (main):
4092         * testsuite/refcounting/element.c: (main):
4093         * testsuite/refcounting/element_pad.c: (main):
4094         * testsuite/refcounting/pad.c: (main):
4095         * tools/gst-launch.c: (sigint_handler_sighandler):
4096         * tools/gst-typefind.c: (main):
4097         Doc updates.
4098         Added doc about clock.
4099         removed gst_bin_iterate_recurse_up(), marked methods
4100         for removal.
4101         Fix more testsuites.
4102
4103 2005-03-09  Wim Taymans  <wim@fluendo.com>
4104
4105         * gst/gstpad.c: (gst_pad_get_direction),
4106         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4107         (gst_pad_collect_valist):
4108         * testsuite/bins/interface.c: (main):
4109         * testsuite/caps/audioscale.c: (test_caps):
4110         * testsuite/caps/caps.c: (test1), (test2), (test3):
4111         * testsuite/caps/deserialize.c: (main):
4112         * testsuite/caps/enumcaps.c: (main):
4113         * testsuite/caps/filtercaps.c: (main):
4114         * testsuite/caps/intersect2.c: (main):
4115         * testsuite/caps/random.c: (main):
4116         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4117         * testsuite/caps/sets.c: (check_caps):
4118         * testsuite/caps/simplify.c: (check_caps), (main):
4119         * testsuite/caps/subtract.c: (check_caps):
4120         Fix _pad_get_direction wrt ghostpads.
4121         Fix caps testsuite.
4122
4123 2005-03-09  Wim Taymans  <wim@fluendo.com>
4124
4125         * check/Makefile.am:
4126         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4127         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4128         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4129         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4130         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4131         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4132         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4133         (bin_element_is_sink), (gst_bin_iterate_sinks),
4134         (gst_bin_iterate_all_by_interface):
4135         * gst/gstbin.h:
4136         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4137         (gst_element_change_state), (gst_element_dispose),
4138         (gst_element_finalize), (gst_element_set_loop_function):
4139         * gst/gstelement.h:
4140         * gst/gstiterator.c: (find_custom_fold_func):
4141         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4142         (gst_pad_collectv), (gst_pad_collect_valist),
4143         (gst_pad_template_new):
4144         * gst/gstpipeline.c: (gst_pipeline_class_init),
4145         (gst_pipeline_dispose), (gst_pipeline_set_property),
4146         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4147         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4148         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4149         * gst/gstutils.h:
4150         * gst/schedulers/entryscheduler.c:
4151         * gst/schedulers/gstbasicscheduler.c:
4152         (gst_basic_scheduler_cothreaded_chain),
4153         (gst_basic_scheduler_chain_add_element):
4154         * testsuite/bins/interface.c: (main):
4155         Added GstBin test.
4156         Added GstSystemClock test.
4157         Implemented clock distribution code in GstBin.
4158         Implemented iterate sinks method for future use.
4159         Rearranged gstelement.h
4160         Fix GstIterator comparison bug.
4161         Moved some code to GstPipeline, mostly clocking related.
4162
4163 2005-03-09  Wim Taymans  <wim@fluendo.com>
4164
4165         * configure.ac:
4166         * gst/gst_private.h:
4167         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4168         (gst_bin_remove_func), (gst_bin_remove),
4169         (gst_bin_get_by_name_recurse_up):
4170         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4171         (gst_clock_id_compare_func), (gst_clock_id_wait),
4172         (gst_clock_id_wait_async), (gst_clock_init),
4173         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4174         * gst/gstelement.h:
4175         * gst/gstinfo.c: (_gst_debug_init):
4176         * gst/gstobject.h:
4177         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4178         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4179         * gst/gstpad.h:
4180         Bump version number, we're now 0.9.0
4181         Add future debugging category.
4182         Fix NULL _unref() in _get_by_name_recurse_up
4183         Rearrange gstpad.h.
4184         Update some docs.
4185
4186 2005-03-08  Wim Taymans  <wim@fluendo.com>
4187
4188         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4189         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4191         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4192         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4193         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4194         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4195         * gst/elements/gstidentity.c: (gst_identity_class_init):
4196         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4197         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4198         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4199         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4200         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4201         (gst_tee_link):
4202         * gst/gstelement.c: (gst_element_class_init),
4203         (gst_element_base_class_init), (gst_element_init),
4204         (gst_element_get_random_pad), (gst_element_wait_state_change),
4205         (gst_element_change_state), (gst_element_dispose),
4206         (gst_element_finalize), (gst_element_set_loop_function):
4207         * gst/gstelement.h:
4208         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4209         * gst/gstthread.c: (gst_thread_class_init),
4210         (gst_thread_release_children_locks), (gst_thread_change_state):
4211         * gst/schedulers/gstbasicscheduler.c:
4212         (gst_basic_scheduler_loopfunc_wrapper),
4213         (gst_basic_scheduler_chain_wrapper),
4214         (gst_basic_scheduler_src_wrapper),
4215         (gst_basic_scheduler_remove_element):
4216         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4217         Remove threadsafe properties. Fix elements because GObject
4218         complains when installing a property before declaring a
4219         set/get_property handler.
4220         Rearrange gstelement.h file, use STATE macros for state locks.
4221         Free mutexes in the finalize method instead of dispose.
4222
4223 2005-03-08  Wim Taymans  <wim@fluendo.com>
4224
4225         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4226         * gst/gstthread.c: (gst_thread_release_children_locks):
4227         Added parentage check.
4228         Fix build og GstThread again.
4229
4230 2005-03-08  Wim Taymans  <wim@fluendo.com>
4231
4232         * docs/design/part-MT-refcounting.txt:
4233         * docs/design/part-conventions.txt:
4234         * docs/design/part-gstobject.txt:
4235         * docs/design/part-relations.txt:
4236         * docs/design/part-standards.txt:
4237         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4238         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4239         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4240         (gst_bin_iterate_all_by_interface):
4241         * gst/gstbuffer.h:
4242         * gst/gstclock.h:
4243         * gst/gstelement.c: (gst_element_class_init),
4244         (gst_element_change_state), (gst_element_set_loop_function):
4245         * gst/gstelement.h:
4246         * gst/gstiterator.c:
4247         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4248         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4249         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4250         (gst_object_set_parent), (gst_object_unparent),
4251         (gst_object_check_uniqueness):
4252         * gst/gstobject.h:
4253         Docs updates, clean up some headers.
4254
4255 2005-03-07  Wim Taymans  <wim@fluendo.com>
4256
4257         * check/.cvsignore:
4258         * check/Makefile.am:
4259         * check/gst-libs/.cvsignore:
4260         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4261         * check/gst/.cvsignore:
4262         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4263         (START_TEST), (gstbus_suite), (main):
4264         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4265         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4266         (gst_data_suite), (main):
4267         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4268         (add_fold_func), (gstiterator_suite), (main):
4269         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4270         (thread_name_object), (thread_name_object_default),
4271         (gst_object_name_compare), (gst_object_suite), (main):
4272         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4273         (gst_pad_suite), (main):
4274         * check/gstcheck.c: (gst_check_log_message_func),
4275         (gst_check_log_critical_func), (gst_check_init):
4276         * check/gstcheck.h:
4277         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4278         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4279         Added checks.
4280
4281 2005-03-07  Wim Taymans  <wim@fluendo.com>
4282
4283         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4284         (gst_list_iterator_next), (gst_list_iterator_resync),
4285         (gst_list_iterator_free), (gst_iterator_new_list),
4286         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4287         (gst_iterator_free), (gst_iterator_push), (filter_next),
4288         (filter_resync), (filter_uninit), (filter_free),
4289         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4290         (gst_iterator_foreach), (find_custom_fold_func),
4291         (gst_iterator_find_custom):
4292         * gst/gstiterator.h:
4293         Added missing files.
4294
4295 2005-03-07  Wim Taymans  <wim@fluendo.com>
4296
4297         * Makefile.am:
4298         * configure.ac:
4299         * docs/design/part-MT-refcounting.txt:
4300         * docs/design/part-conventions.txt:
4301         * docs/design/part-gstobject.txt:
4302         * docs/design/part-relations.txt:
4303         * examples/mixer/mixer.c: (main):
4304         * examples/thread/thread.c: (eos), (main):
4305         * gst/Makefile.am:
4306         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4307         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4308         (gst_spider_plug_from_srcpad):
4309         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4310         (gst_spider_identity_change_state),
4311         (gst_spider_identity_sink_loop_type_finding):
4312         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4313         * gst/elements/gstidentity.c: (gst_identity_init):
4314         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4315         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4316         * gst/elements/gsttypefindelement.c: (free_entry):
4317         * gst/gst.c:
4318         * gst/gst.h:
4319         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4320         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4321         (gst_bin_set_index), (gst_bin_set_element_sched),
4322         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4323         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4324         (gst_bin_iterate_elements), (iterate_child_recurse),
4325         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4326         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4327         (compare_interface), (gst_bin_get_by_interface),
4328         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4329         * gst/gstbin.h:
4330         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4331         (gst_buffer_default_free), (gst_buffer_default_copy),
4332         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4333         (gst_buffer_create_sub):
4334         * gst/gstbuffer.h:
4335         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4336         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4337         (gst_caps_unref), (gst_static_caps_get),
4338         (gst_caps_remove_and_get_structure), (gst_caps_append),
4339         (gst_caps_append_structure), (gst_caps_remove_structure),
4340         (gst_caps_copy_nth), (gst_caps_set_simple),
4341         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4342         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4343         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4344         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4345         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4346         (gst_caps_structure_figure_out_union),
4347         (gst_caps_switch_structures), (gst_caps_do_simplify),
4348         (gst_caps_replace), (gst_caps_from_string),
4349         (gst_caps_copy_conditional):
4350         * gst/gstcaps.h:
4351         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4352         (_gst_clock_id_free), (gst_clock_id_unref),
4353         (gst_clock_id_compare_func), (gst_clock_id_wait),
4354         (gst_clock_id_wait_async), (gst_clock_class_init),
4355         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4356         (gst_clock_get_time), (gst_clock_set_time_adjust),
4357         (gst_clock_set_property), (gst_clock_get_property):
4358         * gst/gstclock.h:
4359         * gst/gstcompat.h:
4360         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4361         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4362         * gst/gstdata.h:
4363         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4364         (gst_element_requires_clock), (gst_element_provides_clock),
4365         (gst_element_set_clock), (gst_element_clock_wait),
4366         (gst_element_wait), (gst_element_set_time_delay),
4367         (gst_element_is_indexable), (gst_element_add_pad),
4368         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4369         (pad_compare_name), (gst_element_get_static_pad),
4370         (gst_element_request_pad), (gst_element_get_request_pad),
4371         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4372         (gst_element_class_get_pad_template_list),
4373         (gst_element_class_get_pad_template), (gst_element_error_func),
4374         (gst_element_get_random_pad), (gst_element_get_event_masks),
4375         (gst_element_send_event), (gst_element_seek),
4376         (gst_element_get_query_types), (gst_element_query),
4377         (gst_element_get_formats), (gst_element_convert),
4378         (gst_element_is_locked_state), (gst_element_set_locked_state),
4379         (gst_element_sync_state_with_parent), (gst_element_change_state),
4380         (gst_element_finalize), (gst_element_yield),
4381         (gst_element_interrupt), (gst_element_set_scheduler),
4382         (gst_element_get_scheduler), (gst_element_set_loop_function):
4383         * gst/gstelement.h:
4384         * gst/gstevent.h:
4385         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4386         (gst_format_get_by_nick), (gst_format_get_details),
4387         (gst_format_iterate_definitions):
4388         * gst/gstformat.h:
4389         * gst/gstindex.c: (gst_index_gtype_resolver):
4390         * gst/gstinfo.c:
4391         * gst/gstinfo.h:
4392         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4393         (gst_mem_chunk_free):
4394         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4395         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4396         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4397         (gst_object_dispatch_properties_changed),
4398         (gst_object_set_name_default), (gst_object_set_name),
4399         (gst_object_get_name), (gst_object_set_name_prefix),
4400         (gst_object_get_name_prefix), (gst_object_set_parent),
4401         (gst_object_get_parent), (gst_object_unparent),
4402         (gst_object_check_uniqueness), (gst_object_save_thyself),
4403         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4404         (gst_object_set_property), (gst_object_get_property),
4405         (gst_object_get_path_string):
4406         * gst/gstobject.h:
4407         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4408         (gst_real_pad_init), (gst_real_pad_get_property),
4409         (gst_pad_custom_new), (gst_pad_get_direction),
4410         (gst_pad_set_active), (gst_pad_is_active),
4411         (gst_pad_set_event_function), (gst_pad_is_linked),
4412         (gst_pad_link_free), (gst_pad_link_intersect),
4413         (gst_pad_link_fixate), (gst_pad_set_caps),
4414         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4415         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4416         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4417         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4418         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4419         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4420         (gst_pad_realize), (gst_pad_get_allowed_caps),
4421         (gst_real_pad_dispose), (gst_real_pad_finalize),
4422         (gst_pad_collectv), (gst_pad_collect_valist),
4423         (gst_pad_template_dispose), (gst_pad_template_new),
4424         (gst_pad_get_internal_links):
4425         * gst/gstpad.h:
4426         * gst/gstpipeline.c: (gst_pipeline_dispose),
4427         (gst_pipeline_change_state):
4428         * gst/gstpipeline.h:
4429         * gst/gstplugin.c:
4430         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4431         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4432         * gst/gstpluginfeature.h:
4433         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4434         * gst/gstquery.c: (_gst_query_type_initialize),
4435         (gst_query_type_register), (gst_query_type_get_by_nick),
4436         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4437         * gst/gstquery.h:
4438         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4439         * gst/gstscheduler.c: (gst_scheduler_add_element),
4440         (gst_scheduler_factory_create):
4441         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4442         (gst_structure_free), (gst_structure_set_name),
4443         (gst_structure_id_set_value), (gst_structure_set_value),
4444         (gst_structure_set_valist), (gst_structure_remove_field),
4445         (gst_structure_remove_fields),
4446         (gst_structure_remove_fields_valist),
4447         (gst_structure_remove_all_fields), (gst_structure_foreach),
4448         (gst_structure_map_in_place),
4449         (gst_caps_structure_fixate_field_nearest_int),
4450         (gst_caps_structure_fixate_field_nearest_double):
4451         * gst/gststructure.h:
4452         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4453         (gst_system_clock_init), (gst_system_clock_dispose),
4454         (gst_system_clock_async_thread),
4455         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4456         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4457         * gst/gstsystemclock.h:
4458         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4459         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4460         * gst/gsttaginterface.c:
4461         * gst/gstthread.c: (gst_thread_dispose),
4462         (gst_thread_release_children_locks), (gst_thread_change_state),
4463         (gst_thread_main_loop):
4464         * gst/gsttrashstack.h:
4465         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4466         * gst/gsttypes.h:
4467         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4468         (gst_element_request_pad), (gst_element_get_pad_from_template),
4469         (gst_element_request_compatible_pad),
4470         (gst_element_get_compatible_pad_filtered),
4471         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4472         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4473         (gst_element_link_many), (gst_element_link),
4474         (gst_element_link_pads), (gst_element_unlink_pads),
4475         (gst_element_unlink_many), (gst_element_unlink),
4476         (gst_pad_can_link_filtered), (gst_pad_can_link),
4477         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4478         (gst_object_default_error), (gst_bin_add_many),
4479         (gst_bin_remove_many), (gst_element_populate_std_props),
4480         (gst_element_class_install_std_props), (gst_buffer_merge),
4481         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4482         (link_fold_func), (gst_pad_proxy_setcaps):
4483         * gst/gstutils.h:
4484         * gst/gstvalue.c: (gst_value_deserialize_string):
4485         * gst/parse/grammar.y:
4486         * gst/schedulers/gstbasicscheduler.c:
4487         (gst_basic_scheduler_cothreaded_chain),
4488         (gst_basic_scheduler_chain_recursive_add),
4489         (gst_basic_scheduler_pad_link):
4490         * gst/schedulers/gstoptimalscheduler.c:
4491         (get_group_schedule_function),
4492         (gst_opt_scheduler_state_transition),
4493         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4494         * libs/gst/bytestream/bytestream.c:
4495         * libs/gst/dataprotocol/dataprotocol.c:
4496         (gst_dp_header_from_buffer):
4497         * po/nb.po:
4498         * po/ru.po:
4499         * tests/threadstate/threadstate2.c: (eos):
4500         * tools/gst-compprep.c: (main):
4501         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4502         (print_pad_info), (print_children_info):
4503         * tools/gst-launch.c: (idle_func), (main):
4504         * tools/gst-md5sum.c: (idle_func), (main):
4505         * tools/gst-xmlinspect.c: (print_element_info):
4506         First THREADED backport attempt, focusing on adding locks and
4507         making sure the API is threadsafe. Needs more work. More docs
4508         follow this week.
4509
4510 2005-02-24  Andy Wingo  <wingo@pobox.com>
4511
4512         * tests/bench-complexity.scm:
4513         * tests/complexity.gnuplot: New files, good for running complexity
4514         benchmarks.
4515
4516         * tests/Makefile.am:
4517         * tests/complexity.c: New test, sets up N elements, at each level
4518         teeing into M streams per element. Eeeenteresting.
4519
4520         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4521         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4522         running bench-mass_elements.scm.
4523
4524         * tests/bench-mass_elements.scm: New script, runs mass_elements
4525         for various numbers of identities, outputting the results to a
4526         file. Requires guile 1.6. Just for testing.
4527
4528 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4529
4530         * gst/schedulers/fairscheduler.c:
4531           compile with debug disabled
4532
4533 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4534
4535         * configure.ac:
4536           hunting season on 0.9 is now OPEN
4537
4538 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4539
4540         * docs/libs/tmpl/gstcontrol.sgml:
4541         * docs/libs/tmpl/gstdparam.sgml:
4542         * docs/libs/tmpl/gstdplinint.sgml:
4543         * docs/libs/tmpl/gstdpman.sgml:
4544         * docs/libs/tmpl/gstdpsmooth.sgml:
4545         * docs/libs/tmpl/gstunitconvert.sgml:
4546           more docs for the state of dparams
4547
4548 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4549
4550         * gst/gstelementfactory.c: (gst_element_factory_create):
4551         * gst/gstobject.c: (gst_object_init),
4552         (gst_object_set_name_default), (gst_object_set_name):
4553           name objects by default, not in gst_element_factory_create. Allows
4554           using elements created with g_object_new. (fixes #167283)
4555
4556 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4557
4558         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4559           make the time that debugging functions print relative to when
4560           gst_init was called
4561
4562 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4563
4564         * gst/gsttaginterface.c:
4565           Fix inline docs: tag setter vararg functions are NULL-terminated,
4566           GST_TAG_INVALID doesn't exist any more.
4567
4568 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4569
4570         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4571         Allocate the 1 byte more memory that was forgotten!!!!!
4572         fixes memory corruption on 64bit platforms
4573
4574 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4575
4576         * docs/pwg/building-pads.xml:
4577         * docs/pwg/intro-basics.xml:
4578           fixed a few typos, relabeled introductionary list of types
4579         * docs/random/ensonic/dparams.txt:
4580           more notes abut dparam changes
4581         * libs/gst/control/dparam.c: (gst_dparam_attach):
4582         * libs/gst/control/dparammanager.c:
4583         * libs/gst/control/dparammanager.h:
4584           - many comments and notes on dparam implementation
4585           - new dparams are were not initialized to the default value
4586             from param spec
4587
4588 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         submitted by: Peter Astakhov
4591
4592         * po/LINGUAS:
4593         * po/ru.po:
4594           adding Russian translation
4595
4596 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4597
4598         * configure.ac:
4599         * docs/gst/Makefile.am:
4600         * docs/libs/Makefile.am:
4601           make sure popt is added to gtk-doc flags.  Fixes #147782.
4602
4603 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4604
4605         * docs/faq/using.xml:
4606           Fix typo in FAQ (artssink => artsdsink)
4607
4608 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4609
4610         * tools/gst-launch.1.in:
4611           Fix typo (#166699).
4612
4613 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * docs/faq/using.xml:
4616           Add -v argument to fakesrc/fakesink gst-launch line,
4617           so that the promised output will actually show up.
4618
4619 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4620
4621         * gst/gstthread.c: (gst_thread_change_state):
4622           Implement state-change error handling (#166073).
4623
4624 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4625
4626         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4627           Release interrupt after handling (#166250).
4628
4629 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4630
4631         * configure.ac:
4632           back to HEAD
4633
4634 === release 0.8.9 ===
4635
4636 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4637
4638         * NEWS:
4639         * RELEASE:
4640         * configure.ac:
4641           releasing 0.8.9, "Like Eating Glass"
4642
4643 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4644
4645         submitted by: Clytie Siddall
4646
4647         * po/vi.po: Added Vietnamese translation
4648
4649 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4650
4651         patch by: Tim Philipp-Müller
4652
4653         * configure.ac:
4654         * gst/gstpad.c:
4655           unref data when probe function returns FALSE.  Fixes #166362
4656
4657 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4658
4659         * gst/gst.c: (gst_init_get_popt_table):
4660           Fix typo (#166269).
4661
4662 2005-02-04  Andy Wingo  <wingo@pobox.com>
4663
4664         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4665         the debugging on whether the caps are compatible.
4666
4667 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4668
4669         * docs/manual/basics-elements.xml:
4670           Fix two typos.
4671
4672 2005-02-02  Wim Taymans  <wim@fluendo.com>
4673
4674         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4675         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4676         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4677         Remove some FIXMEs after analysing and commenting why they
4678         are not issues.
4679
4680 2005-02-02  Wim Taymans  <wim@fluendo.com>
4681
4682         * gst/schedulers/gstoptimalscheduler.c:
4683         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4684         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4685         (get_invalid_call), (chain_invalid_call),
4686         (get_group_schedule_function), (loop_group_schedule_function),
4687         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4688         (gst_opt_scheduler_state_transition),
4689         (gst_opt_scheduler_add_element),
4690         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4691         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4692         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4693         (gst_opt_scheduler_show):
4694         Added lock to protect scheduler data structures.
4695
4696 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4697
4698         * testsuite/threads/threadi.c: (cb_data):
4699           Fix buglet in test.
4700
4701 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4702
4703         * testsuite/threads/Makefile.am:
4704         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4705           On Wim's request, split the test in three separately-compiled
4706           tests that each test a very specific bug. Two of them still fail,
4707           will create bugs for those. threadi.c indicates why they fail.
4708
4709 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4710
4711         * gst/schedulers/gstoptimalscheduler.c:
4712         (get_group_schedule_function):
4713           Try to work with the threading mess that queue_link is.
4714
4715 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4716
4717         * gst/gstbin.c: (gst_bin_remove_func):
4718           Explicitely make an element release locks in a group when being
4719           remove from a bin.
4720         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4721           If there's no scheduler, always return immediately (similar to
4722           gst_element_interrupt).
4723
4724 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4725
4726         * gst/gstbin.c: (gst_bin_child_state_change_func):
4727           Remove a piece of code that could never be reached.
4728         * docs/gst/gstreamer-sections.txt:
4729         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4730         (gst_pad_call_get_function):
4731         * gst/gstpad.h:
4732         * testsuite/pad/Makefile.am:
4733           Fix #150546, enable tests.
4734
4735 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4736
4737         * docs/pwg/advanced-types.xml:
4738           Fix description for buffer-frames=0.
4739         * docs/gst/tmpl/gstbin.sgml:
4740         * gst/gstbin.c: (gst_bin_child_state_change_func),
4741         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4742         * gst/gstbin.h:
4743         * testsuite/threads/Makefile.am:
4744         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4745         (cb_state), (cb_play), (main):
4746           Fix non-recursive state changes to *really* change the state
4747           of the object, and not just call parent_class->state_change.
4748           Fix a lot of lockups caused by this. Fixes #132775. Add test
4749           for the problem. Also enable test to show #142588 (fixed).
4750         * gst/gstthread.c: (gst_thread_change_state),
4751         (gst_thread_child_state_change):
4752           Don't exit the thread if we go to NULL and are inside thread
4753           context. Instead, return control to the main thread context
4754           and exit from there.
4755         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4756           Don't unset virtual functions, since those may still be used.
4757           That's not necessarily correct, but suffices for now.
4758         * configure.ac:
4759         * testsuite/Makefile.am:
4760         * testsuite/pad/Makefile.am:
4761         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4762         (gst_test_sink_base_init), (gst_test_sink_chain),
4763         (gst_test_sink_init), (main):
4764         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4765         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4766         (main):
4767         * testsuite/pad/link.c: (gst_test_element_class_init),
4768         (gst_test_element_base_init), (gst_test_src_get),
4769         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4770         (gst_test_filter_loop), (gst_test_filter_init),
4771         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4772         (cb_error), (main):
4773           Add tests to show #150546. Pass, but should fail (currently
4774           disabled from the testsuite).
4775         * gst/gstscheduler.c: (gst_scheduler_dispose):
4776           Dereference child schedulers on dispose (#94464).
4777         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4778           Fix typo.
4779         * testsuite/threads/thread.c: (main):
4780           Add more debug.
4781
4782 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4783
4784         * gst/gstpad.c: (gst_pad_push):
4785           Oops, revert previous commit, broke testsuite...
4786
4787 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4788
4789         * gst/gstpad.c: (gst_pad_push):
4790           Add check that the pad on which the push is performed is not a
4791           get-based pad (#150546).
4792
4793 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4794
4795         * gst/elements/gsttypefindelement.c:
4796         (gst_type_find_element_handle_event):
4797           Fix buffer pushing if stream EOSes during typefinding.
4798
4799 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4800
4801         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4802
4803         * gst/gstvalue.c: (gst_string_wrap):
4804           Allow NULL-strings as argument (#165365).
4805
4806 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4807
4808         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4809
4810         * gst/schedulers/faircothreads.c:
4811         (gst_fair_scheduler_cothread_queue_show):
4812           Fix build without debug enabled.
4813
4814 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4815
4816         * docs/gst/gstreamer-sections.txt:
4817         * docs/libs/gstreamer-libs-docs.sgml:
4818         * docs/libs/gstreamer-libs-sections.txt:
4819         * docs/libs/tmpl/gstcontrol.sgml:
4820         * docs/libs/tmpl/gstdparam.sgml:
4821         * docs/libs/tmpl/gstdplinint.sgml:
4822         * docs/libs/tmpl/gstdpman.sgml:
4823         * docs/libs/tmpl/gstdpsmooth.sgml:
4824         * docs/libs/tmpl/gstputbits.sgml:
4825         * docs/libs/tmpl/gstunitconvert.sgml:
4826         * libs/gst/control/dparam.c:
4827         * libs/gst/control/dparam.h:
4828         * libs/gst/control/dparammanager.c:
4829         (gst_dpman_add_required_dparam_callback),
4830         (gst_dpman_add_required_dparam_direct),
4831         (gst_dpman_add_required_dparam_array),
4832         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4833         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4834         (gst_dpman_get_manager)
4835           restructured DParam docs
4836
4837 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4838
4839         * gst-element-check.m4:
4840           Only check for gst-inspect if we haven't already
4841           found it in previous element check runs
4842
4843 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4844
4845         * docs/gst/Makefile.am:
4846         * docs/libs/Makefile.am:
4847           fixed install rules to treat style.css as optional
4848
4849 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4850
4851         * docs/gst/Makefile.am:
4852         * docs/libs/Makefile.am:
4853           install style.css along with docs
4854         * docs/gst/tmpl/gstbin.sgml:
4855         * docs/gst/tmpl/gstclock.sgml:
4856         * docs/gst/tmpl/gstdata.sgml:
4857         * docs/gst/tmpl/gstelement.sgml:
4858         * gst/gstbin.h:
4859         * gst/gstelement.c: (gst_element_class_init):
4860         * gst/gstelement.h:
4861           fixing incomplete docs
4862
4863 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4864
4865         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4866           Don't unref seek event twice when fflush() fails
4867           
4868 2005-01-22  David Schleef  <ds@schleef.org>
4869
4870         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4871
4872 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4873
4874         * docs/gst/Makefile.am:
4875         * docs/libs/Makefile.am:
4876           added params for deprecation guards
4877         * gst/gst.c:
4878         * gst/gst.h:
4879         * gst/gsterror.c: (_gst_resource_errors_init),
4880         (_gst_stream_errors_init):
4881         * gst/gsterror.h:
4882           documented some more enums
4883
4884 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4885         * gst/autoplug/gstspideridentity.c:
4886         Cosmetic fix - spider_find_peek should be static
4887         * gst/parse/parse.l:
4888         Applying fix for #164261
4889
4890 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4891
4892         * docs/gst/gstreamer-sections.txt:
4893         * docs/gst/tmpl/gstplugin.sgml:
4894         * docs/libs/gstreamer-libs-sections.txt:
4895         * docs/libs/tmpl/gstcontrol.sgml:
4896         * gst/gstbuffer.h:
4897         * gst/gsttag.h:
4898         * gst/gstvalue.c:
4899           added docs for the TAG defines
4900
4901 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4902
4903         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4904           Only unref entry if there is an entry.
4905
4906 2005-01-17  Wim Taymans  <wim@fluendo.com>
4907
4908         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4909         (remove_from_group), (schedule_group), (normalize_group),
4910         (gst_opt_scheduler_iterate):
4911         Also ref/unref decoupled elements before iterating the
4912         group since they are not added to the list of elements.
4913
4914 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4915
4916         * docs/manual/highlevel-components.xml:
4917           Add subtitle/streamselection as new features to playbin.
4918
4919 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4920
4921         * docs/manual/manual.xml:
4922           Re-enable dataaccess docs (oops).
4923
4924 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4925
4926         * docs/pwg/advanced-types.xml:
4927         * docs/random/mimetypes:
4928           Add documentation on libsndfile types (#163309), by Steve Baker
4929           <steve@stevebaker.org>.
4930         * gst/gstelement.c: (gst_element_release_request_pad):
4931           If an element has no explicit function, just remove the pad.
4932
4933 2005-01-17  Luca Ognibene  <luogni@tin.it>
4934
4935         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4936
4937         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4938           Fix memleak (#163801).
4939
4940 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4941
4942         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4943           I think this is actually more correct...
4944
4945 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4946
4947         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4948           Another workaround for memory access while destroyed in callback.
4949           Please, someone with refcount knowledge, have a look at this.
4950
4951 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * docs/faq/faq.xml:
4954         * docs/faq/legal.xml:
4955           move the legal Q&A here
4956
4957 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4958
4959         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4960         (gst_tee_request_new_pad):
4961           Fix negotiation.
4962
4963 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4964
4965         * docs/random/omega/caps2:
4966         * testsuite/caps/caps_strings:
4967           replace framerate aproximations by their real value
4968           (24000/1001, 30000/1001, 60000/1001)
4969           Partially fixes bug #164049
4970
4971 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4972
4973         * docs/gst/Makefile.am:
4974           don't fail on the stupid GstPoptOption
4975
4976 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * gst/gstpad.h:
4979         * gst/gstprobe.c:
4980           allow probes to work on ghost pads by realizing the pad
4981           probe debugging
4982
4983 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4984
4985         * docs/gst/gstreamer-sections.txt:
4986         * docs/gst/tmpl/gstpad.sgml:
4987         * gst/gstpad.c: (gst_pad_set_active_recursive):
4988         * gst/gstpad.h:
4989           Add gst_pad_set_active_recursive().
4990
4991 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * docs/random/release:
4994           updates
4995         * gst/gst_private.h:
4996         * gst/gstinfo.c:
4997         * gst/gstobject.c:
4998           move deep_notify logging to a new category
4999         * gst/gstprobe.c:
5000         * gst/gstprobe.h:
5001           add stuff so bindings can wrap probes
5002
5003 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5004
5005         * gst/gstplugin.c: (gst_plugin_load):
5006           Fix plugin loading if plugin/lib was already loaded. Fixes
5007           #163383
5008
5009 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5010
5011         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5012
5013         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5014           Protect plugin loading by a mutex so it's threadsafe. Fixes
5015           #163234.
5016
5017 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5018
5019         * gst/gstevent.c: (_gst_event_copy):
5020           Reference source object when copying events, since it'll be
5021           dereferenced on event dereferencing as well.
5022
5023 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5024
5025         * docs/gst/gstreamer-sections.txt:
5026         * docs/gst/tmpl/gstevent.sgml:
5027         * gst/gstevent.c: (gst_event_new_filler_stamped),
5028         (gst_event_filler_get_duration):
5029         * gst/gstevent.h:
5030           Add two new functions for filler events (which are used to
5031           synchronize streams if one of them is not having any data
5032           for a while) without interrupting the actual data-stream.
5033           Basically a no-op.
5034         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5035         (gst_queue_link_sink), (gst_queue_link_src),
5036         (gst_queue_change_state):
5037           Allow for renegotiation while filled. Required for stream
5038           switching while playing.
5039
5040 2005-01-08  Benjamin Otte  <otte@gnome.org>
5041
5042         * gst/gstelement.c: (gst_element_link_many):
5043           fix up g_return_if_fail's
5044         * po/LINGUAS:
5045         * po/de.po:
5046           add German translation, that was somehow not included
5047
5048 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5049
5050         * docs/random/mimetypes:
5051           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5052           do not add them to riff-lib as they are not common
5053
5054 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5055
5056         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5057           Check for existence of probe after performing the probe before
5058           re-accessing it to prevent segfaults caused by removal of the
5059           probe in the callback.
5060
5061 2005-01-05  David Schleef  <ds@schleef.org>
5062
5063         * testsuite/registry/Makefile.am:
5064         * testsuite/registry/gst-print-formats.c:
5065         (print_pad_templates_info), (print_element_list),
5066         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5067         (g_list_uniqify), (get_pad_templates_info),
5068         (get_element_mime_list), (print_mime_list), (main): A little
5069         program that looks through the registry to find elements of
5070         a given type.  Not particularly interesting as a test, except
5071         that there's no other test covering the same area.
5072
5073 2005-01-05  David Schleef  <ds@schleef.org>
5074
5075         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5076         (fault_handler_sigaction), (fault_spin),
5077         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5078         in signal.h-type signal handlers by not calling forbidden functions,
5079         including gst_element_set_state().
5080
5081 2005-01-05  David Schleef  <ds@schleef.org>
5082
5083         * gst/gstvalue.h: Mark _gst_reserved[] as private
5084
5085 2005-01-05  David Schleef  <ds@schleef.org>
5086
5087         * gst/gstvalue.c: Fix doc build problem.
5088
5089 2005-01-05  David Schleef  <ds@schleef.org>
5090
5091         * gst/gstvalue.c: Add some documentation
5092
5093 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5094
5095         * docs/README:
5096           another shell oneliner for empty return value docs
5097         * gst/gstcaps.c:
5098         * gst/gstvalue.c:
5099         * libs/gst/control/dparam.c:
5100           more doc fixes (parameters and return values)
5101
5102 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5103
5104         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5105
5106         * gst/gstregistry.h:
5107         * gst/registries/gstxmlregistry.c:
5108           Fix macro's for Mingw (fixes #162276).
5109
5110 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5111
5112         * docs/README:
5113           quick shell oneliner to find undocumented members
5114         * docs/gst/tmpl/gstplugin.sgml:
5115         * docs/gst/tmpl/gstscheduler.sgml:
5116         * docs/gst/tmpl/gstthread.sgml:
5117           more enumtypes cleanup
5118         * gst/gsterror.h:
5119           activated documentation comments, now someone needs to document
5120           the enums :(
5121
5122 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5123
5124         * docs/manual/manual.xml:
5125           Add dataaccess part (doh!).
5126
5127 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5128
5129         * docs/manual/advanced-autoplugging.xml:
5130           Fix typo (intiate -> initiate).
5131
5132 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5133
5134         * docs/random/bbb/streamselection:
5135           Add some notes on how to handle multi-subtitle/-audio streams.
5136
5137 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5138
5139         * docs/gst/gstreamer-docs.sgml:
5140         * docs/gst/gstreamer-sections.txt:
5141         * docs/gst/tmpl/gstenumtypes.sgml:
5142         * docs/gst/tmpl/gsterror.sgml:
5143         * docs/gst/tmpl/gstevent.sgml:
5144         * docs/gst/tmpl/gstpad.sgml:
5145         * docs/gst/tmpl/gstpadtemplate.sgml:
5146         * docs/gst/tmpl/gstthread.sgml:
5147           removed gstenumtypes section from docs and put all the enums into
5148           their sections
5149
5150 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5151
5152         * gst/gstplugin.c:
5153           document gst_library_load a bit more (riff special case + return
5154           value if already loaded)
5155         * testsuite/bytestream/filepadsink.c:
5156           plugin name is 'gstbytestream', not 'bytestream'
5157
5158 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5159
5160         * docs/random/bbb/subtitles:
5161           Add some first mind rumblings on proper subtitle support.
5162
5163 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * po/ca.po:
5166         * po/sv.po:
5167           updated translations
5168
5169 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5170
5171         * docs/manual/advanced-dataaccess.xml:
5172           Add section on how to use fakesrc/fakesink/identity in your
5173           application, plus section on how to embed plugins. Also mention
5174           probes.
5175         * docs/manual/appendix-checklist.xml:
5176         * docs/manual/appendix-debugging.xml:
5177         * docs/manual/appendix-gnome.xml:
5178         * docs/manual/appendix-integration.xml:
5179           Debug -> checklist, GNOME -> integration, add sections on Linux,
5180           KDE integration and add other things useful for application
5181           development.
5182         * docs/manual/manual.xml:
5183           Remove some fixmes, update some file pointers.
5184         * docs/pwg/appendix-checklist.xml:
5185           Fix typo.
5186         * docs/pwg/building-boiler.xml:
5187           Remove ugly header and add commented fixme.
5188         * docs/pwg/pwg.xml:
5189           Add fixme.
5190         * examples/manual/Makefile.am:
5191           Add example for added docs.
5192
5193 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5194
5195         * configure.ac:
5196           back to HEAD
5197
5198 === release 0.8.8 ===
5199
5200 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5201
5202         * NEWS:
5203         * RELEASE:
5204         * configure.ac:
5205           Releasing 0.8.8, "I'll Take Care Of You"
5206
5207 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5208
5209         * configure.ac:
5210           second prerelease
5211
5212 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5213
5214         patch by: Wim Taymans
5215
5216         * gst/gstbin.c:
5217           Fix for #159852 - make iterate emission threadsafe
5218
5219 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5220
5221         * docs/faq/cvs.xml:
5222           notes about new fdo account request
5223
5224 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5225
5226         * docs/gst/gstreamer-docs.sgml:
5227         * docs/gst/tmpl/gstenumtypes.sgml:
5228         * docs/gst/tmpl/gstplugin.sgml:
5229         * docs/libs/gstreamer-libs-docs.sgml:
5230           Added missing short docs. Added ids for navigation.
5231
5232 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5233
5234         * docs/manual/advanced-autoplugging.xml:
5235         * docs/manual/advanced-schedulers.xml:
5236         * docs/manual/advanced-threads.xml:
5237           Rewrites. Remove cothreads, go a bit into opt specifically,
5238           document threads and their gotchas, and do some technical stuff
5239           on autoplugging plus add some working examples. Fixes #157395.
5240         * examples/manual/Makefile.am:
5241           Add typefind/autoplugger example (one that actually works).
5242           Remove queue example since it's a duplicate of the thread one.
5243
5244 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5245
5246         * gst/gstvalue.c: (gst_value_deserialize_string):
5247           use deprecated g_value_set_string_take_ownership to keep compatible
5248           with glib 2.2
5249
5250 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5251
5252         * gst/gstvalue.c: (gst_value_deserialize_string):
5253           revert last patch, only dom a g_utf8_validate now before accepting
5254           the string - caps parsing strips " from strings so we can't rely on
5255           them
5256         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5257           disable a test that tested the above and comment it
5258
5259 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5260
5261         Patch reviewed by David Schleef  <ds@schleef.org>
5262
5263         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5264         bug #153882)
5265         * win32/gstenumtypes.h: same
5266
5267 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5268
5269         * gst/gstpad.c: (gst_pad_query):
5270           Do query on realized pad, similar to how convert/send_event handle
5271           this. Also makes sense, since this pad belongs to the function to
5272           which this query will be sent. Fixes #158163.
5273
5274 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5275
5276         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5277
5278 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5279
5280         * docs/faq/general.xml: fix pipeline to actually work
5281
5282 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5283
5284         * gst/gstvalue.c: (gst_value_deserialize_string):
5285           check that a simple string that gets deserialized does not contain
5286           invalid characters
5287         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5288           remove a test that tested a wring behaviour
5289
5290 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5291
5292         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5293
5294         * docs/manual/intro-motivation.xml:
5295           Fix typos.
5296
5297 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5298
5299         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5300
5301         * docs/gst/tmpl/gstprobe.sgml:
5302           Fix documentation of probe callback - it is supposed to return
5303           FALSE, not TRUE, to remove data from the stream (#159087).
5304
5305 2004-12-16  Daniel Gazard  <dany42@free.fr>
5306
5307         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5308
5309         * gst/gstelementfactory.c: (gst_element_factory_create):
5310           Fix compile failure if compiling without libxml2 support (#149936).
5311
5312 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5313
5314         * docs/manual/advanced-autoplugging.xml:
5315         * docs/manual/highlevel-components.xml:
5316           Move spider from autoplugging to components. Autoplugging is for
5317           internals, not for solutions. ;-).
5318
5319 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5320
5321         * docs/random/ds/0.9-suggested-changes:
5322           Make note on device/location/uri property names.
5323
5324 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5325
5326         * docs/manual/advanced-autoplugging.xml:
5327         * docs/manual/advanced-clocks.xml:
5328         * docs/manual/advanced-interfaces.xml:
5329         * docs/manual/advanced-metadata.xml:
5330         * docs/manual/advanced-position.xml:
5331         * docs/manual/advanced-schedulers.xml:
5332         * docs/manual/advanced-threads.xml:
5333         * docs/manual/appendix-gnome.xml:
5334         * docs/manual/appendix-programs.xml:
5335         * docs/manual/appendix-quotes.xml:
5336         * docs/manual/autoplugging.xml:
5337         * docs/manual/basics-bins.xml:
5338         * docs/manual/basics-data.xml:
5339         * docs/manual/basics-elements.xml:
5340         * docs/manual/basics-helloworld.xml:
5341         * docs/manual/basics-init.xml:
5342         * docs/manual/basics-pads.xml:
5343         * docs/manual/basics-plugins.xml:
5344         * docs/manual/bins-api.xml:
5345         * docs/manual/bins.xml:
5346         * docs/manual/buffers-api.xml:
5347         * docs/manual/buffers.xml:
5348         * docs/manual/clocks.xml:
5349         * docs/manual/components.xml:
5350         * docs/manual/cothreads.xml:
5351         * docs/manual/debugging.xml:
5352         * docs/manual/dparams-app.xml:
5353         * docs/manual/dynamic.xml:
5354         * docs/manual/elements-api.xml:
5355         * docs/manual/elements.xml:
5356         * docs/manual/factories.xml:
5357         * docs/manual/gnome.xml:
5358         * docs/manual/goals.xml:
5359         * docs/manual/helloworld.xml:
5360         * docs/manual/helloworld2.xml:
5361         * docs/manual/highlevel-components.xml:
5362         * docs/manual/highlevel-xml.xml:
5363         * docs/manual/init-api.xml:
5364         * docs/manual/intro-basics.xml:
5365         * docs/manual/intro-motivation.xml:
5366         * docs/manual/intro-preface.xml:
5367         * docs/manual/intro.xml:
5368         * docs/manual/links-api.xml:
5369         * docs/manual/links.xml:
5370         * docs/manual/manual.xml:
5371         * docs/manual/motivation.xml:
5372         * docs/manual/pads-api.xml:
5373         * docs/manual/pads.xml:
5374         * docs/manual/plugins-api.xml:
5375         * docs/manual/plugins.xml:
5376         * docs/manual/programs.xml:
5377         * docs/manual/queues.xml:
5378         * docs/manual/quotes.xml:
5379         * docs/manual/schedulers.xml:
5380         * docs/manual/states-api.xml:
5381         * docs/manual/states.xml:
5382         * docs/manual/threads.xml:
5383         * docs/manual/typedetection.xml:
5384         * docs/manual/win32.xml:
5385         * docs/manual/xml.xml:
5386           Try 2. This time, include a short preface as a "general
5387           introduction", also add code blocks around all code samples
5388           so they get compiled. We still need a way to tell readers
5389           the filename of the code sample. In some cases, don't show
5390           all code in the documentation, but do include it in the generated
5391           code. This allows for focussing on specific bits in the docs,
5392           while still having a full test application available.
5393         * examples/manual/Makefile.am:
5394           Fix up examples for new ADM. Add several of the new examples that
5395           were either added or were missing from the build system.
5396         * examples/manual/extract.pl:
5397           Allow nameless blocks.
5398
5399 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5400
5401         * docs/manual/elements-api.xml:
5402         * docs/manual/helloworld.xml:
5403         * examples/manual/extract.pl:
5404           fix last example.  Add example of adding code blocks that are not
5405           shown in docbook output.
5406
5407 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * docs/manual/dynamic.xml:
5410         * docs/manual/elements-api.xml:
5411         * docs/manual/gnome.xml:
5412         * docs/manual/helloworld2.xml:
5413         * docs/manual/init-api.xml:
5414         * docs/manual/queues.xml:
5415         * docs/manual/threads.xml:
5416         * docs/manual/xml.xml:
5417         * examples/manual/extract.pl:
5418           Make it possible to extract example code from separate blocks.
5419           Should make Ronald happy.
5420
5421 2004-12-15  Wim Taymans  <wim@fluendo.com>
5422
5423         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5424         (remove_from_group), (group_elements_set_visited),
5425         (normalize_group), (gst_opt_scheduler_iterate):
5426         Fix bug where a flag was not updated on a decoupled entry point 
5427         because we were just checking the group element list and decoupled
5428         elements are not in that list..
5429
5430 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5431
5432         * docs/manual/advanced-autoplugging.xml:
5433         * docs/manual/advanced-clocks.xml:
5434         * docs/manual/advanced-dparams.xml:
5435         * docs/manual/advanced-interfaces.xml:
5436         * docs/manual/advanced-metadata.xml:
5437         * docs/manual/advanced-position.xml:
5438         * docs/manual/advanced-schedulers.xml:
5439         * docs/manual/advanced-threads.xml:
5440         * docs/manual/appendix-debugging.xml:
5441         * docs/manual/appendix-gnome.xml:
5442         * docs/manual/appendix-programs.xml:
5443         * docs/manual/appendix-quotes.xml:
5444         * docs/manual/appendix-win32.xml:
5445         * docs/manual/autoplugging.xml:
5446         * docs/manual/basics-bins.xml:
5447         * docs/manual/basics-data.xml:
5448         * docs/manual/basics-elements.xml:
5449         * docs/manual/basics-helloworld.xml:
5450         * docs/manual/basics-init.xml:
5451         * docs/manual/basics-pads.xml:
5452         * docs/manual/basics-plugins.xml:
5453         * docs/manual/bins-api.xml:
5454         * docs/manual/bins.xml:
5455         * docs/manual/buffers-api.xml:
5456         * docs/manual/buffers.xml:
5457         * docs/manual/clocks.xml:
5458         * docs/manual/components.xml:
5459         * docs/manual/cothreads.xml:
5460         * docs/manual/debugging.xml:
5461         * docs/manual/dparams-app.xml:
5462         * docs/manual/dynamic.xml:
5463         * docs/manual/elements-api.xml:
5464         * docs/manual/elements.xml:
5465         * docs/manual/factories.xml:
5466         * docs/manual/gnome.xml:
5467         * docs/manual/goals.xml:
5468         * docs/manual/helloworld.xml:
5469         * docs/manual/helloworld2.xml:
5470         * docs/manual/highlevel-components.xml:
5471         * docs/manual/highlevel-xml.xml:
5472         * docs/manual/init-api.xml:
5473         * docs/manual/intro-motivation.xml:
5474         * docs/manual/intro-preface.xml:
5475         * docs/manual/intro.xml:
5476         * docs/manual/links-api.xml:
5477         * docs/manual/links.xml:
5478         * docs/manual/manual.xml:
5479         * docs/manual/motivation.xml:
5480         * docs/manual/pads-api.xml:
5481         * docs/manual/pads.xml:
5482         * docs/manual/plugins-api.xml:
5483         * docs/manual/plugins.xml:
5484         * docs/manual/programs.xml:
5485         * docs/manual/queues.xml:
5486         * docs/manual/quotes.xml:
5487         * docs/manual/schedulers.xml:
5488         * docs/manual/states-api.xml:
5489         * docs/manual/states.xml:
5490         * docs/manual/threads.xml:
5491         * docs/manual/typedetection.xml:
5492         * docs/manual/win32.xml:
5493         * docs/manual/xml.xml:
5494           First try at rewriting the ADM. Needs lotsamore work, but some
5495           parts might already be somewhat useful.
5496         * docs/pwg/advanced-interfaces.xml:
5497           Remove properties interface, it never actually existed (except for
5498           on my HD...).
5499
5500 2004-12-13  David Schleef  <ds@schleef.org>
5501
5502         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5503         be NULL (bug #160220).
5504
5505 2004-12-13  David Schleef  <ds@schleef.org>
5506
5507         * configure.ac: remove all mmx stuff, because it's not used.
5508         * docs/random/ds/0.9-suggested-changes: additional notes
5509         * include/Makefile.am: we don't use these anymore
5510         * include/mmx.h: remove
5511         * include/sse.h: remove
5512
5513 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5514
5515         * docs/random/mimetypes:
5516           Add FOURCC code for h264 codec (VSSH)
5517           Add alternate FOURCC codes for h263 related codecs
5518
5519 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5520
5521         * docs/manual/programs.xml:
5522           Added more gst-launch examples.
5523
5524 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5525
5526         * gst/gstqueue.c: (gst_queue_handle_src_query):
5527           Check for availability again.
5528
5529 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5530
5531         * gst/gstcaps.c: (gst_caps_compare_structures):
5532           Simple caps go first. This has the nice side-effect of fixing an
5533           obscure warning.
5534
5535 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5536
5537         * gst/gstversion.h.in:
5538           Protect header.
5539
5540 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5541
5542         * gst/schedulers/gstoptimalscheduler.c:
5543         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5544         (gst_opt_scheduler_get_wrapper):
5545           When we're recursing into a chain run, only run the directly
5546           related group, not all queued ones. This will fix a possible
5547           deadlock in chains with more than two groups.
5548
5549 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * autogen.sh:
5552           remove patch if autopoint fails
5553
5554 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5555
5556         * docs/gst/gstreamer-sections.txt:
5557           Document Thomas' addition, fix build, make Luis the sheriff happy.
5558
5559 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5560
5561         * gst/gstplugin.c:
5562         * gst/gstplugin.h:
5563           add accessor for version field
5564
5565 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5566
5567         submitted by: Luca Ferretti <elle.uca@infinito.it>
5568
5569         * po/LINGUAS:
5570         * po/it.po:
5571           New tranlation added: Italian
5572
5573 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5574
5575         * gst/gstpad.c: (gst_pad_is_negotiated),
5576         (gst_pad_get_negotiated_caps):
5577           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5578           it doesn't actually check the contents), so be sure to hand it
5579           a RealPad else we'll crash.
5580
5581 2004-12-03  Wim Taymans  <wim@fluendo.com>
5582
5583         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5584         (gst_queue_link), (gst_queue_handle_src_query):
5585         Reverted to 1.110 until this makes the testsuite and various
5586         apps work.
5587
5588 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5589
5590         * docs/upload.mak: fix included CVS conflict strings
5591
5592 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5593
5594         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5595
5596         * gst/gstelement.c: (gst_element_error_full):
5597           Use g_error_new_literal because error text may have
5598           percentage signs in it. Fixes #160019.
5599
5600 2004-12-01  Benjamin Otte  <otte@gnome.org>
5601
5602         * gst/elements/gstbufferstore.c:
5603         (gst_buffer_store_add_buffer_func):
5604           don't try to make subbuffers bigger than they can be. (fixes
5605           #159970)
5606
5607 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5608
5609         * docs/gst/gstreamer-sections.txt:
5610         * docs/gst/tmpl/gstvalue.sgml:
5611           Add new function to docs to fix build.
5612
5613 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5614
5615         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5616         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5617         (_gst_pad_default_fixate_foreach):
5618         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5619         * gst/gstvalue.h:
5620           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5621           in some cases (arrays), the fixedness depends on the content.
5622         * gst/gstqueue.c: (gst_queue_handle_src_query):
5623           Check for availability before doing something.
5624
5625 2004-11-29  Wim Taymans  <wim@fluendo.com>
5626
5627         * testsuite/threads/Makefile.am:
5628         * testsuite/threads/signals.c: (gst_test_get_type),
5629         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5630         (gst_test_set_property), (gst_test_get_property),
5631         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5632         (gst_test_do_prop), (run_thread), (main):
5633         Added a bunch of testcases that show threadsafety bugs in glib.
5634
5635 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5636
5637         * docs/manual/programs.xml:
5638           Added a first batch of gst-launch examples, as provided by Ronald
5639           and others from the devel-mlist
5640
5641 2004-11-28  Benjamin Otte  <otte@gnome.org>
5642
5643         * gst/gstelement.c: (gst_element_negotiate_pads):
5644           simplify
5645         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5646         (gst_value_serialize_string), (gst_value_deserialize_string):
5647           add unwrapping of previously wrapped strings. Fix bug in wrapping
5648           while at it.
5649         * testsuite/caps/value_serialize.c: (test1),
5650         (test_string_serialization), (test_string_deserialization), (main):
5651           add tests for string (de)serialization
5652
5653 2004-11-26  Wim Taymans  <wim@fluendo.com>
5654
5655         * testsuite/threads/159566.c: (object_deep_notify), (main):
5656         * testsuite/threads/Makefile.am:
5657         Added testsuite to show bug #159566
5658
5659 2004-11-25  Wim Taymans  <wim@fluendo.com>
5660
5661         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5662         (gst_thread_child_state_change), (gst_thread_main_loop):
5663         Ref the thread object in the GThread mainloop. Break out of the
5664         thread mainloop if it holds the last ref. This properly exits
5665         the threads when disposing the thread from its own context. It
5666         also avoids possible deadlocks in the dispose function.
5667
5668 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5669
5670         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5671         it is necessary to wait.
5672
5673 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5674
5675         * docs/pwg/building-boiler.xml:
5676           Make description somewhat clearer.
5677
5678 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5679
5680         * docs/upload.mak:
5681           Apparently docs changed location on FDO's server.
5682
5683 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5684
5685         * docs/pwg/appendix-checklist.xml:
5686           Add some random notes on things to check when writing an element.
5687           This list can be extended as people see fit.
5688
5689 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5690
5691         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5692         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5693         pad. The queue will now wait until it is empty and forward the new
5694         caps to the source.
5695         * gst/gstbin.c (gst_bin_set_element_sched)
5696         (gst_bin_unset_element_sched): Make sure that all elements and
5697         links are registered and unregistered with the scheduler exactly
5698         once. This elaborates on a fix by Benjamin Otte, but
5699         guarantees that decoupled elements are also registered.
5700
5701 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5702
5703         * docs/manual/quotes.xml:
5704           add a quote
5705         * configure.ac:
5706         * gst/gst.c:
5707         * gst/gstinfo.c:
5708           add LIBDIR and move init message higher up so it's at the start
5709
5710 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5711
5712         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5713         * gstreamer.spec.in: add fair
5714
5715 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5716
5717         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5718         * gst/elements/gstidentity.c: (gst_identity_class_init):
5719           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5720           <teuf@gnome.org> (#157263).
5721         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5722         (gst_type_find_handle_src_query):
5723           Subtract size of internally stored data from position queries.
5724
5725 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5726
5727         * gst/schedulers/fairscheduler.c:
5728         * gst/schedulers/faircothreads.c:
5729         * gst/schedulers/faircothreads.h:
5730         New cothread based scheduler: Fair scheduler.
5731         * gst/schedulers/gthread-cothreads.h: 
5732         Add the standard #if around the whole file.
5733         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5734         compilation of the functions defined in this file. This is
5735         necessary to be able to use this file as a normal header.
5736         * gst/schedulers/Makefile.am: Add compiling support for fair
5737         scheduler.
5738         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5739         scheduler cothreads layer from documentation generation.
5740
5741 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5742
5743         * gst/autoplug/gstspideridentity.c:
5744         (gst_spider_identity_sink_loop_type_finding):
5745           Don't crash if that function is not implemented.
5746
5747 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5748
5749         * docs/pwg/advanced-types.xml:
5750           Another typo.
5751
5752 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5753
5754         * docs/pwg/intro-preface.xml:
5755           Hm, ok, so the brackets weren't really useful...
5756         * docs/pwg/other-ntoone.xml:
5757           Fix embarassing typo.
5758
5759 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5760
5761         * docs/pwg/intro-preface.xml:
5762           Rewrite preface.
5763
5764 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5765
5766         * docs/pwg/advanced-scheduling.xml:
5767         * docs/pwg/advanced-tagging.xml:
5768         * docs/pwg/advanced-types.xml:
5769         * docs/pwg/building-boiler.xml:
5770         * docs/pwg/building-chainfn.xml:
5771         * docs/pwg/building-signals.xml:
5772         * docs/pwg/building-state.xml:
5773         * docs/pwg/building-testapp.xml:
5774         * docs/pwg/intro-basics.xml:
5775         * docs/pwg/other-manager.xml:
5776         * docs/pwg/other-source.xml:
5777           Typo fixes.
5778         * docs/pwg/other-manager.xml:
5779           Add some first content. No example code yet.
5780         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5781           Remove double newlines.
5782
5783 2004-11-04  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5786         (remove_from_group), (normalize_group), (group_migrate_connected),
5787         (gst_opt_scheduler_iterate):
5788         * testsuite/schedulers/.cvsignore:
5789         * testsuite/schedulers/Makefile.am:
5790         * testsuite/schedulers/queue_link.c: (main):
5791         Added testcase for scheduler segfault.
5792         Fix scheduler segfault when removing a decoupled
5793         entry point as the last element from a group.
5794
5795 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5796
5797         * gst/gstmarshal.list: add missing marshaller, fixes build
5798
5799 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5800
5801         * docs/random/signal: added notes about using BOXED for GstBuffer
5802         signal marshallers, not POINTER
5803
5804 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5805
5806         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5807         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5808         POINTER=>BOXED changes to marshal GstBuffers
5809
5810 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5811
5812         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5813         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5814
5815 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5816
5817         * docs/gst/gstreamer-sections.txt:
5818         * docs/gst/tmpl/gstcaps.sgml:
5819         * docs/gst/tmpl/gsterror.sgml:
5820         * docs/gst/tmpl/gstinfo.sgml:
5821         * docs/gst/tmpl/gstmacros.sgml:
5822         * docs/gst/tmpl/gstutils.sgml:
5823         * docs/random/ensonic/interfaces.txt:
5824         * gst/gstinfo.h:
5825           added some more docs, removed two obsolete defines
5826
5827 2004-11-02  Kjartan Maraas <as at gnome.org>
5828
5829         reviewed by: Wim Taymans, Ronald Bultje.
5830
5831         * gst/cothreads.c: (cothread_create):
5832         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5833         (gst_bin_child_state_change_func):
5834         * gst/gstbuffer.c: (gst_buffer_span):
5835         * gst/gstelement.c: (gst_element_get_index),
5836         (gst_element_get_event_masks), (gst_element_get_query_types),
5837         (gst_element_get_formats):
5838         * gst/gsterror.c: (_gst_core_errors_init),
5839         (_gst_library_errors_init), (_gst_resource_errors_init),
5840         (_gst_stream_errors_init):
5841         * gst/gstobject.c: (gst_object_default_deep_notify):
5842         * gst/gstpad.c: (gst_pad_get_event_masks),
5843         (gst_pad_get_internal_links_default):
5844         * gst/gstplugin.c: (gst_plugin_register_func),
5845         (gst_plugin_get_module):
5846         * gst/gststructure.c: (gst_structure_get_string),
5847         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5848         (gst_structure_to_abbr):
5849         * gst/gstutils.c: (gst_print_element_args):
5850         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5851         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5852         Aplied part of patch #157127: Cleanup of issues reported by 
5853         sparse.
5854         Also do not try to use cothreads when there is no cothread
5855         context yet.
5856
5857 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5858
5859         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5860         (gst_opt_scheduler_iterate):
5861         Applied patch #154061. Running a pipeline in which an element 
5862         calls GST_ELEMENT_ERROR in the chain function, the opt 
5863         scheduler doesn't unref the chain so it never gets freed.
5864
5865 2004-11-02  Wim Taymans  <wim@fluendo.com>
5866
5867         * gst/gststructure.c: (gst_structure_get_abbrs),
5868         (gst_structure_from_abbr), (gst_structure_to_abbr):
5869         Remove that ugly if-then thing in the code that converts
5870         between strings and types.
5871
5872 2004-11-02  Wim Taymans  <wim@fluendo.com>
5873
5874         * gst/gstscheduler.c: (gst_scheduler_add_element),
5875         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5876         Aplied clock distribution patch, this should fix bug
5877         #148787.
5878
5879 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5880
5881         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5882
5883         * po/LINGUAS:
5884         * po/nb.po:
5885           Added Norwegian Bokmaal translation
5886
5887 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5888
5889         * tools/gst-inspect.c: (print_signal_info):
5890           print signal arguments as pointers if they are
5891
5892 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5893
5894         * docs/pwg/building-boiler.xml:
5895           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5896
5897 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5898
5899         * gst/parse/parse.l:
5900         * testsuite/parse/parse1.c: (main):
5901         Since parse can do 'element name=a:b' make 'a:b.' work as
5902         well. 
5903         Added testcase to verify fix.
5904
5905 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5906
5907         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5908         Use the realpad when printing the direction.
5909         Add extra \n when printing extensions of typefind factories.
5910
5911 2004-10-13  David Schleef  <ds@schleef.org>
5912
5913         * examples/manual/Makefile.am: $< isn't portable in Makefile
5914         rules.
5915
5916 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5917
5918         * docs/gst/tmpl/gstobject.sgml:
5919         * docs/gst/tmpl/gstplugin.sgml:
5920         * docs/gst/tmpl/gstpluginfeature.sgml:
5921         * docs/gst/tmpl/gstregistry.sgml:
5922         * docs/gst/tmpl/gstversion.sgml:
5923         * gst/gstbin.c:
5924           more api documentation
5925         * gst/gstplugin.c: (gst_plugin_register_func),
5926         (gst_plugin_check_file), (gst_plugin_load_file):
5927           better error signaling and logging
5928
5929 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5930
5931         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5932           Subtract current queue contents from position queries.
5933
5934 2004-10-11  Johan Dahlin  <johan@gnome.org>
5935
5936         * gst/gsturi.c (gst_uri_get_location): unescape string
5937         (gst_uri_construct): escape string.
5938
5939 2004-10-11  Benjamin Otte  <otte@gnome.org>
5940
5941         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5942         (gst_pad_try_set_caps_nonfixed):
5943           allow renegotiation of unconnected pads (as inside spider). Simply
5944           return OK if unconnected - mimic try_set_caps there.
5945
5946 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5947
5948         * gst/gstbin.c: (gst_bin_sync_children_state):
5949           Add missing break.
5950
5951 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5952
5953         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5954         Set element to EOS before sending EOS event
5955
5956 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5957
5958         * gst/elements/gsttypefindelement.c:
5959         (gst_type_find_element_handle_event):
5960         Handle EOS events when doing the transition from
5961         typefind to data passing. This should fix the
5962         infinite loops in short files.
5963
5964 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5965
5966         * gst/gstthread.c: (gst_thread_change_state),
5967         (gst_thread_child_state_change):
5968         Make sure no iteration happens while performing
5969         the state change as it could mess up the internal
5970         consistency of the thread state.
5971
5972 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5973
5974         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5975         (gst_thread_change_state), (gst_thread_child_state_change):
5976         Do not try to grab the iterate lock in the state change method
5977         when we are in the same thread as the iterate or else we
5978         could deadlock. Some other cleanups.
5979
5980 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * configure.ac:
5983           bump nano to cvs
5984
5985 === release 0.8.7 ===
5986
5987 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5988
5989         * configure.ac:
5990         * NEWS:
5991         * RELEASE:
5992         * configure.ac:
5993           releasing 0.8.7, "A Cruise"
5994
5995 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5996
5997         * docs/random/mimetypes:
5998         Add an entry for Sony ATRAC3 audio format with mime-type
5999         used by rmdemux et riff-read
6000
6001 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6002
6003         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6004         Push the buffer store instead of clearing it in case that
6005         the stream is not seekable.
6006
6007 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6008
6009         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6010         (gst_thread_main_loop):
6011         Lock the iteration and the state change so that automatic
6012         negotiation and fixation does not happen at the same time
6013         as the in stream negotiation.
6014
6015 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6016
6017         * configure.ac:
6018           bump nano to cvs
6019
6020 === release 0.8.6 ===
6021
6022 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6023
6024         * configure.ac:
6025         * NEWS:
6026         * RELEASE:
6027         * configure.ac:
6028           releasing 0.8.6, "Narc"
6029
6030 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6031
6032         * configure.ac:
6033           prerel bump
6034
6035 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6036
6037         patch by: Steve Lhomme
6038
6039         * gst/elements/gstfakesrc.c:
6040         * gst/elements/gstidentity.c:
6041         * gst/gstthread.c:
6042           Fix for #153881
6043
6044 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6045
6046         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6047         Fix threadsafety of the crc checking function.
6048
6049 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6050
6051         patch by: Ronald Bultje
6052
6053         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6054         (gst_type_find_element_handle_event),
6055         (gst_type_find_element_chain):
6056         * gst/elements/gsttypefindelement.h:
6057          #153657.
6058          Filter out discont event from seekable sources when typefind
6059          asks them to seek.  Fixes typefind with demuxers for
6060          avi, asf and matroska.
6061
6062 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * docs/gst/gstreamer-sections.txt:
6065         * gst/gstcaps.c:
6066         * gst/gstcaps.h:
6067         * gst/gstpad.c:
6068           Revert preferred caps: (#147789)
6069
6070 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6071
6072         * win32/dirent.c:
6073           fix a memory leak
6074
6075 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6076
6077         * configure.ac:
6078           bump for prerelease
6079
6080 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6081
6082         * docs/Makefile.am:
6083         * docs/manual/elements-api.xml:
6084           restructure so that common stuff is shown first
6085         * docs/manual/init-api.xml:
6086           convert to examples
6087         * docs/manual/manual.xml:
6088         * docs/manuals.mak:
6089         * docs/url.entities:
6090           link to API on the website, possibly override later in build
6091         * examples/manual/.cvsignore:
6092           ignore more
6093         * examples/manual/Makefile.am:
6094           add more examples
6095         * examples/manual/extract.pl:
6096           error out on failure
6097
6098 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6099
6100         * docs/gst/tmpl/gstthread.sgml:
6101         * docs/manual/init-api.xml:
6102         * examples/manual/Makefile.am:
6103           convert two code bits to examples
6104
6105 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6106
6107         * gst/gstelement.c: (gst_element_change_state):
6108           Well, actually, I was about to remove this insane assert when
6109           I noticed Wim already did that. A warning is nice so we can
6110           fix actual ugs (using --g-fatal-warnings and backtraces), so
6111           I added that instead.
6112
6113 2004-09-06  Wim Taymans  <wim@fluendo.com>
6114
6115         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6116         (gst_element_threadsafe_properties_post_run),
6117         (gst_element_set_state), (gst_element_change_state):
6118         Added extra refcounting around various places. 
6119
6120 2004-09-06  Wim Taymans  <wim@fluendo.com>
6121
6122         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6123         Fix debug info.
6124
6125 2004-09-06  Wim Taymans  <wim@fluendo.com>
6126
6127         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6128         (remove_from_group):
6129         Some more debug info.
6130
6131 2004-09-03  Wim Taymans  <wim@fluendo.com>
6132
6133         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6134         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6135         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6136         (gst_fakesrc_get), (gst_fakesrc_change_state):
6137         * gst/elements/gstfakesrc.h:
6138         * gst/elements/gstidentity.c: (gst_identity_class_init),
6139         (gst_identity_init), (gst_identity_chain),
6140         (gst_identity_set_property), (gst_identity_get_property),
6141         (gst_identity_change_state):
6142         * gst/elements/gstidentity.h:
6143         Added datarate properties to limit the datarate.
6144
6145 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6146
6147         * gst/autoplug/gstspider.c: (plugin_init):
6148           don't set a rank. We don't want to autoplug by inserting spiders.
6149
6150 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6151
6152         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6153         (gst_spider_identity_plug):
6154           add a template for spider's sink
6155         * gst/gst.c: (gst_register_core_elements):
6156           queue's rank should be NULL, we don't want spider to add it.
6157
6158 2004-08-18  David Schleef  <ds@schleef.org>
6159
6160         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6161         * docs/libs/Makefile.am: same
6162         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6163         * docs/random/ds/0.9-planning: random additions
6164         * docs/random/ds/0.9-suggested-changes: same
6165         * gst/gstxml.h: remove vestigal GstXMLNs definition
6166
6167         Preferred caps: (#147789)
6168         * docs/gst/gstreamer-sections.txt: Add symbols
6169         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6170         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6171         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6172         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6173         (gst_caps_get_preferred), (gst_caps_set_preferred),
6174         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6175         (gst_caps_use_preferred): Handle caps preferences
6176         * gst/gstcaps.h: Add caps preferences
6177         * gst/gstpad.c: (gst_pad_link_get_preferred),
6178         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6179         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6180         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6181         negotiation.
6182
6183 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6184
6185         * gst/autoplug/gstspideridentity.c:
6186         (gst_spider_identity_request_new_pad):
6187         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6188         (gst_aggregator_init):
6189         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6190         (gst_fakesink_init):
6191         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6192         (gst_fakesrc_init):
6193         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6194         (gst_fdsink_init):
6195         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6196         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6197         (gst_filesink_init):
6198         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6199         (gst_filesrc_init):
6200         * gst/elements/gstidentity.c: (gst_identity_base_init),
6201         (gst_identity_init):
6202         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6203         (gst_multifilesrc_init):
6204         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6205         (gst_pipefilter_init):
6206         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6207         (gst_statistics_init):
6208         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6209         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6210           s/gst_pad_new/&_from_template/
6211           register pad templates in the base_init function
6212           add static pad template definitions
6213
6214 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6215
6216         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6217         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6218         * testsuite/refcounting/pad.c: (main):
6219         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6220           s/gst_pad_new/&_from_template/
6221           prepare deprecation of gst_pad_new
6222
6223 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         patch by: Luca Ognibene <skaboy81@virgilio.it>
6226
6227         * gst/gstcaps.c:
6228         * gst/gstelement.c:
6229         * gst/gstpad.c:
6230         * gst/gstxml.c:
6231           fix memleaks.  Fixes #150001
6232
6233 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6234
6235         * docs/random/ds/0.9-suggested-changes:
6236           add notes - mostly about pad templates
6237
6238 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6239
6240         * win32/GStreamer.vcproj:
6241           temporary locale files are .gmo not .mo
6242
6243 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6244
6245         * configure.ac: bump nano to cvs
6246
6247 === release 0.8.5 ===
6248
6249 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * configure.ac:
6252           releasing 0.8.5, "Stuttgart"
6253         * NEWS:
6254         * RELEASE:
6255         * configure.ac:
6256         * docs/random/release:
6257           updates for release
6258
6259 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         patch by: Wim Taymans (wim@fluendo.com)
6262
6263         * gst/gstbuffer.c:
6264         * gst/gstindex.h:
6265         * libs/gst/dataprotocol/dataprotocol.c:
6266           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6267
6268 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6269
6270         * Makefile.am:
6271         * win32/MANIFEST:
6272           add win32 dir to the build.  Fixes #149981.
6273
6274 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6275
6276         * configure.ac:
6277           bump libtool versioning
6278         * gst/gststructure.c:
6279           mark function as static
6280         * po/af.po:
6281         * po/az.po:
6282         * po/ca.po:
6283         * po/cs.po:
6284         * po/en_GB.po:
6285         * po/fr.po:
6286         * po/nl.po:
6287         * po/sq.po:
6288         * po/sr.po:
6289         * po/sv.po:
6290         * po/tr.po:
6291         * po/uk.po:
6292           translations update
6293         * win32/README.txt:
6294           trademark protection
6295
6296 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6297
6298         * configure.ac:
6299           fix GST_ORIGIN
6300           set GST_PACKAGE to source, and distinguish between release and other
6301         * tools/gst-inspect.c:
6302           print out plugin an element factory is part of so we see this info
6303
6304 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6305
6306         * docs/gst/gstreamer-sections.txt:
6307         * docs/gst/tmpl/gstbuffer.sgml:
6308         * docs/gst/tmpl/gstschedulerfactory.sgml:
6309           reorder docs a little, make GstBuffer's more sensible.
6310         * gst/gstbuffer.h:
6311           API: added GST_BUFFER_FLAG_DELTA_UNIT
6312         * gst/gstscheduler.c:
6313           comment API addition
6314
6315 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6316
6317         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6318           work with non-regular files that can be mmapped (like /dev/zero)
6319         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6320           get rid of typefinds that require a seek when we can't seek instead
6321           of trying them over and over again
6322         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6323           return non-zero failure value when the pipeline was interrupted or
6324           an error occurred
6325
6326 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6327
6328         * win32/config.h:
6329         * win32/GStreamer.vcproj:
6330           compile and install the locales
6331
6332 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6333
6334         * gst/gstvalue.c:
6335           fix a possible memory leak under Windows
6336
6337 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6338
6339         * win32/GStreamer.vcproj:
6340           fix a memory leak that occured under Windows
6341         * win32/gstreamer.def:
6342           add gst_scheduler_register
6343
6344 2004-08-11  Benjamin Otte  <otte@gnome.org>
6345
6346         * docs/gst/gstreamer-sections.txt:
6347         * gst/gstscheduler.c: (gst_scheduler_register):
6348         * gst/gstscheduler.h:
6349           API:
6350           add gst_scheduler_register shortcut similar to gst_element_register
6351         * gst/schedulers/entryscheduler.c: (plugin_init):
6352         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6353         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6354           use it
6355
6356 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6357
6358         * gst/gstvalue.h:
6359           fix a memory leak that occured under Windows
6360
6361 2004-08-10  Colin Walters  <walters@redhat.com>
6362
6363         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6364         Don't use O_EXCL to open temporary registry.  It will prevent
6365         registry creation if a temporary one already exists, which
6366         is unnecessary.
6367
6368 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6369
6370         * docs/gst/gstreamer-sections.txt:
6371         * docs/gst/tmpl/gstvalue.sgml:
6372           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6373
6374 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6375
6376         * win32/gstbytestream.vcproj:
6377         * win32/gstelements.vcproj:
6378         * win32/gstgetbits.vcproj:
6379         * win32/gst-inspect.vcproj:
6380         * win32/gst-launch.vcproj:
6381         * win32/gstoptimalscheduler.vcproj:
6382         * win32/GStreamer.vcproj:
6383         * win32/gst-register.vcproj:
6384         * win32/gstspider.vcproj:
6385           update the include and lib dirs to fit standard libraries as
6386           described in the Win32 manual
6387
6388 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6389
6390         * win32/config.h:
6391         * win32/gstversion.h:
6392           enable NLS again, push the version number for the coming 0.8.5 release
6393
6394 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6395
6396         * gst/gstvalue.h:
6397           export gst_type_XXX for windows DLLs
6398
6399 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6400
6401         * docs/faq/gst-uninstalled:
6402           fix PKG_CONFIG_PATH and PYTHONPATH
6403         * gst/schedulers/Makefile.am:
6404           cleanup
6405         * libs/gst/bytestream/bytestream.c:
6406           remove newline
6407         * po/LINGUAS:
6408         * po/sq.po:
6409           adding Albanian translation (Laurent Dhima)
6410         * po/cs.po:
6411           updated
6412
6413 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6414
6415         * po/ca.po:
6416         * po/sv.po:
6417           updated translations
6418
6419 2004-08-04  Benjamin Otte  <otte@gnome.org>
6420
6421         * tests/mass_elements.c: (main):
6422           allow specifying src and sink element explicitly, so I can test
6423           videotestsrc instead of fakesrc
6424
6425 2004-08-04  Benjamin Otte  <otte@gnome.org>
6426
6427         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6428         (gst_structure_id_empty_new), (gst_structure_empty_new),
6429         (gst_structure_copy):
6430           add gst_structure_id_empty_new_with_size to allow preallocating
6431           value array sizes. Use this in gst_structure_copy to get rid of
6432           reallocs.
6433           don't do quark=>string=>quark when copying structures
6434
6435 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6436
6437         * docs/manual/win32.xml:
6438         * win32/README.txt:
6439           update documentation with the clean version of dependencies
6440
6441 2004-08-03  Benjamin Otte  <otte@gnome.org>
6442
6443         * gst/schedulers/entryscheduler.c:
6444         (gst_entry_scheduler_remove_element):
6445           fix for GST_DISABLE_DEBUG
6446         * tools/gst-launch.c: (print_tag):
6447           fixes for G_DISABLE_ASSERT
6448
6449 2004-08-03  Benjamin Otte  <otte@gnome.org>
6450
6451         * gst/gst.c: (gst_register_core_elements):
6452           fix for G_DISABLE_ASSERT
6453         * gst/gstinfo.c: (__gst_in_valgrind):
6454           add for GST_DISABLE_DEBUG
6455
6456 2004-08-03  Benjamin Otte  <otte@gnome.org>
6457
6458         * gst/parse/parse.l:
6459           fix for G_DISABLE_ASSERT
6460
6461 2004-08-03  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/gstbin.c: (gst_bin_get_type),
6464         (gst_bin_child_state_change_func):
6465         * gst/gstthread.c: (gst_thread_change_state):
6466         Backported some debug logging from a reverted patch
6467         Don't try to destroy the thread twice. Added some more
6468         debugging in GstThread. Unlock and signal even if we
6469         are in the thread context.
6470
6471 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * po/uk.po:
6474           updated translation
6475
6476 2004-07-30  David Schleef  <ds@schleef.org>
6477
6478         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6479
6480 2004-07-29  David Schleef  <ds@schleef.org>
6481
6482         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6483         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6484
6485 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6486
6487         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6488         (gst_bin_add_func), (gst_bin_remove_func),
6489         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6490         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6491         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6492         (gst_bin_sync_children_state):
6493         * gst/gstbin.h:
6494         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6495         (gst_thread_change_state):
6496         * testsuite/states/Makefile.am:
6497           revert state change patches as agreed so we can rework them
6498           gradually
6499
6500 2004-07-29  Benjamin Otte  <otte@gnome.org>
6501
6502         * libs/gst/control/Makefile.am:
6503           link to libgstreamer (fixes Debian bug 262019, see
6504           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6505
6506 2004-07-29  Wim Taymans  <wim@fluendo.com>
6507
6508         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6509         (check_from_fraction_convert), (transform_test), (main):
6510         Make the test less pedantic about float roundoff errors.
6511
6512 2004-07-29  Benjamin Otte  <otte@gnome.org>
6513
6514         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6515         (gst_filesrc_srcpad_event):
6516           make seek events to before start/after end of file not fail, but
6517           seek to start/end instead
6518         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6519           add more output
6520
6521 2004-07-29  Benjamin Otte  <otte@gnome.org>
6522
6523         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6524           check that caps are fixed
6525         * gst/gstpad.c: (gst_pad_template_new):
6526           don't try to simplify caps, costs too much time on gst_init
6527         * gst/gstplugin.c: (gst_plugin_add_feature):
6528           G_ERROR if features are added twice
6529         * gst/gsttypefind.c: (gst_type_find_register):
6530         * gst/gstelementfactory.c: (gst_element_register):
6531           don't add features twice
6532         * docs/random/ds/0.9-suggested-changes:
6533           add note about possible gst_init optimization
6534
6535 2004-07-28  David Schleef  <ds@schleef.org>
6536
6537         * testsuite/elements/Makefile.am:
6538         * testsuite/elements/struct_i386.h:
6539         * testsuite/elements/struct_size.c: (main):  A little test
6540         to keep distcheck from working if someone changes a structure
6541         size accidentally.
6542
6543 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         * docs/libs/Makefile.am:
6546         * docs/libs/gstreamer-libs-docs.sgml:
6547         * docs/libs/gstreamer-libs-sections.txt:
6548         * docs/libs/tmpl/gstbytestream.sgml:
6549         * docs/libs/tmpl/gstcontrol.sgml:
6550         * docs/libs/tmpl/gstdataprotocol.sgml:
6551         * docs/libs/tmpl/gstgetbits.sgml:
6552         * libs/gst/bytestream/Makefile.am:
6553         * libs/gst/bytestream/bytestream.c:
6554         * libs/gst/bytestream/bytestream.h:
6555         * libs/gst/control/Makefile.am:
6556         * libs/gst/dataprotocol/Makefile.am:
6557         * libs/gst/getbits/Makefile.am:
6558         * libs/gst/getbits/getbits.h:
6559           various doc and style fixes, adding bytestream to libs docs.
6560
6561 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6562
6563         * docs/gst/gstreamer-docs.sgml:
6564         * docs/libs/Makefile.am:
6565         * docs/libs/gstreamer-libs-docs.sgml:
6566         * docs/libs/gstreamer-libs-sections.txt:
6567         * libs/gst/control/dparam.c:
6568           more doc fixes.  gst-libs docs now build the same way as gst.
6569
6570 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6571
6572         * configure.ac:
6573         * testsuite/Makefile.am:
6574         * testsuite/bins/Makefile.am:
6575         * testsuite/caps/Makefile.am:
6576         * testsuite/cleanup/Makefile.am:
6577         * testsuite/clock/Makefile.am:
6578         * testsuite/debug/Makefile.am:
6579         * testsuite/dlopen/Makefile.am:
6580         * testsuite/dynparams/Makefile.am:
6581         * testsuite/elements/.cvsignore:
6582         * testsuite/elements/Makefile.am:
6583         * testsuite/enumcaps/Makefile.am:
6584         * testsuite/enumcaps/enumcaps.c:
6585         * testsuite/ghostpads/Makefile.am:
6586         * testsuite/indexers/Makefile.am:
6587         * testsuite/negotiation/Makefile.am:
6588         * testsuite/parse/Makefile.am:
6589         * testsuite/plugin/Makefile.am:
6590         * testsuite/refcounting/Makefile.am:
6591         * testsuite/schedulers/.cvsignore:
6592         * testsuite/states/Makefile.am:
6593         * testsuite/tags/Makefile.am:
6594         * testsuite/threads/Makefile.am:
6595           fold enumcaps into caps dir
6596           clean up Makefile.am's for testsuite
6597
6598 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6599
6600         * docs/gst/Makefile.am:
6601         * docs/libs/Makefile.am:
6602           clean up docs build.  Fixes needless rebuilding of template files.
6603
6604 2004-07-28  Wim Taymans  <wim@fluendo.com>
6605
6606         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6607         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6608         Make sure that a bin state change tries to keep the children
6609         in sync. 
6610         Added debug logging to the thread.
6611
6612 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6613
6614         * win32/GStreamer.vcproj:
6615         * win32/gstreamer.def:
6616           more exports for the plugins
6617
6618 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6619
6620         * win32/gstgetbits.vcproj:
6621         * win32/gstgetbits.def:
6622         * win32/msvc71.sln:
6623           add support for the getbits plugin
6624
6625 2004-07-27  Wim Taymans  <wim@fluendo.com>
6626
6627         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6628         (gst_value_transform_fraction_double), (_gst_value_initialize):
6629         * testsuite/caps/Makefile.am:
6630         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6631         (check_from_fraction_convert), (transform_test), (main):
6632         Added transform functions between double and fraction.
6633         Added testcase to verify transforms
6634
6635 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6636
6637         * win32/GStreamer.vcproj:
6638           rename GStreamer-0.8.lib to libgstreamer.lib
6639
6640 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6641
6642         * win32/gstelements.vcproj:
6643         * win32/gstoptimalscheduler.vcproj:
6644           fixes for the Release build
6645
6646 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6647
6648         * win32/config.h:
6649           update the version number
6650
6651 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6652
6653         * win32/GStreamer.vcproj:
6654           add gstinterface to the build
6655
6656 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6657
6658         * win32/gstreamer.def:
6659           add many definitions needed by plugins,
6660           GST_CAT_DEFAULT only available in the Debug build ?
6661
6662 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         * gst/gstelement.c: (gst_element_set_eos_recursive):
6665           various whitespace fixes.
6666           doc fix, fixes #148497
6667
6668 2004-07-25  Benjamin Otte  <otte@gnome.org>
6669
6670         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6671           don't delay links on the sink elements, it causes unnegotiated
6672           links.
6673         * gst/elements/gsttypefindelement.c:
6674         (gst_type_find_element_base_init):
6675           add our padtemplates, we indeed do have some.
6676         * gst/elements/gsttypefindelement.c:
6677         (gst_type_find_element_handle_event),
6678         (gst_type_find_element_chain):
6679           don't push data when typefinding failed.
6680         * gst/gstpad.c: (gst_pad_link_fixate):
6681           check that no fixate function returns empty caps.
6682         * gst/gstpad.c: (gst_pad_push):
6683           check that the link is negotiated before data gets pushed.
6684         * tools/gst-register.c: (main):
6685           don't assert (fixes #148283)
6686
6687 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6688
6689         * docs/gst/gstreamer-sections.txt:
6690         * docs/gst/tmpl/gstconfig.sgml:
6691           add GST_PLUGIN_EXPORT definition
6692
6693 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6694
6695         * gst/gstplugin.h:
6696         * gst/gstconfig.h.in:
6697         * win32/gstconfig.h:
6698         * win32/gstelements.def:
6699         * win32/gstelements.vcproj:
6700         * win32/gstoptimalscheduler.def:
6701         * win32/gstoptimalscheduler.vcproj:
6702         * win32/gstspider.def:
6703         * win32/gstspider.vcproj:
6704           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6705
6706 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6707
6708         * docs/gst/gstreamer-sections.txt:
6709           remove GST_CAT_DEFAULT because the type has changed
6710
6711 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6712
6713         * win32/gstbytestream.vcproj:
6714         * win32/gstelements.vcproj:
6715         * win32/gst-inspect.vcproj:
6716         * win32/gst-launch.vcproj:
6717         * win32/gstoptimalscheduler.vcproj:
6718         * win32/GStreamer.vcproj:
6719         * win32/gst-register.vcproj:
6720         * win32/gstspider.vcproj:
6721         * win32/msvc71.sln:
6722           Copy the files where needed after building, The testsuite will be
6723           built separately
6724
6725 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6726
6727         * win32/config.h:
6728         * win32/README.txt:
6729         * docs/manual/win32.xml:
6730         Fixed the plugin and GStreamer location
6731
6732 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6733
6734         * win32/gstreamer.def:
6735         More exports for the plugins
6736
6737 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6738
6739         * gst/gstinfo.h:
6740         Marc was right, we need to export literally GST_CAT_DEFAULT
6741
6742 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6743
6744         * win32/config.h:
6745         NLS crashes in gettext, disabled until this is solved
6746
6747 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6748
6749         * win32/gst-inspect.vcproj:
6750         * win32/gst-launch.vcproj:
6751         Should use NLS when available
6752
6753 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6754
6755         * gst/registries/gstxmlregistry.c:
6756         removing the file doesn't seem to be a good idea on Linux
6757
6758 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6759
6760         * gst/registries/gstxmlregistry.c:
6761         Remove the registry before renaming the tempfile (needed for Windows)
6762
6763 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6764
6765         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6766         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6767         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6768         * gst/elements/gstmultifilesrc.h:
6769         Added newmedia property so it generates newmedia events between each
6770         file when property is set, as well as fixed eos handling
6771
6772 2004-07-22  David Schleef  <ds@schleef.org>
6773
6774         * gst/gststructure.c: (gst_structure_id_empty_new),
6775         (gst_structure_empty_new):  Set type field correctly.
6776         * gst/gststructure.h: Check type field correctly.
6777         * testsuite/caps/Makefile.am:
6778         * testsuite/caps/structure.c: (test1), (main): Add a very small
6779         test for structures.
6780
6781 2004-07-22  David Schleef  <ds@schleef.org>
6782
6783         * docs/random/ds/0.9-suggested-changes: more comments
6784         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6785
6786 2004-07-22  Benjamin Otte  <otte@gnome.org>
6787
6788         * gst/gstelementfactory.c: (gst_element_register):
6789           set the factory in the class struct, so gst_element_get_factory
6790           actually works
6791         * gst/parse/grammar.y:
6792           set element to playing when it gets unlocked as we can't rely on the
6793           bin state - all elements in the bin state might still be locked in
6794           NULL)
6795
6796 2004-07-22  Benjamin Otte  <otte@gnome.org>
6797
6798         * gst/gstelement.c: (gst_element_set_state_func):
6799           make this a static function
6800
6801 2004-07-22  Wim Taymans  <wim@fluendo.com>
6802
6803         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6804         (gst_opt_scheduler_pad_link):
6805         fix 147894-2 and the group_link problem.
6806
6807 2004-07-22  Wim Taymans  <wim@fluendo.com>
6808
6809         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6810         (handoff_identity), (main):
6811         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6812         (handoff_identity), (main):
6813         * testsuite/schedulers/Makefile.am:
6814         * testsuite/schedulers/group_link.c: (main):
6815         Show bug in scheduler when linking chain and loop based element 
6816         where the chain based element was not yet in a group.
6817
6818 2004-07-21  Benjamin Otte  <otte@gnome.org>
6819
6820         * gst/.cvsignore:
6821         * gst/autoplug/.cvsignore:
6822         * gst/elements/.cvsignore:
6823         * gst/indexers/.cvsignore:
6824         * libs/gst/bytestream/.cvsignore:
6825         * libs/gst/control/.cvsignore:
6826         * libs/gst/getbits/.cvsignore:
6827         * testsuite/states/.cvsignore:
6828         * testsuite/threads/.cvsignore:
6829           keep this up to date, since I seem to be the only one who cares
6830           about not missing files on commits (editor's note: no you don't,
6831           but feel free to change them at the time you add stuff instead
6832           of later on)
6833
6834 2004-07-21  Benjamin Otte  <otte@gnome.org>
6835
6836         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6837         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6838         (gst_bin_child_state_change_func), (set_kid_state_func),
6839         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6840           make state changes work correctly and reentrant (so removing
6841           elements from bins during state changes of bins doesn't cause
6842           segfaults or even wrong states)
6843           add debugging category and debugging output to print children states
6844         * gst/gstbin.c: (gst_bin_dispose): 
6845           add some assertion checks
6846         * gst/gstbin.h:
6847         * gst/gstbin.c: (gst_bin_sync_children_state):
6848           deprecate this function - it just does gst_bin_set_state (bin,
6849           GST_STATE (bin)) 
6850         * testsuite/threads/queue.c: (main):
6851           don't use gst_bin_sync_children_state anymore
6852         * testsuite/states/Makefile.am:
6853         * testsuite/states/bin.c:
6854           test that the state changes of bins work as expected
6855         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6856           some adjustments to change states correctly, too
6857         * gst/gstthread.c: (gst_thread_change_state):
6858           don't enable/disable "threadsafe" properties, they're unused and
6859           cause random segfaults
6860         * testsuite/threads/Makefile.am:
6861           the queue check randomly passes now, ignore it
6862
6863 2004-07-21  Benjamin Otte  <otte@gnome.org>
6864
6865         * gst/gstpad.c:
6866           check if data is NULL before outputting debug info. (fixes #145100)
6867
6868 2004-07-21  Benjamin Otte  <otte@gnome.org>
6869
6870         * gst/schedulers/entryscheduler.c:
6871         (gst_entry_scheduler_loop_wrapper),
6872         (gst_entry_scheduler_chain_wrapper),
6873         (gst_entry_scheduler_get_wrapper):
6874           reset the state when the cothread starts, so we don't get assertion
6875           failures on restarting of cothreads
6876
6877 2004-07-20  Benjamin Otte  <otte@gnome.org>
6878
6879         * gst/gstelement.c: (gst_element_link_pads_filtered):
6880           use correct sinkpad, if only sinkpad is specified, but not srcpad
6881           (fixes #147889)
6882         * gst/gstelement.c: (gst_element_set_state_func),
6883         (gst_element_change_state): ref/unref the element, signal handlers
6884         could get rid of the element otherwise
6885
6886 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6887
6888         * docs/random/ds/0.9-suggested-changes:
6889           Make note about renaming fixed-list to array.
6890         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6891         (_gst_value_initialize):
6892           Add array intersections.
6893         * testsuite/caps/intersect2.c: (main):
6894           Add test for array intersections.
6895
6896 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6897
6898         * configure.ac: back to cvs
6899
6900 === release 0.8.4 ===
6901
6902 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6903
6904         * configure.ac:
6905           releasing 0.8.4, "Paella"
6906           bump libtool versioning
6907
6908 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6909
6910         * po/LINGUAS:
6911         * po/ca.po:
6912           adding Catalan translation (Jordi Mallach)
6913
6914 2004-07-20  Wim Taymans  <wim@fluendo.com>
6915
6916         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6917         (handoff_identity), (main):
6918         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6919         (handoff_identity), (main):
6920         * testsuite/schedulers/Makefile.am:
6921         Added failing testcase for variant of #147894
6922
6923 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6924
6925         patch by: David Moore
6926
6927         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6928         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6929         (group_migrate_connected):
6930         * testsuite/schedulers/Makefile.am:
6931           fix for #142813 (Deadlock in optimal scheduler)
6932
6933 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6934
6935         patch by: Wim Taymans
6936
6937         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6938         (gst_opt_scheduler_schedule_run_queue),
6939         (gst_opt_scheduler_get_wrapper), (get_group),
6940         (group_migrate_connected):
6941         * testsuite/schedulers/Makefile.am:
6942           fix for #147819 (Add some checks in the opt scheduler)
6943
6944 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         patch by: Benjamin Otte
6947
6948         * gst/gstelementfactory.c: (__gst_element_details_set):
6949           fix for #147929: running gst-register in non-utf8 locale can cause
6950           invalid registry
6951
6952 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6953
6954         patch by: Wim Taymans
6955
6956         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6957         (group_has_element), (element_get_reachables_func),
6958         (group_migrate_connected):
6959           fix for #147894 (opt scheduler decoupled elements mismanagement)
6960         * testsuite/schedulers/Makefile.am:
6961           testsuite app now passes
6962
6963 2004-07-19  Wim Taymans  <wim@fluendo.com>
6964
6965         * testsuite/schedulers/147819.c: (handoff_identity1),
6966         (handoff_identity2), (main):
6967         * testsuite/schedulers/Makefile.am:
6968         Added testcase for bug 147819
6969
6970 2004-07-19  Wim Taymans  <wim@fluendo.com>
6971
6972         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6973         (handoff_identity), (main):
6974         * testsuite/schedulers/Makefile.am:
6975         Added testcase for bug 147894
6976
6977 2004-07-16  Wim Taymans  <wim@fluendo.com>
6978
6979         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6980         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6981         * testsuite/schedulers/Makefile.am:
6982         Added testsuite for bug 142183 in its two incarnations. Refcount
6983         is not increased for scheduled elements and threadsafe properties
6984         mutexes are not properly unlocked.
6985
6986 2004-07-16  Wim Taymans  <wim@fluendo.com>
6987
6988         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6989         (create_chain), (destroy_chain), (create_group), (destroy_group),
6990         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6991         (group_dec_link), (gst_opt_scheduler_pad_link),
6992         (group_inc_links_for_element), (group_migrate_connected):
6993         Call group_inc_link with the proper src->sink ordering -- 
6994         break this, and we break sort_chain. patch from wingo for bug
6995         147713.
6996         Partially revert patch 1.89. When adding a loop based element to 
6997         the scheduler, the links to other groups are automatically followed
6998         and incremented. This should not happen because the bin will call
6999         pad_link explicitly for those connection, resulting in them counted 
7000         twice. Results in assertion failure on pipeline cleanup.
7001
7002 2004-07-16  Wim Taymans  <wim@fluendo.com>
7003
7004         * testsuite/schedulers/143777-2.c: (main):
7005         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7006         (main):
7007         * testsuite/schedulers/Makefile.am:
7008         Added cleanup code to testcase 143777-2.
7009         Added testcase to show bug 147713, does not really show the
7010         deadlock as I can't figure out how to trigger it, but it does
7011         demonstrate bad ordering in the scheduler.
7012
7013 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7014
7015         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7016           change strndup to g_strndup.  Fixes #147707
7017
7018 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7019
7020         * po/af.po:
7021         * po/az.po:
7022         * po/cs.po:
7023         * po/en_GB.po:
7024         * po/fr.po:
7025         * po/nl.po:
7026         * po/sr.po:
7027         * po/sv.po:
7028         * po/tr.po:
7029         * po/uk.po:
7030           updated translations
7031
7032 2004-07-16  Benjamin Otte  <otte@gnome.org>
7033
7034         * gst/gstvalue.c: (gst_greatest_common_divisor):
7035           use ints and return ints, fractions only use ints, too, so this
7036           avoids accidently casting multiplications to unsigned
7037         (gst_value_lcopy_fraction): it's ints, not uint32
7038         (gst_value_set_fraction): disallow minint, multiplying and negation
7039           are broken with it
7040         (gst_value_fraction_multiply): fix to make large numbers work and get
7041         rid of the assumption that the multiplication of two ints fits an
7042         int64 - dunno if that's true for all systems
7043         * testsuite/caps/Makefile.am:
7044         * testsuite/caps/fraction-multiply-and-zero.c:
7045         (check_multiplication), (check_equal), (zero_test), (main):
7046           add tests for all the stuff above
7047         * testsuite/caps/value_compare.c: (test1):
7048           fix comment
7049         * tests/.cvsignore:
7050         * testsuite/caps/.cvsignore:
7051         * testsuite/debug/.cvsignore:
7052         * testsuite/dlopen/.cvsignore:
7053         * testsuite/states/.cvsignore:
7054           get up to date
7055
7056 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7057
7058         * docs/manual/bins-api.xml:
7059         * docs/manual/factories.xml:
7060         * docs/manual/helloworld.xml:
7061         * docs/manual/links-api.xml: 
7062           fixes for out of date info, incorrect info and grammar
7063
7064 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7065
7066         * docs/manual/pads.xml:
7067         * docs/manual/pads-api.xml: grammar fix
7068
7069 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7070
7071         * docs/manual/pads-api.xml: typo + grammar fix
7072
7073 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7074
7075         * docs/gst/gstreamer-sections.txt:
7076           add new symbols
7077         * docs/gst/tmpl/gstelement.sgml:
7078         * docs/gst/tmpl/gstpad.sgml:
7079         * docs/gst/tmpl/gsttypes.sgml:
7080         * docs/gst/tmpl/gstvalue.sgml:
7081           update docs
7082         * gst/gststructure.c: (gst_structure_set_valist),
7083         (gst_structure_from_abbr), (gst_structure_to_abbr):
7084         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7085         (gst_greatest_common_divisor), (gst_value_init_fraction),
7086         (gst_value_copy_fraction), (gst_value_collect_fraction),
7087         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7088         (gst_value_get_fraction_numerator),
7089         (gst_value_get_fraction_denominator),
7090         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7091         (gst_value_deserialize_fraction),
7092         (gst_value_transform_fraction_string),
7093         (gst_value_transform_string_fraction),
7094         (gst_value_compare_fraction), (_gst_value_initialize):
7095         * gst/gstvalue.h:
7096           adding GstFraction GValue type, get/set, and multiply
7097         * testsuite/caps/Makefile.am:
7098         * testsuite/caps/fraction.c: (test), (main):
7099         * testsuite/caps/string-conversions.c: (main):
7100         * testsuite/caps/value_compare.c: (test1), (main):
7101           add regression tests for GstFraction
7102
7103 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7104         
7105         * docs/manual/init-api.xml: Grammar fix
7106
7107 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7108
7109         * docs/manual/states.xml: Fix inconsistent information
7110
7111 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         * gst/gstelement.c: (gst_element_set_state):
7114         * gst/gstpad.c: (gst_pad_try_set_caps):
7115         * gst/gststructure.c:
7116         * gst/gstthread.c: (gst_thread_child_state_change):
7117         * gst/gstvalue.c: (gst_value_compare_double):
7118         * gst/gstvalue.h:
7119         * testsuite/parse/parse1.c: (main):
7120           debugging additions and style cleanups
7121
7122 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7123
7124         * docs/manual/states.xml: Grammar fix
7125
7126 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7127
7128         * docs/manual/pads.xml: Grammar fix
7129
7130 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7131
7132         * docs/manual/elements.xml: Fixed image reference
7133
7134 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7135
7136         * docs/manual/goals.xml: Grammar fix
7137
7138 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7139
7140         * docs/manual/motivation.xml:
7141         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7142
7143 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7144
7145         * docs/manual/motivation.xml: Fix spelling
7146
7147 2004-07-15  Benjamin Otte  <otte@gnome.org>
7148
7149         * gst/gstelement.h: 
7150           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7151           strings.
7152         * gst/gstelement.c (gst_element_class_init):
7153           GError's are boxed, not objects
7154         * gst/gstmarshal.list:
7155           update list for the fixed error signal
7156
7157 2004-07-14  Andy Wingo  <wingo@pobox.com>
7158
7159         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7160         there all along, but the function wasn't. (guile-gstreamer's build
7161         system uses the address of the function -- I wasn't actually
7162         trying to use this.)
7163
7164 2004-07-14  Andy Wingo  <wingo@pobox.com>
7165
7166         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7167         as gst_pad_proxy_pad_link) just link to every other pad when they
7168         are called. In the case where the graph has cycles, this will mean
7169         that a call to try_set_caps will recurse. Allow this recursion
7170         and return OK, while we wait for the first try_set_caps to give a
7171         proper return value.
7172         (gst_pad_link_call_link_functions): Since this function is the
7173         only one to set the NEGOTIATING flag on a pad, if the flag is set
7174         it means that the link functions have indirectly recursed. If this
7175         happens, error out to avoid infinite recursion and an eventual
7176         SEGV.
7177         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7178         (gst_pad_proxy_getcaps): Intersect the result with the template
7179         caps to ensure that the return value is valid.
7180
7181 2004-07-14  Andy Wingo  <wingo@pobox.com>
7182
7183         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7184         one refcount, the calling function is the owner of the buffer.
7185
7186 2004-07-14  Wim Taymans  <wim@fluendo.com>
7187
7188         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7189         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7190         Fix stupid warning when an element is to be migrated but
7191         is already migrated.
7192
7193 2004-07-14  Wim Taymans  <wim@fluendo.com>
7194
7195         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7196         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7197         Make sure that a single non-loop-based element does not 
7198         end up in a group. This fixes the testsuite again.
7199
7200 2004-07-14  Wim Taymans  <wim@fluendo.com>
7201
7202         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7203         (add_to_group), (merge_groups), (schedule_group),
7204         (gst_opt_scheduler_get_wrapper), (group_elements),
7205         (group_dec_link), (gst_opt_scheduler_pad_link),
7206         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7207         (gst_opt_scheduler_iterate):
7208         move isolated groups to a new chain.
7209         Emit a warning instead of segfaulting in some error cases.
7210         Fix a bug where the link count between groups was not calculated 
7211         correctly. Fixes #144510.
7212
7213 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7214         * gst/elements/gstfilesrc.c:
7215           Binary files support under Windows now OK
7216       
7217 2004-07-13  Benjamin Otte  <otte@gnome.org>
7218
7219           compatibility fixes for Solaris 8/gcc 2.95
7220         * configure.ac:
7221           include libintl libs in LDFLAGS
7222         * gstvalue.c (gst_value_deserialize_buffer):
7223           cast isxdigit stuff to int to silence compiler warning
7224
7225 2004-07-12  Benjamin Otte  <otte@gnome.org>
7226
7227         * gst/gsttypes.h:
7228           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7229           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7230           just causes support madness
7231         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7232           make it work without this
7233         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7234         (gst_file_index_commit):
7235           glib IO channels don't want binary mode
7236         * testsuite/bytestream/filepadsink.c: (main):
7237         * testsuite/bytestream/test1.c: (read_param_file):
7238           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7239
7240 2004-07-12  Benjamin Otte  <otte@gnome.org>
7241
7242         * gst/gstelement.c: (gst_element_class_init),
7243         (gst_element_set_state), (gst_element_set_state_func):
7244           virutalize gst_element_set_state, use set_state member in class
7245           struct that was already added in 0.7 for this.
7246         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7247         (gst_bin_change_state):
7248           make gst_bin_foreach works similar to other foreach functions, plug
7249           memleaks in it. Make functions using it work with the new approach.
7250           Document gst_bin_foreach, so it can be exported if we want to
7251         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7252           use virtualized set_state to make set_state on bins set the state of
7253           all its children.
7254
7255 2004-07-12  Benjamin Otte  <otte@gnome.org>
7256
7257         * configure.ac:
7258           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7259           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7260         * gst/gstpad.c: (gst_pad_alloc_buffer):
7261           allow buffer_alloc functions to return NULL and allocate a normal
7262           buffer in that case
7263
7264 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7265         * gst/elements/gstfilesink.c:
7266         * gst/elements/gstfilesrc.c:
7267         * gst/indexers/gstfileindex.c:
7268         * gst/gsttypes.h:
7269         * testsuite/bytestream/filepadsink.c:
7270         * testsuite/bytestream/test1.c:
7271           Handle binary files under Windows
7272
7273 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7274         * docs/manual/win32.xml:
7275         * win32/config.h:
7276         * win32/gst-register.vcproj:
7277         * win32/gstreamer.def:
7278           Update to another gettext public build
7279
7280 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7281         * gst/gstplugin.c:
7282           Fix an impossible C syntax
7283         * win32/config.h:
7284           Disable i18n under Windows for the moment
7285         * win32/gst-register.vcproj:
7286           Use this configuration
7287
7288 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7289         * docs/manual/quotes.xml:
7290           Keep the quotes file alive
7291         * docs/random/ds/0.9-suggested-changes:
7292           Add the suggestion of including a 'rowstride' as part of video
7293           format caps
7294
7295 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7296
7297         * gst/gstelement.c: (gst_element_set_state),
7298         (gst_element_change_state):
7299           d'oh.  Set PENDING state correctly before forcing bin to change.
7300         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7301         (gst_structure_parse_fixed_list):
7302         * gst/schedulers/gstoptimalscheduler.c:
7303         (gst_opt_scheduler_state_transition):
7304         * testsuite/states/parent.c: (main):
7305           remove comment now that it's fixed.
7306
7307 2004-07-11  Benjamin Otte  <otte@gnome.org>
7308
7309         * gst/gstclock.h:
7310           GST_SECOND shouldn't cause a conversion to unsigned.
7311         * testsuite/clock/.cvsignore:
7312         * testsuite/clock/Makefile.am:
7313         * testsuite/clock/signedness.c: (main):
7314           make sure it never will again
7315
7316 2004-07-11  Andy Wingo  <wingo@pobox.com>
7317
7318         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7319         whose state is higher than the bin state, raise the bin state to
7320         ensure that bin state := highest child state.
7321         
7322 2004-07-11  Andy Wingo  <wingo@pobox.com>
7323
7324         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7325         procedure on the children of a bin. Assumes that the procedure can
7326         change the set of children.
7327         (set_kid_state_func): New static function.
7328         (gst_bin_change_state): Use gst_bin_foreach to call
7329         set_kid_state_func. Fixes a bug: if a child had a state-change
7330         handler that removes it from the bin, there would be a segfault.
7331         Hopefully it should also work in the case where the state-change
7332         handler on one child adds or removes other children. In any case,
7333         fixes should go to gst_bin_foreach.
7334
7335 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7336
7337         * gst/gstelement.c: (gst_element_set_state):
7338           compatibility fix for latest plugins release.  Change loop back
7339           to while {}
7340
7341 2004-07-09  Wim Taymans  <wim@fluendo.com>
7342
7343         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7344         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7345         (gst_thread_main_loop):
7346         Since remove is virtual in GstBin we must not assume the 
7347         elements GList to have anothing useful.
7348         Add some more logging to GstThread and be a bit more paranoid
7349         when resetting the scheduler.
7350         Set the state of the bin to NULL before removing the children.
7351
7352 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7353
7354         * testsuite/threads/Makefile.am:
7355         * testsuite/threads/threadg.c:
7356           added test to check if problem when removing all elements from a
7357           GstThread before setting GstThread state to NULL
7358
7359 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7360
7361         * docs/gst/tmpl/gstelement.sgml:
7362         * docs/gst/tmpl/gsttypes.sgml:
7363         * gst/gstbin.c: (gst_bin_change_state):
7364         * gst/gstelement.c: (gst_element_set_state),
7365         (gst_element_change_state):
7366           rework so that for bins we try to set the state on all children
7367           as well even if the bin is in the correct state already.
7368           change while to do so at least one iteration is done.
7369           For regular elements, we fall back to the previous behaviour for
7370           now since we first need a new plugins release.
7371         * testsuite/states/parent.c: (main):
7372           test for this case
7373           Fixes #123774
7374
7375 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7376
7377         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7378         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7379         (gst_queue_release_locks), (gst_queue_change_state),
7380         (gst_queue_set_property):
7381           add proper lock debugging.  Change dispose to finalize, since
7382           we're freeing mutexes and other stuff which should happen only once.
7383
7384 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7385
7386         * docs/gst/tmpl/gstelement.sgml:
7387         * docs/gst/tmpl/gstplugin.sgml:
7388         * docs/gst/tmpl/gsttypes.sgml:
7389         * docs/pwg/building-state.xml:
7390         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7391         * gst/gstelement.c: (gst_element_change_state):
7392         * gst/gstthread.c: (gst_thread_change_state):
7393           catch wrong state changes in element base class.
7394
7395 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7396
7397         * gst/gstinfo.h:
7398           clean up layout a little.
7399
7400 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7401
7402         * configure.ac:
7403         * testsuite/Makefile.am:
7404         * testsuite/states/Makefile.am:
7405         * testsuite/states/parent.c: (main):
7406           re-enable states testsuite dir.  Add test for state changes and
7407           parent behaviour
7408
7409 2004-07-09  Wim Taymans  <wim@fluendo.com>
7410
7411         * gst/schedulers/gstoptimalscheduler.c:
7412         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7413         (element_get_reachables_func), (element_get_reachables),
7414         (debug_element), (rechain_group), (group_migrate_connected),
7415         (gst_opt_scheduler_pad_unlink):
7416         Do not try to migrate decoupled elements to a new group since
7417         they are not added to groups.
7418
7419 2004-07-08  Benjamin Otte  <otte@gnome.org>
7420
7421         * gst/gstelement.c: (gst_element_error_func):
7422           make reentrant (= allow removing elements in error handler)
7423
7424 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7425
7426         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7427         (gst_pad_send_event), (gst_pad_call_chain_function):
7428           events sent to elements below PAUSED cannot be handled, so
7429           don't try to
7430
7431 2004-07-08  Wim Taymans  <wim@fluendo.com>
7432
7433         * gst/schedulers/gstoptimalscheduler.c:
7434         (chain_recursively_migrate_group), (create_group),
7435         (schedule_group), (gst_opt_scheduler_pad_link),
7436         (group_elements_set_visited), (element_get_reachables_func),
7437         (element_get_reachables), (group_can_reach_group), (debug_element),
7438         (rechain_group), (group_migrate_connected),
7439         (gst_opt_scheduler_pad_unlink):
7440         * testsuite/schedulers/Makefile.am:
7441         Implemented group splitting and rechaining.
7442         Fixes 143777 and 143777-2 in the testsuite.
7443
7444 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7445
7446         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7447           extra debugging
7448         * gst/gstevent.h:
7449         * gst/gstinfo.c: (gst_debug_log_default):
7450           print time nicely.  add thread pointer until someone figures out
7451           a completely portable way of getting at thread id's.
7452         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7453         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7454         (gst_pad_call_chain_function):
7455           extra debugging
7456         * gst/schedulers/gstoptimalscheduler.c:
7457         (get_group_schedule_function), (loop_group_schedule_function),
7458         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7459         (pad_clear_queued), (gst_opt_scheduler_iterate):
7460           rename BUFPEN and friends to DATAPEN since that's what they are.
7461
7462 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7463
7464         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7465         * gst/gstbuffer.h:
7466         * gst/gstpad.c:
7467           cleanups and debugging
7468
7469 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7470
7471         * configure.ac:
7472         * gst/gstvalue.c: (gst_value_compare_enum),
7473         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7474         (gst_value_can_compare), (gst_value_compare):
7475         * testsuite/Makefile.am:
7476         * testsuite/enumcaps/Makefile.am:
7477         * testsuite/enumcaps/enumcaps.c:
7478           Fix enum serialization, deserialization, comparison in caps, add
7479           a test to ensure that this continues working in the future.
7480
7481 2004-07-06  David Schleef  <ds@schleef.org>
7482
7483         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7484         Fix memleak.
7485
7486 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7487
7488         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7489         * gst/gstplugin.h:
7490         * gst/registries/gstxmlregistry.c:
7491         (plugin_times_older_than_recurse), (plugin_times_older_than),
7492         (gst_xml_registry_parse_padtemplate):
7493           only rebuild registry when actual plugins have a newer time than
7494           the registry.  Fixes #145520
7495
7496 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7497
7498         * docs/manual/manual.xml:
7499         * docs/manual/win32.xml:
7500           add chapter on win32 building.  fixes #142422
7501
7502 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7503
7504         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7505
7506         * gst/autoplug/gstspider.c: (gst_spider_init),
7507         (gst_spider_dispose):
7508           fix spider memleaks.  fixes #137863
7509
7510 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7511
7512         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7513
7514         * gst/schedulers/gstoptimalscheduler.c:
7515         (gst_opt_scheduler_pad_unlink):
7516           fix SIGBUS error, fixes #145338
7517
7518 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7519
7520         * gst/gstobject.c: (gst_object_replace):
7521         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7522         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7523           clean up clock lifecycle.  Fixes #109831
7524
7525 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7526
7527         * po/LINGUAS:
7528         * po/cs.po:
7529           added Czech translation (Miloslav Trmac)
7530
7531 2004-07-04  David Schleef  <ds@schleef.org>
7532
7533         * tools/Makefile.am:
7534         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7535
7536 2004-07-04  David Schleef  <ds@schleef.org>
7537
7538         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7539
7540 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7541
7542         * gst/gstbin.c: (gst_bin_restore_thyself):
7543           chain to parent restore so the bins get restored correctly
7544           in the editor
7545
7546 2004-07-03  David Schleef  <ds@schleef.org>
7547
7548         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7549         Actually do something in these functions, like before the big
7550         caps change.  (bug #145137)
7551
7552 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7553
7554         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7555         (gst_element_get_compatible_pad_filtered):
7556         * gst/gstthread.c: (gst_thread_main_loop):
7557           more debugging
7558
7559 2004-07-02  David Schleef  <ds@schleef.org>
7560
7561         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7562         * gst/gstobject.h:
7563         * gst/gstparse.h:
7564         * gst/gsttrace.h:
7565         * gst/gstxml.h:
7566
7567 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7568
7569         * gst/gstpad.c: (gst_pad_check_schedulers),
7570         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7571         (gst_pad_link_prepare):
7572           revert until testsuite is fixed
7573
7574 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7575
7576         * testsuite/Makefile.am:
7577         * testsuite/caps/filtercaps.c: (main):
7578         * testsuite/clock/clock1.c: (main):
7579         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7580           fix some more tests
7581
7582 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7583
7584         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7585         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7586         * testsuite/cleanup/cleanup4.c: (main):
7587           fix testsuite
7588
7589 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7590
7591         * libs/gst/control/control.c:
7592         * libs/gst/control/dparam.c:
7593         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7594         * libs/gst/control/dparammanager.c:
7595         * libs/gst/control/dparammanager.h:
7596         * testsuite/dynparams/Makefile.am:
7597         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7598         (gst_dptest_change_state), (gst_dptest_chain), (main):
7599           fix testcase for dparams
7600           add debugging category
7601
7602 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7603
7604         * testsuite/Rules:
7605           change path
7606
7607 2004-07-02  Benjamin Otte  <otte@gnome.org>
7608
7609         * tests/.cvsignore:
7610         * tests/Makefile.am:
7611         * tests/mass_elements.c: (gst_get_current_time), (main):
7612           add simple benchmark to test various speeds of fakesrc ! identity !
7613           identity ! ... ! fakesink.
7614           Usage: mass_elements [num_identities] [num_buffers]
7615           If not specified they default to 1000.
7616
7617 2004-07-02  Benjamin Otte  <otte@gnome.org>
7618
7619         * gst/gstpad.c: (gst_pad_check_schedulers),
7620         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7621         (gst_pad_link_prepare):
7622           check that pads that get linked belong to the same manager. The old
7623           code allowed linking elements before putting them into bins, so it
7624           worked to link them and then put them in different threads, which
7625           lead to weird behaviour.
7626           Since this effectively disallows linking elements before putting
7627           them in a bin, some applications might not work after this and error
7628           out. If these applications are too critical, we might need to revert
7629           that patch. Please test this before the next release...
7630
7631 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7632
7633         * gst/gstpad.c: (gst_pad_get_caps):
7634           throw an error if the getcaps function does not return a subset of
7635           the template caps.
7636         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7637           make disconts without position info an error in debugging
7638         * tests/spidey_bench.c: (handoff), (main):
7639           don't count first try when averaging
7640
7641 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7642
7643         * gst/gstplugin.c: (gst_plugin_load_file):
7644           figure out problem with dynamic test
7645
7646 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7647
7648         * docs/gst/Makefile.am:
7649           fix docs build
7650
7651 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * po/POTFILES.in:
7654         * po/af.po:
7655         * po/az.po:
7656         * po/en_GB.po:
7657         * po/fr.po:
7658         * po/nl.po:
7659         * po/sr.po:
7660         * po/sv.po:
7661         * po/tr.po:
7662         * po/uk.po:
7663         * tools/gst-register.c: (plugin_added_func), (main):
7664           i18n-ize -register, fix plural
7665
7666 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7667
7668         * gst/elements/gstidentity.c: (gst_identity_class_init),
7669         (gst_identity_init), (gst_identity_chain),
7670         (gst_identity_set_property), (gst_identity_get_property):
7671         * gst/elements/gstidentity.h:
7672           check for perfect stream
7673
7674 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * gst/elements/gstidentity.c: (gst_identity_chain):
7677           print offset_end
7678
7679 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7680
7681         * docs/gst/Makefile.am:
7682         * docs/gst/gstreamer-docs.sgml:
7683           doc fixes
7684
7685 2004-06-24  David Schleef  <ds@schleef.org>
7686
7687         * autogen.sh:  Remove call to env, since the buildbot isn't
7688         broken anymore.
7689
7690 2004-06-24  Wim Taymans  <wim@fluendo.com>
7691
7692         * gst/elements/Makefile.am:
7693         * gst/elements/gstelements.c:
7694         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7695         (gst_multifdsink_class_init), (gst_multifdsink_init),
7696         (gst_multifdsink_add), (gst_multifdsink_remove),
7697         (gst_multifdsink_clear), (gst_multifdsink_chain),
7698         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7699         * gst/elements/gstmultifdsink.h:
7700         Added an element that writes to multiple filedescriptors at once.
7701
7702 2004-06-24  Benjamin Otte  <otte@gnome.org>
7703
7704         * gst/parse/grammar.y:
7705           don't try to link elements before they have been added to bins
7706
7707 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7708
7709         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7710         (gst_file_pad_get_length):
7711         * libs/gst/bytestream/filepad.h:
7712           add 2 new functions
7713
7714 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7715
7716         * docs/gst/gstreamer-sections.txt:
7717         remove from docs, the define that Benjamin removed from gstelement.h
7718
7719 2004-06-22  Benjamin Otte  <otte@gnome.org>
7720
7721         * gst/gstelement.h:
7722           remove define that referenced a nonexisting GstElement struct member
7723
7724 2004-06-20  Benjamin Otte  <otte@gnome.org>
7725
7726         * gst/gstdata.c: (gst_data_is_writable):
7727           whoops, return values were wrong, so writable data was marked as
7728           non-writable and vice versa. (fixes #143953, spotted by Francis
7729           Labonte)
7730           Shows how rarely we need to copy data ;)
7731
7732 2004-06-20  Benjamin Otte  <otte@gnome.org>
7733
7734         * testsuite/schedulers/.cvsignore:
7735         * testsuite/schedulers/Makefile.am:
7736         * testsuite/schedulers/143777-2.c: (main):
7737           add test for opt breakage in bug #143777
7738
7739 2004-06-20  Benjamin Otte  <otte@gnome.org>
7740
7741         * gst/gstpad.c: (gst_pad_call_chain_function):
7742           check for if we were unlinked while inside the chainfunction (fixes
7743           entrygthread having issues with #143777)
7744         * testsuite/schedulers/143777.c: (main):
7745         * testsuite/schedulers/Makefile.am:
7746           add a test for that fix
7747
7748 2004-06-20  Benjamin Otte  <otte@gnome.org>
7749
7750         * gst/gstvalue.c: (gst_value_set_int_range):
7751           test that start is smaller then end
7752         * libs/gst/bytestream/Makefile.am:
7753         * libs/gst/bytestream/filepad.c: 
7754         * libs/gst/bytestream/filepad.h:
7755           add GstFilePad - a pad that behaves like a FILE*
7756         * testsuite/bytestream/.cvsignore:
7757         * testsuite/bytestream/Makefile.am:
7758         * testsuite/bytestream/filepadsink.c: 
7759           test for the GstFilePad
7760
7761 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7762
7763         * gst/elements/gstidentity.c: (gst_identity_class_init),
7764         (gst_identity_init), (gst_identity_set_clock),
7765         (gst_identity_chain), (gst_identity_set_property),
7766         (gst_identity_get_property):
7767         * gst/elements/gstidentity.h:
7768         * gst/gstclock.c: (gst_clock_id_wait):
7769           add a "sync" property to sync to the clock
7770
7771 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7772
7773         * gst/gstelementfactory.c: (gst_element_factory_create):
7774           make the freakin "elementfactory bla has no type" message more
7775           useful. So we actually can do something when someone shows up
7776           complaining about it.
7777
7778 2004-06-15  Johan Dahlin  <johan@gnome.org>
7779
7780         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7781         found. This matches the old behavior better. Thanks to Thomas for
7782         pointing out.
7783
7784 2004-06-14  David Schleef  <ds@schleef.org>
7785
7786         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7787         -fomit-frame-pointer.  Appears to generate correct code in
7788         other cases as well.
7789
7790 2004-06-14  Johan Dahlin  <johan@gnome.org>
7791
7792         * tools/gst-inspect.c (main): Add two new command line options: -a
7793         to print all elements and -n to print the name on each line. Also
7794         fix some error reporting.
7795         (main): Simplify, remove -n and always print names if -a is specified
7796
7797 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7798
7799         * win32/gstconfig.h:
7800         * win32/GSTreamer.vcproj:
7801         * win32/Makefile:
7802         * gst/gstconfig.h.in:
7803         * gst/gst.h:
7804         * gst/gstbin.h:
7805         * gst/gstelement.h:
7806         * gst/gstevent.h:
7807         * gst/gstobject.h:
7808         * gst/gstpad.h:
7809         * docs/gst/gstreamer-sections.txt:
7810         * docs/gst/tmpl/gstconfig.sgml:
7811           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7812
7813 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7814         * docs/gst/gstreamer-sections.txt:
7815         * docs/gst/tmpl/gstconfig.sgml:
7816         Add the GSTREAMER_EXPORT macro to the docs
7817
7818 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7819
7820         * tools/gst-compprep.c: (handle_xmlerror), (main):
7821         Add a check for the version that introduced SetStructuredError to fix
7822         the build on FC1
7823
7824 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7825
7826         * win32/msvc71.sln:
7827         * win32/testsuite/:
7828           prepare to compile the testsuite with MSVC
7829
7830 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7831
7832         * docs/manual/win32.xml:
7833           attempt to transform the Win32 README into an XML doc
7834
7835 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7836
7837         * gst/gst.c:
7838         * gst/gstbin.*:
7839         * gst/config.h.in:
7840         * gst/gstelement.*:
7841         * gst/gstevent.h:
7842         * gst/gstobject.*:
7843         * gst/gstpad.h:
7844         * tools/gst-register.c:
7845         * win32/gstreamer.def:
7846           extern symbols are now exported for the Windows DLL
7847
7848 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7849
7850         * gst/gstinfo.h:
7851           fix a problem to enable/disable DEBUG under MSVC
7852
7853 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7854
7855         * win32/:
7856           enable more debug code in DEBUG build
7857
7858 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7859
7860         * win32/config.h:
7861         * gst/gst-i18n-app.h:
7862           enable NLS under Windows
7863
7864 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7865         * tools/gst-compprep.c: (handle_xmlerror), (main):
7866           Make an error that baffled me a bit clearer
7867
7868 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7869
7870         * gst/gstqueue.c:
7871           don't use g_queue_get_length () because it's 2.4, use ->length
7872
7873 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7874
7875         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7876
7877         * tools/gst-inspect.c: (print_signal_info):
7878           don't free random data twice. (fixes #144185)
7879
7880 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7881
7882         * gst/gstqueue.c:
7883         * gst/gstqueue.h:
7884           fix removing from the wrong queue on event timeout
7885           fix disposing of the event queue by casting correctly
7886           add mutexes for handling the event queue
7887           someone was sleeping when fixing queue last time around :)
7888
7889 2004-06-10  Johan Dahlin  <johan@gnome.org>
7890
7891         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7892         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7893
7894 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7895
7896         * docs/random/gdp:
7897         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7898         * libs/gst/dataprotocol/dataprotocol.c:
7899         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7900         (gst_dp_buffer_from_header):
7901         * libs/gst/dataprotocol/dataprotocol.h:
7902         * libs/gst/dataprotocol/dp-private.h:
7903           rev version to 0.1, add buffer flags and copy them
7904
7905 2004-06-09  Johan Dahlin  <johan@gnome.org>
7906
7907         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7908         the flags from the buffer we're copying.
7909
7910 2004-06-09  Wim Taymans  <wim@fluendo.com>
7911
7912         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7913         * gst/elements/gstidentity.c: (gst_identity_init),
7914         (gst_identity_chain):
7915         Print more buffer info in fakesink.
7916         Make identity output similar to fakesink.
7917
7918 2004-06-07  Daniel Gazard  <dany42@free.fr>
7919
7920         reviewed by Benjamin Otte  <otte@gnome.org>
7921
7922         * configure.ac:
7923           fix cross compiling not working. (fixes #143741)
7924
7925 2004-06-07  Benjamin Otte  <otte@gnome.org>
7926
7927         * gst/gstelement.c: (gst_element_set_time_delay):
7928           add failure check
7929         * gst/gstinfo.h:
7930           put brackets around macro arguments of GST_TIME_ARGS, add note to
7931           move it to correct header in 0.9
7932
7933 2004-06-07  Benjamin Otte  <otte@gnome.org>
7934
7935         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7936         (gst_file_index_load), (_file_index_id_save_entries),
7937         (gst_file_index_commit), (gst_file_index_add_association),
7938         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7939         (gst_file_index_plugin_init):
7940           make debugging use a default category
7941
7942 2004-06-06  David Moore  <dcm@acm.org>
7943
7944         reviewed by Benjamin Otte  <otte@gnome.org>
7945
7946         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7947         (gst_fdsrc_change_state):
7948           reset offset counter when going READY => PAUSED. (fixes #142903)
7949
7950 2004-06-06  ed@catmur.co.uk
7951
7952         reviewed by Benjamin Otte  <otte@gnome.org>
7953
7954         * gst/registries/gstxmlregistry.c:
7955         (gst_xml_registry_rebuild_recurse):
7956           don't rely on g_dir_open to figure out if a file is a directory, use
7957           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7958           directories. (fixes #142850)
7959
7960 2004-06-06  Benjamin Otte  <otte@gnome.org>
7961
7962         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7963           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7964         * libs/gst/bytestream/adapter.c:
7965         * libs/gst/bytestream/adapter.h:
7966           fix copyright in header and typo in debugging category name
7967
7968 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7969
7970         * configure.ac:
7971           bump nano to cvs
7972
7973 === release 0.8.3 ===
7974
7975 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * configure.ac:
7978           update libtool versioning
7979           do a new release
7980         * docs/gst/tmpl/gstelement.sgml:
7981         * docs/gst/tmpl/gsttypes.sgml:
7982         * gst/gstinfo.c: (_gst_debug_init):
7983           put back GST_CAT_DATAFLOW to fix API breakage
7984
7985 2004-06-04  David Schleef  <ds@schleef.org>
7986
7987         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7988
7989 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7990
7991         * configure.ac:
7992           bump nano to cvs
7993
7994 === release 0.8.2 ===
7995
7996 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7997
7998         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7999           check GST_DEBUG environment variable which is parsed the same way
8000           as --gst-debug=
8001
8002 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8003
8004         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8005                             gstmd5sink.c gstshaper.c gsttee.c
8006                             gsttypefindelement.c
8007         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8008
8009           - removing trailing commas at end of enums
8010             it is correct C99 code but C90 compilers would complain
8011             (AIX, Forte, ...)
8012             ('should' fix #143290, at least partially)
8013
8014 2004-05-27  Wim Taymans  <wim@fluendo.com>
8015
8016         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8017         (chain_group_set_enabled), (create_group), (add_to_group),
8018         (merge_groups), (setup_group_scheduler), (group_elements),
8019         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8020         Don't try to follow the pad connections with other groups
8021         when a loop based element is added to the scheduler because
8022         the bin will inform the scheduler about the pad links a little
8023         later.
8024
8025 2004-05-27  Wim Taymans  <wim@fluendo.com>
8026
8027         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8028         (remove_from_chain), (chain_group_set_enabled),
8029         (setup_group_scheduler), (group_element_set_enabled),
8030         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8031         (gst_opt_scheduler_show):
8032         Elements without a group can do a state change as well, just wait
8033         with the setup of the scheduling function when it is added to a
8034         chain.
8035
8036 2004-05-27  Wim Taymans  <wim@fluendo.com>
8037
8038         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8039         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8040         (merge_groups), (setup_group_scheduler),
8041         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8042         (gst_opt_scheduler_show):
8043         Fixes to maintain internal consistency of the scheduler data
8044         structures. 
8045          - adding an enabled group to a chain should increment the
8046            number of enabled elements in that chain.
8047          - removing an enabled group from a chain could disable the
8048            chain.
8049          - removing a disabled group from a chain could enable the
8050            chain.
8051          - add g_assert when internal inconsistency is detected.
8052          - adding an element to a group could increase the number of
8053            links this group has with other groups.
8054          - merging two groups also merges the chains.
8055          - also show group links in the _show method.
8056            
8057
8058 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8059
8060         * gst/gstcaps.c: (gst_caps_structure_simplify):
8061           don't print error messages when there is no error
8062         * gst/gstvalue.c: (gst_value_compare_int_range):
8063           compare the second value, too
8064         * testsuite/caps/Makefile.am:
8065         * testsuite/caps/random.c: (assert_on_error), (main):
8066           add tests to make sure the two things above are checked for
8067
8068 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8069
8070         * configure.ac:
8071         * libs/gst/dataprotocol/Makefile.am:
8072         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8073         * libs/gst/dataprotocol/dataprotocol.h:
8074           wrap header in GST_ENABLE_NEW.  make code use it
8075
8076 2004-05-23  Johan Dahlin  <johan@gnome.org>
8077
8078         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8079         so verbose and print GstElement signal names all the time.
8080
8081 2004-05-22  David Schleef  <ds@schleef.org>
8082
8083         * gst/registries/gstxmlregistry.c:
8084         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8085         (bug #142957)
8086
8087 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * configure.ac:
8090           scrub cflags for glib2 so gcc doesn't complain when glib is in
8091           /usr/local
8092
8093 2004-05-21  Johan Dahlin  <johan@gnome.org>
8094
8095         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8096         __GNUC__, patch from Brian Cameron, fixes bug #142804
8097
8098 2004-05-20  David Schleef  <ds@schleef.org>
8099
8100         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8101         comparison code.  (bug #142819)
8102
8103 2004-05-20  Wim Taymans  <wim@fluendo.com>
8104
8105         * gst/gstbuffer.c: (gst_buffer_default_copy):
8106         * gst/gstbuffer.h:
8107         Added Comment to a flag.
8108         copy relevant flags in _buffer_copy.
8109
8110 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8111
8112         reviewed by: Wim Taymans <wim at fluendo dot com>
8113
8114         * gst/gstbuffer.h:
8115           add GST_BUFFER_IN_CAPS buffer flag
8116         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8117         (gst_structure_parse_any_list), (gst_structure_parse_list),
8118         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8119         * gst/gstvalue.c: (gst_value_serialize_any_list),
8120         (gst_value_transform_any_list_string),
8121         (gst_value_list_prepend_value), (gst_value_list_append_value),
8122         (gst_value_list_get_size), (gst_value_list_get_value),
8123         (gst_value_transform_list_string),
8124         (gst_value_transform_fixed_list_string),
8125         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8126         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8127         (_gst_value_initialize):
8128         * gst/gstvalue.h:
8129           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8130           < , > as a format.
8131         * testsuite/caps/string-conversions.c: (main):
8132           add regression tests for < >
8133
8134 2004-05-20  Johan Dahlin  <johan@gnome.org>
8135
8136         * docs/gst/Makefile.am (all-local): Re-add
8137
8138 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8139
8140         * docs/gst/Makefile.am:
8141         * docs/gst/gstreamer-docs.sgml:
8142         * docs/libs/Makefile.am:
8143         * docs/libs/gstreamer-libs-docs.sgml:
8144           fix distcheck issues
8145
8146 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8147
8148         * libs/gst/dataprotocol/Makefile.am:
8149           add to autotest
8150
8151 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * libs/gst/dataprotocol/Makefile.am:
8154         * libs/gst/dataprotocol/dataprotocol.c:
8155         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8156         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8157         * libs/gst/dataprotocol/dp-private.h:
8158           use GST macros to read/write fixed length ints
8159           add some more asserts
8160
8161 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8162
8163         * docs/libs/gstreamer-libs-docs.sgml:
8164         * docs/libs/gstreamer-libs-sections.txt:
8165           remove idct and putbits
8166         * configure.ac:
8167         * docs/libs/tmpl/gstdataprotocol.sgml:
8168         * libs/gst/Makefile.am:
8169         * libs/gst/dataprotocol/Makefile.am:
8170         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8171         (buffer_test), (caps_test), (event_test), (main):
8172         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8173         (gst_dp_dump_byte_array), (gst_dp_init),
8174         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8175         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8176         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8177         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8178         (gst_dp_validate_header), (gst_dp_validate_payload),
8179         (gst_dp_validate_packet), (plugin_init):
8180         * libs/gst/dataprotocol/dataprotocol.h:
8181         * libs/gst/dataprotocol/dp-private.h:
8182           add dataprotocol
8183
8184 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8185
8186         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8187           fix int variable deserialization and add a helper so we can actually
8188           debug this.
8189
8190 2004-05-18  David Schleef  <ds@schleef.org>
8191
8192         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8193           argv[0].  Calling yourself is probably not the best way to
8194           construct a test like this, btw.
8195
8196 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8197
8198         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8199           don't claim to be more intelligent than a scheduler when the
8200           scheduler claims the pipeline is stopped
8201         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8202         (safe_cothread_destroy),
8203         (gst_entry_scheduler_remove_all_cothreads),
8204         (gst_entry_scheduler_reset), (_remove_cothread),
8205         (gst_entry_scheduler_state_transition):
8206           hold off cothread destruction if we're not in main cothread
8207         * configure.ac:
8208         * testsuite/Makefile.am:
8209           add new test dir
8210         * testsuite/schedulers/.cvsignore:
8211         * testsuite/schedulers/Makefile.am:
8212           add tests
8213         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8214           check relinking and adding/removing elements from a running pipeline
8215         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8216           check unlinking in a running pipeline
8217         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8218           check unreffing a running pipeline
8219         * testsuite/schedulers/useless_iteration.c: (main):
8220           check iterating a pipeline that contains running threads works
8221
8222 2004-05-18  David Schleef  <ds@schleef.org>
8223
8224         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8225           is false.
8226
8227 2004-05-18  Wim Taymans  <wim@fluendo.com>
8228
8229         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8230         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8231         Fixed an error introduced with patch for 1.63. When setting
8232         a get based element as the entry point in a group, make sure
8233         to mark the group as GET based.
8234
8235 2004-05-18  Wim Taymans  <wim@fluendo.com>
8236
8237         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8238         (setup_group_scheduler), (loop_group_schedule_function),
8239         (gst_opt_scheduler_pad_link):
8240         Added some more debug info and fixed a bug where the group
8241         type was set to LOOP but it was in fact unknown.
8242
8243 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8244
8245         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8246           make resetting scheduler work twice in a row
8247
8248 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8249
8250         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8251         (CREATE_USERIALIZATION), (_gst_value_initialize),
8252         (gst_value_compare_float), (gst_value_serialize_float),
8253         (gst_value_deserialize_float), (gst_value_compare_enum),
8254         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8255           add serialization and comparison functions for long, int64, enum and
8256           float values
8257         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8258           use best serialization function in type hierarchy instead of only a
8259           matching one. This is required for enums to work.
8260         * gst/parse/grammar.y:
8261           use gst_caps_deserialize
8262         * testsuite/parse/Makefile.am:
8263           parse1 now works
8264         * testsuite/parse/parse1.c: (main):
8265           remove aggregator check, aggregator is broken, this test works now
8266           but fails because of bug #138012
8267         * testsuite/parse/parse2.c: (main):
8268           s/xvideosink/xvimagesink - this test looks a lot like we should
8269           disable it
8270
8271 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8272
8273         * gst/gstelement.c: (gst_element_class_init):
8274           whoops, store the signal id correctly
8275         * gst/schedulers/gstbasicscheduler.c:
8276         (gst_basic_scheduler_chain_wrapper):
8277           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8278           chain function isn't linked
8279
8280 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8281         * configure.ac:
8282         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8283         support until we decide where the flags should be used
8284         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8285         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8286         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8287         Output refused caps in the debug info
8288
8289 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * gst/elements/gstidentity.c: (gst_identity_chain):
8292           add duration debug
8293         * gst/gstinfo.c: (gst_debug_log_default):
8294           add timestamp
8295
8296 2004-05-13  Benjamin Otte  <otte@gnome.org>
8297
8298         * gst/gstpipeline.c: (gst_pipeline_dispose),
8299         (gst_pipeline_change_state):
8300           call gst_scheduler_reset on dispose (fixes #141416)
8301
8302 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8303
8304         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8305           compute mapsize correctly
8306         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8307           use correct datatypes when calling a varargs function
8308         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8309           push a DISCONT event as first thing
8310         * gst/gst_private.h:
8311         * gst/gstinfo.c: (_gst_debug_init):
8312           remove GST_DATAFLOW debugging category
8313         * gst/gstbin.c: (gst_bin_iterate):
8314           use GST_SCHEDULING category
8315         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8316         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8317         (gst_pad_call_get_function):
8318           add GST_DATAFLOW to easily track flow of buffers or events.
8319         * gst/gstqueue.c: (gst_queue_get_type),
8320         (gst_queue_handle_pending_events), (gst_queue_chain),
8321         (gst_queue_get), (gst_queue_handle_src_event):
8322           use own static debugging category GST_DATAFLOW for dataflow,
8323           use DEBUG category for showing which path events go, use LOG
8324           category for buffers.
8325
8326 2004-05-10  David Schleef  <ds@schleef.org>
8327
8328         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8329
8330 2004-05-10  David Schleef  <ds@schleef.org>
8331
8332         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8333         symbols, because otherwise we don't know what they are.  Thanks,
8334         the GStreamer team.
8335         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8336
8337 2004-05-10  David Schleef  <ds@schleef.org>
8338
8339         (from Steve Lhomme)
8340         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8341         are deleted.  Fix.
8342         * win32/Makefile.inspect:
8343         * win32/Makefile.launch:
8344         * win32/Makefile.register:
8345
8346 2004-05-10  David Schleef  <ds@schleef.org>
8347
8348         * gst/gstinfo.h: Add missing inline function.
8349         * gst/gsttrace.c: add include
8350         * gst/parse/grammar.y: remove unused code
8351         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8352         more portable.
8353         * tools/gst-register.c: wrap unistd.h
8354         
8355         More additions/fixes from Steve for the MSVC build.
8356         * win32/GStreamer.vcproj:
8357         * win32/Makefile:
8358         * win32/Makefile.inspect:
8359         * win32/Makefile.launch:
8360         * win32/Makefile.register:
8361         * win32/README.txt:
8362         * win32/gst-inspect.vcproj:
8363         * win32/gst-launch.vcproj:
8364         * win32/gst-register.vcproj:
8365         * win32/gstbytestream.def:
8366         * win32/gstbytestream.vcproj:
8367         * win32/gstconfig.h:
8368         * win32/gstelements.def:
8369         * win32/gstelements.vcproj:
8370         * win32/gstenumtypes.c:
8371         * win32/gstenumtypes.h:
8372         * win32/gstoptimalscheduler.def:
8373         * win32/gstoptimalscheduler.vcproj:
8374         * win32/gstreamer.def:
8375         * win32/gstspider.def:
8376         * win32/gstspider.vcproj:
8377         * win32/gstversion.h:
8378         * win32/msvc71.sln:
8379
8380 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8381
8382         * gst/gstelement.c: (gst_element_class_init),
8383         (gst_element_no_more_pads):
8384         * gst/gstelement.h:
8385           add gst_element_no_more_pads and the "no-more-pads" signal
8386
8387 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8388
8389         * gst/gstregistry.c: (gst_registry_add_plugin):
8390           refuse to add plugins when a plugin with same name is already
8391           registered. Fixes a bunch of "How to remove plugins?" issues.
8392           May lead to other problems though, let's test
8393
8394 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8395
8396         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8397         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8398         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8399
8400 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * tests/Makefile.am: fix am16 issue
8403
8404 2004-05-09  Benjamin Otte  <otte@gnome.org>
8405
8406         * libs/gst/bytestream/Makefile.am:
8407           we should indeed add .c files to makefiles or they won't be built
8408           (d'oh)
8409
8410 2004-05-08  Benjamin Otte  <otte@gnome.org>
8411
8412         * gst/gstpad.c: (gst_pad_proxy_fixate):
8413           really reduce the set of caps
8414
8415 2004-05-08  Benjamin Otte  <otte@gnome.org>
8416
8417         * tests/Makefile.am:
8418         * tests/spidey_bench.c: (handoff), (main):
8419           add benchmark to test how long spider needs to create a pipeline
8420
8421 2004-05-08  Benjamin Otte  <otte@gnome.org>
8422
8423         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8424           mark links as unengaged when unnegotiating instead of deactivating.
8425           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8426
8427 2004-05-08  Benjamin Otte  <otte@gnome.org>
8428
8429         * docs/manual/helloworld.xml:
8430           s/audiosink/osssink (patch by Patrick Guimond)
8431
8432 2004-05-07  David Schleef  <ds@schleef.org>
8433
8434         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8435         since it contains important stuff.
8436
8437 2004-05-07  David Schleef  <ds@schleef.org>
8438
8439         * testsuite/caps/caps.c: (test3), (main): A check for appending
8440         ANY caps.
8441
8442 2004-05-07  David Schleef  <ds@schleef.org>
8443
8444         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8445         which may contain commas.  Fixes detection of -Wa,-mregnames
8446
8447 2004-05-06  David Schleef  <ds@schleef.org>
8448
8449         Changes to handle compilers that don't have variadic macro
8450         support.  In particular, glib headers define some inlines
8451         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8452         builds.
8453         * gst/Makefile.am:
8454         * gst/cothreads.c:
8455         * gst/elements/gstfdsink.c:
8456         * gst/elements/gstfdsrc.c:
8457         * gst/elements/gstfilesink.c:
8458         * gst/elements/gstfilesrc.c:
8459         * gst/gst_private.h:
8460         * gst/gstatomic.c:
8461         * gst/gstcaps.c: (gst_caps_append):
8462         * gst/gstcpu.c: (gst_cpuid_i386):
8463         * gst/gstelement.c:
8464         * gst/gsterror.c:
8465         * gst/gstfilter.c:
8466         * gst/gstinfo.h:
8467         * gst/gstprobe.c:
8468         * gst/gstquery.c:
8469         * gst/gstregistry.c:
8470         * gst/gststructure.c:
8471         * gst/gsttaginterface.c:
8472         * gst/gsttrace.c: (gst_trace_new):
8473         * gst/gsttrashstack.c:
8474         * gst/gsturi.c:
8475         * gst/gstvalue.c:
8476         * gst/parse/grammar.y:
8477         * gst/parse/parse.l:
8478         * tools/gst-inspect.c: (main):
8479         * tools/gst-launch.c: (main):
8480         * tools/gst-xmlinspect.c: (PUT_STRING):
8481
8482 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8483
8484         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8485         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8486         * gst/elements/gstfilesrc.h:
8487           send NEW_MEDIA events correctly
8488         * gst/elements/gsttypefindelement.c: (start_typefinding),
8489         (gst_type_find_element_handle_event):
8490           restart typefinding when we get a NEW_MEDIA event
8491         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8492         (gst_bin_dispose):
8493           don't die when someone removes elements in callbacks
8494         * gst/gstelement.c: (gst_element_change_state):
8495           improve debugging
8496         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8497           we need a NEW_MEDIA event to engage a link
8498         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8499           don't g_print debugging stuff
8500         * testsuite/caps/simplify.c: (check_caps):
8501
8502 2004-05-04  Benjamin Otte  <otte@gnome.org>
8503
8504         * gst/parse/grammar.y:
8505           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8506
8507 2004-05-04  Benjamin Otte  <otte@gnome.org>
8508
8509         * testsuite/caps/renegotiate.c: (main):
8510           improve output in error case
8511
8512 2004-05-04  Benjamin Otte  <otte@gnome.org>
8513
8514         * gst/parse/grammar.y:
8515           fix assert to not trigger when there's no error argument
8516         * gst/parse/parse.l:
8517           fix definition of caps to allow more than two structures
8518         * testsuite/caps/Makefile.am:
8519         * testsuite/caps/renegotiate.c: (main):
8520           it's sinesrc and works in that case
8521
8522 2004-05-04  Wim Taymans  <wim@fluendo.com>
8523
8524         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8525         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8526         when removing an element from a group, we always need to
8527         decrement the link count that this group had with other 
8528         groups through the element.
8529         added an extra assert to catch inconsistencies when decrementing
8530         the link count.
8531
8532 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * configure.ac:
8535         * docs/gst/Makefile.am:
8536         * docs/gst/gstreamer-sections.txt:
8537         * docs/gst/tmpl/gstcompat.sgml:
8538         * examples/appreader/Makefile.am:
8539         * examples/cutter/Makefile.am:
8540         * examples/events/Makefile.am:
8541         * examples/helloworld/Makefile.am:
8542         * examples/helloworld2/Makefile.am:
8543         * examples/launch/Makefile.am:
8544         * examples/manual/Makefile.am:
8545         * examples/mixer/Makefile.am:
8546         * examples/pingpong/Makefile.am:
8547         * examples/plugins/Makefile.am:
8548         * examples/queue/Makefile.am:
8549         * examples/queue2/Makefile.am:
8550         * examples/queue3/Makefile.am:
8551         * examples/queue4/Makefile.am:
8552         * examples/retag/Makefile.am:
8553         * examples/thread/Makefile.am:
8554         * examples/typefind/Makefile.am:
8555         * examples/xml/Makefile.am:
8556         * gst/Makefile.am:
8557         * gst/autoplug/Makefile.am:
8558         * gst/elements/Makefile.am:
8559         * gst/gstcompat.h:
8560         * gst/indexers/Makefile.am:
8561         * gst/parse/Makefile.am:
8562         * gst/registries/Makefile.am:
8563         * gst/schedulers/Makefile.am:
8564         * libs/gst/bytestream/Makefile.am:
8565         * libs/gst/control/Makefile.am:
8566         * libs/gst/getbits/Makefile.am:
8567         * po/af.po:
8568         * po/az.po:
8569         * po/en_GB.po:
8570         * po/fr.po:
8571         * po/nl.po:
8572         * po/sr.po:
8573         * po/sv.po:
8574         * po/tr.po:
8575         * po/uk.po:
8576         * tests/Makefile.am:
8577         * tests/bufspeed/Makefile.am:
8578         * tests/instantiate/Makefile.am:
8579         * tests/memchunk/Makefile.am:
8580         * tests/muxing/Makefile.am:
8581         * tests/negotiation/Makefile.am:
8582         * tests/probes/Makefile.am:
8583         * tests/sched/Makefile.am:
8584         * tests/seeking/Makefile.am:
8585         * tests/threadstate/Makefile.am:
8586         * testsuite/caps/Makefile.am:
8587         * testsuite/cleanup/Makefile.am:
8588         * testsuite/dlopen/Makefile.am:
8589         * testsuite/dynparams/Makefile.am:
8590         * testsuite/plugin/Makefile.am:
8591         * testsuite/states/Makefile.am:
8592         * tools/Makefile.am:
8593           reorganize compile/link flags to be consistent
8594           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8595
8596 2004-05-04  David Schleef  <ds@schleef.org>
8597
8598         The "once more, with feeling" check-in.
8599         * testsuite/caps/Makefile.am: dist caps_strings
8600         * testsuite/caps/renegotiate.c: (main): This test triggers a
8601           segfault in the core.  Marking as failing.
8602
8603 2004-05-03  David Schleef  <ds@schleef.org>
8604
8605         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8606           by the build bots.
8607         * testsuite/caps/renegotiate.c: (main): Same.
8608
8609 2004-05-03  David Schleef  <ds@schleef.org>
8610
8611         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8612
8613 2004-05-03  David Schleef  <ds@schleef.org>
8614
8615         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8616           variable to find our source file.
8617
8618 2004-05-03  David Schleef  <ds@schleef.org>
8619
8620         * configure.ac:  Link plugins with libgstreamer and dependent
8621           libraries
8622         * testsuite/caps/Makefile.am:
8623         * testsuite/caps/caps_strings:
8624         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8625           through a file of caps strings and test each one
8626
8627 2004-05-04  Benjamin Otte  <otte@gnome.org>
8628
8629         * libs/gst/bytestream/Makefile.am:
8630         * libs/gst/bytestream/adapter.c: 
8631         * libs/gst/bytestream/adapter.h:
8632           add GstAdapter, similar to bytestream, but doesn't require ugly event
8633           handling or uglier loopbased elements
8634
8635 2004-05-03  David Schleef  <ds@schleef.org>
8636
8637         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8638         * testsuite/caps/erathostenes.c:
8639         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8640
8641 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8642
8643         * docs/pwg/pwg.xml:
8644           remove hardcoded stylesheet path (duh)
8645         * docs/random/release:
8646         * docs/gst/gstreamer-sections.txt:
8647         * gst/Makefile.am:
8648         * gst/gst.h:
8649         * gst/gst_private.h:
8650         * gst/gstcaps.c:
8651         * gst/gstevent.c:
8652         * gst/gstformat.c:
8653         * gst/gstinfo.c:
8654         * gst/gstinfo.h:
8655         * gst/gstinterface.c:
8656         * gst/gstmemchunk.c:
8657         * gst/gstprobe.c:
8658         * gst/gstquery.c:
8659         * gst/gstregistry.c:
8660         * gst/gstregistrypool.c:
8661         * gst/gststructure.c:
8662         * gst/gsttaginterface.c:
8663         * gst/gstthread.c:
8664         * gst/gsttrace.c:
8665         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8666         * gst/gsturi.c:
8667         * gst/gstvalue.c:
8668           deprecate gst_info; remove gstlog.h
8669    
8670
8671 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8672
8673         * Makefile.am:
8674         * po/en_GB.po:
8675         * po/sv.po:
8676         * po/uk.po:
8677           updated translations
8678
8679 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8680
8681         * gst/gstbin.c: (gst_bin_dispose):
8682           better debugging
8683
8684 2004-05-03  Johan Dahlin  <johan@gnome.org>
8685
8686         * gst/schedulers/gstoptimalscheduler.c
8687         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8688         really is a GstElement. Avoids critical when running gst-launch -v
8689         and a oggdemux/decoding pipeline.
8690
8691 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8692
8693         * docs/gst/tmpl/gstpipeline.sgml :
8694         * docs/manual/elements-api.xml :
8695                 doc fix by Patrick Guimond (Protector) from devel ML
8696                 reviewed by ronald
8697
8698 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8699
8700         * docs/gst/Makefile.am :
8701         * docs/libs/Makefile.am :
8702                 apply a patch from Arwed v. Merkatz so that gtk-doc
8703                 generated docs install (same for .devhelp file)
8704                 (fixes part 1 of #138836)
8705
8706 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8707
8708         * docs/faq/dependencies.xml: typo
8709         * docs/faq/getting.xml :
8710             - fix download URL for new gstreamer site
8711             - hide sf.net download page as latest version aren't there
8712             - fix apt URLs
8713             - fill "get via CVS" paragraph (link to dev page on the site)
8714         * docs/faq/general.xml:
8715             hide status tables as they no more exists
8716             change case on plugins license file to reflect reality
8717         * docs/faq/troubleshooting.xml:
8718             remove the wiki question/answer as there is no more wiki
8719
8720 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8721
8722         * gst/gsterror.h:
8723           include the headers needed for declarations used in this header
8724
8725 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8726
8727         * docs/random/uraeus/gstreamer_and_midi.txt :
8728           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8729           (fixes #132288)
8730
8731 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8732
8733         reviewed by Benjamin Otte  <otte@gnome.org>
8734
8735         * gst/schedulers/gthread-cothreads.h:
8736           free allocated data for main cothread, too when destroying context
8737           (fixes #141417)
8738
8739 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8740
8741         * docs/manual/goals.xml : remove duplicated paragraph at end 
8742         of doc page (fixes #141448)
8743
8744 2004-04-29  David Schleef  <ds@schleef.org>
8745
8746         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8747         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8748
8749 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8750
8751         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8752           fix property
8753         * gst/gstcaps.c:
8754           fix doc string
8755         * po/POTFILES.in:
8756           rename typefind source file
8757
8758 2004-04-28  David Schleef  <ds@schleef.org>
8759
8760         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8761         * win32/GStreamer.vcproj:
8762         * win32/Makefile:
8763         * win32/config.h:
8764         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8765         (_trewinddir), (_ttelldir), (_tseekdir):
8766         * win32/dirent.h:
8767         * win32/gst-inspect.vcproj:
8768         * win32/gst-launch.vcproj:
8769         * win32/gst-register.vcproj:
8770         * win32/gstbytestream.vcproj:
8771         * win32/gstelements.vcproj:
8772         * win32/gstoptimalscheduler.vcproj:
8773         * win32/gstspider.vcproj:
8774         * win32/gtchar.h:
8775         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8776         * win32/mman.h:
8777         * win32/mman.inl:
8778         * win32/msvc71.sln:
8779
8780 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8781
8782         * gst/gst.c: (init_post):
8783         * gst/gstinfo.c:
8784           remove useless _gst_progname stuff
8785         * tools/gst-inspect.c: (print_field), (print_caps):
8786           improve caps output
8787
8788 2004-04-28  David Schleef  <ds@schleef.org>
8789
8790         Disable parsing of a lot of files that aren't part of the
8791         exported API.  Move corresponding template files to old/,
8792         waiting for removal when they don't contain anything
8793         interesting.
8794         * docs/gst/Makefile.am:
8795         * docs/gst/gstreamer-sections.txt:
8796         * docs/gst/tmpl/cothreads.sgml:
8797         * docs/gst/tmpl/cothreads_compat.sgml:
8798         * docs/gst/tmpl/gettext.sgml:
8799         * docs/gst/tmpl/gobject2gtk.sgml:
8800         * docs/gst/tmpl/grammar.tab.sgml:
8801         * docs/gst/tmpl/gst-i18n-app.sgml:
8802         * docs/gst/tmpl/gst-i18n-lib.sgml:
8803         * docs/gst/tmpl/gst_private.sgml:
8804         * docs/gst/tmpl/gstaggregator.sgml:
8805         * docs/gst/tmpl/gstarch.sgml:
8806         * docs/gst/tmpl/gstatomic_impl.sgml:
8807         * docs/gst/tmpl/gstbufferstore.sgml:
8808         * docs/gst/tmpl/gstdata_private.sgml:
8809         * docs/gst/tmpl/gstdisksink.sgml:
8810         * docs/gst/tmpl/gstdisksrc.sgml:
8811         * docs/gst/tmpl/gstelementfactory.sgml:
8812         * docs/gst/tmpl/gstextratypes.sgml:
8813         * docs/gst/tmpl/gstfakesink.sgml:
8814         * docs/gst/tmpl/gstfakesrc.sgml:
8815         * docs/gst/tmpl/gstfdsink.sgml:
8816         * docs/gst/tmpl/gstfdsrc.sgml:
8817         * docs/gst/tmpl/gstfilesink.sgml:
8818         * docs/gst/tmpl/gstfilesrc.sgml:
8819         * docs/gst/tmpl/gsthttpsrc.sgml:
8820         * docs/gst/tmpl/gstidentity.sgml:
8821         * docs/gst/tmpl/gstindexfactory.sgml:
8822         * docs/gst/tmpl/gstmarshal.sgml:
8823         * docs/gst/tmpl/gstmd5sink.sgml:
8824         * docs/gst/tmpl/gstmultidisksrc.sgml:
8825         * docs/gst/tmpl/gstmultifilesrc.sgml:
8826         * docs/gst/tmpl/gstpadtemplate.sgml:
8827         * docs/gst/tmpl/gstpipefilter.sgml:
8828         * docs/gst/tmpl/gstschedulerfactory.sgml:
8829         * docs/gst/tmpl/gstsearchfuncs.sgml:
8830         * docs/gst/tmpl/gstshaper.sgml:
8831         * docs/gst/tmpl/gstspider.sgml:
8832         * docs/gst/tmpl/gstspideridentity.sgml:
8833         * docs/gst/tmpl/gststatistics.sgml:
8834         * docs/gst/tmpl/gsttee.sgml:
8835         * docs/gst/tmpl/gsttimecache.sgml:
8836         * docs/gst/tmpl/gsttypefind.sgml:
8837         * docs/gst/tmpl/gsttypefindfactory.sgml:
8838         * docs/gst/tmpl/gstxmlregistry.sgml:
8839         * docs/gst/tmpl/gthread-cothreads.sgml:
8840         * docs/gst/tmpl/old/cothreads.sgml:
8841         * docs/gst/tmpl/old/cothreads_compat.sgml:
8842         * docs/gst/tmpl/old/gettext.sgml:
8843         * docs/gst/tmpl/old/gobject2gtk.sgml:
8844         * docs/gst/tmpl/old/grammar.tab.sgml:
8845         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8846         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8847         * docs/gst/tmpl/old/gst_private.sgml:
8848         * docs/gst/tmpl/old/gstaggregator.sgml:
8849         * docs/gst/tmpl/old/gstarch.sgml:
8850         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8851         * docs/gst/tmpl/old/gstbufferstore.sgml:
8852         * docs/gst/tmpl/old/gstdata_private.sgml:
8853         * docs/gst/tmpl/old/gstdisksink.sgml:
8854         * docs/gst/tmpl/old/gstdisksrc.sgml:
8855         * docs/gst/tmpl/old/gstelementfactory.sgml:
8856         * docs/gst/tmpl/old/gstextratypes.sgml:
8857         * docs/gst/tmpl/old/gstfakesink.sgml:
8858         * docs/gst/tmpl/old/gstfakesrc.sgml:
8859         * docs/gst/tmpl/old/gstfdsink.sgml:
8860         * docs/gst/tmpl/old/gstfdsrc.sgml:
8861         * docs/gst/tmpl/old/gstfilesink.sgml:
8862         * docs/gst/tmpl/old/gstfilesrc.sgml:
8863         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8864         * docs/gst/tmpl/old/gstidentity.sgml:
8865         * docs/gst/tmpl/old/gstindexfactory.sgml:
8866         * docs/gst/tmpl/old/gstmarshal.sgml:
8867         * docs/gst/tmpl/old/gstmd5sink.sgml:
8868         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8869         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8870         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8871         * docs/gst/tmpl/old/gstpipefilter.sgml:
8872         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8873         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8874         * docs/gst/tmpl/old/gstshaper.sgml:
8875         * docs/gst/tmpl/old/gstspider.sgml:
8876         * docs/gst/tmpl/old/gstspideridentity.sgml:
8877         * docs/gst/tmpl/old/gststatistics.sgml:
8878         * docs/gst/tmpl/old/gsttee.sgml:
8879         * docs/gst/tmpl/old/gsttimecache.sgml:
8880         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8881         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8882         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8883         * docs/gst/tmpl/old/types.sgml:
8884         * docs/gst/tmpl/types.sgml:
8885
8886         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8887         gtkdoc-scan doesn't like files with the same name in different
8888         directories.
8889         * gst/elements/Makefile.am:
8890         * gst/elements/gstelements.c:
8891         * gst/elements/gsttypefind.c: 
8892         * gst/elements/gsttypefind.h:
8893         * gst/elements/gsttypefindelement.c:
8894         * gst/elements/gsttypefindelement.h:
8895
8896 2004-04-28  David Schleef  <ds@schleef.org>
8897
8898         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8899         patch (bug #141317):
8900         * gst/gst-i18n-lib.h: Allow disabling gettext.
8901         * gst/gstatomic_impl.h: disable warning when it's dumb.
8902         * gst/gstclock.c: fix include
8903         * gst/gstcompat.h: fix variadic macro
8904         * gst/gstinfo.c: fix include
8905         * gst/gstmacros.h: add defines for inlines on MSVC
8906         * gst/gstplugin.c: fix includes
8907         * gst/gstregistry.c: fix includes
8908         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8909         * gst/gstsystemclock.c: fix include
8910         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8911         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8912         * gst/registries/gstxmlregistry.c:
8913         (gst_xml_registry_parse_element_factory): fix use of non-portable
8914         functions
8915         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8916         * libs/gst/control/dparammanager.h: same
8917
8918 2004-04-28  David Schleef  <ds@schleef.org>
8919
8920         Move a bunch of unused files to old/ with names that are
8921         not case-insensitive-unique.  These files still contain some
8922         useful information that needs to be merged into gstbin.sgml,
8923         etc., so they shouldn't be deleted yet.
8924         * docs/gst/tmpl/GstBin.sgml:
8925         * docs/gst/tmpl/GstBuffer.sgml:
8926         * docs/gst/tmpl/GstCaps.sgml:
8927         * docs/gst/tmpl/GstClock.sgml:
8928         * docs/gst/tmpl/GstCompat.sgml:
8929         * docs/gst/tmpl/GstData.sgml:
8930         * docs/gst/tmpl/GstElement.sgml:
8931         * docs/gst/tmpl/GstEvent.sgml:
8932         * docs/gst/tmpl/GstIndex.sgml:
8933         * docs/gst/tmpl/GstStructure.sgml:
8934         * docs/gst/tmpl/GstTag.sgml:
8935         * docs/gst/tmpl/old/GstBin.sgml:
8936         * docs/gst/tmpl/old/GstBuffer.sgml:
8937         * docs/gst/tmpl/old/GstCaps.sgml:
8938         * docs/gst/tmpl/old/GstClock.sgml:
8939         * docs/gst/tmpl/old/GstCompat.sgml:
8940         * docs/gst/tmpl/old/GstData.sgml:
8941         * docs/gst/tmpl/old/GstElement.sgml:
8942         * docs/gst/tmpl/old/GstEvent.sgml:
8943         * docs/gst/tmpl/old/GstIndex.sgml:
8944         * docs/gst/tmpl/old/GstStructure.sgml:
8945         * docs/gst/tmpl/old/GstTag.sgml:
8946
8947 2004-04-28  David Schleef  <ds@schleef.org>
8948
8949         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8950         (gst_caps_append), (gst_caps_append_structure),
8951         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8952         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8953         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8954         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8955         (gst_caps_intersect), (gst_caps_normalize),
8956         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8957         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8958         * gst/gstcaps.h: use GST_IS_CAPS().
8959
8960 2004-04-26  David Schleef  <ds@schleef.org>
8961
8962         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8963         assembly.  gcc doesn't handle it correctly. (bug #141083)
8964         * gst/gsttrashstack.h: same
8965
8966 2004-04-25  Benjamin Otte  <otte@gnome.org>
8967
8968         * gst/gstelement.c: (gst_element_change_state):
8969           fix assertion to do an int comparison
8970
8971 2004-04-25  Benjamin Otte  <otte@gnome.org>
8972
8973         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8974           better debugging output on error
8975
8976 2004-04-25  Benjamin Otte  <otte@gnome.org>
8977
8978         * gst/gstcaps.c: (gst_caps_subtract):
8979           fix memleak
8980
8981 2004-04-23  Benjamin Otte  <otte@gnome.org>
8982
8983         * gst/gstvalue.c: (gst_value_compare_buffer),
8984         (_gst_value_initialize):
8985           add comparison function for buffers
8986
8987 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8988
8989         * docs/pwg/pwg.xml:
8990           Just found out that this so-called "ima-wav" format is really
8991           just "dvi adpcm" (according to the MS WAV documentation). So
8992           renaming it. We didn't use it yet anyway.
8993
8994 2004-04-23  Benjamin Otte  <otte@gnome.org>
8995
8996         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8997           call gst_caps_is_subset
8998
8999 2004-04-23  Benjamin Otte  <otte@gnome.org>
9000
9001         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9002         (gst_caps_is_subset):
9003           add documentation
9004
9005 2004-04-23  Benjamin Otte  <otte@gnome.org>
9006           
9007         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9008         (gst_caps_structure_subtract), (gst_caps_subtract),
9009         (gst_caps_structure_figure_out_union),
9010         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9011           fix simplifying and subtracting not working correctly with optional
9012           properties
9013           solve assorted problems that make it now simplify ebven more
9014         * docs/gst/tmpl/gstcaps.sgml:
9015         * gst/gstcaps.h:
9016           make gst_caps_do_simplify return a bool to indicate if it simplified
9017         * testsuite/caps/simplify.c: (main):
9018           add more checks. The tests is quite a bit useless right now because
9019           the core is heavily simplifying itself.
9020         * testsuite/caps/caps.h:
9021           fix caps to contain all optional properties
9022
9023 2004-04-22  Benjamin Otte  <otte@gnome.org>
9024
9025         * docs/gst/tmpl/gstcaps.sgml:
9026         * docs/gst/tmpl/gstfilesrc.sgml:
9027         * docs/gst/tmpl/gststructure.sgml:
9028         * docs/gst/tmpl/gstvalue.sgml:
9029           update for recent API changes
9030         * gst/gstcaps.c: (gst_caps_do_simplify):
9031           fix to stop trying with a freed structure
9032         * gst/gstpad.c: (gst_pad_link_fixate):
9033           simplify caps
9034         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9035           remove C++ comment
9036         * gst/gstpad.h:
9037           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9038         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9039         (gst_structure_to_string):
9040           keep the correct type when using lists of ranges
9041         * gst/gstvalue.c: (gst_value_list_prepend_value),
9042         (gst_value_list_append_value):
9043           copy the value before adding to the list (d'oh)
9044         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9045         (gst_value_subtract_int_range_int_range):
9046           handle overflows correctly
9047         * gst/gstvalue.c: (gst_value_subtract_from_list):
9048           fix memleak
9049         * testsuite/caps/caps.h:
9050           add a caps that caused segfaults
9051
9052 2004-04-22  Benjamin Otte  <otte@gnome.org>
9053
9054         * testsuite/refcounting/pad.c: (main):
9055           fix test
9056
9057 2004-04-22  Benjamin Otte  <otte@gnome.org>
9058
9059         * gst/gstcaps.c: (gst_caps_subtract):
9060           allow subtracting ANY and EMPTY from ANY caps
9061
9062 2004-04-22  Benjamin Otte  <otte@gnome.org>
9063
9064         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9065         (gst_caps_union):
9066           only simplify in functions that create new caps. Simplifying in
9067           gst_caps_append breaks tests.
9068
9069 2004-04-22  Benjamin Otte  <otte@gnome.org>
9070
9071         * gst/gstcaps.c: (gst_caps_structure_simplify):
9072           unset GValue after use
9073         * gst/gstcaps.c: (gst_caps_append), 
9074         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9075           use gst_caps_simplify (reduces registry size by 30%)
9076         * gst/gstpad.c: (gst_pad_template_new):
9077           don't allow NULL caps
9078
9079 2004-04-22  Benjamin Otte  <otte@gnome.org>
9080
9081         * docs/gst/gstreamer-sections.txt:
9082           add gst_caps_do_simplify
9083         * gst/gstcaps.c:
9084           add documentation for gst_caps_do_simplify
9085         * gst/gstvalue.h:
9086           fix typo in gst_value_register_subtract_func declaration for gst-doc
9087
9088 2004-04-22  Benjamin Otte  <otte@gnome.org>
9089
9090         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9091           fix bug when converting from empty string.
9092         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9093         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9094           use gst_caps_new_empty to allocate a new caps. Only that function
9095           allocates memory for caps now.
9096         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9097         (gst_caps_remove_structure):
9098           add ability to remove one structure (but not to header yet)
9099         * gst/gstcaps.c: (gst_caps_compare_structures),
9100         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9101         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9102         * gst/gstcaps.h:
9103           add gst_caps_do_simplify that tries to simplify a caps in place.
9104           Deprecate old gst_caps_simplify function.
9105         * testsuite/caps/caps.h:
9106           add caps.h containing a common set of caps to test against.
9107         * testsuite/caps/sets.c: (check_caps), (main):
9108           use it.
9109         * testsuite/caps/.cvsignore:
9110         * testsuite/caps/Makefile.am:
9111         * testsuite/caps/simplify.c: (check_caps), (main):
9112           add test to check correctness and efficency of caps simplification.
9113
9114 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9115
9116         reviewed by Benjamin Otte  <otte@gnome.org>
9117
9118         * gst/gstparse.c: (_gst_parse_escape):
9119           Free the GString used in _gst_parse_escape()
9120
9121 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9122
9123         * gst/gstpad.c: (gst_pad_link_negotiate):
9124           refuse to link if the link is not possible
9125         * configure.ac:
9126         * testsuite/Makefile.am:
9127         * testsuite/negotiation/.cvsignore:
9128         * testsuite/negotiation/Makefile.am:
9129         * testsuite/negotiation/pad_link.c: (main):
9130           add test that checks the above behaviour
9131
9132 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * docs/gst/gstreamer-sections.txt:
9135           add newly added API
9136
9137 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9138
9139         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9140         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9141         (gst_filesrc_open_file), (gst_filesrc_close_file),
9142         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9143         * gst/elements/gstfilesrc.h:
9144           add support for non-regular files (#140734)
9145
9146 2004-04-21  Benjamin Otte  <otte@gnome.org>
9147
9148         * gst/gstpad.c: (gst_pad_link_fixate):
9149           add sophisticated error checking code to see if fixation functions
9150           did their fixation right
9151
9152 2004-04-21  Benjamin Otte  <otte@gnome.org>
9153
9154         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9155           check for ANY caps before appending/unioning
9156         * gst/gstcaps.c: (gst_caps_is_subset),
9157         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9158         (gst_caps_structure_subtract), (gst_caps_subtract):
9159         * gst/gstcaps.h:
9160           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9161           the API. deprecate gst_caps_is_equal_fixed
9162         * gst/gstpad.c: (gst_pad_try_set_caps):
9163         * gst/gstqueue.c: (gst_queue_link):
9164           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9165         * gst/gststructure.c: (gst_structure_get_name_id):
9166         * gst/gststructure.h:
9167           add function gst_structure_get_name_id
9168         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9169         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9170         (gst_value_subtract_int_range_int_range),
9171         (gst_value_subtract_double_double_range),
9172         (gst_value_subtract_double_range_double),
9173         (gst_value_subtract_double_range_double_range),
9174         (gst_value_subtract_from_list), (gst_value_subtract_list),
9175         (gst_value_can_intersect), (gst_value_subtract),
9176         (gst_value_can_subtract), (gst_value_register_subtract_func),
9177         (_gst_value_initialize):
9178         * gst/gstvalue.h:
9179           add support for subtracting values from each other. Note that
9180           subtracting means subtracting as in set theory. Required for caps
9181           stuff above.
9182         * testsuite/caps/.cvsignore:
9183         * testsuite/caps/Makefile.am:
9184         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9185         * testsuite/caps/sets.c: (check_caps), (main):
9186         * testsuite/caps/subtract.c: (check_caps), (main):
9187           add tests for subtraction and equality code.
9188
9189 2004-04-20  David Schleef  <ds@schleef.org>
9190
9191         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9192         * gst/indexers/Makefile.am:
9193         * gst/schedulers/Makefile.am:
9194         * libs/gst/bytestream/Makefile.am:
9195         * libs/gst/control/Makefile.am:
9196         * libs/gst/getbits/Makefile.am:
9197
9198 2004-04-20  David Schleef  <ds@schleef.org>
9199
9200         * common/as-libtool.mak: Fine-tune DLL building.
9201         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9202         (like gst-plugins)
9203         * examples/plugins/Makefile.am: remove plugindir
9204         * gst/autoplug/Makefile.am: DLL building fixes
9205         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9206         Windows.
9207         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9208         * gst/indexers/Makefile.am: DLL building fixes
9209         * gst/schedulers/Makefile.am: DLL building fixes.
9210         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9211         * libs/gst/control/Makefile.am: same
9212         * libs/gst/getbits/Makefile.am: same
9213         * testsuite/Makefile.am: New dlopen directory
9214         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9215         when dlopened.
9216         * testsuite/dlopen/dlopen_gst.c: (main): same
9217         * testsuite/dlopen/loadgst.c: (do_test): same
9218
9219 2004-04-20  David Schleef  <ds@schleef.org>
9220
9221         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9222         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9223
9224 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9225
9226         * gst/gstelement.c: (gst_element_wait),
9227         (gst_element_set_time_delay), (gst_element_change_state):
9228           Use GST_TIME_*
9229
9230 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9231
9232         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9233         (gst_spider_identity_plug):
9234           improve debugging messages
9235         * gst/gstbin.c: (gst_bin_remove_func):
9236           make sure the state_change function is only called with simple state
9237           transitions
9238
9239 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9240
9241         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9242         (gst_fakesink_set_property), (gst_fakesink_chain):
9243         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9244         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9245         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9246         * gst/elements/gstidentity.c: (gst_identity_chain),
9247         (gst_identity_set_property):
9248         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9249         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9250           add warnings to _set_property for unknown arguments
9251           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9252
9253 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9254
9255         * Makefile.am:
9256         * docs/manuals.mak:
9257           add .po file download snippet
9258           fix a bug in the doc makefile
9259
9260 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * Makefile.am:
9263         * po/LINGUAS:
9264         * po/en_GB.po:
9265           Added en_GB translation (Gareth Owen)
9266
9267 2004-04-20  Johan Dahlin  <johan@gnome.org>
9268
9269         * gst/gstpad.c (_invent_event): Clean up
9270
9271 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9272
9273         * testsuite/caps/filtercaps.c: (main):
9274           fix test to test things correctly (caps are complicated)
9275
9276 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9277
9278         * testsuite/caps/Makefile.am:
9279         * testsuite/caps/filtercaps.c: (main):
9280           add test (that doesn't work right now, but should)
9281
9282 2004-04-19  David Schleef  <ds@schleef.org>
9283
9284         * configure.ac: Add test for allowing unaligned access.  Add define
9285         to put in gstconfig.h.
9286         * docs/gst/gstreamer-sections.txt: New symbols
9287         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9288         * docs/gst/tmpl/gstfilesrc.sgml:
9289         * docs/gst/tmpl/gstparse.sgml:
9290         * docs/gst/tmpl/gsttypes.sgml:
9291         * docs/gst/tmpl/gstutils.sgml:
9292         * docs/gst/tmpl/gstvalue.sgml:
9293         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9294         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9295         on most !i386/!powerpc architectures.  From Daniel Gazard
9296         <daniel.gazard@free.fr>.  (bug #140156)
9297         * po/af.po: Check in changes made by gettext.
9298         * po/az.po:
9299         * po/fr.po:
9300         * po/nl.po:
9301         * po/sr.po:
9302         * po/sv.po:
9303
9304 2004-04-20  Benjamin Otte  <otte@gnome.org>
9305
9306         * gst/schedulers/entryscheduler.c: 
9307         (gst_entry_scheduler_yield):
9308           refuse to yield when decoupled elements insist on doing that.
9309           At least it's better than crashing
9310
9311 2004-04-19  David Schleef  <ds@schleef.org>
9312
9313         * docs/libs/Makefile.am: Change sinclude to include
9314         * docs/gst/Makefile.am: same
9315         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9316
9317 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9318
9319         * po/LINGUAS:
9320         * po/uk.po:
9321           Added Ukrainian translation (Maxim V. Dziumanenko)
9322
9323 2004-04-19  Johan Dahlin  <johan@gnome.org>
9324
9325         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9326         checking here, do it before calling the function.
9327         Clean up, use for loops instead of while loops while iterating
9328         over lists.
9329
9330         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9331         in debug message.
9332         (gst_spider_create_and_plug): Improve debug message.
9333         General: Replace while loops which iterates over GLists with for
9334         loops. Which are much cleaner, improves readability, especially
9335         for gst_spider_identity_plug
9336
9337         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9338         fixes bug 140477
9339
9340 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9341
9342         * po/LINGUAS:
9343         * po/tr.po:
9344           Added Turkish translation (Baris Cicek)
9345
9346 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9347
9348         * docs/faq/troubleshooting.xml:
9349           Mention gst-register in the FAQ (fixes 139045).
9350
9351 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9352
9353         * docs/gst/gstreamer-sections.txt:
9354
9355 2004-04-17  Benjamin Otte  <otte@gnome.org>
9356
9357         * gst/gstelement.c: (gst_element_dispose):
9358           simplify
9359         * gst/gstpad.c: (gst_pad_call_chain_function):
9360           don't create loads of events due to bad macro usage
9361
9362 2004-04-16  David Schleef  <ds@schleef.org>
9363
9364         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9365         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9366         * gst/gstvalue.c: (gst_value_serialize_buffer),
9367         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9368         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9369         to indicate types that are fixed wrt caps or not.  Switching to
9370         this function fixes (bug #140298).
9371         * gst/gstvalue.h:
9372
9373 2004-04-16  David Schleef  <ds@schleef.org>
9374
9375         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9376         for GST_UNALIGNED_ACESS, since we essentially know which archs
9377         are ok.
9378
9379 2004-04-17  Benjamin Otte  <otte@gnome.org>
9380
9381         * docs/gst/Makefile.am:
9382           ignore gst/parse directory when building docs (fixes #140205)
9383
9384 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9385
9386         * testsuite/refcounting/mem.c: (vmsize):
9387           do error checking
9388
9389 2004-04-16  Johan Dahlin  <johan@gnome.org>
9390
9391         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9392         and gst_pad_call_get_function.
9393
9394 2004-04-15  David Schleef  <ds@schleef.org>
9395
9396         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9397         checks if we can access unaligned memory.
9398         * configure.ac: Use it.
9399
9400 2004-04-16  Benjamin Otte  <otte@gnome.org>
9401
9402         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9403         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9404         * gst/elements/gstfilesrc.h:
9405           s/seek_happened/need_discont/ and require discont before sending any
9406           data
9407
9408 2004-04-15  David Schleef  <ds@schleef.org>
9409
9410         * gst/gstvalue.c: (gst_value_serialize_buffer),
9411         (gst_value_deserialize_buffer), (_gst_value_initialize):
9412         Register these types as fundamental types. (bug #140015)
9413
9414 2004-04-16  Benjamin Otte  <otte@gnome.org>
9415
9416         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9417         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9418         (gst_pad_pull):
9419           implement enforcing discont events before buffers are passed. This
9420           allows state changes of only some elements and later correctly going
9421           on where they left off (or in short: you can now set audio sinks to
9422           NULL to release the device when the pipeline is paused)
9423         * gst/gstpad.c: (gst_pad_call_chain_function),
9424         (gst_pad_call_get_function):
9425         * gst/gstpad.h:
9426           add gst_pad_call_chain_function and gst_pad_call_get_function for
9427           scheduler interaction. They are required because of the changes
9428           above.
9429         * gst/schedulers/entryscheduler.c: (get_buffer),
9430         (gst_entry_scheduler_chain_wrapper),
9431         (gst_entry_scheduler_get_wrapper),
9432         (gst_entry_scheduler_state_transition),
9433         (gst_entry_scheduler_pad_link):
9434         * gst/schedulers/gstbasicscheduler.c:
9435         (gst_basic_scheduler_chain_wrapper),
9436         (gst_basic_scheduler_src_wrapper),
9437         (gst_basic_scheduler_chainhandler_proxy),
9438         (gst_basic_scheduler_gethandler_proxy),
9439         (gst_basic_scheduler_cothreaded_chain),
9440         (gst_basic_scheduler_chain_elements):
9441         * gst/schedulers/gstoptimalscheduler.c:
9442         (get_group_schedule_function), (pad_clear_queued),
9443         (gst_opt_scheduler_pad_link):
9444           use the new functions instead of calling get/chain-functions
9445           directly.
9446
9447 2004-04-15  David Schleef  <ds@schleef.org>
9448
9449         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9450         * docs/gst/tmpl/gstinfo.sgml: same
9451         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9452         gtk-doc put here.
9453         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9454         * examples/queue/queue.c: (main):  We iterate pipelines, not
9455         bins.  (bug #139996)
9456
9457 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9458
9459         * docs/pwg/advanced-types.xml:
9460           Add MS RLE support. Also document Qt RLE although I have no sample
9461           files for that yet. And document an extra property for ADPCM.
9462
9463 2004-04-15  David Schleef  <ds@schleef.org>
9464
9465         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9466         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9467         Windows.
9468
9469 2004-04-15  David Schleef  <ds@schleef.org>
9470
9471         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9472         symbol names to not conflict with new gstinfo.h symbols.
9473         * gst/gstinfo.h: Add inline functions for all those crazy
9474         compilers that don't know how to handle variadic macros (MSVC).
9475
9476 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9477
9478         * configure.ac: bump nano to 1
9479
9480 === release 0.8.1 ===
9481
9482 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9483
9484         * NEWS:
9485         * RELEASE:
9486         * configure.ac:
9487           releasing 0.8.1, "Snow Brigade"
9488
9489 2004-04-14  David Schleef  <ds@schleef.org>
9490
9491         * testsuite/Makefile.am: define tests_ignore
9492         * testsuite/Rules: Added new tests_ignore, which get compiled,
9493         but not run (generally because they're inconsistent or have
9494         heisenbugs).  Now we can ensure all the .c files compile in
9495         testsuite/.
9496         * testsuite/bins/Makefile.am: define tests_ignore
9497         * testsuite/bytestream/Makefile.am:
9498         * testsuite/caps/Makefile.am:
9499         * testsuite/clock/Makefile.am:
9500         * testsuite/debug/Makefile.am:
9501         * testsuite/debug/global.c: (gst_debug_log_one),
9502         (gst_debug_log_two): Fix compilation problem.
9503         * testsuite/dynparams/Makefile.am:
9504         * testsuite/elements/Makefile.am:
9505         * testsuite/ghostpads/Makefile.am:
9506         * testsuite/indexers/Makefile.am:
9507         * testsuite/parse/Makefile.am:
9508         * testsuite/plugin/Makefile.am:
9509         * testsuite/refcounting/Makefile.am:
9510         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9511         results, because it's not calculated correctly.
9512         * testsuite/refcounting/pad.c: (main): same
9513         * testsuite/states/Makefile.am:
9514         * testsuite/tags/Makefile.am:
9515         * testsuite/threads/Makefile.am:
9516
9517 2004-04-14  David Schleef  <ds@schleef.org>
9518
9519         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9520         generating bad code around the cpu detection asm code.
9521
9522 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9523
9524         * tools/gst-inspect.c: (print_element_info):
9525           print numeric version of rank as well, since we added some - 1
9526           rank values to elements
9527
9528 2004-04-13  David Schleef  <ds@schleef.org>
9529
9530         * configure.ac:  Disable various code when compiling for MinGW.
9531         * gst/elements/Makefile.am:
9532         * gst/elements/gstelements.c:
9533         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9534         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9535         * gst/registries/gstxmlregistry.c: (make_dir):
9536
9537 2004-04-13  David Schleef  <ds@schleef.org>
9538
9539         * gst/Makefile.am:
9540         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9541         assembly.
9542         * gst/gstcpuid_i386.s: remove
9543
9544 2004-04-13  David Schleef  <ds@schleef.org>
9545
9546         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9547         seems to think it needs to be done.
9548         * docs/gst/tmpl/gstfakesink.sgml:
9549         * docs/gst/tmpl/gstfakesrc.sgml:
9550         * docs/gst/tmpl/gstfdsink.sgml:
9551         * docs/gst/tmpl/gstfdsrc.sgml:
9552         * docs/gst/tmpl/gstfilesink.sgml:
9553         * docs/gst/tmpl/gstfilesrc.sgml:
9554         * docs/gst/tmpl/gstidentity.sgml:
9555         * docs/gst/tmpl/gstmd5sink.sgml:
9556         * docs/gst/tmpl/gstmultifilesrc.sgml:
9557         * docs/gst/tmpl/gstpipefilter.sgml:
9558         * docs/gst/tmpl/gstshaper.sgml:
9559         * docs/gst/tmpl/gstspider.sgml:
9560         * docs/gst/tmpl/gstspideridentity.sgml:
9561         * docs/gst/tmpl/gststatistics.sgml:
9562         * docs/gst/tmpl/gsttee.sgml:
9563         * docs/gst/tmpl/gsttypefind.sgml:
9564         * docs/gst/tmpl/gstutils.sgml:
9565
9566 2004-04-13  David Schleef  <ds@schleef.org>
9567
9568         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9569         and to build DLLs on Windows.
9570         * gst/Makefile.am:
9571         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9572         (gst_filesrc_open_file):
9573         * gst/schedulers/Makefile.am:
9574
9575 2004-04-13  David Schleef  <ds@schleef.org>
9576
9577         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9578         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9579         fixating lists.
9580
9581 2004-04-12  David Schleef  <ds@schleef.org>
9582
9583         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9584         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9585         to using it.
9586         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9587         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9588         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9589         * gst/gststructure.c: (gst_structure_set_valist),
9590         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9591         support for buffers.
9592         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9593         intended to be const.
9594         * gst/gsttag.h: same
9595         * gst/gstvalue.c: (gst_value_serialize_buffer),
9596         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9597         to (de)serialize buffers.
9598         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9599         * testsuite/caps/string-conversions.c: (main):
9600         * testsuite/caps/value_serialize.c: add new test
9601
9602 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9603
9604         * docs/pwg/advanced-types.xml:
9605           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9606
9607 2004-04-11  Benjamin Otte  <otte@gnome.org>
9608
9609         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9610           rename categories to basic_*
9611         * gst/schedulers/gstbasicscheduler.c: 
9612         (gst_basic_scheduler_chain_wrapper),
9613         (gst_basic_scheduler_chainhandler_proxy),
9614         (gst_basic_scheduler_gethandler_proxy),
9615         (gst_basic_scheduler_eventhandler_proxy):
9616           debugging category fixes - put common stuff in log category
9617         * gst/schedulers/gstbasicscheduler.c: 
9618         (gst_basic_scheduler_chain_elements):
9619           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9620           active and linking two active chains
9621
9622 2004-04-10  Benjamin Otte  <otte@gnome.org>
9623
9624         * docs/pwg/intro-preface.xml:
9625           fix dead links and remove reference to Wiki
9626
9627 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9628
9629         * gst/schedulers/gstbasicscheduler.c:
9630           make sure we can switch back to the main function if we're still in
9631           the main function (supposed to fix #139617)
9632         * gst/schedulers/gthread-cothreads.h:
9633           don't throw an error when switching to the same cothread
9634
9635 2004-04-09  Benjamin Otte  <otte@gnome.org>
9636
9637         * gst/gstbin.c: (gst_bin_get_type):
9638         * gst/gstclock.c: (gst_clock_get_type):
9639         * gst/gstindex.c: (gst_index_get_type):
9640         * gst/gstobject.c: (gst_object_get_type),
9641         (gst_signal_object_get_type):
9642         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9643         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9644         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9645         * gst/gstqueue.c: (gst_queue_get_type):
9646         * gst/gstregistry.c: (gst_registry_get_type):
9647         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9648         * gst/gstthread.c: (gst_thread_get_type):
9649           don't use memchunks for these objects, use malloc instead
9650
9651 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9652
9653         * docs/gst/.cvsignore:
9654         * docs/gst/Makefile.am:
9655         * docs/gst/gstreamer-sections.txt:
9656         * docs/gst/tmpl/gstaggregator.sgml:
9657         * docs/gst/tmpl/gstbuffer.sgml:
9658         * docs/gst/tmpl/gstclock.sgml:
9659         * docs/gst/tmpl/gstelement.sgml:
9660         * docs/gst/tmpl/gstfakesink.sgml:
9661         * docs/gst/tmpl/gstfakesrc.sgml:
9662         * docs/gst/tmpl/gstfdsink.sgml:
9663         * docs/gst/tmpl/gstfdsrc.sgml:
9664         * docs/gst/tmpl/gstfilesink.sgml:
9665         * docs/gst/tmpl/gstfilesrc.sgml:
9666         * docs/gst/tmpl/gstidentity.sgml:
9667         * docs/gst/tmpl/gstindex.sgml:
9668         * docs/gst/tmpl/gstinfo.sgml:
9669         * docs/gst/tmpl/gstmd5sink.sgml:
9670         * docs/gst/tmpl/gstmultifilesrc.sgml:
9671         * docs/gst/tmpl/gstpad.sgml:
9672         * docs/gst/tmpl/gstpipefilter.sgml:
9673         * docs/gst/tmpl/gstpipeline.sgml:
9674         * docs/gst/tmpl/gstpluginfeature.sgml:
9675         * docs/gst/tmpl/gstqueue.sgml:
9676         * docs/gst/tmpl/gstregistry.sgml:
9677         * docs/gst/tmpl/gstscheduler.sgml:
9678         * docs/gst/tmpl/gstshaper.sgml:
9679         * docs/gst/tmpl/gstspider.sgml:
9680         * docs/gst/tmpl/gstspideridentity.sgml:
9681         * docs/gst/tmpl/gststatistics.sgml:
9682         * docs/gst/tmpl/gstsystemclock.sgml:
9683         * docs/gst/tmpl/gsttee.sgml:
9684         * docs/gst/tmpl/gstthread.sgml:
9685         * docs/gst/tmpl/gsttypefind.sgml:
9686         * docs/gst/tmpl/gstutils.sgml:
9687           further doc build fixes
9688
9689 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * docs/gst/Makefile.am:
9692           make docs exit on scanning problems
9693           fix nonsrcdir build issues
9694         * docs/gst/gstreamer-sections.txt:
9695           adding stuff from -unused
9696         * gst/gstqueue.h:
9697           create GstQueueSize
9698         * gst/schedulers/cothreads_compat.h:
9699           fix cothread warnings
9700
9701 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * docs/gst/gstreamer-sections.txt:
9704           remove defines deprecated by Benjamin
9705
9706 2004-04-07  Benjamin Otte  <otte@gnome.org>
9707
9708         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9709           when the buffer is complete, don't check if other buffers are needed
9710         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9711           check that the offset is >0 so we don't try to read before the
9712           beginning of the file
9713         * gst/gstpad.c: (gst_pad_set_pad_template):
9714           sink the template, so we don't end up with 130k pad templates
9715
9716 2004-04-06  Benjamin Otte  <otte@gnome.org>
9717
9718         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9719           don't ref the element, adding already reffed it. And we didn't unref
9720           it later anyway... (huge memleak when you used many spider elements)
9721         * gst/gstelement.c: (gst_element_base_class_finalize):
9722         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9723         (gst_element_register):
9724         * gst/gsturi.c: (gst_element_make_from_uri):
9725           use gst_object_(un)ref instead of g_object(un)ref
9726
9727 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9728
9729         * gst/gstbuffer.h:
9730           remove macro that wouldn't work anymore because struct member has
9731           been removed.
9732         * gst/schedulers/entryscheduler.c: (schedule_forward):
9733           fix segfault for unconnected pads
9734         
9735 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9736
9737         reviewed by David Schleef <ds@schleef.org>
9738
9739         * gst/gstinfo.h:
9740           *_FORMAT modifiers should require putting a % in front of them for
9741           consistency reasons.
9742
9743 2004-04-05  Colin Walters  <walters@redhat.com>
9744
9745         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9746         space.
9747
9748 2004-04-05  Benjamin Otte  <otte@gnome.org>
9749
9750         * configure.ac:
9751         * gst/Makefile.am:
9752         * gst/gst_private.h:
9753         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9754           add support for detecting if GStreamer runs inside valgrind.
9755           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9756           print a big message in valgrind that GStreamer has detected it's
9757           running inside and might now use different code.
9758         * gst/gstmemchunk.c: (populate), (free_area),
9759         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9760         (gst_mem_chunk_free):
9761           flag memchunks for valgrind, so it can detect leaking of chunks.
9762           This allows detecting leaks of GstBuffer and GstEvent correctly
9763           inside valgrind.
9764
9765 2004-04-05  David Schleef  <ds@schleef.org>
9766
9767         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9768           jensgr@gmx.net (Jens Granseuer)
9769
9770 2004-04-05  David Schleef  <ds@schleef.org>
9771
9772         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9773         (gst_buffer_default_free), (gst_buffer_default_copy),
9774         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9775         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9776         structures in one place.
9777
9778 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9779
9780         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9781           (GST_TIME_FORMAT, GST_TIME_ARGS)
9782
9783 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9784
9785         * testsuite/elements/Makefile.am:
9786           disable test until it stops breaking make distcheck
9787
9788 2004-04-05  Johan Dahlin  <johan@gnome.org>
9789
9790         * po/sv.po: Updated translation
9791
9792 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9793
9794         * gst/gstplugin.c: (gst_plugin_load_file):
9795           fix segfault for when original plugin was loaded statically
9796
9797 2004-04-05  Benjamin Otte  <otte@gnome.org>
9798
9799         * testsuite/debug/category.c: (main):
9800         * testsuite/debug/commandline.c: (main):
9801         * testsuite/debug/output.c: (main):
9802           fix tests to work again with debugging enabled
9803
9804 2004-04-05  Benjamin Otte  <otte@gnome.org>
9805
9806         * gst/schedulers/gstbasicscheduler.c:
9807         (gst_basic_scheduler_pad_link):
9808           fix to work with recent scheduling changes
9809
9810 2004-04-05  Benjamin Otte  <otte@gnome.org>
9811
9812         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9813         prepareChangeLog doesn't work when cvs indents):
9814           don't throw an error when no element can be scheduled, there's too
9815           many weird reasons why it doesn't work. Return STOPPED instead.
9816           decoupled elemts' schedulability doesn't depend on bufpens.
9817
9818 2004-04-04  Benjamin Otte  <otte@gnome.org>
9819
9820         * gst/schedulers/gstbasicscheduler.c:
9821         (gst_basic_scheduler_pad_select):
9822           fix uninitialized variable warnings
9823
9824 2004-04-04  Benjamin Otte  <otte@gnome.org>
9825
9826         * gst/gstpad.c: (gst_pad_collect_valist):
9827           fix uninitialized variable warning
9828         * gst/schedulers/entryscheduler.c: (schedule_forward):
9829           fix shadowed variable
9830
9831 2004-04-04  Benjamin Otte  <otte@gnome.org>
9832
9833         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9834         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9835         (gst_pad_select):
9836         * gst/gstpad.h:
9837         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9838         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9839         * gst/gstscheduler.h:
9840           implement gst_pad_collect as replacement for gst_pad_select.
9841           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9842           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9843           new pad_select, lock and unlock calls.
9844         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9845         * gst/cothreads.h:
9846         * gst/schedulers/cothreads_compat.h:
9847         * gst/schedulers/gthread-cothreads.h:
9848           remove unused cothread_lock and cothread_unlock calls
9849         * gst/schedulers/entryscheduler.c:
9850         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9851         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9852         (gst_entry_scheduler_pad_select):
9853           update to new API
9854         * gst/schedulers/gstbasicscheduler.c:
9855         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9856         (gst_basic_scheduler_pad_select):
9857           remove useless lock and unlock calls, update pad_select to new API
9858           (untested)
9859         * gst/schedulers/gstoptimalscheduler.c:
9860         (gst_opt_scheduler_class_init):
9861           remove useless select, lock and unlock function calls
9862         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9863           use gst_pad_collect instead of gst_pad_select
9864
9865 2004-04-04  Benjamin Otte  <otte@gnome.org>
9866
9867         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9868         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9869         (schedule_next_element), (print_entry):
9870           add can_schedule_pad to handle element states.
9871           add schedule_forward to select the correct entry to schedule next
9872
9873 2004-04-03  Benjamin Otte  <otte@gnome.org>
9874
9875         * gst/schedulers/entryscheduler.c: 
9876           remove unused variable, fix error inside Rb, fix compile warning in
9877           unreachable code
9878
9879 2004-04-03  Benjamin Otte  <otte@gnome.org>
9880
9881         * gst/schedulers/entryscheduler.c:
9882           completely revamp the inner workings, so it's a lot easier to
9883           understand and extend
9884
9885 2004-04-03  Andy Wingo  <wingo@pobox.com>
9886
9887         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9888         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9889         This allows better introspection of pipeline topology.
9890         (add_to_chain): Don't do trickery to put loop elements first;
9891         rather, queue a chain sort by marking the chain as dirty.
9892         (remove_from_chain): Mark the chain dirty.
9893         (sort_chain): New function. Sorts the group list so that terminal
9894         sinks are first. This means elements on the sink side will be
9895         preferentially sscheduled before elements on the src side of the
9896         pipeline.
9897         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9898         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9899         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9900         (group_inc_link): Change argument and variable names to match the
9901         new link structure member names (src and sink).
9902         (group_dec_link): Add some description
9903
9904 2004-04-03  Benjamin Otte  <otte@gnome.org>
9905
9906         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9907         * gst/gstinfo.h:
9908         * testsuite/debug/category.c: (main):
9909         * testsuite/debug/commandline.c: (main):
9910         * testsuite/debug/output.c: (main):
9911         * testsuite/debug/printf_extension.c: (main):
9912           fix to successfully build and test with --disable-gst-debug
9913           configure switch (fixes #138705)
9914
9915 2004-04-03  Benjamin Otte  <otte@gnome.org>
9916
9917         * docs/pwg/building-boiler.xml:
9918           add cvs login line and s/anonymous/anoncvs/
9919
9920 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9921
9922         reviewed by Benjamin Otte  <otte@gnome.org>
9923
9924         * gst/gststructure.c: (gst_structure_free):
9925           memleak fix: free fields array (partial fix for #134839)
9926
9927 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9928
9929         * docs/random/ds/0.9-suggested-changes:
9930           Add a note to change handoff use in fakesrc to be usable in
9931           a more generic way (fakesrc should be renamed to appsrc or so).
9932         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9933           Change signal type to scope, so we can fill the buffer in the
9934           handoff handler (that's the whole use of this signal...).
9935
9936 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9937
9938         * docs/pwg/other-ntoone.xml:
9939           Document muxers and n-to-1 elements.
9940
9941 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9942
9943         * gst/registries/gstxmlregistry.c
9944         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9945         determine if a file is a G_MODULE. The old one discards paths
9946         containing "so" somewhere in the middle. My home directory is
9947         called "soto". Go figure...
9948
9949 2004-03-31  David Schleef  <ds@schleef.org>
9950
9951         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9952         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9953         * gst/gstbuffer.h:
9954
9955 2004-03-31  David Schleef  <ds@schleef.org>
9956
9957         * gst/gstvalue.c: (gst_value_union_int_int_range),
9958         (gst_value_union_int_range_int_range), (gst_value_can_union),
9959         (gst_value_union), (_gst_value_initialize):  Add some union
9960         implementations.  We didn't have any previously.
9961         * testsuite/caps/Makefile.am:
9962         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9963         (gst_audioscale_getcaps), (test_caps), (main): A little test
9964         that is the same as the caps manipulation in audioscale.
9965
9966 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9967
9968         * docs/faq/general.xml:
9969           add entry about "does gst support format X?"
9970
9971 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9972
9973         * gst/gstthread.c:
9974           fix docs
9975         * gst/gstutils.h:
9976           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9977
9978 2004-03-30  Benjamin Otte  <otte@gnome.org>
9979
9980         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9981           set the offset of the buffer to the requested offset
9982         * gst/elements/gsttypefind.c: (stop_typefinding):
9983           revert patch 1.18 (which I unfortunately don't know the reason for).
9984           This is needed to allow downstream elements to seek. Otherwise
9985           typefind might overwrite a previous seek by downstream elements.
9986           This lead to errors with id3tag and typefind on some mp3s.
9987         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9988         (gst_entry_scheduler_iterate):
9989           be more verbose when debugging
9990
9991 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9992
9993         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9994           make sure we don't get NULL strings
9995
9996 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * gst/gstcaps.c:
9999         * gst/gstelement.c:
10000         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10001         * gst/gstindex.c: (gst_index_resolver_get_type),
10002         (gst_index_get_type), (gst_index_factory_get_type):
10003         * gst/gstinfo.c:
10004         * gst/gstpad.c:
10005         * gst/gstplugin.c:
10006         * gst/gsturi.c: (gst_uri_handler_get_type):
10007         * gst/gstvalue.c:
10008           first batch of documentation fixes
10009
10010 2004-03-29  David Schleef  <ds@schleef.org>
10011
10012         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10013         * docs/gst/gstreamer-docs.sgml:  More hacking
10014         * docs/gst/gstreamer-sections.txt:
10015         * docs/gst/tmpl/cothreads_compat.sgml:
10016         * docs/gst/tmpl/gstcaps.sgml:
10017         * docs/gst/tmpl/gstclock.sgml:
10018         * docs/gst/tmpl/gstelement.sgml:
10019         * docs/gst/tmpl/gstevent.sgml:
10020         * docs/gst/tmpl/gstpad.sgml:
10021         * docs/gst/tmpl/gstutils.sgml:
10022         * docs/gst/tmpl/gstxml.sgml:
10023         * docs/gst/tmpl/gthread-cothreads.sgml:
10024         * docs/random/ds/0.9-suggested-changes:
10025         * gst/elements/gstfakesink.h: doc fixes
10026         * gst/elements/gstfakesrc.h: doc fixes
10027         * gst/gstcaps.c: doc fixes
10028         * gst/gstcaps.h: doc fixes
10029         * gst/gstelement.c: doc fixes
10030         * gst/gstelement.h: doc fixes
10031         * gst/gstindex.c: doc fixes
10032         * gst/gstinfo.c: doc fixes
10033         * gst/gstpad.c: doc fixes
10034         * gst/gstpad.h: doc fixes
10035         * gst/gstplugin.c: doc fixes
10036         * gst/gsttypefind.h: doc fixes
10037         * gst/gsturi.c: doc fixes
10038         * gst/gstvalue.c: doc fixes
10039
10040 2004-03-29  Colin Walters  <walters@redhat.com>
10041
10042         * gst/registries/gstxmlregistry.c (get_time)
10043         (plugin_times_older_than_recurse):
10044         Use the result of stat to determine whether a path is a file,
10045         so we don't attempt to opendir() files.
10046
10047 2004-03-29  Benjamin Otte  <otte@gnome.org>
10048
10049         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10050           print caps in debugging output when setting caps failed
10051         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10052         (schedule_next_element), (get_buffer), (run_chainhandler),
10053         (element_may_start), (gst_entry_scheduler_chain_handler),
10054         (gst_entry_scheduler_get_handler),
10055         (gst_entry_scheduler_state_transition),
10056         (gst_entry_scheduler_pad_link):
10057           make this scheduler a testcase for mandatory
10058           discont-before-first-buffer which is needed if we want to allow apps
10059           to release the sound device.
10060           add SCHED_ASSERT macro to print scheduler state before an assertion
10061           triggers.
10062
10063 2004-03-29  Benjamin Otte  <otte@gnome.org>
10064
10065         * COPYING:
10066           replace by LGPL (former COPYING.LIB). The core is completely
10067           licensed LGPL.
10068         * COPYING.LIB:
10069           remove
10070
10071 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10072
10073         * po/af.po:
10074         * po/sv.po:
10075           updated Afrikaans and Swedish
10076
10077 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10078
10079         * po/LINGUAS:
10080         * po/az.po:
10081           adding Azerbaijani (Mətin Əmirov)
10082
10083 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10084
10085         * gst/gstelement.h: 
10086         * gst/gstelement.c (gst_element_set_time_delay): New function for
10087         setting element time taking into account a hardware buffering
10088         delay.
10089         (gst_element_set_time): Now just an invocation of
10090         gst_element_set_time_delay.
10091         * gst/gstclock.h: 
10092         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10093         allowing to set event times in the future.
10094         (gst_clock_get_event_time): Now just an invocation of
10095         gst_clock_get_event_time_delay.
10096
10097 2004-03-28  Benjamin Otte  <otte@gnome.org>
10098
10099         * gst/gstbin.c: (gst_bin_set_element_sched),
10100         (gst_bin_unset_element_sched):
10101           don't add decoupled elements to schedulers - otherwise it's
10102           impossible to control if a link to a decoupled element was already
10103           removed from a scheduler or not.
10104         * gst/schedulers/cothreads_compat.h:
10105         * gst/schedulers/gthread-cothreads.h:
10106           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10107           is no "unused" warning.
10108         * gst/schedulers/Makefile.am:
10109         * gst/schedulers/entryscheduler.c:
10110           add new scheduler, based on ideas from talking to David and Martin.
10111           It's supposed to be small and correct. Currently it's also slow (but
10112           it's not noticable)
10113         * examples/retag/retag.c: (main):
10114         * testsuite/bytestream/test1.c: (main):
10115           fix missing NULLs at end of variadic functions
10116         * testsuite/elements/.cvsignore:
10117           update
10118
10119 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10120
10121         * gst/gstevent.h:
10122         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10123
10124 2004-03-25  David Schleef  <ds@schleef.org>
10125
10126         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10127         * docs/gst/tmpl/gstaggregator.sgml:
10128         * docs/gst/tmpl/gstautoplugfactory.sgml:
10129         * docs/gst/tmpl/gstbin.sgml:
10130         * docs/gst/tmpl/gstbuffer.sgml:
10131         * docs/gst/tmpl/gstbufferstore.sgml:
10132         * docs/gst/tmpl/gstfakesink.sgml:
10133         * docs/gst/tmpl/gstfakesrc.sgml:
10134         * docs/gst/tmpl/gstmd5sink.sgml:
10135         * docs/gst/tmpl/gstreamer-unused.sgml:
10136         * docs/gst/tmpl/gstsearchfuncs.sgml:
10137         * docs/gst/tmpl/gstshaper.sgml:
10138         * docs/gst/tmpl/gstspider.sgml:
10139         * docs/gst/tmpl/gsttee.sgml:
10140         * docs/gst/tmpl/gstutils.sgml:
10141         * docs/gst/tmpl/gstvalue.sgml:
10142         * docs/gst/tmpl/gstxml.sgml:
10143         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10144         and we don't support it.
10145         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10146         (gst_use_threads), (gst_has_threads): same
10147         * gst/gstthreaddummy.c: same
10148         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10149         * gst/autoplug/gstspider.h: same
10150         * gst/elements/gstaggregator.h: Remove bogus function from header
10151         * gst/elements/gstfakesink.h: same
10152         * gst/elements/gstfakesrc.h: same
10153         * gst/elements/gstmd5sink.h: same
10154         * gst/elements/gstshaper.h: same
10155         * gst/elements/gsttee.h: same
10156         * gst/gstbin.c: doc fixes
10157         * gst/gstbin.h: Remove unused definition.
10158         * gst/gstbuffer.c: doc fixes
10159         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10160         * gst/gstfilter.c: doc fixes
10161         * gst/gsttag.c: doc fixes
10162         * gst/gstvalue.c: doc fixes
10163
10164 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10165
10166         * docs/pwg/advanced-types.xml:
10167           Document typefinding.
10168         * docs/pwg/other-oneton.xml:
10169           Document one-to-n elements, demuxers and parsers.
10170
10171 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10172
10173         reviewed by: David Schleef  <ds@schleef.org>
10174
10175         * configure.ac: Check bison version (bug #127838)
10176
10177 2004-03-25  David Schleef  <ds@schleef.org>
10178
10179         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10180         * docs/gst/gstreamer-sections.txt:
10181         * docs/gst/tmpl/gstautoplug.sgml:
10182         * docs/gst/tmpl/gststaticautoplug.sgml:
10183         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10184         * docs/gst/tmpl/gstutils.sgml:
10185         * docs/gst/tmpl/gstxml.sgml:
10186
10187 2004-03-24  David Schleef  <ds@schleef.org>
10188
10189         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10190         manual being such complete crap, that I decided to do major
10191         hacking of it.  This checkin replaces any fine tuning that
10192         may have been done previously, with the benefit of actually
10193         being complete for much of the API that was changed since
10194         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10195         * docs/gst/gstreamer-sections.txt:
10196         * docs/gst/tmpl/GstBin.sgml:
10197         * docs/gst/tmpl/GstBuffer.sgml:
10198         * docs/gst/tmpl/GstCaps.sgml:
10199         * docs/gst/tmpl/GstClock.sgml:
10200         * docs/gst/tmpl/GstCompat.sgml:
10201         * docs/gst/tmpl/GstData.sgml:
10202         * docs/gst/tmpl/GstElement.sgml:
10203         * docs/gst/tmpl/GstEvent.sgml:
10204         * docs/gst/tmpl/GstIndex.sgml:
10205         * docs/gst/tmpl/GstStructure.sgml:
10206         * docs/gst/tmpl/GstTag.sgml:
10207         * docs/gst/tmpl/cothreads.sgml:
10208         * docs/gst/tmpl/cothreads_compat.sgml:
10209         * docs/gst/tmpl/gettext.sgml:
10210         * docs/gst/tmpl/grammar.tab.sgml:
10211         * docs/gst/tmpl/gst-i18n-app.sgml:
10212         * docs/gst/tmpl/gst-i18n-lib.sgml:
10213         * docs/gst/tmpl/gst.sgml:
10214         * docs/gst/tmpl/gst_private.sgml:
10215         * docs/gst/tmpl/gstaggregator.sgml:
10216         * docs/gst/tmpl/gstarch.sgml:
10217         * docs/gst/tmpl/gstatomic.sgml:
10218         * docs/gst/tmpl/gstatomic_impl.sgml:
10219         * docs/gst/tmpl/gstbin.sgml:
10220         * docs/gst/tmpl/gstbuffer.sgml:
10221         * docs/gst/tmpl/gstbufferstore.sgml:
10222         * docs/gst/tmpl/gstcaps.sgml:
10223         * docs/gst/tmpl/gstclock.sgml:
10224         * docs/gst/tmpl/gstcompat.sgml:
10225         * docs/gst/tmpl/gstconfig.sgml:
10226         * docs/gst/tmpl/gstcpu.sgml:
10227         * docs/gst/tmpl/gstdata.sgml:
10228         * docs/gst/tmpl/gstdata_private.sgml:
10229         * docs/gst/tmpl/gstelement.sgml:
10230         * docs/gst/tmpl/gstenumtypes.sgml:
10231         * docs/gst/tmpl/gsterror.sgml:
10232         * docs/gst/tmpl/gstevent.sgml:
10233         * docs/gst/tmpl/gstfakesink.sgml:
10234         * docs/gst/tmpl/gstfakesrc.sgml:
10235         * docs/gst/tmpl/gstfilesink.sgml:
10236         * docs/gst/tmpl/gstfilter.sgml:
10237         * docs/gst/tmpl/gstindex.sgml:
10238         * docs/gst/tmpl/gstinfo.sgml:
10239         * docs/gst/tmpl/gstinterface.sgml:
10240         * docs/gst/tmpl/gstlog.sgml:
10241         * docs/gst/tmpl/gstmacros.sgml:
10242         * docs/gst/tmpl/gstmarshal.sgml:
10243         * docs/gst/tmpl/gstmd5sink.sgml:
10244         * docs/gst/tmpl/gstmultifilesrc.sgml:
10245         * docs/gst/tmpl/gstobject.sgml:
10246         * docs/gst/tmpl/gstpad.sgml:
10247         * docs/gst/tmpl/gstparse.sgml:
10248         * docs/gst/tmpl/gstpipeline.sgml:
10249         * docs/gst/tmpl/gstplugin.sgml:
10250         * docs/gst/tmpl/gstpluginfeature.sgml:
10251         * docs/gst/tmpl/gstqueue.sgml:
10252         * docs/gst/tmpl/gstreamer-unused.sgml:
10253         * docs/gst/tmpl/gstregistry.sgml:
10254         * docs/gst/tmpl/gstregistrypool.sgml:
10255         * docs/gst/tmpl/gstscheduler.sgml:
10256         * docs/gst/tmpl/gstsearchfuncs.sgml:
10257         * docs/gst/tmpl/gstshaper.sgml:
10258         * docs/gst/tmpl/gstspider.sgml:
10259         * docs/gst/tmpl/gstspideridentity.sgml:
10260         * docs/gst/tmpl/gststructure.sgml:
10261         * docs/gst/tmpl/gstsystemclock.sgml:
10262         * docs/gst/tmpl/gsttag.sgml:
10263         * docs/gst/tmpl/gsttaginterface.sgml:
10264         * docs/gst/tmpl/gsttee.sgml:
10265         * docs/gst/tmpl/gstthread.sgml:
10266         * docs/gst/tmpl/gsttrace.sgml:
10267         * docs/gst/tmpl/gsttrashstack.sgml:
10268         * docs/gst/tmpl/gsttypefind.sgml:
10269         * docs/gst/tmpl/gsttypes.sgml:
10270         * docs/gst/tmpl/gsturi.sgml:
10271         * docs/gst/tmpl/gsturitype.sgml:
10272         * docs/gst/tmpl/gstutils.sgml:
10273         * docs/gst/tmpl/gstvalue.sgml:
10274         * docs/gst/tmpl/gstversion.sgml:
10275         * docs/gst/tmpl/gstxml.sgml:
10276         * docs/gst/tmpl/gstxmlregistry.sgml:
10277         * docs/gst/tmpl/gthread-cothreads.sgml:
10278         * docs/gst/tmpl/types.sgml:
10279
10280 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10281
10282         * docs/pwg/other-sink.xml:
10283         * docs/pwg/other-source.xml:
10284           Documentation on how to write source and sink elements. Other
10285           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10286           manager, autoplugger) are all still pending.
10287
10288 2004-03-25  Benjamin Otte  <otte@gnome.org>
10289
10290         * testsuite/elements/Makefile.am:
10291         * testsuite/elements/gst-compprep-check:
10292           add check to make sure gst-compprep works
10293         * testsuite/elements/gst-inspect-check.in:
10294           improve initialization output
10295         * testsuite/Makefile.am:
10296         * testsuite/gst-inspect-check:
10297           remove old file
10298
10299 2004-03-24  David Schleef  <ds@schleef.org>
10300
10301         * testsuite/elements/Makefile.am:
10302         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10303         to the testsuite.
10304
10305 2004-03-24  Benjamin Otte  <otte@gnome.org>
10306
10307         * libs/gst/control/dparam.c: (gst_dparam_attach),
10308         (gst_dparam_detach):
10309         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10310           fix lvalue casts for real
10311
10312 2004-03-24  Benjamin Otte  <otte@gnome.org>
10313
10314         * gst/schedulers/gstbasicscheduler.c:
10315         (gst_basic_scheduler_src_wrapper):
10316         * gst/schedulers/gstoptimalscheduler.c:
10317         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10318         (pad_clear_queued), (gst_opt_scheduler_add_element),
10319         (gst_opt_scheduler_remove_element):
10320           fix GStreamer to not have issues with lvalue casts anymore (fixes
10321           #136841)
10322
10323 2004-03-24  Benjamin Otte  <otte@gnome.org>
10324
10325         * gst/gstelement.c:
10326           add documentation about a gobject quirk where the object hasn't the
10327           correct class pointer set on initialization
10328         * gst/schedulers/gstbasicscheduler.c:
10329         (gst_basic_scheduler_src_wrapper):
10330           make sure to not run into an infinite loop
10331
10332 2004-03-22  Benjamin Otte  <otte@gnome.org>
10333
10334         * gst/gstutils.c: (gst_util_dump_mem):
10335         * gst/gstutils.h:
10336           first argument of gst_util_dump_mem should be const
10337
10338 2004-03-22  Johan Dahlin  <johan@gnome.org>
10339
10340         * gst/gstvalue.h: Clean up a little bit.
10341
10342 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10343
10344         reviewed by Benjamin Otte  <otte@gnome.org>
10345
10346         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10347         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10348         (gst_aggregator_class_init), (gst_aggregator_init):
10349         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10350         (gst_filesrc_dispose), (gst_filesrc_set_location):
10351         * gst/elements/gstidentity.c: (gst_identity_finalize),
10352         (gst_identity_class_init), (gst_identity_chain):
10353         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10354         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10355         (gst_statistics_class_init):
10356         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10357         (gst_tee_get_property):
10358           clean up used memory in this elements correctly on teardown (closes
10359           #137279)
10360
10361 2004-03-20  Colin Walters  <walters@redhat.com>
10362
10363         * gst/registries/gstxmlregistry.c:
10364         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10365         registry saving atomic.
10366
10367 2004-03-20  Colin Walters  <walters@redhat.com>
10368
10369         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10370         Just use
10371         access() instead of actually creating and deleting files.
10372
10373 2004-03-18  David Schleef  <ds@schleef.org>
10374
10375         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10376         (bug #137625)
10377
10378 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * po/sv.po: updated translation (Christian Rose)
10381
10382 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10383
10384         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10385         (gst_filesink_get_query_types), (_do_init),
10386         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10387           return FALSE silently
10388         * po/af.po: updated translation (Petri Jooste)
10389
10390 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * Makefile.am:
10393         * configure.ac:
10394           dist common properly
10395         * po/af.po:
10396         * po/fr.po:
10397         * po/nl.po:
10398         * po/sr.po:
10399         * po/sv.po:
10400           refreshing translations
10401
10402 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10403
10404         * po/LINGUAS:
10405         * po/sv.po:
10406         * po/af.po:
10407           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10408
10409 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * Makefile.am: use common/release.mak
10412
10413 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10414
10415         * docs/faq/gst-uninstalled:
10416           adding gst-monkeysaudio to the list of possible plugin dirs
10417
10418 2004-03-16  David Schleef  <ds@schleef.org>
10419
10420         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10421         (gst_init_check_with_popt_table):  Fix some gettext strings to
10422         make them easier to translate.  Required making the strings
10423         non-const.
10424
10425 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10426
10427         * configure.ac: bump nano to 1
10428
10429 === release 0.8.0 ===
10430
10431 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10432
10433         * configure.ac: release 0.8.0, "Executive Slacks"
10434
10435 2004-03-16  Johan Dahlin  <johan@gnome.org>
10436
10437         * gst/schedulers/gstoptimalscheduler.c
10438         (gst_opt_scheduler_pad_unlink): Remove double ;,
10439         spotted by Scott Wheeler
10440
10441 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10442
10443         * configure.ac: bump libtool version
10444
10445 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10446
10447         * gst/gstcaps.h:
10448         * gst/gststructure.h:
10449           add reserved padding
10450
10451 2004-03-15  Benjamin Otte  <otte@gnome.org>
10452
10453         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10454           set the first parameter for select call correctly.
10455           (fixes #137230)
10456
10457 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10458
10459         * *.c,*.h: don't mix tabs and spaces
10460
10461 2004-03-15  Johan Dahlin  <johan@gnome.org>
10462
10463         * gst/schedulers/gstoptimalscheduler.c
10464         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10465         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10466
10467         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10468         
10469 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10470
10471         * testsuite/Rules:
10472           fix gst-register rules
10473
10474 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10475
10476         * testsuite/Rules:
10477           use versioned gst-register
10478
10479 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10480
10481         * docs/libs/gstreamer-libs-sections.txt:
10482           remove </SUBSECTION>
10483         * gst/gstplugin.c:
10484         * gst/gstregistry.c: (gst_registry_add_plugin):
10485         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10486         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10487           add debugging and fix some comment blocks
10488
10489 2004-03-15  Johan Dahlin  <johan@gnome.org>
10490
10491         * *.h: Revert indent changes.
10492         
10493 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10494
10495         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10496           g_error_free the g_error
10497         * tools/gst-feedback-m.m:
10498           check for other versions of gstreamer
10499         * tools/gst-indent:
10500           use sh, not bash
10501
10502 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10503
10504         * tools/gst-register.c: do not spill paths when registries are not
10505           writable, until we fix the "user running gst-register" case.
10506
10507 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10508
10509         * *.c, *.h: commit of gst-indent run on core
10510
10511 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * tools/gst-indent:
10514         * tools/Makefile.am:
10515           add our indentation style as a script
10516
10517 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10518
10519         * po/sr.po:
10520         * po/LINGUAS:
10521           added Serbian translation
10522
10523 2004-03-13  Benjamin Otte  <otte@gnome.org>
10524
10525         * gst/gstelement.c:
10526           add documentation note about gst_element_found_tags_for_pad not
10527           being usable in getfunctions. (see #137042)
10528
10529 2004-03-12  David Schleef  <ds@schleef.org>
10530
10531         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10532         change API right now!  Readd gst_caps_is_simple() macro.
10533         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10534         uninitialized variable.  I'd bet this caused crashes.
10535         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10536
10537 2004-03-12  Johan Dahlin  <johan@gnome.org>
10538
10539         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10540         * gst/gstcaps.h: Clean up
10541
10542         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10543         _gst_caps_initalize()
10544
10545         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10546         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10547
10548         * gst/gststructure.c (gst_structure_get_type): Ditto
10549
10550         * gst/gststructure.h: Ditto
10551         
10552 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10553
10554         * gst/gstqueue.c: (gst_queue_init):
10555           Reset default max. values in queues. Reason is simply to avoid
10556           braindead use. If you want wider values, use the properties. The
10557           default is supposed to always work. Wider values would make this
10558           beast a memory hog by default (250 full-PAL RGB32 video frames?
10559           That's 440 MB! No thank you).
10560
10561 2004-03-10  David Schleef  <ds@schleef.org>
10562
10563         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10564         were found.  (bug #136793)
10565
10566 2004-03-10  Johan Dahlin  <johan@gnome.org>
10567
10568         * gst/schedulers/gstoptimalscheduler.c
10569         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10570         links to elements within the same group, so we can finally remove
10571         that annoying warning. Refactor the code a little bit
10572         (group_dec_links_for_element): Split out
10573
10574 2004-03-09  David Schleef  <ds@schleef.org>
10575
10576         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10577         (bug #134863)
10578
10579 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10580
10581         * configure.ac: first bug fix due to major/minor bump
10582
10583 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10584
10585         * configure.ac: bump nano to 1
10586
10587 === release 0.7.6 ===
10588
10589 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * NEWS:
10592         * RELEASE:
10593         * configure.ac:
10594           releasing 0.7.6, "Almost"
10595         * po/fr.po:
10596         * po/nl.po:
10597         * tools/Makefile.am:
10598         * tools/gst-feedback-m.m:
10599           unversioned source
10600
10601 2004-03-09  Johan Dahlin  <johan@gnome.org>
10602
10603         Reviewed by: Thomas Vander Stichele
10604
10605         * gst/gstelement.c (gst_element_class_init): register second
10606         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10607         language bindings can (de)marshall correctly.
10608
10609         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10610
10611         * gst/gsterror.c (gst_g_error_get_type): New function
10612
10613         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10614         with VOID:OBJECT,OBJECT,STRING 
10615
10616 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10617
10618         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10619         Free a leaked g_timer on early returns.
10620
10621 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10622
10623         * docs/pwg/advanced-types.xml:
10624           Add cinepak description.
10625
10626 2004-03-07  David Schleef  <ds@schleef.org>
10627
10628         * docs/random/mimetypes:  Added cinepak description
10629
10630 2004-03-07  Andy Wingo  <wingo@pobox.com>
10631
10632         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10633
10634         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10635         there are no links to other groups when a group is destroyed.
10636         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10637         removed from a group, make sure the link count to elements linked
10638         to other pads is appropriately decremented. This really fixes
10639         #135672.
10640
10641         The 1.60->1.61 patch has been reapplied in light of this fix.
10642
10643         * gst/gstelement.c (gst_element_dispose): Really protect against
10644         multiple invocations this time.
10645
10646 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10647
10648         * docs/gst/gstreamer-sections.txt:
10649         * docs/gst/tmpl/gsttag.sgml:
10650           remove some deprecated functions, document some existing ones
10651         * gst/gsttag.c: (gst_tag_get_flag):
10652         * gst/gsttag.h:
10653           add accessor function
10654
10655 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * docs/gst/gstreamer-sections.txt:
10658         * docs/gst/tmpl/gsttag.sgml:
10659         * docs/gst/tmpl/gstxml.sgml:
10660         * gst/gsttag.c: (gst_tag_get_flag):
10661         * gst/gsttag.h:
10662
10663 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10664
10665         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10666         leak
10667
10668 2004-03-05  David Schleef  <ds@schleef.org>
10669
10670         * REQUIREMENTS: Add bison and flex.
10671         * configure.ac: Fix comment about bison.
10672         * docs/random/ds/0.9-suggested-changes: yer ma
10673         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10674
10675 2004-03-05  Benjamin Otte  <otte@gnome.org>
10676
10677         * gst/gstelement.c: (gst_element_error_full):
10678           revert recent recursive state changing commit - messing with other
10679           elements' states is evil and should be done by apps only.
10680
10681 2004-03-05  Benjamin Otte  <otte@gnome.org>
10682
10683         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10684           check for empty intersection instead of NULL caps
10685         (gst_element_get_compatible_pad_filtered):
10686           remove old workaround that is only a bug nowadays
10687
10688 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * gst/gstelement.c: (gst_element_error_full):
10691           make elements try to recursively change state to PAUSED on all
10692           parents after an error to suppress ensuing warnings
10693         * gst/parse/grammar.y:
10694           make it check if it was able to sync the state, and throw an error
10695           if not, so stuff like
10696           oggdemux ! vorbisdec ! osssink gets caught
10697
10698 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10699
10700         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10701           it contains lib64; use AS_AC_EXPAND to handle it properly
10702
10703 2004-03-05  David Schleef  <ds@schleef.org>
10704
10705         * gst/gstcpuid_i386.s:  Remove unused code
10706         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10707         (gst_getbits_newbuf): Remove MMX code
10708         * libs/gst/getbits/getbits.h: Remove MMX code
10709
10710 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10711
10712         * debian/.cvsignore:
10713         * debian/README.Debian:
10714         * debian/changelog:
10715         * debian/control:
10716         * debian/control.in:
10717         * debian/copyright:
10718         * debian/gstreamer-core-libs-dev.files:
10719         * debian/gstreamer-core-libs.files:
10720         * debian/gstreamer-core.files:
10721         * debian/gstreamer-core.postinst:
10722         * debian/gstreamer-core.postrm:
10723         * debian/gstreamer-doc.files:
10724         * debian/gstreamer-doc.links:
10725         * debian/gstreamer-doc.lintian:
10726         * debian/gstreamer-runtime.files:
10727         * debian/gstreamer-runtime.manpages:
10728         * debian/gstreamer-runtime.postinst:
10729         * debian/gstreamer-runtime.postrm:
10730         * debian/gstreamer-tools.files:
10731         * debian/gstreamer-tools.manpages:
10732         * debian/libgstreamer-dev.files:
10733         * debian/libgstreamer0.4.1.files:
10734         * debian/libgstreamerVERSION.files:
10735         * debian/rules:
10736         Debian package info not maintained here.
10737
10738 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10741         * gst/gstbin.c: (gst_bin_class_init):
10742         * gst/gstelement.c: (gst_element_class_init):
10743         * gst/gstindex.c: (gst_index_class_init):
10744         * gst/gstobject.c: (gst_object_class_init),
10745         (gst_signal_object_class_init):
10746         * gst/gstpad.c: (gst_pad_template_class_init):
10747         * gst/gstregistry.c: (gst_registry_class_init):
10748         * gst/gsturi.c: (gst_uri_handler_base_init):
10749         * gst/gstxml.c: (gst_xml_class_init):
10750         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10751         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10752           make all signal names use dashes instead of underscore
10753
10754 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10755
10756         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10757
10758 2004-03-03  Benjamin Otte  <otte@gnome.org>
10759
10760         * gst/schedulers/gstoptimalscheduler.c:
10761           revert last commit by Andy Wingo. It causes segfaults on unreffing
10762           in Rhythmbox. (see bug #135672)
10763
10764 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10765
10766         * po/fr.po: fix typo
10767
10768 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10769
10770         * tools/gst-inspect.c: (main): 
10771         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10772
10773 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * configure.ac:
10776           get GLIB_ONLY and POPT flags for the nonversioned binaries
10777         * tools/Makefile.am:
10778           use them
10779
10780 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10781
10782         * gst/gst.c: (init_post):
10783           change so that GST_REGISTRY now is where the global registry gets
10784           saved, since that is where plugins now get attached to first, and
10785           spilled over to the user registry.  Note that in the case of using
10786           GST_REGISTRY env var, we don't want to affect any real registries
10787           beyond the one given by this var, and thus we don't set a user
10788           registry to spill to.  So make sure GST_REGISTRY is writable.
10789
10790 2004-03-01  David Schleef  <ds@schleef.org>
10791
10792         * AUTHORS:  Added some names.  Add yourself if you're missing.
10793
10794 2004-03-01  David Schleef  <ds@schleef.org>
10795
10796         * MAINTAINERS: Add
10797
10798 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10799
10800         * configure.ac:
10801           remove whitespace
10802         * docs/gst/tmpl/gstbuffer.sgml:
10803         * docs/gst/tmpl/gstdata.sgml:
10804         * docs/gst/tmpl/gstreamer-unused.sgml:
10805         * docs/gst/tmpl/gstxml.sgml:
10806           doc update
10807         * docs/manuals.mak:
10808           add a FIXME
10809         * docs/pwg/intro-preface.xml:
10810         * docs/pwg/pwg.xml:
10811           remove GNOME
10812         * gst/gst.c: (init_post):
10813           try GST_PLUGIN_PATH paths for the _global_registry first
10814         * gst/gstelement.h:
10815           add the error message as well, otherwise (null) debug info doesn't
10816           make much sense
10817         * tools/gst-register.c: (main):
10818           spill paths to next registry if this registry is not writable
10819         * po/fr.po:
10820         * po/nl.po:
10821           translation updates
10822
10823 2004-03-01  Johan Dahlin  <johan@gnome.org>
10824
10825         * gst/gstbuffer.c (_gst_buffer_initialize): 
10826         * gst/gstdata.c (gst_data_get_type): 
10827         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10828         instead of ref, since some applications that uses GBoxed
10829         routines depends on a function that actually returns a copy.
10830
10831 2004-02-27  Benjamin Otte  <otte@gnome.org>
10832
10833         * gst/gstbuffer.h:
10834           remove gst_buffer_free, use gst_data_unref
10835         * gst/gstdata.c: (gst_data_get_type):
10836           use refcounting in GstData GBoxed registration
10837         * gst/gstdata.h:
10838           remove gst_data_free, use gst_data_unref
10839
10840 2004-02-27  Johan Dahlin  <johan@gnome.org>
10841
10842         * gst/gstdata.c (gst_data_get_type): New function, register
10843         GstData as a GBoxed type.
10844
10845         * gst/gstdata.h (GST_TYPE_DATA): New macro
10846
10847 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * Makefile.am:
10850         * gstreamer.spec.in:
10851           put back RELEASE
10852         * gst/Makefile.am:
10853           clean up non-disting of built files
10854         * testsuite/debug/commandline.c:
10855           test fix for option rename
10856
10857 2004-02-26  David Schleef  <ds@schleef.org>
10858
10859         * configure.ac:  We don't really need glib-2.3.  Also remove
10860         some unneeded checks for library functions.
10861         * gst/Makefile.am:  Instead, we need to not dist files created
10862         by glib-genmarshal.
10863
10864 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * configure.ac:
10867           bump glib required version to 2.3.0 for g_value_takes_boxed
10868
10869  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10870
10871         * common/m4/gst-docs.m4
10872         change flavour text from enable to disable as enable is our default
10873         closes bug Bug 135304
10874
10875 === release 0.7.5 ===
10876  
10877  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10878  
10879         * NEWS:
10880           instate NEWS file
10881         * Makefile.am:
10882         * gstreamer.spec.in:
10883         * RELEASE:
10884           put back release
10885         * configure.ac:
10886         * docs/random/release:
10887           more updates
10888
10889 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10890
10891         * gst/gsttag.c: (_gst_tag_initialize):
10892         * po/fr.po:
10893         * po/nl.po:
10894           remove hyphen from codec tags
10895
10896 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10897
10898         * gst/parse/Makefile.am:
10899           fix dependency so that a make from a clean build works the first
10900           time
10901
10902 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * docs/random/release:
10905           update release strategy
10906         * po/fr.po:
10907           auto-update po file
10908         * po/nl.po:
10909           update dutch translation
10910
10911 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * docs/manual/debugging.xml:
10914         fix manual for new debugging system
10915
10916 2004-02-25  Andy Wingo  <wingo@pobox.com>
10917
10918         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10919         gst_pad_link_prepare. Please email the list with specific reasons
10920         for reverting.
10921
10922 2004-02-24  Andy Wingo  <wingo@pobox.com>
10923
10924         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10925         invocations.
10926
10927         * gst/schedulers/gstoptimalscheduler.c:
10928         I added a mess of prototypes at the top of the file by way of
10929         documentation. Some of the operations on chains and groups were
10930         re-organized.
10931
10932         (create_group): Added a type argument so if the group is enabled,
10933         the setup_group_scheduler knows what to do.
10934         (group_elements): Added a type argument here, too, to be passed on
10935         to create_group.
10936         (group_element_set_enabled): If an unlinked PLAYING element is
10937         added to a bin, we have to create a new group to hold the element,
10938         and this function will be called before the group is added to the
10939         chain. Thus we have a valid case for group->chain==NULL. Instead
10940         of calling chain_group_set_enabled, just set the flag on the group
10941         (the chain's status will be set when the group is added to it).
10942         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10943         Setup the group scheduler when the group is enabled, not
10944         specifically when an element goes PAUSED->PLAYING. This means
10945         PLAYING elements can be added, linked, and scheduled into a
10946         PLAYING pipeline, as was intended.
10947         (add_to_group): Don't ref the group twice. I don't know when this
10948         double-ref got in here. Removing it has the potential to cause
10949         segfaults if other parts of the scheduler are buggy. If you find
10950         that the scheduler is segfaulting for you, put in an extra ref
10951         here and see if that hacks over the underlying issue. Of course,
10952         then find out what code is unreffing a group it doesn't own...
10953         (create_group): Make the extra refcount floating, and remove it
10954         after adding the element. This means that...
10955         (unref_group): Destroy when the refcount reaches 0, not 1, like
10956         every other refcounted object in the known universe.
10957         (remove_from_group): When a group becomes empty, set it to be not
10958         active, and remove it from its chain. Don't unref it again,
10959         there's no floating reference any more.
10960         (destroy_group): We have to remove the group from the chain in
10961         remove_from_group (rather than here) to break refcounting cycles
10962         (the chain always has a ref on the group). So assert that
10963         group->chain==NULL.
10964         (ref_group_by_count): Removed, it was commented out anyway.
10965         (merge_chains): Use the remove_from_chain and add_to_chain
10966         primitives to do the reparenting, instead of rolling our own
10967         implementation.
10968         (add_to_chain): The first non-disabled group in the chain's group
10969         list will be the entry point for the chain. Because buffers can
10970         accumulate in loop elements' peer bufpens, we preferentially
10971         schedule loop groups before get groups to avoid unnecessary
10972         execution of get-based groups when the bufpens are already full.
10973         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10974         (get_group_schedule_function): Ditto.
10975         (loop_group_schedule_function): Ditto.
10976         (gst_opt_scheduler_loop_wrapper): Ditto.
10977         (gst_opt_scheduler_iterate): Ditto.
10978
10979         I understand the opt scheduler now, yippee!
10980
10981         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10982         (gst_pad_get_name, gst_pad_set_chain_function) 
10983         (gst_pad_set_get_function, gst_pad_set_event_function) 
10984         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10985         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10986         (gst_pad_set_query_function, gst_pad_get_query_types) 
10987         (gst_pad_get_query_types_default) 
10988         (gst_pad_set_internal_link_function) 
10989         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10990         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10991         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10992         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10993         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10994         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10995         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10996         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10997         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10998         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10999         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11000         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11001         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11002         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11003         argument checks, and some doc fixes.
11004
11005         (gst_pad_custom_new_from_template): Um, does anyone
11006         use these functions? Actually make a custom pad instead of a
11007         normal one.
11008         (gst_pad_try_set_caps): Transpose some checks.
11009         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11010         the pad is in negotiation.
11011         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11012         
11013         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11014
11015         * gst/gstelement.h: 
11016         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11017         on the list.
11018
11019 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * gst/gstbin.c: (gst_bin_add):
11022           add error for not being able to add elements
11023
11024 2004-02-22  Julien MOUTTE <julien@moutte.net>
11025
11026         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11027         audio-codec and video-codec.
11028
11029 2004-02-22  Benjamin Otte  <otte@gnome.org>
11030
11031         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11032
11033         * autogen.sh:
11034           replace test -e with test -x for mkinstalldirs to be more portable.
11035           (fixes #134816)
11036
11037 2004-02-22  Benjamin Otte  <otte@gnome.org>
11038
11039         * gst/gstpad.c:
11040           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11041           too noisy
11042         * gst/gsttag.c: (_gst_tag_initialize):
11043         * gst/gsttag.h:
11044           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11045         * libs/gst/control/dparam.c: (gst_dparam_attach):
11046         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11047           check that types for attached dparams match
11048
11049 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11050
11051         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11052         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11053         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11054           fix errors
11055
11056 2004-02-20  Andy Wingo  <wingo@pobox.com>
11057
11058         * gst/gstbin.c:
11059         * gst/gstbuffer.c:
11060         * gst/gstplugin.c:
11061         * gst/registries/gstxmlregistry.c: 
11062         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11063
11064         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11065         (gst_element_add_pad): DEBUG->INFO, some fixes.
11066         (gst_element_get_compatible_pad_template): Just see if the
11067         templates' caps intersect, not if one is a strict subset of the
11068         other. This conforms more to what gst_pad_link_intersect() does.
11069         (gst_element_class_add_pad_template): Don't memcpy the pad
11070         template, just ref it.
11071         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11072
11073         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11074         (gst_pad_link_filtered): Debug changes.
11075         (gst_pad_link_prepare): New function, consolidated from
11076         can_link_filtered and link_filtered.
11077
11078         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11079         look more like that of the functions in gstelement.c
11080
11081         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11082         object, and return the empty string if object is NULL.
11083
11084         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11085         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11086         LOG, not DEBUG. We still get flex info on debug.
11087
11088         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11089         debug string more verbose.
11090         (plugin_times_older_than): DEBUG->LOG.
11091
11092 2004-02-20  Julien MOUTTE <julien@moutte.net>
11093
11094         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11095         will emit found_tag for each stream they demux with the codec.
11096
11097 2004-02-20  Benjamin Otte  <otte@gnome.org>
11098
11099         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11100           copy navigation event correctly. Check freeing tag lists. 
11101         * gst/gstthread.c: (gst_thread_change_state):
11102           don't abort() on state changing mess - it might happen because of
11103           bugs.
11104         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11105           use boxed functions
11106         * gst/gstvalue.h:
11107           fix GST_VALUE_HOLDS_CAPS
11108
11109 2004-02-19  David Schleef  <ds@schleef.org>
11110
11111         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11112         and use it for GST_FUNCTION.  (bug #134750)
11113
11114 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11115
11116         * po/fr.po:
11117         * po/nl.po:
11118           updating translations
11119
11120 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11123
11124 2004-02-18  kost@imn.htwk-leipzig.de
11125
11126         reviewed by: David Schleef  <ds@schleef.org>
11127
11128         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11129         for libgstcontrol.
11130
11131 2004-02-18  David Schleef  <ds@schleef.org>
11132
11133         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11134         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11135         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11136         * tools/gst-inspect.c: (print_element_info): Support dumping of
11137         double dparam information.
11138
11139 2004-02-17  David Schleef  <ds@schleef.org>
11140
11141         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11142         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11143         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11144         Use GST_TYPE_CAPS in signal prototype.
11145         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11146         Convert GST_TYPE_CAPS to boxed.
11147         * gst/gstelement.c: (gst_element_class_init):
11148         Use GST_TYPE_TAG_LIST in signal prototype.
11149         * gst/gstindex.c: (gst_index_class_init):
11150         * gst/gstindex.h:
11151         Add GST_TYPE_INDEX_ENTRY type.
11152         * gst/gstmarshal.list:
11153         Add necessary marshal types.
11154         * gst/gstpad.c: (gst_real_pad_class_init),
11155         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11156         (gst_pad_recover_caps_error):
11157         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11158         * gst/gststructure.c: (_gst_structure_initialize),
11159         (gst_structure_copy), (_gst_structure_copy_conditional):
11160         * gst/gststructure.h:
11161         Convert GST_TYPE_STRUCTURE to boxed.
11162         * gst/gsttag.c: (gst_tag_list_get_type):
11163         * gst/gsttag.h:
11164         Add GST_TYPE_TAG_LIST type.
11165
11166 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11167
11168         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11169         to what we agreed with david.
11170         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11171
11172 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11173
11174         * po/nl.po: update translation
11175
11176 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11179           throw an error if spider is trying to play a mime type there is
11180           no decoder for
11181         * po/POTFILES.in:
11182           add gst/autoplug/gstspider.c for translation
11183
11184 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11185
11186         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11187         silently when the pad is negotiating.
11188
11189 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * docs/faq/Makefile.am:
11192           add script to run gstreamer uninstalled 
11193         * docs/faq/faq.xml:
11194         * docs/faq/developing.xml:
11195         * docs/faq/gst-uninstalled:
11196           extract script to run gstreamer uninstalled
11197         * docs/manuals.mak:
11198           add EXTRA_SOURCES variable for Makefile.am's to set to
11199           use additional SOURCE files for the doc build
11200
11201 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11202
11203         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11204
11205 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11206
11207         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11208         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11209         an error was thrown by osssink. Basically a state change failure for
11210         an element in a different scheduling group was considered as
11211         successful, which means that caps nego was going on and weird stuff
11212         happened. Like I wrote in the comment there, if someone wants to
11213         revert that please drop me a mail explaining why because I really see
11214         no point in keeping that broken behaviour there.
11215         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11216         be empty, we then return NULL which will trigger a nice error when 
11217         pulling from the pad.
11218
11219 2004-02-13  David Schleef  <ds@schleef.org>
11220
11221         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11222         (gst_dparam_get_property), (gst_dparam_set_property),
11223         (gst_dparam_do_update_default):
11224         * libs/gst/control/dparam.h:
11225         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11226         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11227         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11228         (gst_dpsmooth_do_update_double):
11229         * libs/gst/control/dparam_smooth.h:
11230         * libs/gst/control/dparammanager.c:
11231         (gst_dpman_inline_direct_update):
11232         Add support for double dparams.
11233
11234 2004-02-13  David Schleef  <ds@schleef.org>
11235
11236         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11237         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11238
11239 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11240
11241         reviewed by: David Schleef  <ds@schleef.org>
11242
11243         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11244         (gst_fdsrc_init), (gst_fdsrc_set_property),
11245         (gst_fdsrc_get_property), (gst_fdsrc_get):
11246         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11247         and sends an EOS event if file descriptor reading times out.
11248
11249 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11250
11251         * configure.ac:
11252           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11253
11254 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11255
11256         * configure.ac: pass required libxml version as argument
11257         (bug reported by Christophe Fergeau)
11258
11259 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11260   
11261         * docs/gst/gstreamer-docs.sgml:
11262         * docs/gst/tmpl/gstxml.sgml:
11263         * docs/libs/gstreamer-libs-docs.sgml:
11264           version API docs
11265
11266 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11267
11268         * gst/gstinfo.c:
11269         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11270         (gst_registry_pool_feature_filter):
11271         * gst/gstthread.c: (gst_thread_class_init):
11272         * gst/gstvalue.c:
11273           add includes exposed by building without libxml
11274         * gst/indexers/Makefile.am:
11275           do not build fileindex when LOADSAVE disabled; we should have
11276           a better libxml check later since fileindex depends on xml, not
11277           LOADSAVE or REGISTRY
11278         * libs/gst/control/Makefile.am:
11279           link with m
11280         * tools/Makefile.am:
11281           fix wrong source code for gst-xmlinspect
11282
11283 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11284
11285         * configure.ac:
11286           fix gcov help output
11287           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11288         * docs/random/release:
11289           some updated releasing notes
11290         * gstreamer.spec.in:
11291           more updates
11292
11293 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11294
11295         * docs/faq/faq.xml:
11296         * docs/manual/manual.xml:
11297         * docs/pwg/pwg.xml:
11298         * docs/pwg/titlepage.xml:
11299           put version in documentation
11300
11301 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * tools/Makefile.am: fix man page installation
11304
11305 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11306
11307         * configure.ac:
11308           don't check for libxml when load/save and registry disabled (#105844)
11309         * gstreamer.spec.in:
11310           sync with fedora candidate spec
11311
11312 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * po/fr.po:
11315         * po/nl.po:
11316           replace multidisksrc with multifilesrc
11317
11318 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11319
11320         * po/POTFILES.in:
11321           update to multidisksrc => multifilesrc file renaming (#134145)
11322
11323 2004-02-11  David Schleef  <ds@schleef.org>
11324
11325         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11326         * docs/gst/tmpl/gstpadtemplate.sgml: same
11327         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11328         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11329         fixing dance.
11330         * gst/gstutils.c: Remove disabled code that uses GstProps.
11331         * gst/registries/gstxmlregistry.h: same
11332         * docs/random/ds/0.9-suggested-changes: random notes
11333
11334 2004-02-11  kost@imn.htwk-leipzig.de
11335
11336         reviewed by: David Schleef  <ds@schleef.org>
11337
11338         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11339         initialisation of clock (bug #134128)
11340
11341 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11342
11343         * configure.ac:
11344         * gst/elements/Makefile.am:
11345         * gst/elements/gstelements.c:
11346         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11347         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11348         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11349         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11350         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11351         * gst/elements/gstmultifilesrc.h:
11352           rename multidisksrc to multifilesrc (part of #122200)
11353
11354 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11355
11356         * docs/manuals.mak:
11357           fix automake complaints
11358         * gst-element-check.m4:
11359           fix unquotedness
11360
11361 2004-02-11  David Schleef  <ds@schleef.org>
11362
11363         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11364         * gst/gstatomic_impl.h: Disable sparc implementation.
11365
11366 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11367
11368         * gst-element-check.m4:
11369           fix underquoted macros as reported by automake 1.8.x (#133800)
11370         * configure.ac:
11371           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11372           by autopoint (fixes #132996)
11373
11374 2004-02-10  Andy Wingo  <wingo@pobox.com>
11375
11376         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11377         way to do inheritance.
11378         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11379         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11380         Routine docs.
11381         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11382         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11383         doc.
11384         (gst_pad_unlink, gst_pad_is_linked): Docs.
11385         (gst_pad_renegotiate): A brief description of capsnego.
11386         (gst_pad_try_set_caps): Document.
11387         (gst_pad_try_set_caps_nonfixed): Document.
11388         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11389         (gst_pad_set_parent): Deprecated (although not out of the API).
11390         (gst_pad_get_parent): Deprecated, although many plugins use this.
11391         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11392         are private and will go away in 0.9.
11393         (gst_pad_perform_negotiate): Doc.
11394         (gst_pad_link_unnegotiate): I think this is meant to be static.
11395         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11396         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11397         (gst_pad_get_peer): Doc updates.
11398         (gst_pad_caps_change_notify): Doc.
11399         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11400         (gst_ghost_pad_new): Doc fixes.
11401
11402         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11403         (gst_object_check_uniqueness): 
11404
11405         * gst/gstelement.c (gst_element_add_pad) 
11406         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11407         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11408         (gst_element_get_static_pad, gst_element_get_pad_list) 
11409         (gst_element_class_get_pad_template_list) 
11410         (gst_element_class_get_pad_template): Work on the docs.
11411         (gst_element_get_pad_template_list): Uses the class method.
11412         (gst_element_get_compatible_pad_template): Docs, and consolidate
11413         some test conditions. 
11414         (gst_element_get_pad_from_template): New static function.
11415         (gst_element_request_compatible_pad): Docs, and work with
11416         non-request compatible templates. 
11417         (gst_element_get_compatible_pad_filtered): Docs and remove
11418         redundant checks.
11419         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11420         (gst_element_link_filtered, gst_element_link_many) 
11421         (gst_element_link, gst_element_link_pads) 
11422         (gst_element_unlink_many): Docs.
11423
11424 2004-02-05  Andy Wingo  <wingo@pobox.com>
11425
11426         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11427         s/pointer/boxed/.
11428
11429         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11430
11431         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11432         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11433         with the type=GST_TYPE_CAPS. This allows language bindings to know
11434         what kind of data they're dealing with.
11435
11436         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11437         to NULL when g_value_init is called. GstCaps, which rolls its own
11438         type implementation, now does the same instead of allocating empty
11439         caps.
11440         (_gst_caps_initialize, _gst_caps_collect_value,
11441         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11442         table methods. This allows G_VALUE_COLLECT to work.
11443
11444 2004-02-05  Andy Wingo  <wingo@pobox.com>
11445
11446         * configure.ac:
11447         * testsuite/Makefile.am (SUBDIRS): 
11448         * testsuite/ghostpads/Makefile.am: 
11449         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11450
11451         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11452         These two routines are the only ones that set
11453         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11454         pad template. They should be made static, depending on ABI needs.
11455         (gst_real_pad_dispose): Handle the case of ghost pads without a
11456         parent. Assert after dealing with ghost pads that the ghost pad
11457         list is empty.
11458         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11459         set after creation.
11460         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11461         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11462         functions. set_property will call add_ghost_pad/remove_ghost_pad
11463         as appropriate.
11464         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11465
11466         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11467         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11468         (gst_element_remove_pad): Handle ghost pads as well.
11469         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11470         depending on API-stability needs).
11471
11472 2004-02-05  Andy Wingo  <wingo@pobox.com>
11473
11474         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11475         of course they're const
11476
11477 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11478
11479         * tools/Makefile.am:
11480         * tools/gst-feedback:
11481         * tools/gst-feedback-0.7:
11482           make gst-feedback versioned too for consistency
11483
11484 2004-02-11  David Schleef  <ds@schleef.org>
11485
11486         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11487         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11488
11489 2004-02-10  Julien MOUTTE <julien@moutte.net>
11490
11491         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11492         the structure does not contain a valid tag list. Adding a safety check
11493         to remove a noisy warning in that case.
11494
11495 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11496
11497         * gst/gst.c: fix name to be in line with others
11498
11499 2004-02-09  Julien MOUTTE <julien@moutte.net>
11500
11501         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11502         not shout that loud when len is 0. Just return 0 silently.
11503
11504 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11505
11506         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11507         because data_unref has one and I prefer the debug to be symetric.
11508         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11509         were refed when added to the queue and unrefed only once when the queue
11510         was flushed. Now the flush handler unref the buffers two times : first
11511         unref for the ref added when pushing in the queue's tail and second
11512         unref to destroy the flushed buffer.
11513
11514 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11517
11518 2004-02-06  David Schleef  <ds@schleef.org>
11519
11520         * docs/random/ds/0.9-suggested-changes: Random ramblings
11521         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11522         to int before printing.
11523         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11524         * gst/parse/parse.l: same.  See bug #129600
11525
11526 2004-02-06  David Schleef  <ds@schleef.org>
11527
11528         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11529         (gst_index_add_entry), (gst_index_add_associationv),
11530         (gst_index_add_association): Add gst_index_add_associationv()
11531         and clean up gst_index_add_association(). #127133
11532
11533 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11534
11535         * autogen.sh: check out common with right tag if CVS/Tag exists
11536
11537 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11538
11539         * testsuite/ghostpads/ghostpads.c: (main):
11540           fix testsuite from segfaulting
11541
11542 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11543
11544         * Makefile.am: add release target
11545         * configure.ac: bump nano to 1
11546         * docs/random/release:
11547
11548 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11549
11550         * gst/gstcaps.h:
11551         * gst/gstelement.c: (gst_element_base_class_init),
11552         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11553         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11554         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11555         (gst_real_pad_dispose):
11556         * gst/gststructure.c: (gst_structure_free),
11557         (gst_structure_from_string):
11558           put reverted patch back in
11559         * gst/gstelement.c: (gst_element_remove_pad):
11560           free explicit caps if they're set
11561         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11562           copy the structure when fixating
11563
11564 2004-02-05  David Schleef  <ds@schleef.org>
11565
11566         * gst/gstmarshal.list:
11567         * gst/gstpad.c: (gst_real_pad_class_init),
11568         (_gst_real_pad_fixate_accumulator):
11569         Revert POINTER->BOXED change in signal marshaller.
11570
11571 === release 0.7.4 ===
11572                                                                                 
11573 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11574                                                                                 
11575         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11576         * configure.ac: changed for release
11577
11578 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11579
11580         * gstreamer.spec.in:
11581           bump required version of gtk-doc
11582
11583 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11584
11585         * gst/gstcaps.h:
11586         * gst/gstelement.c: (gst_element_base_class_init),
11587         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11588         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11589         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11590         (gst_real_pad_dispose):
11591         * gst/gststructure.c: (gst_structure_free),
11592         (gst_structure_from_string):
11593           revert patch that breaks applications, reapply after release
11594           to get this fixed properly
11595
11596 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11597
11598         * gst/gsttag.c: (_gst_tag_initialize):
11599         * gst/gsttag.h:
11600           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11601
11602 2004-02-04  David Schleef  <ds@schleef.org>
11603
11604         Fix some memleaks:
11605         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11606         (gst_spider_plug_from_srcpad):
11607         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11608
11609 2004-02-04  David Schleef  <ds@schleef.org>
11610
11611         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11612         a GstRealPad before accessing its structure members.
11613
11614 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11615
11616         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11617         (gst_clock_get_speed):
11618         * gst/gstclock.h:
11619           reset padding, remove unused fields
11620
11621 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11622
11623         * gst/autoplug/gstspideridentity.c:
11624         (gst_spider_identity_sink_loop_type_finding):
11625           use get_allowed_caps, not get_caps (fixes #132519)
11626         * gst/elements/gsttypefind.c: (stop_typefinding):
11627           use correct order when sending buffers and seeking
11628
11629 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11630
11631         * configure.ac:
11632         * gst/gstelement.h:
11633         * gst/gstpad.h:
11634         * gst/gstqueue.h:
11635           upgrade libtool CURRENT, reset padding
11636
11637 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11638
11639         * configure.ac:
11640           bump to prerelease
11641           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11642
11643 2004-02-04  David Schleef  <ds@schleef.org>
11644
11645         * docs/random/ds/0.9-suggested-changes: random notes
11646         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11647         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11648         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11649         expansion.
11650         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11651         (gst_filesink_get_query_types): same
11652         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11653         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11654         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11655         to use new GST_PTR_FORMAT.
11656         * gst/gstelement.h: deprecate function factory macros
11657         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11658         These are our last variadic macros that can't be replaced with
11659         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11660         attempting to deprecate gst_element_clock_wait().
11661         * gst/gstevent.h: same
11662         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11663         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11664         * gst/gstpad.h: deprecate function factory macros similar to above.
11665
11666 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11667
11668         * configure.ac:
11669         * tools/Makefile.am:
11670         * tools/gst-run.c: (popt_callback), (hash_print_key),
11671         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11672         (get_candidates), (main):
11673           add new source file to generate non-versioned wrapper binaries
11674           for our tools.
11675
11676 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11677
11678         * gst/gstevent.c: (_gst_event_free):
11679           actually break; inside the switch statement
11680         * gst/parse/grammar.y:
11681           fix memleak where GValues weren't unset
11682
11683 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11684
11685         * gst/gststructure.c: (gst_structure_from_string):
11686           fix huge memleak
11687         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11688         (new_entry), (gst_type_find_element_chain):
11689         * gst/gstelement.c: (gst_element_base_class_init),
11690         (gst_element_class_set_details):
11691         * gst/gstpad.c: (gst_pad_can_link_filtered):
11692           fix smaller memleaks
11693         * gst/gstpad.c: (gst_real_pad_dispose):
11694           check that explicit caps are gone
11695         * gst/gststructure.c: (gst_structure_free):
11696           actually free the structure
11697         * gst/gstelement.c: (gst_element_clear_pad_caps):
11698           unset explicit caps
11699
11700 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11701
11702         * tools/Makefile.am:
11703           use AM_CFLAGS since all the CFLAGS are the same
11704           use AM_LDFAGS
11705
11706 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11707
11708         * docs/manual/gnome.xml:
11709           expand example a little
11710         * gst/gst.c: (gst_init_with_popt_table),
11711         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11712           make sure popt option displays are done with right textdomain
11713           use GstPoptOption type
11714         * gst/gst.h:
11715           create GstPoptOption type
11716
11717 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11718
11719         * gst/gsterror.c: (_gst_stream_errors_init):
11720         * gst/gsterror.h:
11721           adding error type for no codec
11722         * po/POTFILES.in:
11723           add gst-inspect
11724         * po/nl.po:
11725           update dutch translation
11726         * tools/gst-inspect.c: (print_element_list), (main):
11727           do proper internationalization
11728         * tools/gst-launch.c: (idle_func):
11729           remove commented out function call
11730
11731 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11732
11733         * docs/README:
11734           add some error fixing notes
11735         * docs/gst/gstreamer-sections.txt:
11736           remove double entries
11737         * docs/gst/tmpl/gstbin.sgml:
11738         * docs/gst/tmpl/gstclock.sgml:
11739           remove override
11740         * docs/gst/tmpl/gstelement.sgml:
11741         * docs/gst/tmpl/gstindex.sgml:
11742         * docs/gst/tmpl/gstobject.sgml:
11743         * docs/gst/tmpl/gstpadtemplate.sgml:
11744         * docs/gst/tmpl/gstreamer-unused.sgml:
11745         * docs/gst/tmpl/gsttag.sgml:
11746         * docs/gst/tmpl/gstthread.sgml:
11747         * docs/gst/tmpl/gstxml.sgml:
11748         * gst/gsttag.h:
11749           sync header prototypes with c decls
11750         * gst/gsttaginterface.c:
11751           fix doc headers
11752
11753 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11754
11755         * gst/parse/Makefile.am:
11756         * gst/gstobject.h:
11757           get rid of gstmarshal.h dependency. It's not needed.
11758         * gst/gst.h:
11759         * gst/elements/gstfakesink.c:
11760         * gst/elements/gstfakesrc.c:
11761         * gst/elements/gstidentity.c:
11762         * gst/gstbin.c:
11763         * gst/gstelement.c:
11764         * gst/gstindex.c:
11765         * gst/gstobject.c:
11766         * gst/gstpad.c:
11767         * gst/gstthread.c:
11768         * gst/gstxml.c:
11769         * libs/gst/control/dparam.c:
11770         * libs/gst/control/dparammanager.c:
11771           include gstmarshal.h.
11772         Fixes #132045
11773
11774 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11775
11776         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11777         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11778         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11779         * gst/elements/gstfilesrc.h:
11780           don't ref the filesrc when creating mmaped buffers. Don't keep a
11781           list of not-yet-destroyed buffers.
11782         * gst/gstbuffer.h:
11783           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11784
11785 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11786
11787         * gst/gst.c: (init_pre):
11788           remove textdomain
11789
11790 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11791
11792         * docs/pwg/advanced-events.xml:
11793         * docs/pwg/advanced-scheduling.xml:
11794         * docs/pwg/intro-basics.xml:
11795         * docs/pwg/other-manager.xml:
11796         * docs/pwg/other-nton.xml:
11797         * docs/pwg/other-ntoone.xml:
11798         * docs/pwg/other-oneton.xml:
11799         * docs/pwg/pwg.xml:
11800           All sort of documentation... Forgot what. Point is that I want this
11801           in before I leave. The 'other-*' will be the last section and will
11802           explain issues specific to these type of elements.
11803
11804 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11805
11806         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11807         (gst_filesrc_get_read):
11808           set all the values on buffers that we can
11809
11810 2004-02-02  David Schleef  <ds@schleef.org>
11811
11812         Change usage of isblah() to g_ascii_isblah() to be more locale
11813         independent.  (#133076)
11814         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11815         * gst/gstutils.c:
11816         * gst/parse/parse.l:
11817
11818 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11819
11820         reviewed by: David Schleef  <ds@schleef.org>
11821
11822         Fix memory leaks:
11823         * gst/gstcaps.c: (gst_caps_to_string):
11824         * gst/registries/gstxmlregistry.c:
11825         (gst_xml_registry_add_path_list_func),
11826         (gst_xml_registry_parse_padtemplate):
11827
11828 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * gst/gstelement.c: (gst_element_default_error):
11831           suffix error messages with period
11832
11833 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11834
11835         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11836         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11837         * gst/gsterror.c: (gst_error_get_message):
11838           Suffix with dots
11839         * po/fr.po:
11840         * po/nl.po:
11841           Update translation files
11842
11843 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11844
11845         * gst/autoplug/gstspideridentity.c:
11846         (gst_spider_identity_sink_loop_type_finding):
11847         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11848         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11849         (gst_filesink_close_file), (gst_filesink_handle_event),
11850         (gst_filesink_chain):
11851         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11852         (gst_filesrc_get_read), (gst_filesrc_open_file):
11853         * gst/elements/gstidentity.c: (gst_identity_chain):
11854         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11855         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11856         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11857         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11858         * gst/gsterror.c: (_gst_core_errors_init),
11859         (_gst_library_errors_init), (_gst_resource_errors_init),
11860         (_gst_stream_errors_init), (gst_error_get_message):
11861         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11862         (gst_pad_recover_caps_error), (gst_pad_pull):
11863         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11864         * gst/schedulers/gstbasicscheduler.c:
11865         (gst_basic_scheduler_chainhandler_proxy),
11866         (gst_basic_scheduler_gethandler_proxy),
11867         (gst_basic_scheduler_cothreaded_chain):
11868           Suffix error messages with period.
11869           Use (NULL) instead of NULL
11870
11871 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11872
11873         * docs/gst/tmpl/gstelement.sgml:
11874         * docs/gst/tmpl/gstxml.sgml:
11875         * gst/gstelement.c: (gst_element_error_full):
11876           add element path to error
11877
11878 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11879
11880         * docs/random/mimetypes:
11881           update raw int/float info
11882         * gst/gsttag.c: (_gst_tag_initialize):
11883         * gst/gsttag.h:
11884           add GST_TAG_ENCODER
11885
11886 2004-01-30  David Schleef  <ds@schleef.org>
11887
11888         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11889           missing (#132991)
11890
11891 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11892
11893         reviewed by Benjamin Otte 
11894           parts of the patch submitted in bug #113913
11895
11896         * configure.ac:
11897           use AC_C_INLINE. Use = instead of == with test
11898         * examples/plugins/example.c:
11899         * gst/autoplug/gstspideridentity.c:
11900         * gst/elements/gstfdsrc.c:
11901         * gst/elements/gstfilesrc.c:
11902         * gst/elements/gstidentity.c:
11903         * gst/elements/gstmultidisksrc.c:
11904         * gst/elements/gststatistics.c:
11905         * gst/gstelement.c:
11906         * gst/gstobject.c:
11907         * gst/gstpad.c:
11908         * gst/gstpipeline.c:
11909         * gst/gstthread.c:
11910           don't end enums with a comma
11911         * gst/gstindex.c: (gst_index_compare_func):
11912           do explicit casting to gint
11913         * gst/gsttrace.c: (gst_trace_text_flush):
11914           #define strsize as a macro
11915
11916 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11917
11918         * docs/README:
11919         * docs/gst/gstreamer-docs.sgml:
11920         * docs/gst/gstreamer-sections.txt:
11921         * docs/gst/tmpl/gstelement.sgml:
11922         * docs/gst/tmpl/gsterror.sgml:
11923         * docs/gst/tmpl/gstinterface.sgml:
11924         * docs/gst/tmpl/gstreamer-unused.sgml:
11925         * docs/gst/tmpl/gststructure.sgml:
11926         * docs/gst/tmpl/gsttag.sgml:
11927         * docs/gst/tmpl/gsttaginterface.sgml:
11928         * docs/gst/tmpl/gstvalue.sgml:
11929         make sure all API ends up in the built docs
11930         * gst/gstinterface.c:
11931         * gst/gststructure.c: (gst_structure_id_set_value),
11932         (gst_structure_set_value), (gst_structure_id_get_value):
11933         * gst/gststructure.h:
11934         * gst/gstvalue.h:
11935         sync .h with .c declarations
11936
11937 2004-01-30  Julien Moutte  <julien@moutte.net>
11938
11939         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11940         Ronald will fix riffread.
11941
11942 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11943
11944         * docs/pwg/advanced-interfaces.xml:
11945           Added tuner interface docs.
11946
11947 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11948
11949         * docs/random/mimetypes:
11950           correct Theora information
11951         * gst/gstelement.h:
11952           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11953
11954 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11955
11956         * gst/gstelement.c: (gst_element_error_full):
11957         * gst/gstelement.h:
11958           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11959
11960 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11961
11962         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11963         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11964         again and even before DISCONT.
11965         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11966         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11967         bytestream so that it's not stopping to fill the bytestream if events
11968         different than EOS or DISCONT are received. Instead it process them so
11969         that they go downstream.
11970
11971 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11972
11973         * docs/gst/tmpl/gstelement.sgml:
11974         * docs/gst/tmpl/gstreamer-unused.sgml:
11975         * docs/gst/tmpl/gstxml.sgml:
11976         * gst/autoplug/gstspideridentity.c:
11977         (gst_spider_identity_sink_loop_type_finding):
11978         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11979         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11980         (gst_filesink_close_file), (gst_filesink_handle_event),
11981         (gst_filesink_chain):
11982         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11983         (gst_filesrc_get_read), (gst_filesrc_open_file):
11984         * gst/elements/gstidentity.c: (gst_identity_chain):
11985         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11986         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11987         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11988         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11989         * gst/gstelement.h:
11990         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11991         (gst_pad_recover_caps_error), (gst_pad_pull):
11992         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11993         * gst/schedulers/gstbasicscheduler.c:
11994         (gst_basic_scheduler_chainhandler_proxy),
11995         (gst_basic_scheduler_gethandler_proxy),
11996         (gst_basic_scheduler_cothreaded_chain):
11997           gst_element_error -> GST_ELEMENT_ERROR
11998
11999 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12000
12001         * docs/Makefile.am:
12002         * docs/gst/tmpl/gstelement.sgml:
12003         * docs/gst/tmpl/gstxml.sgml:
12004         * docs/manuals.mak:
12005         * docs/pwg/advanced-request.xml:
12006         * docs/pwg/advanced-scheduling.xml:
12007         * docs/pwg/advanced-tagging.xml:
12008           fix non-validating docbook using CDATA
12009           make sure make check-local gets run first to check if it validates
12010
12011 2004-01-29  Julien MOUTTE <julien@moutte.net>
12012
12013         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12014         handling (up and downstream).
12015         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12016         my_filter thing.
12017
12018 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12019
12020         * docs/pwg/advanced-tagging.xml:
12021           Add docs about tag writing.
12022
12023 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12024
12025         * docs/pwg/advanced-tagging.xml:
12026           Add a part about tag reading and application signalling... Tag
12027           writing still needs to be documented.
12028         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12029           We can set file locations in READY, too.
12030
12031 2004-01-29  Julien MOUTTE <julien@moutte.net>
12032
12033         * docs/random/ds/element-checklist: Adding some notes about src
12034         events.
12035
12036 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12037
12038         * docs/random/mimetypes:
12039           Update docs to point to correct elements for various mimetypes, and
12040           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12041           <stephane.loeuillet@tiscali.fr>.
12042
12043 2004-01-28  David Schleef  <ds@schleef.org>
12044
12045         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12046
12047 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12048
12049         * docs/random/mimetypes:
12050           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12051           undefined"
12052         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12053           make it only work in NULL.
12054         * gst/gstcaps.c:
12055           don't posion NULL caps
12056         * gst/gstelement.c: (gst_element_set_time):
12057           add debugging statement
12058         * gst/gstelement.c: (gst_element_emit_found_tag),
12059         (gst_element_found_tag_func), (gst_element_found_tags):
12060         * gst/gstelement.h:
12061           These functions take const taglists
12062         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12063           fix memleak
12064         * gst/gstpad.c: (gst_pad_event_default):
12065           make more effort on handling discont and clocks, g_warn if everything
12066           fails
12067         * gst/gststructure.c: (gst_structure_remove_fields),
12068         (gst_structure_remove_fields_valist):
12069         * gst/gststructure.h:
12070           add gst_structure_remove_fields(_valist)
12071         * gst/gsttag.c:
12072           fix doc glitch
12073
12074 2004-01-28  David Schleef  <ds@schleef.org>
12075
12076         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12077         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12078         Fix memory leakage of gst_caps_to_string().
12079
12080         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12081         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12082         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12083         (gst_spider_identity_sink_loop_type_finding):
12084         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12085         (find_suggest):
12086         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12087         (gst_pad_set_explicit_caps):
12088         * gst/parse/grammar.y:
12089
12090 2004-01-28  David Schleef  <ds@schleef.org>
12091
12092         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12093         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12094         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12095         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12096         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12097         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12098         (gst_debug_log_default), (_gst_info_printf_extension),
12099         (_gst_info_printf_extension_arginfo):  Add printf extension.
12100         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12101         * gst/gststructure.c: (gst_structure_to_string),
12102         (_gst_structure_parse_value): Use gst_value_deserialize() and
12103         remove old code.
12104         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12105         (gst_value_deserialize_boolean), (gst_strtoi),
12106         (gst_value_deserialize_int), (gst_value_deserialize_double),
12107         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12108         a bunch of deserialize functions and gst_value_deserialize.
12109         * gst/gstvalue.h: er, _de_serialize, not unserialize
12110         * testsuite/caps/string-conversions.c: (main): We don't currently
12111         handle (float) in caps, so convert these to (double).
12112         * testsuite/debug/Makefile.am: Add new test for the printf extension
12113         * testsuite/debug/printf_extension.c: (main): same
12114
12115 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12116
12117         * docs/random/company/time:
12118           Add some docs about clocking and time
12119
12120 2004-01-28  Julien MOUTTE <julien@moutte.net>
12121
12122         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12123
12124 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12125
12126         * docs/pwg/advanced-clock.xml:
12127         * docs/pwg/advanced-dparams.xml:
12128         * docs/pwg/advanced-events.xml:
12129         * docs/pwg/advanced-interfaces.xml:
12130         * docs/pwg/advanced-midi.xml:
12131         * docs/pwg/advanced-request.xml:
12132         * docs/pwg/advanced-scheduling.xml:
12133         * docs/pwg/advanced-tagging.xml:
12134         * docs/pwg/advanced-types.xml:
12135         * docs/pwg/appendix-checklist.xml:
12136         * docs/pwg/building-boiler.xml:
12137         * docs/pwg/building-chainfn.xml:
12138         * docs/pwg/building-filterfactory.xml:
12139         * docs/pwg/building-pads.xml:
12140         * docs/pwg/building-props.xml:
12141         * docs/pwg/building-signals.xml:
12142         * docs/pwg/building-state.xml:
12143         * docs/pwg/building-testapp.xml:
12144         * docs/pwg/intro-basics.xml:
12145         * docs/pwg/intro-preface.xml:
12146         * docs/pwg/other-autoplugger.xml:
12147         * docs/pwg/other-sink.xml:
12148         * docs/pwg/other-source.xml:
12149         * docs/pwg/titlepage.xml:
12150           fix up id's
12151
12152 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12153
12154         * docs/95NonPath:
12155         * docs/HACKING:
12156         * docs/README:
12157         * docs/building-the-docs-on-debian:
12158           collect relevant bits of doc info
12159
12160 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12161
12162         * docs/pwg/advanced_tagging.xml:
12163           Half-assed commit so Thomas can re-arrange document IDs here to be
12164           consistent, too.
12165
12166 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12167
12168         * docs/manual/autoplugging.xml:
12169         * docs/manual/bins-api.xml:
12170         * docs/manual/bins.xml:
12171         * docs/manual/buffers-api.xml:
12172         * docs/manual/buffers.xml:
12173         * docs/manual/clocks.xml:
12174         * docs/manual/components.xml:
12175         * docs/manual/cothreads.xml:
12176         * docs/manual/debugging.xml:
12177         * docs/manual/dparams-app.xml:
12178         * docs/manual/dynamic.xml:
12179         * docs/manual/elements-api.xml:
12180         * docs/manual/elements.xml:
12181         * docs/manual/factories.xml:
12182         * docs/manual/gnome.xml:
12183         * docs/manual/goals.xml:
12184         * docs/manual/helloworld.xml:
12185         * docs/manual/helloworld2.xml:
12186         * docs/manual/init-api.xml:
12187         * docs/manual/intro.xml:
12188         * docs/manual/links-api.xml:
12189         * docs/manual/links.xml:
12190         * docs/manual/manual.xml:
12191         * docs/manual/motivation.xml:
12192         * docs/manual/pads-api.xml:
12193         * docs/manual/pads.xml:
12194         * docs/manual/plugins-api.xml:
12195         * docs/manual/plugins.xml:
12196         * docs/manual/programs.xml:
12197         * docs/manual/queues.xml:
12198         * docs/manual/quotes.xml:
12199         * docs/manual/schedulers.xml:
12200         * docs/manual/states-api.xml:
12201         * docs/manual/states.xml:
12202         * docs/manual/threads.xml:
12203         * docs/manual/typedetection.xml:
12204         * docs/manual/xml.xml:
12205           use chapter, part, section or misc as id starts for all bits
12206
12207 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12208
12209         * docs/gst/gstreamer-sections.txt:
12210           Fix up TITLE of the sections
12211
12212 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12213
12214         * docs/pwg/advanced_interfaces.xml:
12215           Add documentation on propertyprobing.
12216         * docs/pwg/advanced_events.xml:
12217         * docs/pwg/advanced_tagging.xml:
12218         * docs/pwg/building_boiler.xml:
12219         * docs/pwg/building_filterfactory.xml:
12220         * docs/pwg/pwg.xml:
12221           Move filterfactory and tagging into their own chapter, add a chapter
12222           on events. all these are empty placeholders that will be filled in
12223           some day.
12224
12225 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12226
12227         * docs/pwg/advanced_interfaces.xml:
12228           Docs for mixer interface. Also a check for website uploading.
12229
12230 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12231
12232         * docs/HACKING:
12233         * docs/Makefile.am:
12234         * docs/faq/Makefile.am:
12235         * docs/gst/Makefile.am:
12236         * docs/gst/tmpl/gstelement.sgml:
12237         * docs/gst/tmpl/gstplugin.sgml:
12238         * docs/gst/tmpl/gstreamer-unused.sgml:
12239         * docs/libs/Makefile.am:
12240         * docs/manual/Makefile.am:
12241         * docs/manuals.mak:
12242         * docs/pwg/Makefile.am:
12243         * docs/upload.mak:
12244           Separate out upload target and make it similar for
12245           both docbook and gtk-doc docs
12246
12247 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12248
12249         * docs/manuals.mak:
12250           Fix upload target to work with freedesktop
12251
12252 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12253
12254         * docs/pwg/advanced_types.xml:
12255           Add notes on creating your own types.
12256         * docs/pwg/building_boiler.xml:
12257         * docs/pwg/building_pads.xml:
12258         * docs/pwg/building_state.xml:
12259           Add some stuff about how to retrieve values from structures, how
12260           that relates to types and change layout slightly again to be almost
12261           perfect.
12262
12263 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12264
12265         * docs/pwg/advanced_dparams.xml:
12266         * docs/pwg/advanced_scheduling.xml:
12267           Change index layout slightly.
12268
12269 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12270
12271         * docs/pwg/advanced_clock.xml:
12272         * docs/pwg/advanced_interfaces.xml:
12273         * docs/pwg/advanced_midi.xml:
12274           General placeholders for now.
12275         * docs/pwg/advanced_request.xml:
12276           Explanation about sometimes and request pads.
12277         * docs/pwg/advanced_scheduling.xml:
12278           Concept of bytestream, loopfunctions and schedulers.
12279         * docs/pwg/building_boiler.xml:
12280           Add something about plugin-init.
12281
12282 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12283
12284         * docs/pwg/building_pads.xml:
12285           Fix broken docbook
12286
12287 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12288
12289         * docs/pwg/advanced_interfaces.xml:
12290         * docs/pwg/pwg.xml:
12291           Add as a placeholder for future filling-in.
12292         * docs/pwg/basics_autoplugging.xml:
12293         * docs/pwg/basics_buffers.xml:
12294         * docs/pwg/basics_elements.xml:
12295         * docs/pwg/basics_events.xml:
12296         * docs/pwg/basics_plugins.xml:
12297         * docs/pwg/basics_types.xml:
12298           Remove, because unused (this is all in intro_basics.xml).
12299         * docs/pwg/building_signals.xml:
12300           Short intro to signals + reference to GObject docs - we really
12301           shouldn't go into these sort of things to deply because we don't
12302           use them that extensively anyway.
12303         * docs/pwg/building_state.xml:
12304           Explanation of states. Benjamin, please check.
12305         * docs/pwg/building_testapp.xml:
12306           Put everything in one page - putting only a few lines of content
12307           per page doesn't really make sense.
12308
12309           Time to get into the advanced topics. ;).
12310
12311 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12312
12313         * docs/pwg/advanced_types.xml:
12314           Finish documenting the current state of mimetypes.
12315         * docs/pwg/building_boiler.xml:
12316         * docs/pwg/building_chainfn.xml:
12317         * docs/pwg/building_pads.xml:
12318         * docs/pwg/building_props.xml:
12319         * docs/pwg/building_testapp.xml:
12320           Start documenting the "how to build a simple audio filter" part
12321           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12322           states and (maybe?) a short introduction to capsnego in the chapter
12323           on pads (building_pads.xml). Capsnego should probably be explained
12324           fully in advanced_capsnego.xml or so.
12325
12326 2004-01-26  David Schleef  <ds@schleef.org>
12327
12328         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12329         * gst/gstpad.h: Add new function to allow element to (somewhat)
12330         specify non-fixed caps on a pad.
12331         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12332         that I added a few weeks ago.
12333
12334 2004-01-26  David Schleef  <ds@schleef.org>
12335
12336         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12337           making try_set_caps() work with non-fixed caps.
12338
12339 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12340
12341         * docs/pwg/advanced_types.xml:
12342         * docs/pwg/intro_basics.xml:
12343         * docs/pwg/intro_preface.xml:
12344         * docs/pwg/pwg.xml:
12345         * docs/pwg/titlepage.xml:
12346           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12347           in here (docs/random/mimetypes), and will from there on work on both
12348           updating outdated parts and adding missing parts.
12349           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12350
12351 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12352
12353         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12354           policy is set
12355
12356 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12357
12358         * gst/gstelement.h:
12359           remove gst_element_factory_get_version. It doesn't exist anymore.
12360         * gst/gstplugin.c:
12361         * gst/gstplugin.h:
12362           remove gst_plugin_set_name and change gst_plugin_get_longname to
12363           gst_plugin_get_description to match code.
12364         * gst/gsterror.h:
12365           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12366         * gst/gstpad.c: (gst_pad_try_set_caps):
12367           make it work with nonfixed caps.
12368           Note that even in the nonfixed case the link function of the pad
12369           that tries to set caps isn't called.
12370
12371 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12372
12373         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12374           fix bug where buffer was not assembled correctly
12375         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12376           silence by default
12377         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12378           only seek if there's no more buffers that could work without seeking
12379
12380 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12381
12382         * gst/gsttag.c: (_gst_tag_initialize):
12383         * gst/gsttag.h:
12384           Add application tag (for encoding/muxing app).
12385
12386 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12387
12388         * autogen.sh:
12389           make autopoint force, and libtoolize not copy
12390         * common/m4/as-docbook.m4:
12391           added docbook xml catalog setup check
12392         * common/m4/gst-doc.m4:
12393           use docbook check
12394
12395 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12396
12397         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12398         * gst/gsttag.h:
12399           add GstTagFlag
12400
12401 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12402
12403         * docs/gst/gstreamer-sections.txt:
12404         * docs/gst/tmpl/gst.sgml:
12405         * docs/gst/tmpl/gstbuffer.sgml:
12406         * docs/gst/tmpl/gstclock.sgml:
12407         * docs/gst/tmpl/gstelement.sgml:
12408         * docs/gst/tmpl/gstreamer-unused.sgml:
12409         * docs/gst/tmpl/gstxml.sgml:
12410           sync latest API changes to docs
12411
12412 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12413
12414         * gst/gstpluginfeature.c:
12415           fix doc snippet
12416         * tools/gst-inspect.c: (print_element_list):
12417           fix output of typefind
12418           add GPL header
12419         * tools/gst-launch.c:
12420           add GPL header
12421
12422 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12423
12424         * gst/elements/Makefile.am:
12425         * gst/elements/gstelements.c:
12426         * gst/elements/gsttypefindelement.c:
12427         * gst/elements/gsttypefindelement.h:
12428         * po/POTFILES.in:
12429         * po/fr.po:
12430         * po/nl.po:
12431           renamed gsttypefindelement to gsttypefind, conserving CVS history
12432
12433 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12434
12435         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12436         * gst/gsttag.h:
12437           add some tags used in ogg as well
12438           fix _ in replaygain tags
12439
12440 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * gst/gsterror.h:
12443           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12444
12445 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12446
12447         * gst/gstelement.c: (gst_element_error_full):
12448         * gst/gstelement.h:
12449           change _extended to _full
12450
12451 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12452
12453         reviewed by: <delete if not using a buddy>
12454
12455         * docs/gst/tmpl/gst.sgml:
12456         * docs/gst/tmpl/gstbuffer.sgml:
12457         * docs/gst/tmpl/gstclock.sgml:
12458         * docs/gst/tmpl/gstelement.sgml:
12459         * docs/gst/tmpl/gstreamer-unused.sgml:
12460         * docs/gst/tmpl/gstxml.sgml:
12461         * gst/gstelement.c: (gst_element_error_full):
12462         * gst/gstelement.h:
12463
12464 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12465
12466         * gst/gstelement.h: fix _gst_element_error_printf prototype
12467
12468 2004-01-20  David Schleef  <ds@schleef.org>
12469
12470         * gst/gststructure.c: (gst_structure_to_string):
12471         Convert function to use gst_value_serialize().
12472         * gst/gstvalue.c: (gst_value_serialize_list),
12473         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12474         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12475         (gst_value_serialize_int), (gst_value_serialize_double),
12476         (gst_string_wrap), (gst_value_serialize_string),
12477         (gst_value_serialize), (gst_value_deserialize):
12478         * gst/gstvalue.h:
12479         Add implementations for serialize.
12480
12481 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12482
12483         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12484         we want to keep that one in the future or change xvidenc.c to use 
12485         another error.
12486
12487 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12488
12489         * gst/gstelement.c: (_gst_element_error_printf):
12490         * gst/gstelement.h:
12491           privatise function
12492
12493 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12494
12495         * docs/random/error:
12496           doc explaining error system
12497         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12498           cleanup
12499
12500 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * gst/gst-i18n-app.h:
12503         * gst/gst-i18n-lib.h:
12504           remove inclusion of config.h
12505         * po/POTFILES.in:
12506         * po/nl.po:
12507           add gst/gstelement.c
12508
12509 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12510
12511         * po/nl.po: updated Dutch translation
12512
12513 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12514
12515         * gst/gsterror.c: (_gst_core_errors_init),
12516         (_gst_library_errors_init), (_gst_resource_errors_init),
12517         (_gst_stream_errors_init):
12518         remove ending punctuation dots
12519
12520 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12521
12522         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12523         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12524         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12525         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12526         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12527         use GST_ERROR_SYSTEM
12528
12529 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12530
12531         * gst/gstelement.c: (gst_element_error_printf),
12532         (gst_element_error_extended):
12533         * gst/gstelement.h:
12534           add a helper printf function so we can have NULL values passed.
12535
12536 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12537
12538         * gst/gstelement.h:
12539           add G_STMT macros to gst_element_error, which isn't strictly
12540           necessary but people tell me to anyway.
12541
12542 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12543
12544         * gst/Makefile.am:
12545         * gst/autoplug/gstspideridentity.c:
12546         (gst_spider_identity_sink_loop_type_finding):
12547         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12548         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12549         (gst_filesink_close_file), (gst_filesink_handle_event),
12550         (gst_filesink_chain):
12551         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12552         (gst_filesrc_map_region), (gst_filesrc_get_read),
12553         (gst_filesrc_open_file):
12554         * gst/elements/gstidentity.c: (gst_identity_chain):
12555         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12556         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12557         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12558         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12559         * gst/gst.h:
12560         * gst/gst_private.h:
12561         * gst/gstelement.c: (gst_element_class_init),
12562         (gst_element_default_error), (gst_element_error_func),
12563         (gst_element_error_extended):
12564         * gst/gstelement.h:
12565         * gst/gsterror.c: (_gst_core_errors_init),
12566         (_gst_library_errors_init), (_gst_resource_errors_init),
12567         (_gst_stream_errors_init), (gst_error_get_message):
12568         * gst/gsterror.h:
12569         * gst/gstinfo.c: (_gst_debug_init):
12570         * gst/gstmarshal.list:
12571         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12572         (gst_pad_recover_caps_error), (gst_pad_pull):
12573         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12574         * gst/schedulers/gstbasicscheduler.c:
12575         (gst_basic_scheduler_chainhandler_proxy),
12576         (gst_basic_scheduler_gethandler_proxy),
12577         (gst_basic_scheduler_cothreaded_chain):
12578         * po/POTFILES.in:
12579         * po/fr.po:
12580         * po/nl.po:
12581           change error signal
12582           add error categories
12583
12584 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12585
12586         * gst/gsttag.c: (_gst_tag_initialize):
12587         * gst/gsttag.h:
12588         Add replaygain tag
12589
12590 2004-01-18  Colin Walters  <walters@verbum.org>
12591
12592         * examples/retag/retag.c: Call gst_init before processing
12593         program args.  Add g_assert to _link_many call.
12594
12595 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12596
12597         * gst/gstpad.c: (gst_pad_alloc_buffer):
12598           Return a newly allocated buffer when the pad has no peer.
12599
12600 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12601
12602         * gst/gstclock.c: (gst_clock_get_time):
12603           make it compile with gcc 2.95 again.
12604           Patch by Scott Wheeler
12605
12606 2004-01-15  David Schleef  <ds@schleef.org>
12607
12608         * gst/gstcaps.h:
12609         Added gst_caps_is_simple() macro.
12610         * testsuite/caps/caps.c: (test1):
12611         * testsuite/caps/intersect2.c: (main):
12612         * testsuite/caps/intersection.c: (main):
12613         Fixes to make 'make check' work again after removing
12614         gst_caps_is_chained().
12615
12616 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12617
12618         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12619         and additions to the MIDI document.
12620
12621 2004-01-15  David Schleef  <ds@schleef.org>
12622
12623         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12624         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12625         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12626
12627 2004-01-15  David Schleef  <ds@schleef.org>
12628
12629         * gst/gstqueue.c:
12630         * gst/gstqueue.h:
12631         Fix the spelling of "treshold" and make min_threshold actually
12632         affect the queue.
12633
12634 2004-01-15  David Schleef  <ds@schleef.org>
12635
12636         * gst/gstcaps.c:
12637         Add lots of documentation.
12638         * gst/gstcaps.h:
12639         Deprecate a few functions.
12640         * gst/gstpad.c:
12641         Removed use of deprecated functions.
12642
12643 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12644
12645         * gst/gstpad.c: (gst_pad_is_linked):
12646         * gst/gstpad.h:
12647           implement gst_pad_is_linked
12648         * gst/gstelement.h:
12649           reserve space for initiate_state_change
12650
12651 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12652
12653         * gst/autoplug/gstspideridentity.c:
12654         (gst_spider_identity_sink_loop_type_finding):
12655           break infinite loop by just returning instead of looping
12656         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12657           set event time difference correctly. Set it to 1 second instead
12658           of 100ms to be more tolerant
12659         * gst/gstelement.c: (gst_element_set_time):
12660           add debugging output
12661
12662 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12663
12664         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12665           query if buffers are inside the pool, ignore events
12666
12667 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12668
12669         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12670         (gst_clock_set_speed), (gst_clock_set_active),
12671         (gst_clock_is_active), (gst_clock_reset),
12672         (gst_clock_handle_discont):
12673         * gst/gstclock.h:
12674           deprecate old interface and disable functions that aren't in use
12675           anymore.
12676         * gst/gstelement.h:
12677         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12678         (gst_element_set_time), (gst_element_adjust_time):
12679           add concept of "element time" and functions to get/set this time.
12680         * gst/gstelement.c: (gst_element_change_state):
12681           update element time correctly.
12682         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12683           This is a debug message, not a g_critical.
12684         * gst/gstpad.c: (gst_pad_event_default):
12685           handle discontinuous events right with element time.
12686         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12687           update to clocking fixes.
12688           set clocks on elements in READY=>PAUSED. The old behaviour caused
12689           a wrong element time on the first element that started playing.
12690         * gst/schedulers/gstbasicscheduler.c:
12691         (gst_basic_scheduler_class_init):
12692         * gst/schedulers/gstoptimalscheduler.c:
12693         (gst_opt_scheduler_class_init):
12694           remove code that just implements the default behaviour.
12695         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12696           update to use new clocking functions
12697         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12698         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12699           update to test new element time.
12700         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12701           use _get_allowed_caps instead of _get_caps. This catches filtered
12702           caps correctly.
12703         * testsuite/debug/commandline.c:
12704           update for new GST_DEBUG syntax.
12705         * testsuite/threads/Makefile.am:
12706           disable a test that only works sometimes.
12707
12708 2004-01-13  Julien MOUTTE <julien@moutte.net>
12709
12710         * po/LINGUAS: Adding fr.
12711         * po/fr.po: Adding french translation.
12712
12713 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12714
12715         * gst/parse/grammar.y:
12716         * po/POTFILES.in:
12717         * po/nl.po:
12718         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12719           translate parsing error messages
12720
12721 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12722
12723         * po/POTFILES.in: adding gst-launch
12724         * po/nl.po: updated translation, all 99 strings translated
12725         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12726         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12727           fix strings for translation
12728
12729 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12730
12731         * gst/gst.c:
12732           - capitalize beginnings of popt options
12733           - fix strings for translation
12734           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12735
12736 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12737
12738         * po/README: add some notes on how to update translations
12739
12740 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12741
12742         * ABOUT-NLS: removed, is autogenerated from autopoint
12743         * autogen.sh: add autopoint stuff
12744         * configure.ac: fix up gettext stuff
12745         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12746         * gst/elements/gsttypefindelement.c: add header include
12747         * gst/gettext.h: add header, copy from system-installed header
12748         * gst/gst-i18n-app.h: to be included by each app having translations
12749         * gst/gst-i18n-lib.h: to be included by each lib having translations
12750         * gst/gst.c: (init_pre): fix up gettext calls
12751         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12752         * po/LINGUAS: the new way to specify translations present
12753         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12754         * po/Makevars: the variables filled in for GStreamer
12755         * po/POTFILES.in: added new files with translations
12756         * po/de.po: has new strings
12757         * po/nl.po: readded, has new strings
12758
12759 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12760
12761         * gst/gsttag.c: fix some strings marked for translation
12762
12763 2004-01-13  Iain <iain@prettypeople.org>
12764
12765         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12766         group when we add an element to it, cos we unref it when we remove one
12767
12768 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12769
12770         * testsuite/debug/commandline.c: (debug_not_reached):
12771         * testsuite/debug/output.c: (check_message):
12772           fix testsuite
12773
12774 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12775
12776         * examples/cutter/.cvsignore:
12777         * examples/helloworld/.cvsignore:
12778         * examples/launch/.cvsignore:
12779         * examples/manual/.cvsignore:
12780         * examples/mixer/.cvsignore:
12781         * examples/pingpong/.cvsignore:
12782         * examples/plugins/.cvsignore:
12783         * examples/queue/.cvsignore:
12784         * examples/queue2/.cvsignore:
12785         * examples/queue3/.cvsignore:
12786         * examples/queue4/.cvsignore:
12787         * examples/retag/.cvsignore:
12788         * examples/thread/.cvsignore:
12789         * examples/typefind/.cvsignore:
12790         * examples/xml/.cvsignore:
12791         * gst/.cvsignore:
12792         * gst/autoplug/.cvsignore:
12793         * gst/elements/.cvsignore:
12794         * gst/indexers/.cvsignore:
12795         * gst/parse/.cvsignore:
12796         * gst/registries/.cvsignore:
12797         * gst/schedulers/.cvsignore:
12798         * libs/gst/bytestream/.cvsignore:
12799         * libs/gst/control/.cvsignore:
12800         * libs/gst/getbits/.cvsignore:
12801         * tests/.cvsignore:
12802         * tests/bufspeed/.cvsignore:
12803         * tests/instantiate/.cvsignore:
12804         * tests/memchunk/.cvsignore:
12805         * tests/muxing/.cvsignore:
12806         * tests/sched/.cvsignore:
12807         * tests/seeking/.cvsignore:
12808         * tests/threadstate/.cvsignore:
12809         * testsuite/.cvsignore:
12810         * testsuite/caps/.cvsignore:
12811         * testsuite/cleanup/.cvsignore:
12812         * testsuite/dynparams/.cvsignore:
12813         * testsuite/plugin/.cvsignore:
12814         * tools/.cvsignore:
12815           update - this is huge, because it includes *.bb, *.bbg and *.da files
12816           which are generated for gcov.
12817
12818 2004-01-11  David Schleef  <ds@schleef.org>
12819
12820         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12821         a function to parse integers in ways that strto[u]l() does not.
12822
12823 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12824
12825         * tools/gst-inspect.c: (print_caps):
12826           improve output of caps a bit
12827
12828 2004-01-11  David Schleef  <ds@schleef.org>
12829
12830         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12831         inherit correct flags (READONLY and DONTKEEP).
12832
12833 2004-01-11  David Schleef  <ds@schleef.org>
12834
12835         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12836         (gst_filesrc_map_region):
12837         * gst/gstbuffer.c: (_gst_buffer_initialize),
12838         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12839         (gst_buffer_new), (gst_buffer_create_sub),
12840         (gst_buffer_is_span_fast), (gst_buffer_span):
12841         * gst/gstbuffer.h:
12842         Change GstBuffer private structure element names. (all files)
12843         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12844         (gst_queue_link):
12845         * gst/gstqueue.h:
12846         Implement getcaps/pad_link functions that handle the case where
12847         there are data in the queue.
12848
12849 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12850
12851         * gst/elements/gstbufferstore.c:
12852           initialize debugging structure correctly
12853         * gst/elements/gsttee.c: (gst_tee_set_property):
12854           g_object_notify when property was changed
12855         * gst/elements/gsttypefindelement.c:
12856         (gst_type_find_element_change_state):
12857           clear caps correctly
12858
12859 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12860
12861         * gst/gstqueue.c: (gst_queue_init):
12862           Use better defaults for when a queue should block. This
12863           gets rid of jerky playback for quite a few files.
12864           It takes more memory.
12865
12866 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12867
12868         (gst_xml_registry_parse_padtemplate):
12869           make critical message slightly more useful
12870
12871 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12872
12873         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12874         (gst_debug_message_get), (gst_debug_log_default):
12875         * gst/gstinfo.h:
12876           Change gst_debug_log(_valist) to take a const format string.
12877           Change prototype of log function and functions using those to 
12878           take a GstDebugMessage instead of a string that requires using
12879           gst_debug_message_get.
12880
12881 2004-01-08  David Schleef  <ds@schleef.org>
12882
12883         * Makefile.am:
12884         * configure.ac:
12885         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12886         and -ftest-coverage, which allows gcov to show information about
12887         testsuite coverage.
12888
12889 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12890
12891         * gst/gstutils.h:
12892           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12893           GST_PARENT_CALL_WITH_DEFAULT
12894         * gst/elements/gstaggregator.c: 
12895         * gst/elements/gstbufferstore.c: 
12896         * gst/elements/gstfakesink.c: 
12897         * gst/elements/gstfakesrc.c: 
12898         * gst/elements/gstfdsink.c: 
12899         * gst/elements/gstfdsrc.c: 
12900         * gst/elements/gstfilesink.c: 
12901         * gst/elements/gstfilesrc.c: 
12902         * gst/elements/gstidentity.c: 
12903         * gst/elements/gstmd5sink.c: 
12904         * gst/elements/gstmultidisksrc.c:
12905         * gst/elements/gstpipefilter.c: 
12906         * gst/elements/gstshaper.c:
12907         * gst/elements/gststatistics.c:
12908         * gst/elements/gsttee.c:
12909         * gst/elements/gsttypefindelement.c:
12910           use them.
12911
12912 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12913
12914         * docs/gst/gstreamer-docs.sgml: remove props
12915         * docs/gst/gstreamer-sections.txt: remove props
12916         * docs/gst/tmpl/gst.sgml:
12917         * docs/gst/tmpl/gstbin.sgml:
12918         * docs/gst/tmpl/gstbuffer.sgml:
12919         * docs/gst/tmpl/gstcaps.sgml:
12920         * docs/gst/tmpl/gstclock.sgml:
12921         * docs/gst/tmpl/gstelement.sgml:
12922         * docs/gst/tmpl/gstindex.sgml:
12923         * docs/gst/tmpl/gstobject.sgml:
12924         * docs/gst/tmpl/gstpad.sgml:
12925         * docs/gst/tmpl/gstpadtemplate.sgml:
12926         * docs/gst/tmpl/gstreamer-unused.sgml:
12927         * docs/gst/tmpl/gstthread.sgml:
12928         * docs/gst/tmpl/gstxml.sgml:
12929           sync with code reorganization
12930
12931 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12932
12933         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12934         Make the 'Could not find compatible pad' message more informative.
12935
12936 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12937                                                                                 
12938         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12939           Fix for if we pass NULL as property to location.
12940         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12941         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12942           Fix for instantiate-test (see below).
12943         * gst/gststructure.c: (_gst_structure_parse_value):
12944           Fix compile error on gcc-2.96.
12945         * configure.ac:
12946         * tests/Makefile.am:
12947         * tests/instantiate/Makefile.am:
12948         * tests/instantiate/create.c: (create_all_elements), (main):
12949           Add a test that instantiates all elements. This makes it easy to
12950           track dead code for old API/design (like setting event functions
12951           on sink pads and so on).
12952
12953 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12954
12955         * gst/gstcaps.c: (gst_caps_append_structure):
12956           Move the poisoning to allow a NULL structure
12957         * gst/gstevent.c: (_gst_event_free):
12958           When freeing a navigation event, free the structure
12959           also
12960
12961 2004-01-04  David Schleef  <ds@schleef.org>
12962
12963         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12964         Remove usage of gst_pad_proxy_fixate.
12965         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12966         (gst_caps_split_one), (gst_caps_replace):
12967         Add poisoning code.
12968         * gst/gstmarshal.list:
12969         Add pointer__pointer for fixate signal
12970         * gst/gstpad.c: (gst_real_pad_class_init),
12971         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12972         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12973         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12974         Add poisoning code. Add fixate signal on RealPad. Change
12975         set_explicit_caps() to take const GstCaps, like try_set_caps().
12976         * gst/gstpad.h:
12977         * testsuite/caps/Makefile.am:
12978         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12979
12980 2004-01-03  David Schleef  <ds@schleef.org>
12981
12982         * gst/elements/gsttypefindelement.c:
12983         (gst_type_find_element_have_type), (gst_type_find_element_init):
12984         Use gst_pad_use_explicit_caps for src pad.
12985         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12986         before using it.
12987
12988 2004-01-03  David Schleef  <ds@schleef.org>
12989
12990         * gst/gstelement.c: (gst_element_link_pads_filtered),
12991         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12992         that linking was successful.
12993         * gst/gstpad.c: (gst_pad_link_free),
12994         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12995         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12996         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12997         GstPadLinkReturn correctly between functions, and don't fail
12998         when DELAYED is used (DELAYED is very important).  Better
12999         cleanup on unlinking and unnegotiation.  Should fix some spider
13000         bugs.
13001
13002 2004-01-02  David Schleef  <ds@schleef.org>
13003
13004         * gst/gstelement.c: (gst_element_class_init),
13005         (gst_element_base_class_init): ->padtemplates should be cleared
13006         in base_init, since we need to have a fresh list for every
13007         class.  (Alternately, we chould copy the list and share the
13008         actual pad templates (not the list), but that would require
13009         changing every plugin to move pad template registration from
13010         base_init to class_init.)
13011
13012 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13013
13014         * gst/gstelement.c: (gst_element_class_add_pad_template):
13015           Refuse registering a pad template if another pad template
13016           with the same name already exists (#114715).
13017
13018 2004-01-02  David Schleef  <ds@schleef.org>
13019
13020         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13021         (gst_caps_is_equal_fixed): Add new function.
13022         * gst/gstcaps.h: ditto.
13023         * gst/gstpad.c: (gst_real_pad_class_init),
13024         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13025         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13026         check new caps against existing caps -- if they're the same, return
13027         OK without renegotiating.  caps-nego-failed signal fixed so that
13028         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13029         to save an extra caps copy.  Don't complete negotiation if a pad
13030         link function returns DELAYED.
13031
13032 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13033
13034         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13035           Fix wrong g_return_if_fail
13036
13037 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13038
13039         * gst/gstbin.c: (gst_bin_class_init):
13040         Change the marshalling of element_added/element_removed
13041         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13042         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13043
13044 2004-01-01  David Schleef  <ds@schleef.org>
13045
13046         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13047         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13048         (gst_pad_use_explicit_caps):
13049         * gst/gstpad.h:
13050         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13051         to use an internal getcaps and link fuction so that negotiation
13052         always results in the explicitly set caps.
13053         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13054         are particularly useful for decoders.
13055
13056 2003-12-31  David Schleef  <ds@schleef.org>
13057
13058         * gst/elements/gstidentity.c: (gst_identity_class_init),
13059         (gst_identity_init), (gst_identity_chain),
13060         (gst_identity_set_property), (gst_identity_get_property):
13061         * gst/elements/gstidentity.h:
13062         * gst/gstqueue.c: (gst_queue_init):
13063           Negotiation fixes.
13064
13065 2003-12-31  David Schleef  <ds@schleef.org>
13066
13067         * gst/gstcaps.c: (gst_caps_intersect),
13068         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13069           Implement gst_caps_normalize().
13070         * testsuite/caps/normalisation.c: (main):
13071           Add an additional test
13072
13073 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13074
13075         * gst/gstqueue.c: (gst_queue_init):
13076           use gst_pad_proxy_getcaps()
13077
13078 2003-12-31  David Schleef  <ds@schleef.org>
13079
13080         * gst/elements/gstshaper.c: (gst_shaper_link):
13081         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13082         * gst/gstqueue.c: (gst_queue_link):
13083           Negotiation fixes.
13084
13085 2003-12-31  David Schleef  <ds@schleef.org>
13086
13087         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13088         * gst/gstpad.h: Add functions that are useful as default pad
13089         link and fixate functions for elements.
13090
13091 2003-12-30  David Schleef  <ds@schleef.org>
13092
13093         * gst/gstpad.c: (gst_pad_link_try):
13094           Fix segfault when attempting to return to old caps
13095
13096 2003-12-29  David Schleef  <ds@schleef.org>
13097
13098         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13099         (gst_caps_structure_simplify), (gst_caps_simplify):
13100         * gst/gstcaps.h:
13101           Add simplify function
13102         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13103         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13104         * gst/gstpad.h:
13105           Copy over srcnotify, sinknotify when calling old pad_link
13106           functions.  Add new is_negotiated() function.
13107         * gst/gststructure.c: (gst_structure_copy):
13108           Fix an incredibly stupid bug that should have been noticed
13109           weeks ago.  _copy() returned the argument, not the new copy.
13110
13111 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13112
13113         * gst/gstcaps.c: (gst_caps_append):
13114           add sanity checks
13115         * gst/gstcaps.h: (gst_caps_debug):
13116           remove, it doesn't exist anymore.
13117         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13118         (gst_element_threadsafe_properties_post_run):
13119           make debugging messages not clutter up THREAD debug category
13120         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13121         (gst_element_change_state):
13122           update to new caps API
13123         * gst/gstinterface.c: (gst_implements_interface_cast):
13124           don't put vital code in g_return_if_fail
13125         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13126         (gst_pad_link_filtered):
13127           add pst_pad_try_link and use it.
13128         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13129           implement correctly, deprecate first one.
13130         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13131           add and implement.
13132         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13133           implement.
13134         (gst_pad_get_negotiated_caps):
13135           add and implement. Make GST_PAD_CAPS call this function.
13136         (gst_pad_get_caps):
13137           remove unneeded check..
13138         (gst_pad_recover_caps_error):
13139           disable, always return FALSE.
13140         (gst_real_pad_dispose):
13141           don't free caps and appfilter anymore, they're unused.
13142         * gst/gstpad.h:
13143           Reflect changes mentioned above.
13144         * gst/gstsystemclock.c: (gst_system_clock_wait):
13145           Make 'clock is way behind' a debugging message.
13146         * gst/gstthread.c: (gst_thread_change_state):
13147           Fix debugging message
13148
13149 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13150
13151         * gst/gstinfo.h:
13152           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13153         * docs/gst/tmpl/gstreamer-unused.sgml:
13154           removed all traces of cvs conflicts
13155
13156 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * configure.ac:
13159         * gst/schedulers/cothreads_compat.h:
13160         * libs/Makefile.am:
13161           remove last instances of wingo cothread usage
13162
13163 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13164
13165         * gst/gstplugin.c:
13166         * gst/gstversion.h.in:
13167         * gst/parse/grammar.y:
13168           change comment block from /** to /* when not gtk-doc comments
13169
13170 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13171
13172         * gst/gst.c: whitespace and doc style fixes
13173
13174 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13175
13176         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13177
13178 2003-12-24  Colin Walters  <walters@verbum.org>
13179
13180         * gst/elements/gsttypefindelement.c:
13181           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13182           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13183           Don't double-free caps.
13184
13185 2003-12-23  David Schleef  <ds@schleef.org>
13186
13187         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13188           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13189           Many little fixes and additions of debug statements to
13190           get rhythmbox working.
13191
13192 2003-12-23  Colin Walters  <walters@verbum.org>
13193
13194         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13195         Use GST_PAD_LINK_SUCCESSFUL.
13196
13197 2003-12-23  David Schleef  <ds@schleef.org>
13198
13199         * gst/elements/gstaggregator.c:
13200         * gst/elements/gsttee.c:
13201           Use gst_pad_proxy_getcaps().
13202         * gst/gstpad.c:
13203         * gst/gstpad.h:
13204           Add gst_pad_proxy_getcaps(), which filter elements can use
13205           as a generic getcaps implementation.
13206           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13207           was advertised.
13208
13209 2003-12-23  David Schleef  <ds@schleef.org>
13210
13211         * gst/gstpad.c:
13212           Rearrange/rewrite much of the pad negotiation code, since it
13213           resembled pasta.  This actually changes the way some
13214           negotiation works, since the previous code was inconsistent
13215           depending on how it was invoked.  Add (internal) structure
13216           GstPadLink, which is used to hold some information (more in
13217           the future) about the link between two pads.  Fixes a number
13218           of bugs, including random lossage of filter caps when the
13219           initial negotiation is delayed.  A few functions are still
13220           unimplemented.
13221         * gst/gstpad.h:
13222           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13223           these when testing GstPadLinkReturn values instead of comparing
13224           directly.
13225
13226 2003-12-23  David Schleef  <ds@schleef.org>
13227
13228         * gst/gstvalue.c: 
13229         * gst/gstvalue.h:
13230           Rearrange lots of code.  Change registration of compare function
13231           into registration of compare/serialize/deserialize functions.
13232           Doesn't include implementation of gst_value_[de]serialize(),
13233           but that should be easy.
13234
13235 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13236
13237         * docs/gst/gstreamer-sections.txt:
13238         * docs/gst/tmpl/gstprops.sgml: removed
13239         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13240           David removed props and caps code, so let's remove their docs as well.
13241           Removed all no longer existing symbols from gstreamer-sections.txt
13242           
13243 2003-12-22  Colin Walters  <walters@verbum.org>
13244
13245         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13246           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13247           of tags directly.
13248
13249 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13250
13251         * gst/elements/gstelements.c:
13252           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13253         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13254           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13255           gst_caps (peer).
13256
13257 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13258
13259         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13260         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13261         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13262         (gst_spider_identity_sink_loop_type_finding):
13263         * gst/autoplug/gstspideridentity.h:
13264           Fix autoplugging in spider element, so it works with new caps.
13265           This was mainly caused by identifying empty caps incorrectly.
13266
13267 2003-12-22  David Schleef  <ds@schleef.org>
13268
13269         * gststructure.c, gstvalue.c, gstvalue.h: Add
13270           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13271           using g_value_copy()
13272
13273 2003-12-21  David Schleef  <ds@schleef.org>
13274
13275         * many, many files: Merge CAPS branch.  This includes:
13276           - implemention of GstValue and several GstValue types
13277           - implemention of GstStructure
13278           - entire rewrite of GstCaps
13279           - removal of GstProps
13280           - many changes to GstPad to compensate for new caps paradigm
13281           - removal of GstBufferpool
13282         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13283         gstvalue.h, gst/gstcaps[2]*.[ch]:
13284           - rename gstcaps2.[ch] to gstcaps.[ch]
13285
13286 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13287
13288         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13289         (gst_queue_chain), (gst_queue_handle_src_event):
13290           implement timeout for sending events. Workaround for if the
13291           pipeline on this queue is not passing any data.
13292
13293 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13294                                                                                 
13295         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13296         * moved CVS to freedesktop.org
13297