docs/design/part-seeking.txt: Some small additions.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-21  Wim Taymans  <wim@fluendo.com>
2
3         * docs/design/part-seeking.txt:
4         Some small additions.
5
6         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9         * gst/base/gstbasesink.h:
10         discont values are gint64, handle the math correctly.
11
12         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13         Make the basesrc report error if the source pad is not linked.
14
15         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16         (gst_queue_loop), (gst_queue_handle_src_query),
17         (gst_queue_src_activate_push):
18         Make queue collect data even if the srcpad is not linked.
19         Start pushing out data as soon as it is linked.
20
21         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
22         * gst/gstutils.h:
23         Added gst_flow_get_name() to ease error reporting.
24
25 2005-07-20  Wim Taymans  <wim@fluendo.com>
26
27         * gst/gstmessage.c: (gst_message_new_segment_start),
28         (gst_message_new_segment_done), (gst_message_parse_segment_start),
29         (gst_message_parse_segment_done):
30         * gst/gstmessage.h:
31         Added a bunch of messages for advanced seeking.
32
33         * gst/parse/grammar.y:
34         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
35         (gst_dpman_state_changed):
36         Fix some new-pad -> pad-added signals
37
38 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
39
40         * docs/manual/appendix-porting.xml:
41         * docs/pwg/appendix-porting.xml:
42           Document new-pad/state-change signal renames and the FixedList
43           type rename.
44
45 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
46
47         * docs/manual/advanced-autoplugging.xml:
48         * docs/manual/basics-helloworld.xml:
49         * docs/manual/basics-pads.xml:
50         * docs/random/ds/0.9-suggested-changes:
51         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
52         * gst/gstelement.h:
53         * gst/gstevent.h:
54         * gst/gstformat.h:
55         * gst/gstquery.h:
56         * gst/gststructure.c: (gst_structure_value_get_generic_type),
57         (gst_structure_parse_array), (gst_structure_parse_value):
58         * gst/gstvalue.c: (gst_type_is_fixed),
59         (gst_value_list_prepend_value), (gst_value_list_append_value),
60         (gst_value_list_get_size), (gst_value_list_get_value),
61         (gst_value_transform_array_string), (gst_value_serialize_array),
62         (gst_value_deserialize_array), (gst_value_intersect_array),
63         (gst_value_is_fixed), (_gst_value_initialize):
64         * gst/gstvalue.h:
65           GstElement::new-pad -> pad-added, GstElement::state-change ->
66           state-changed, GstValueFixedList -> GstValueArray, add format and
67           flags as their own arguments in gst_element_seek() (should improve
68           "bindeability"), remove function generators since they don't work
69           under a whole bunch of compilers (they were deprecated already
70           anyway).
71
72 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
73
74         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
75         (_gst_debug_register_funcptr):
76         * gst/gstinfo.h:
77           Fix illegal cast on some platforms (#309253).
78
79 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
80
81         * gst/gstmessage.c: (gst_message_new_custom):
82         * gst/gstmessage.h:
83           Add _new_custom, make _new_application a macro to _new_custom.
84
85 2005-07-20  Wim Taymans  <wim@fluendo.com>
86
87         * gst/base/gstbasesrc.c: (gst_base_src_init),
88         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
89         * gst/base/gstbasesrc.h:
90         Add a gboolean to decide when to push out a discont.
91
92         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
93         (gst_queue_loop), (gst_queue_handle_src_query),
94         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
95         (gst_queue_set_property), (gst_queue_get_property):
96         Some cleanups.
97
98         * tests/threadstate/threadstate1.c: (main):
99         Make a thread test compile and run... very silly..
100
101
102 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
103
104         * docs/manual/appendix-porting.xml:
105           Mention removal of libgstgconf-0.9.la and existence of gconf
106           elements.
107
108 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
109
110         * docs/pwg/advanced-clock.xml:
111         * docs/pwg/appendix-porting.xml:
112         * docs/pwg/intro-preface.xml:
113         * docs/pwg/other-base.xml:
114         * docs/pwg/other-manager.xml:
115         * docs/pwg/other-nton.xml:
116         * docs/pwg/other-ntoone.xml:
117         * docs/pwg/other-oneton.xml:
118         * docs/pwg/pwg.xml:
119           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
120           demuxer), remove n-to-n (was never written), fix some code examples
121           and links and update the porting section to include all this.
122
123 2005-07-19  Wim Taymans  <wim@fluendo.com>
124
125         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
126         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
127         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
128         (gst_queue_src_activate_push), (gst_queue_change_state),
129         (gst_queue_get_property):
130         * gst/gstqueue.h:
131         Propagate GstFlowReturn more intelligently upstream and output
132         an ERROR/EOS when streaming stopped due to fatal error.
133
134 2005-07-19  Wim Taymans  <wim@fluendo.com>
135
136         * tools/gst-launch.c: (check_intr), (event_loop), (main):
137         Don't block forever for the state change to complete, the
138         pipeline already did with a sensible timeout.
139
140 2005-07-19  Wim Taymans  <wim@fluendo.com>
141
142         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
143         Make sure we never call the create function is we
144         got deactivated.
145
146 2005-07-19  Andy Wingo  <wingo@pobox.com>
147
148         * gst/parse/parse.l: Attempt to solve bug #172815.
149
150 2005-07-19  Wim Taymans  <wim@fluendo.com>
151
152         * docs/design/part-clocks.txt:
153         * docs/design/part-events.txt:
154         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
155         Small docs updates.
156         Only update the seeking values when we are not
157         busy streaming.
158
159 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
160
161         * gst/base/gstbasesrc.c: (gst_base_src_loop):
162           Oops, ignore the result of gst_pad_push_event here.
163
164 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
165
166         * gst/base/gstbasesrc.c: (gst_base_src_loop),
167         (gst_base_src_activate_push):
168           Send discont event from the loop function, as pads
169           aren't activated yet in the activate_push handler.
170
171         * gst/gstbin.c: (bin_bus_handler):
172           Don't leak element name.
173
174 2005-07-18  Andy Wingo  <wingo@pobox.com>
175
176         * configure.ac: Use AS_LIBTOOL_TAGS.
177
178 2005-07-18  Wim Taymans  <wim@fluendo.com>
179
180         * docs/gst/gstreamer.types:
181         Remove deleted types.
182
183 2005-07-18  Wim Taymans  <wim@fluendo.com>
184
185         * check/elements/gstfakesrc.c: (GST_START_TEST):
186         * configure.ac:
187         * gst/Makefile.am:
188         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
189         (init_popt_callback):
190         * gst/gst.h:
191         * gst/gst_private.h:
192         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
193         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
194         * gst/gstbin.h:
195         * gst/gstbus.h:
196         * gst/gstconfig.h.in:
197         * gst/gstelement.c: (gst_element_class_init),
198         (gst_element_set_base_time), (gst_element_get_base_time),
199         (iterator_fold_with_resync), (gst_element_change_state),
200         (gst_element_dispose), (gst_element_get_bus):
201         * gst/gstelement.h:
202         * gst/gstelementfactory.h:
203         * gst/gsterror.c: (_gst_core_errors_init):
204         * gst/gsterror.h:
205         * gst/gstevent.h:
206         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
207         * gst/gstindex.c:
208         * gst/gstinfo.c: (_gst_debug_init):
209         * gst/gstmessage.c: (_gst_message_copy):
210         * gst/gstmessage.h:
211         * gst/gstminiobject.h:
212         * gst/gstobject.c:
213         * gst/gstobject.h:
214         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
215         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
216         * gst/gstpad.h:
217         * gst/gstparse.h:
218         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
219         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
220         (gst_pipeline_get_last_stream_time):
221         * gst/gstpipeline.h:
222         * gst/gstpluginfeature.h:
223         * gst/gstquery.h:
224         * gst/gstscheduler.c:
225         * gst/gstscheduler.h:
226         * gst/gststructure.h:
227         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
228         (gst_task_finalize), (gst_task_func), (gst_task_create),
229         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
230         (gst_task_stop), (gst_task_pause):
231         * gst/gsttask.h:
232         * gst/gsttypefind.h:
233         * gst/gsttypes.h:
234         * gst/registries/gstlibxmlregistry.c: (load_feature),
235         (gst_xml_registry_load), (gst_xml_registry_save_feature):
236         * gst/registries/gstxmlregistry.c:
237         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
238         * gst/schedulers/threadscheduler.c:
239         * libs/gst/control/dparammanager.h:
240         * tools/gst-inspect.c: (print_element_list),
241         (print_plugin_features), (print_element_features):
242         * tools/gst-xmlinspect.c: (print_element_list),
243         (print_plugin_info), (main):
244         Removed plugable schedulers.
245         Removed Scheduler/Manager from elements.
246         Removed gsttypes.h, rearranged includes.
247         Removed dependency pad<->element, element<>pipeline, and
248         various others,  fix includes.
249         implement gst_pad_get_parent() with gst_object_get_parent()
250         Make GstTask sefcontained.
251         Fix _get_state() on GstBin, it did not return ASYNC with a 0
252         timeout.
253         Fix endless loop in iterator_fold_with_resync.
254
255
256 2005-07-18  Wim Taymans  <wim@fluendo.com>
257
258         * gst/Makefile.am:
259         * gst/gstarch.h:
260         Remove old file.
261
262 2005-07-18  Wim Taymans  <wim@fluendo.com>
263
264         * gst/Makefile.am:
265         No more cothreads.h
266
267 2005-07-18  Wim Taymans  <wim@fluendo.com>
268
269         * gst/cothreads.c:
270         * gst/cothreads.h:
271         Let's remove these.
272
273 2005-07-18  Wim Taymans  <wim@fluendo.com>
274
275         * docs/design/part-dynamic.txt:
276         * docs/design/part-events.txt:
277         * docs/design/part-seeking.txt:
278         Some more docs in the works.
279
280         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
281         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
282         (gst_base_transform_setcaps), (gst_base_transform_get_size),
283         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
284         (gst_base_transform_handle_buffer),
285         (gst_base_transform_sink_activate_push),
286         (gst_base_transform_src_activate_pull),
287         (gst_base_transform_set_passthrough),
288         (gst_base_transform_is_passthrough):
289         Refcounting fixes.
290
291         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
292         Cleanups.
293
294         * gst/gstevent.c: (gst_event_finalize):
295         Set SRC to NULL.
296
297         * gst/gstutils.c: (gst_element_unlink),
298         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
299         (gst_pad_proxy_setcaps):
300         * gst/gstutils.h:
301         Add _get_parent_element() to get a pads parent as an element.
302
303 2005-07-18  Wim Taymans  <wim@fluendo.com>
304
305         * check/gst/gstbin.c: (GST_START_TEST):
306         Remove bogus test.
307
308 2005-07-18  Wim Taymans  <wim@fluendo.com>
309
310         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
311         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
312         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
313         (gst_base_sink_event), (gst_base_sink_do_sync),
314         (gst_base_sink_chain), (gst_base_sink_loop),
315         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
316         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
317         Refcounting fixes.
318         Fix logic for returning ASYNC when not prerolled.
319
320 2005-07-18  Wim Taymans  <wim@fluendo.com>
321
322         * gst/gstqueue.c: (gst_queue_handle_sink_event):
323         Fix nasty refcount bug.
324
325 2005-07-16 Philippe Khalaf <burger@speedy.org>
326         * gst/elements/gstfdsrc.c:
327         * gst/elements/gstfdsrc.h:
328         * gst/elements/gstelements.c:
329         * gst/elements/Makefile.am:
330         Ported fdsrc to 0.9.
331
332 2005-07-16  Wim Taymans  <wim@fluendo.com>
333
334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
335         (gst_base_sink_do_sync):
336         Fix compile error.
337
338 2005-07-16  Wim Taymans  <wim@fluendo.com>
339
340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
341         (gst_base_sink_event), (gst_base_sink_get_times),
342         (gst_base_sink_do_sync), (gst_base_sink_change_state):
343         * gst/base/gstbasesink.h:
344         Store and use discont values when syncing buffers as described
345         in design docs.
346         
347         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
348         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
349         (gst_base_src_activate_push):
350         Push discont event when starting.
351
352         * gst/elements/gstidentity.c: (gst_identity_transform):
353         Small cleanups.
354
355         * gst/gstbin.c: (gst_bin_change_state):
356         Small cleanups in base_time  distribution.
357
358         * gst/gstelement.c: (gst_element_set_base_time),
359         (gst_element_get_base_time), (gst_element_change_state):
360         * gst/gstelement.h:
361         Added methods for the base_time of the element.
362         Some MT fixes.
363
364         * gst/gstpipeline.c: (gst_pipeline_send_event),
365         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
366         (gst_pipeline_get_last_stream_time):
367         * gst/gstpipeline.h:
368         MT fixes.
369         Handle seeking as described in design doc, remove stream_time
370         hack.
371         Cleanups clock and stream_time selection code. Added accessors
372         for the stream_time.
373         
374
375 2005-07-16  Andy Wingo  <wingo@pobox.com>
376
377         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
378         (#305291).
379
380 2005-07-16  Wim Taymans  <wim@fluendo.com>
381
382         * check/gst/gstbin.c: (GST_START_TEST):
383         Make elements silent as the deep_notify refs the
384         parent, which might make the test fail.
385
386         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
387         Don't hold the lock for too long.
388
389 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
390
391         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
392           Don't unref the caps we passed to gst_caps_make_writable() after
393           passing them. gst_caps_make_writable() will do that for us.
394
395 2005-07-15  Andy Wingo  <wingo@pobox.com>
396
397         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
398         (#157311).
399
400         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
401         own marshalling function for the handoff signal. Properly type the
402         buffer as a buffer. Fixes some warnings. Should do a more general
403         solution.
404         (gst_identity_class_init): Plug into the right marshaller.
405
406 2005-07-15  Wim Taymans  <wim@fluendo.com>
407
408         * docs/design/part-TODO.txt:
409         * docs/design/part-clocks.txt:
410         * docs/design/part-element-sink.txt:
411         * docs/design/part-events.txt:
412         * docs/design/part-gstpipeline.txt:
413         Updated docs, mostly DISCONT related.
414
415 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
416
417         * docs/pwg/building-pads.xml:
418           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
419
420 2005-07-15  Andy Wingo  <wingo@pobox.com>
421
422         * tools/gst-typefind.c: Update, add copyright block.
423
424         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
425         Normalize and truncate caps before fixation.
426
427         * gst/gstcaps.h:
428         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
429         discards all but the first structure from its argument.
430
431 2005-07-15  Wim Taymans  <wim@fluendo.com>
432
433         * gst/base/gstbasetransform.c: (gst_base_transform_init),
434         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
435         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
436         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
437         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
438         (gst_base_transform_chain), (gst_base_transform_change_state),
439         (gst_base_transform_set_passthrough),
440         (gst_base_transform_is_passthrough):
441         * gst/base/gstbasetransform.h:
442         Make passthrough work using the bufferpools.
443         Changed API a bit, subclasses have to write into a buffer
444         provided by the base class.
445         More debug info in nego functions.
446         
447         * gst/elements/gstidentity.c: (gst_identity_init),
448         (gst_identity_transform):
449         Port to new base class.
450
451 2005-07-15  Wim Taymans  <wim@fluendo.com>
452
453         * gst/gstmessage.c: (gst_message_new_state_changed):
454         * tools/gst-launch.c: (event_loop), (main):
455         Totally dump messages in -launch with the -m option.
456         Fix message name for State messages,
457
458 2005-07-14  Wim Taymans  <wim@fluendo.com>
459
460         * gst/base/gstbasesrc.c: (gst_base_src_loop):
461         Post error messages on errors.
462
463 2005-07-14  Wim Taymans  <wim@fluendo.com>
464
465         * gst/gstcaps.c: (gst_caps_do_simplify):
466         Remove debug info.
467
468         * gst/gsterror.h:
469         Define error for stream stopped.
470
471         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
472         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
473         Do proper return values.
474
475         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
476         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
477         (gst_pad_get_range):
478         Better return values.
479
480         * gst/gstpad.h:
481         Reorganise return values, add macro to check for fatal errors.
482
483         * gst/gstqueue.c: (gst_queue_chain):
484         Return proper GstFlowReturn values,
485
486 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
487
488         * docs/gst/gstreamer-sections.txt:
489         * docs/gst/gstreamer.types:
490         * docs/gst/tmpl/gst.sgml:
491         * docs/gst/tmpl/gstbasesink.sgml:
492         * docs/gst/tmpl/gstbasesrc.sgml:
493         * docs/gst/tmpl/gstbasetransform.sgml:
494         * docs/gst/tmpl/gstbin.sgml:
495         * docs/gst/tmpl/gstbuffer.sgml:
496         * docs/gst/tmpl/gstcaps.sgml:
497         * docs/gst/tmpl/gstclock.sgml:
498         * docs/gst/tmpl/gstcompat.sgml:
499         * docs/gst/tmpl/gstconfig.sgml:
500         * docs/gst/tmpl/gstelement.sgml:
501         * docs/gst/tmpl/gstelementdetails.sgml:
502         * docs/gst/tmpl/gstelementfactory.sgml:
503         * docs/gst/tmpl/gstenumtypes.sgml:
504         * docs/gst/tmpl/gsterror.sgml:
505         * docs/gst/tmpl/gstevent.sgml:
506         * docs/gst/tmpl/gstfakesink.sgml:
507         * docs/gst/tmpl/gstfakesrc.sgml:
508         * docs/gst/tmpl/gstfilesink.sgml:
509         * docs/gst/tmpl/gstfilesrc.sgml:
510         * docs/gst/tmpl/gstfilter.sgml:
511         * docs/gst/tmpl/gstformat.sgml:
512         * docs/gst/tmpl/gstghostpad.sgml:
513         * docs/gst/tmpl/gstimplementsinterface.sgml:
514         * docs/gst/tmpl/gstindex.sgml:
515         * docs/gst/tmpl/gstindexfactory.sgml:
516         * docs/gst/tmpl/gstinfo.sgml:
517         * docs/gst/tmpl/gstiterator.sgml:
518         * docs/gst/tmpl/gstmacros.sgml:
519         * docs/gst/tmpl/gstmemchunk.sgml:
520         * docs/gst/tmpl/gstminiobject.sgml:
521         * docs/gst/tmpl/gstobject.sgml:
522         * docs/gst/tmpl/gstpad.sgml:
523         * docs/gst/tmpl/gstpadtemplate.sgml:
524         * docs/gst/tmpl/gstparse.sgml:
525         * docs/gst/tmpl/gstpipeline.sgml:
526         * docs/gst/tmpl/gstplugin.sgml:
527         * docs/gst/tmpl/gstpluginfeature.sgml:
528         * docs/gst/tmpl/gstquery.sgml:
529         * docs/gst/tmpl/gstqueue.sgml:
530         * docs/gst/tmpl/gstregistry.sgml:
531         * docs/gst/tmpl/gstregistrypool.sgml:
532         * docs/gst/tmpl/gstscheduler.sgml:
533         * docs/gst/tmpl/gstschedulerfactory.sgml:
534         * docs/gst/tmpl/gststructure.sgml:
535         * docs/gst/tmpl/gstsystemclock.sgml:
536         * docs/gst/tmpl/gsttaglist.sgml:
537         * docs/gst/tmpl/gsttagsetter.sgml:
538         * docs/gst/tmpl/gsttrace.sgml:
539         * docs/gst/tmpl/gsttrashstack.sgml:
540         * docs/gst/tmpl/gsttypefind.sgml:
541         * docs/gst/tmpl/gsttypefindfactory.sgml:
542         * docs/gst/tmpl/gsttypes.sgml:
543         * docs/gst/tmpl/gsturihandler.sgml:
544         * docs/gst/tmpl/gsturitype.sgml:
545         * docs/gst/tmpl/gstutils.sgml:
546         * docs/gst/tmpl/gstvalue.sgml:
547         * docs/gst/tmpl/gstversion.sgml:
548         * docs/gst/tmpl/gstxml.sgml:
549         * docs/libs/tmpl/gstcontrol.sgml:
550         * docs/libs/tmpl/gstdataprotocol.sgml:
551         * docs/libs/tmpl/gstdparam.sgml:
552         * docs/libs/tmpl/gstdplinint.sgml:
553         * docs/libs/tmpl/gstdpman.sgml:
554         * docs/libs/tmpl/gstdpsmooth.sgml:
555         * docs/libs/tmpl/gstgetbits.sgml:
556         * docs/libs/tmpl/gstunitconvert.sgml:
557         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
558         (gst_push_src_base_init), (gst_push_src_class_init),
559         (gst_push_src_init), (gst_push_src_create):
560         * gst/base/gstpushsrc.h:
561         * gst/elements/gstelements.c:
562         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
563         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
564         (gst_fake_sink_init), (gst_fake_sink_set_property),
565         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
566         (gst_fake_sink_event), (gst_fake_sink_preroll),
567         (gst_fake_sink_render), (gst_fake_sink_change_state):
568         * gst/elements/gstfakesink.h:
569         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
570         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
571         (gst_fake_src_base_init), (gst_fake_src_class_init),
572         (gst_fake_src_init), (gst_fake_src_event_handler),
573         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
574         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
575         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
576         (gst_fake_src_create_buffer), (gst_fake_src_create),
577         (gst_fake_src_start), (gst_fake_src_stop):
578         * gst/elements/gstfakesrc.h:
579         * gst/elements/gstfilesink.c: (_do_init),
580         (gst_file_sink_base_init), (gst_file_sink_class_init),
581         (gst_file_sink_init), (gst_file_sink_dispose),
582         (gst_file_sink_set_location), (gst_file_sink_set_property),
583         (gst_file_sink_get_property), (gst_file_sink_open_file),
584         (gst_file_sink_close_file), (gst_file_sink_query),
585         (gst_file_sink_event), (gst_file_sink_render),
586         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
587         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
588         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
589         * gst/elements/gstfilesink.h:
590         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
591         (gst_file_src_class_init), (gst_file_src_init),
592         (gst_file_src_finalize), (gst_file_src_set_location),
593         (gst_file_src_set_property), (gst_file_src_get_property),
594         (gst_file_src_map_region), (gst_file_src_map_small_region),
595         (gst_file_src_create_mmap), (gst_file_src_create_read),
596         (gst_file_src_create), (gst_file_src_is_seekable),
597         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
598         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
599         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
600         (gst_file_src_uri_handler_init):
601         * gst/elements/gstfilesrc.h:
602           more autistic cleanliness in functions/names/defines
603
604 2005-07-13  Andy Wingo  <wingo@pobox.com>
605
606         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
607         source couldn't negotiate.
608
609         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
610         connections again.
611
612         * gst/gstutils.h:
613         * gst/gstutils.c (gst_element_link_pads_filtered): New old
614         function. I am channeling Hades. Put your boots on suckers!!!
615
616 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
617
618         * testsuite/caps/Makefile.am:
619         * testsuite/caps/value_compare.c:
620         * testsuite/caps/value_intersect.c:
621         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
622           move two testsuite apps over to the check dir
623
624 2005-07-12  Wim Taymans  <wim@fluendo.com>
625
626         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
627         Added more debug info in the negotiate process.
628
629         * gst/gstmessage.h:
630         Prepare for segment playback.
631
632         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
633         Better debugging.
634
635         * gst/gstutils.c:
636         Some more docs.
637
638         * tools/gst-launch.c: (main):
639         NULL pipeline on errors.
640
641 2005-07-12  Andy Wingo  <wingo@pobox.com>
642
643         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
644         not it comes from a malloc region. Make sure our copy gets freed.
645
646 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
647
648         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
649         * check/gst/gstmessage.c: (GST_START_TEST):
650         * check/gst/gststructure.c: (GST_START_TEST),
651         (gst_structure_suite), (main):
652           more testing
653         * gst/gstelement.c: (gst_element_message_full):
654           clean up GError and debug string now that they get copied
655         * gst/gstmessage.c: (gst_message_new_error),
656         (gst_message_new_warning), (gst_message_parse_error),
657         (gst_message_parse_warning):
658           use GST_TYPE_G_ERROR for structure_new, and take copies of
659           arguments, so that we don't mess up refcounting
660
661 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
662
663         * check/Makefile.am:
664           add per-test valgrind targets
665         * check/gst-libs/gdp.c: (GST_START_TEST),
666         (gst_data_protocol_suite), (main):
667           clean up
668
669 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
670
671         * check/Makefile.am:
672           instate more valgrindable tests
673         * check/elements/gstfakesrc.c: (chain_func), (event_func),
674         (GST_START_TEST), (fakesrc_suite):
675         * check/gst/gstpad.c: (GST_START_TEST):
676         * check/gst/gststructure.c: (GST_START_TEST):
677           fix test leaks
678         * docs/gst/tmpl/gstminiobject.sgml:
679         * gst/gstpad.c: (gst_pad_finalize):
680           fix the static mutex leak
681
682 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
683
684         * check/Makefile.am:
685           add two more tests for valgrinding
686         * check/gst/gstvalue.c: (GST_START_TEST):
687           test refcount of deserialized buffer, found a leak
688         * docs/gst/gstreamer-docs.sgml:
689         * docs/gst/gstreamer-sections.txt:
690         * docs/gst/gstreamer.types:
691         * docs/gst/tmpl/gstminiobject.sgml:
692           add miniobject to docs
693         * gst/gstminiobject.c:
694           add some docs
695         * gst/gstvalue.c: (gst_value_deserialize_buffer),
696         (gst_string_unwrap):
697           fix a hard-to-find invalid write for one of the tests
698           fix a leak for deserialized buffers
699
700 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
701
702         * docs/pwg/advanced-events.xml:
703         * docs/pwg/advanced-request.xml:
704         * docs/pwg/advanced-scheduling.xml:
705         * docs/pwg/appendix-porting.xml:
706         * docs/pwg/building-boiler.xml:
707         * docs/pwg/intro-preface.xml:
708         * docs/pwg/other-ntoone.xml:
709           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
710           of example code and explanation for pad activation, loop() and
711           getrange() functions and a bit more. Remove old comments pointing
712           to loop-functions.
713         * examples/pwg/Makefile.am:
714           Add loop/getrange examples.
715
716 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
717
718         * configure.ac:
719           check for valgrind binary + some fixes
720         * check/gst.supp:
721           valgrind suppressions for the tests
722         * check/Makefile.am:
723           add a valgrind: target that valgrinds the unit tests
724         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
725         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
726         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
727         * check/gst/gstghostpad.c:
728           added some cleanup
729         * check/gst/gstdata.c:
730           removed
731         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
732         (thread_unref), (gst_mini_object_suite), (main):
733           added
734         * gst/gst.c: (gst_deinit):
735         * gst/gst.h:
736           add a method to clean up.
737         * gst/gstsystemclock.c: (gst_system_clock_dispose),
738         (gst_system_clock_obtain):
739           allow for disposing the system clock.
740         * tools/gst-launch.c: (main):
741           deinit
742
743 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
744
745         * docs/gst/tmpl/gstbasesrc.sgml:
746         * docs/gst/tmpl/gstfakesrc.sgml:
747         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
748         (gst_base_src_init), (gst_base_src_set_property),
749         (gst_base_src_get_property), (gst_base_src_get_range),
750         (gst_base_src_start):
751         * gst/base/gstbasesrc.h:
752           add num-buffers property
753         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
754         (gst_fakesrc_init), (gst_fakesrc_set_property),
755         (gst_fakesrc_get_property), (gst_fakesrc_create),
756         (gst_fakesrc_start):
757           remove num-buffers property
758
759 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
760
761         * docs/gst/gstreamer-sections.txt:
762         * docs/gst/tmpl/gstbasesink.sgml:
763         * docs/gst/tmpl/gstbasesrc.sgml:
764         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
765         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
766         (gst_base_sink_finalize), (gst_base_sink_set_clock),
767         (gst_base_sink_set_property), (gst_base_sink_get_property),
768         (gst_base_sink_handle_object), (gst_base_sink_event),
769         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
770         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
771         (gst_base_sink_loop), (gst_base_sink_deactivate),
772         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
773         (gst_base_sink_change_state):
774         * gst/base/gstbasesink.h:
775         * gst/base/gstbasesrc.h:
776         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
777         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
778         (gst_filesink_init):
779           more macro splitting
780
781 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
782
783         * gst/gstelement.c: (gst_element_get_bus):
784           add debug
785         * tools/gst-launch.c: (check_intr), (event_loop):
786           fix bus leaks
787
788 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
789
790         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
791           fix a caps leak
792
793 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
794
795         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
796         (gst_base_src_finalize):
797           add finalize method and clean up properly
798         * gst/gstpipeline.c: (gst_pipeline_dispose):
799           add debug
800
801 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
802
803         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
804         (gst_bin_suite):
805           add more things to check
806         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
807         * gst/gstelement.c:
808           more debug
809
810 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
811
812         * check/elements/gstfakesrc.c: (chain_func), (event_func),
813         (GST_START_TEST), (fakesrc_suite):
814         * check/gst-libs/gdp.c: (GST_START_TEST):
815         * check/gst/gst.c: (GST_START_TEST):
816         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
817         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
818         * check/gst/gstbus.c: (GST_START_TEST):
819         * check/gst/gstcaps.c: (GST_START_TEST):
820         * check/gst/gstdata.c: (GST_START_TEST):
821         * check/gst/gstelement.c: (GST_START_TEST):
822         * check/gst/gstghostpad.c: (GST_START_TEST):
823         * check/gst/gstiterator.c: (GST_START_TEST):
824         * check/gst/gstmessage.c: (GST_START_TEST):
825         * check/gst/gstobject.c: (GST_START_TEST):
826         * check/gst/gstpad.c: (GST_START_TEST):
827         * check/gst/gststructure.c: (GST_START_TEST):
828         * check/gst/gstsystemclock.c: (GST_START_TEST),
829         (gst_systemclock_suite):
830         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
831         * check/gst/gstvalue.c: (GST_START_TEST):
832         * check/pipelines/cleanup.c: (GST_START_TEST):
833         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
834         * check/states/sinks.c: (GST_START_TEST):
835         * check/gstcheck.c: (gst_check_init):
836         * check/gstcheck.h:
837           add debugging category
838           use GST_START_TEST now, so we add a debug line
839
840 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
841
842         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
843           add test for state change message on a bin
844         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
845           add another test
846         * gst/gstbin.c: (gst_bin_init):
847         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
848         * gst/gstelement.c: (gst_element_post_message),
849         (gst_element_set_state):
850         * gst/gstelementfactory.c: (gst_element_factory_create):
851         * gst/gstmessage.c: (gst_message_new):
852         * gst/gstscheduler.c:
853           various debugging additions and cleanups
854
855 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
856
857         * check/Makefile.am:
858         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
859         (main):
860           adding tests for elements
861         * gst/gstelement.c: (gst_element_dispose):
862
863 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
864
865         * gst/registries/gstlibxmlregistry.c: (load_feature):
866           plug more leaks.  A simple gst_init() now is leakfree, yay.
867
868 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
869
870         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
871         (gst_xml_registry_load):
872           plug another memleak
873
874 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
875
876         * configure.ac:
877           use GST_SET_ERROR_CFLAGS
878         * docs/faq/cvs.xml:
879           change to ERROR_CFLAGS
880
881 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
882
883         * configure.ac:
884           make GST_ERROR_CFLAGS overridable and re-enable Werror
885         * docs/faq/cvs.xml:
886           add a note about error CFLAGS
887         * docs/gst/tmpl/gstfakesrc.sgml:
888         * gst/elements/gstfakesrc.c:
889           comment out some unused code
890         * gst/gst.c: (split_and_iterate):
891         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
892         (load_feature):
893           plug some memleaks
894
895 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
896
897         * common/Makefile.am:
898         * common/gtk-doc.mak:
899         * docs/gst/Makefile.am:
900           factor out gtk-doc.mak
901
902 2005-07-07  Wim Taymans  <wim@fluendo.com>
903
904         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
905         (gst_thread_scheduler_dispose):
906         Unlock the STREAM_LOCK completely.
907
908 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
909
910         * check/Makefile.am:
911         * check/elements/.cvsignore:
912         * check/elements/gstfakesrc.c: (chain_func), (event_func),
913         (START_TEST), (fakesrc_suite), (main):
914         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
915         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
916         (gst_fakesrc_create), (gst_fakesrc_start):
917         * gst/elements/gstfakesrc.h:
918           adding a first element test
919
920 2005-07-07  Andy Wingo  <wingo@pobox.com>
921
922         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
923         debug message.
924
925 2005-07-07  Wim Taymans  <wim@fluendo.com>
926
927         * gst/gstquery.c:
928         * gst/gstquery.h:
929         Remove old types
930
931 2005-07-07  Wim Taymans  <wim@fluendo.com>
932
933         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
934         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
935         Allow subclasses to implement their own negotiation.
936
937 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
938
939         * docs/design/part-gstbin.txt:
940         * docs/design/part-gstpipeline.txt:
941           Update design notes to reflect the movement of
942           responsibility for bus handling from GstPipeline to
943           GstBin
944
945 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
946
947         * configure.ac:
948           Remove unnecessary queue2/3/4 examples.
949
950 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
951
952         * examples/Makefile.am:
953         * examples/helloworld/helloworld.c: (event_loop), (main):
954         * examples/queue/queue.c: (event_loop), (main):
955         * examples/queue2/queue2.c: (main):
956           Update a couple of the examples to work again.
957
958         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
959         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
960          Spelling corrections and extra debug.
961         
962         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
963         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
964         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
965         * gst/gstbin.h:
966         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
967         (gst_pipeline_change_state):
968         * gst/gstpipeline.h:
969           Move the bus handler for children to the GstBin, and create a
970           separate bus for receiving messages from children to the one the
971           bus sends 'upwards' on.
972
973 2005-07-06  Wim Taymans  <wim@fluendo.com>
974
975         * gst/base/README:
976         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
977         (gst_base_sink_handle_object), (gst_base_sink_loop),
978         (gst_base_sink_change_state):
979         * gst/base/gstbasesink.h:
980         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
981         (gst_base_src_init), (gst_base_src_setcaps),
982         (gst_base_src_getcaps), (gst_base_src_loop),
983         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
984         (gst_base_src_start), (gst_base_src_change_state):
985         * gst/base/gstbasesrc.h:
986         Make basesrc negotiate.
987         Handle the case where preroll fails in basesink.
988         Update README.
989
990 2005-07-06  Wim Taymans  <wim@fluendo.com>
991
992         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
993         Implement the fixate function.
994         Clean up acceptcaps.
995
996 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
997
998         * docs/pwg/building-filterfactory.xml:
999         * docs/pwg/pwg.xml:
1000           Remove never-written filter-factory chapter; I'll add the various
1001           base classes to part 4 ("other element types") later on.
1002
1003 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1004
1005         * docs/pwg/advanced-negotiation.xml:
1006         * docs/pwg/building-boiler.xml:
1007         * docs/pwg/building-pads.xml:
1008         * docs/pwg/pwg.xml:
1009         * examples/pwg/Makefile.am:
1010           Add a chapter on caps negotiation, simplify the original code
1011           samples a bit w.r.t. caps negotiation, add link to the advanced
1012           section. Add a bunch of examples showing different use cases of
1013           different types of caps negotiation. Upstream renegotiation isn't
1014           fully documented yet since nobody knows how that works.
1015
1016 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1017
1018         * check/gst/gstpad.c:
1019         * check/gstcheck.c:
1020         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1021           if pad has no parent, return NULL as list of internal links
1022
1023 2005-07-05  Andy Wingo  <wingo@pobox.com>
1024
1025         * gst/elements/gstfilesrc.c:
1026         * gst/elements/gstfakesrc.c: 
1027         * gst/base/gstpushsrc.c:
1028         * gst/base/gstbasesrc.h: 
1029         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1030         
1031 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1032
1033         * Makefile.am:
1034           better report generation target (lcov needs a patch)
1035
1036 2005-07-05  Andy Wingo  <wingo@pobox.com>
1037
1038         * gst/elements, testsuite: Null if we got it...
1039
1040 2005-07-05  Wim Taymans  <wim@fluendo.com>
1041
1042         * configure.ac:
1043         * libs/gst/dataprotocol/Makefile.am:
1044         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1045         * libs/gst/dataprotocol/dataprotocol.h:
1046         * pkgconfig/Makefile.am:
1047         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1048         * pkgconfig/gstreamer-dataprotocol.pc.in:
1049         Ported dataprotol to 0.9. 
1050         Added pkgconfig files.
1051
1052 2005-07-05  Andy Wingo  <wingo@pobox.com>
1053
1054         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1055         Default to returning TRUE for the case when tranform_caps returns
1056         a fixed caps, like for identity or volume.
1057
1058         * check/gst/gstbus.c (pound_bus_with_messages): 
1059         * check/gst/gstmessage.c (START_TEST): 
1060         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1061         message API change.
1062
1063         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1064         logic weaks here: always run transform_caps, trying passthrough
1065         operation only if the original caps intersects with the transform.
1066
1067         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1068         source and sink caps.
1069
1070         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1071         Intersect the peer caps with the pad template before going into
1072         transform_caps.
1073         (gst_base_transform_transform_caps): More debugging.
1074
1075         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1076         src argument.
1077
1078 2005-07-04  Edward Hervey  <edward@fluendo.com>
1079
1080         * gst/gstutils.c:
1081         * gst/gstutils.h:
1082         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1083         in bindings.
1084
1085 2005-07-04  Andy Wingo  <wingo@pobox.com>
1086
1087         * check/gst/gstpad.c: Only set explicit caps on pads.
1088
1089 2005-07-01  Andy Wingo  <wingo@pobox.com>
1090
1091         * tests/network-clock.scm: Commentary update.
1092
1093         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1094         Didn't really make sense, not implementable with basetransform,
1095         etc.
1096         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1097         attempt at implementing the sync property, needs an unlock method.
1098
1099         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1100         New func, by default returns the same caps (the identity
1101         transformation).
1102         (gst_base_transform_getcaps): Uses transform_caps to return
1103         something sensible.
1104         (gst_base_transform_setcaps): Complicated logic to get caps on
1105         both pads, even if they are different, and to call set_caps once
1106         for every time both pads get their caps set.
1107         (gst_base_transform_handle_buffer): Give the ref to the transform
1108         function. Allows in-place modification of the buffer.
1109
1110         * gst/base/gstbasetransform.h (transform_caps): New class method.
1111         Given caps on one side, what can I do on the other.
1112         (set_caps): Take two caps, one for each side of the element.
1113
1114         * gst/gstpad.h:
1115         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1116         caps in place. This is safe because we can check the mutability of
1117         the caps, and a good idea because fixate functions are just called
1118         as a matter of last resort. (Not actually implemented.)
1119         (gst_pad_set_caps): If the caps we're setting is actually the same
1120         as the existing pad caps, just update the pointer without calling
1121         setcaps. Assert that caps is either NULL or fixed, as per the
1122         docs.
1123
1124         * gst/gstghostpad.c: Update for fixate changes.
1125
1126 2005-07-02  Andy Wingo  <wingo@pobox.com>
1127
1128         * gst/gstcaps.c:
1129         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1130         two refcounts makes it immutable, which is enough. Doc more.
1131
1132 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1133
1134         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1135           Put the mini_object into GValue as a mini_object,
1136           not a gpointer, since that's how we declared
1137           the signal.
1138
1139 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1140
1141         * examples/pwg/Makefile.am:
1142           Fix buildbot again.
1143
1144 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1145
1146         * docs/pwg/building-testapp.xml:
1147           Add extra check.
1148         * examples/pwg/Makefile.am:
1149           Fix buildbot.
1150
1151 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1152
1153         * configure.ac:
1154         * examples/Makefile.am:
1155         * examples/pwg/Makefile.am:
1156         * examples/pwg/extract.pl:
1157           Enable building the PWG examples.
1158         * docs/pwg/advanced-interfaces.xml:
1159           Add URI interface stub.
1160         * docs/pwg/advanced-types.xml:
1161         * docs/pwg/other-autoplugger.xml:
1162         * docs/pwg/appendix-porting.xml:
1163         * docs/pwg/pwg.xml:
1164           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1165         * docs/pwg/building-boiler.xml:
1166         * docs/pwg/building-chainfn.xml:
1167         * docs/pwg/building-pads.xml:
1168         * docs/pwg/building-props.xml:
1169         * docs/pwg/building-state.xml:
1170         * docs/pwg/building-testapp.xml:
1171           Update the building-*.xml parts for 0.9 changes. All examples
1172           code blocks compile in examples/pwg/*.
1173
1174 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1175
1176         * docs/manual/advanced-autoplugging.xml:
1177         * docs/manual/appendix-checklist.xml:
1178         * docs/manual/appendix-integration.xml:
1179         * docs/manual/highlevel-components.xml:
1180           Fix playbin/decodebin examples, update docs a bit, mention bus
1181           instead of signals in various places, mention kmplayer and
1182           kaffeine since they have a working GStreamer backend in the KDE
1183           section.
1184
1185 2005-06-30  Wim Taymans  <wim@fluendo.com>
1186
1187         * CHANGES-0.9:
1188         * docs/design/draft-ghostpads.txt:
1189         * docs/design/draft-push-pull.txt:
1190         * docs/design/draft-query.txt:
1191         * docs/design/part-TODO.txt:
1192         * docs/design/part-query.txt:
1193         Added CHANGES-0.9 doc, updated status of other docs.
1194         
1195         * gst/gstquery.h:
1196         Remove "hmm" macro
1197
1198 2005-06-30  Wim Taymans  <wim@fluendo.com>
1199
1200         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1201         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1202         (gst_base_sink_change_state):
1203         * gst/base/gstbasesink.h:
1204         Some tweaks, only EOS and a buffer complete a preroll.
1205
1206 2005-06-30  Andy Wingo  <wingo@pobox.com>
1207
1208         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1209         activate_push down to the internal pad as well.
1210
1211 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1212
1213         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1214
1215         * gst/gsttaginterface.c:
1216           Some documentation fixes (#307394 and #307397).
1217
1218 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1219
1220         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1221
1222         * gst/gstvalue.c: (gst_value_intersect_list):
1223           Fix memleak (#309125).
1224
1225 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1226
1227         * docs/manual/advanced-dataaccess.xml:
1228           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1229         * docs/manual/basics-pads.xml:
1230           Add reference for filtered caps to above chapter.
1231
1232 2005-06-30  Wim Taymans  <wim@fluendo.com>
1233
1234         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1235         (gst_bin_change_state):
1236         Probes are gone.
1237         Lame attempt at making the state change function a bit
1238         more readable.
1239
1240 2005-06-30  Wim Taymans  <wim@fluendo.com>
1241
1242         * docs/design/part-clocks.txt:
1243         * docs/design/part-element-sink.txt:
1244         * docs/design/part-events.txt:
1245         * docs/design/part-preroll.txt:
1246         * docs/design/part-states.txt:
1247         Some more tweeks and additions to the docs.
1248
1249 2005-06-30  Wim Taymans  <wim@fluendo.com>
1250
1251         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1252         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1253         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1254         (gst_pad_check_pull_range), (gst_pad_get_range),
1255         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1256         * gst/gstpad.h:
1257         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1258         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1259         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1260         (gst_pad_remove_buffer_probe):
1261         Removed atomic operations, use existing LOCK.
1262         Move exception handling out of main code path.
1263
1264 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1265
1266         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1267         (silly_return_true_function), (gst_pad_class_init),
1268         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1269         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1270         (gst_pad_send_event):
1271           Fix accumulator, add default value by using _emitv() instead
1272           of _emit() for signal emission.
1273
1274 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1275
1276         * docs/manual/advanced-dataaccess.xml:
1277         * examples/manual/Makefile.am:
1278           Add probe example.
1279         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1280           Make work (??).
1281
1282 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1283
1284         * gst/elements/gstfilesink.c: (gst_filesink_render):
1285           Simplify code so that we don't have to handle short
1286           writes and return GST_FLOW_ERROR if an error occured.
1287
1288 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1289
1290         * docs/gst/gstreamer-docs.sgml:
1291           Remove probes more.
1292
1293 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1294
1295         * docs/gst/gstreamer-sections.txt:
1296         * docs/gst/tmpl/gstpad.sgml:
1297         * docs/gst/tmpl/gstprobe.sgml:
1298         * gst/Makefile.am:
1299         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1300         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1301         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1302         (gst_pad_push_event), (gst_pad_send_event):
1303         * gst/gstpad.h:
1304         * gst/gstutils.c: (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         * gst/gstutils.h:
1309           Remove old probes, add new g-signal-based probes and some utility
1310           functions.
1311
1312 2005-06-29  Edward Hervey  <edward@fluendo.com>
1313
1314         * gst/gstelementfactory.c:
1315         * gst/gstutils.h:
1316         * gst/gstutils.c:
1317         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1318         the definition to the header file.
1319
1320 2005-06-29  Andy Wingo  <wingo@pobox.com>
1321
1322         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1323         plugins from the source directory.
1324
1325 2005-06-29  Wim Taymans  <wim@fluendo.com>
1326
1327         * docs/gst/tmpl/gstbuffer.sgml:
1328         * docs/gst/tmpl/gstclock.sgml:
1329         Some fixings for blantently wrong text.
1330
1331 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1332
1333         * check/Makefile.am:
1334         * gst/gst.c: (add_path_func), (init_pre):
1335         * gst/gstregistry.c: (gst_registry_add_path):
1336           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1337           only scan the GST_PLUGIN_PATH locations, and not add
1338           system locations
1339
1340 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1341
1342         * docs/gst/gstreamer-sections.txt:
1343         * docs/gst/tmpl/gstbasesrc.sgml:
1344         * gst/gstelement.c:
1345         * gst/gstelement.h:
1346         * gst/gstevent.c:
1347         * gst/gstutils.c:
1348           doc fixes
1349
1350 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1351
1352         * docs/manual/advanced-autoplugging.xml:
1353           Fix autoplugging example.
1354
1355 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1356
1357         * docs/manual/advanced-autoplugging.xml:
1358         * docs/manual/mime-world.fig:
1359           Try to get autoplugging working, fix type detection. Fix text
1360           in hello-world image.
1361
1362 2005-06-29  Wim Taymans  <wim@fluendo.com>
1363
1364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1365         (gst_base_sink_change_state):
1366         Small debug line.
1367
1368         * gst/gstclock.h:
1369         map SIGNAL and BROADCAST to the right function.
1370
1371         * gst/gstobject.h:
1372         Remove redundant braces.
1373
1374         * gst/gstpad.c: (gst_pad_set_caps):
1375         Don't call setcaps function when reseting caps to NULL.
1376
1377         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1378         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1379         (gst_system_clock_id_unschedule):
1380         Use BROADCAST as this is what we do.
1381
1382 2005-06-29  Wim Taymans  <wim@fluendo.com>
1383
1384         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1385         We are actually prerolling before commiting the state
1386         change. 
1387
1388 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1389
1390         * docs/manual/advanced-clocks.xml:
1391         * docs/manual/advanced-interfaces.xml:
1392         * docs/manual/advanced-metadata.xml:
1393         * docs/manual/advanced-position.xml:
1394         * docs/manual/advanced-schedulers.xml:
1395         * docs/manual/advanced-threads.xml:
1396         * docs/manual/appendix-porting.xml:
1397         * docs/manual/basics-bins.xml:
1398         * docs/manual/basics-bus.xml:
1399         * docs/manual/basics-elements.xml:
1400         * docs/manual/basics-helloworld.xml:
1401         * docs/manual/basics-pads.xml:
1402         * docs/manual/highlevel-components.xml:
1403         * docs/manual/manual.xml:
1404         * docs/manual/thread.fig:
1405           Update (until threads/scheduling) Application Development Manual;
1406           remove GstThread, add GstBus, add simple porting checklist, add
1407           documentation for tag writing, clocks, make all examples until this
1408           part compile and run.
1409         * examples/manual/Makefile.am:
1410           Update from changes to Application Development Manual; add bus
1411           example, remove thread example.
1412
1413 2005-06-28  Wim Taymans  <wim@fluendo.com>
1414
1415         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1416         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1417         (gst_bus_source_dispatch):
1418         Add debugging messages.
1419         Make internal methods static.
1420         Handle the case where the bus is flushed in the handler.
1421         
1422         * gst/gstelement.c: (gst_element_get_bus):
1423         Fix refcount in _get_bus();
1424
1425         * gst/gstpipeline.c: (gst_pipeline_change_state),
1426         (gst_pipeline_get_clock_func):
1427         Clock refcounting fixes.
1428         Handle the case where preroll timed out more gracefully.
1429         
1430         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1431         Clean up the internal thread in dispose. This is needed
1432         for subclasses that actually get disposed.
1433         
1434         * gst/schedulers/threadscheduler.c:
1435         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1436         (gst_thread_scheduler_dispose):
1437         Free thread pool in dispose.
1438
1439 2005-06-28  Andy Wingo  <wingo@pobox.com>
1440
1441         * tests/network-clock-utils.scm (debug, print-event): New utils.
1442
1443         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1444         (*packet-loss*): Unified loss probability.
1445         (network-time): Report out-of-band events.
1446
1447         * tests/plot-data: Add support for out-of-band events. Hack it
1448         into this script instead of passing it down the pipe; should fix
1449         this later.
1450
1451 2005-06-28  Wim Taymans  <wim@fluendo.com>
1452
1453         * docs/gst/gstreamer.types:
1454         * docs/gst/tmpl/gstbasesrc.sgml:
1455         * docs/gst/tmpl/gstpad.sgml:
1456         Docs fixes.
1457
1458 2005-06-28  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1461         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1462         (gst_proxy_pad_do_fixatecaps):
1463         Correctly proxy the check_pull_range function.
1464
1465 2005-06-28  Andy Wingo  <wingo@pobox.com>
1466
1467         * tests/network-clock.scm: Removed need for slib.
1468         
1469 2005-06-28  Wim Taymans  <wim@fluendo.com>
1470
1471         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1472         (gst_basesink_preroll_queue_flush):
1473         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1474         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1475         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1476         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1477         (gst_proxy_pad_set_property):
1478         * gst/gstpad.c:
1479         * gst/gstpad.h:
1480         * gst/gstqueue.c: (gst_queue_init):
1481         The deprecated pad loop function is removed now.
1482
1483 2005-06-28  Andy Wingo  <wingo@pobox.com>
1484
1485         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1486         New parameters, simulate network packet loss.
1487
1488         * tests/network-clock-utils.scm: Initialize the RNG.
1489
1490 2005-06-28  Wim Taymans  <wim@fluendo.com>
1491
1492         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1493         (gst_basesink_event), (gst_basesink_deactivate):
1494         Flushing the preroll queue always needs to unlock the waiters.
1495
1496 2005-06-28  Edward Hervey  <edward@fluendo.com>
1497
1498         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1499         Wheen a seek was successful on a pipeline, set the stream_time to the
1500         seek offset in order to have a synchronized stream_time.
1501
1502 2005-06-28  Wim Taymans  <wim@fluendo.com>
1503
1504         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1505         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1506         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1507         (gst_proxy_pad_do_fixatecaps):
1508         Call wrapper function instead of just calling the function
1509         pointers. This takes care of any locking and whatmore.
1510
1511 2005-06-28  Wim Taymans  <wim@fluendo.com>
1512
1513         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1514         (gst_pad_pull_range):
1515         * gst/gstpad.h:
1516         CONNECTED -> LINKED.
1517
1518 2005-06-28  Andy Wingo  <wingo@pobox.com>
1519
1520         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1521         source-munging commit!!!
1522
1523         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1524         (gst_object_sink): Take gpointer arguments, not GstObject --
1525         avoids casts. Like GLib.
1526
1527         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1528         activate.
1529
1530 2005-06-27  Andy Wingo  <wingo@pobox.com>
1531
1532         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1533         remaining buffer.
1534
1535         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1536         returns a sorted copy of the trace list.
1537         (gst_alloc_trace_print_live): New API, only prints traces with
1538         live objects. Sort the list.
1539         (gst_alloc_trace_print_all): Sort the list.
1540         (gst_alloc_trace_print): Align columns.
1541
1542         * gst/elements/gstttypefindelement.c:
1543         * gst/elements/gsttee.c:
1544         * gst/base/gstbasesrc.c:
1545         * gst/base/gstbasesink.c:
1546         * gst/base/gstbasetransform.c:
1547         * gst/gstqueue.c: Adapt for pad activation changes.
1548
1549         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1550         sched.
1551         (gst_pipeline_dispose): Drop ref on sched.
1552
1553         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1554         (gst_pad_activate_default): Push mode by default.
1555         (pre_activate_switch, post_activate_switch): New stubs, things to
1556         do before and after switching activation modes on pads.
1557         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1558         the pad's activate function to choose which mode to activate.
1559         Shortcut on deactivation and call the right function directly.
1560         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1561         mode.
1562         (gst_pad_activate_push): New API, same for push mode.
1563         (gst_pad_set_activate_function) 
1564         (gst_pad_set_activatepull_function) 
1565         (gst_pad_set_activatepush_function): Setters for new API.
1566
1567         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1568         Trace all miniobjects.
1569         (gst_mini_object_make_writable): Unref the arg if we copy, like
1570         gst_caps_make_writable.
1571
1572         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1573
1574         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1575         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1576         Adapt for new pad API.
1577
1578         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1579
1580         * gst/gstelement.h:
1581         * gst/gstelement.c (gst_element_iterate_src_pads) 
1582         (gst_element_iterate_sink_pads): New API functions.
1583         
1584         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1585         should fold into gstiterator.c in some form.
1586         (gst_element_pads_activate): Simplified via use of fold and
1587         delegation of decisions to gstpad->activate.
1588
1589         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1590         help in debugging.
1591
1592         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1593         class once in init, like gstmessage. Didn't run into this issue
1594         but it seems correct. Don't initialize a trace, gstminiobject does
1595         that.
1596
1597         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1598         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1599         to the bus.
1600         (assert_live_count): New util function, uses alloc traces to check
1601         cleanup.
1602
1603         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1604         To be modified when unlink drops the internal pad.
1605
1606 2005-06-27  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1609         (gst_bin_change_state):
1610         Cleanup the get_state() function a little, make sure it
1611         iterates the same set of elements.
1612         Added stub iterate_state_order().
1613
1614 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1615
1616         * docs/gst/gstreamer-docs.sgml:
1617         * docs/gst/gstreamer-sections.txt:
1618         * docs/gst/gstreamer.types:
1619         * docs/gst/tmpl/gstbasesink.sgml:
1620         * docs/gst/tmpl/gstbasesrc.sgml:
1621         * docs/gst/tmpl/gstbasetransform.sgml:
1622         * docs/gst/tmpl/gstelement.sgml:
1623         * docs/gst/tmpl/gstiterator.sgml:
1624         * gst/base/gstbasesrc.c:
1625         * gst/base/gstbasesrc.h:
1626         * gst/base/gstbasetransform.h:
1627         * gst/gstelement.c:
1628         * gst/gstiterator.h:
1629           adding basetransform and iterator docs
1630
1631 2005-06-27  Andy Wingo  <wingo@pobox.com>
1632
1633         * docs/design/part-activation.txt: Notes on how activation should
1634         work -- not quite implemented yet.
1635
1636 2005-06-25  Wim Taymans  <wim@fluendo.com>
1637
1638         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1639         At least get the chain function correct, needs more
1640         fixing.
1641
1642 2005-06-25  Wim Taymans  <wim@fluendo.com>
1643
1644         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1645         (gst_basesink_handle_object), (gst_basesink_event),
1646         (gst_basesink_do_sync), (gst_basesink_handle_event),
1647         (gst_basesink_change_state):
1648         * gst/gsttask.h:
1649         Right, two problems here: ghostpads don't take locks and
1650         glib _rec_mutex_lock_full() with depth==0 still locks.
1651         Catch illegal locking and g_warn them.
1652
1653 2005-06-25  Wim Taymans  <wim@fluendo.com>
1654
1655         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1656         Have to check for completion now...
1657
1658 2005-06-25  Wim Taymans  <wim@fluendo.com>
1659
1660         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1661         (gst_basesink_handle_object), (gst_basesink_event),
1662         (gst_basesink_do_sync), (gst_basesink_handle_event),
1663         (gst_basesink_change_state):
1664         * gst/gstpad.h:
1665         Unlock STREAM_LOCK whatever the recursion was.
1666
1667 2005-06-25  Wim Taymans  <wim@fluendo.com>
1668
1669         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1670         (gst_basesink_preroll_queue_empty),
1671         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1672         (gst_basesink_event), (gst_basesink_do_sync),
1673         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1674         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1675         (gst_basesink_change_state):
1676         Reworked the base sink, handle event and buffer serialisation
1677         correctly and removed possible deadlock.
1678         Handle EOS correctly.
1679
1680 2005-06-25  Wim Taymans  <wim@fluendo.com>
1681
1682         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1683         (gst_pipeline_change_state):
1684         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1685         Allow elements to post EOS in the state change function.
1686         Fix up -launch, make it exit the poll loop when the
1687         pipeline actually changed state.
1688         Fix up warning parsing in -launch.
1689
1690 2005-06-25  Wim Taymans  <wim@fluendo.com>
1691
1692         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1693         (gst_tee_sink_activate):
1694         Core takes STREAM_LOCK for us now.
1695
1696 2005-06-25  Wim Taymans  <wim@fluendo.com>
1697
1698         * gst/gstelement.c: (gst_element_get_state_func),
1699         (gst_element_set_state):
1700         * gst/gstelement.h:
1701         * gst/gstmessage.c: (gst_message_parse_error),
1702         (gst_message_parse_warning):
1703         Keep track of current target state while performing a state
1704         change so that subclasses can do something interesting.
1705         Fix parsing of warning/error messages when GError is NULL.
1706
1707 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1708
1709         * docs/gst/Makefile.am:
1710         * docs/gst/gstreamer-docs.sgml:
1711         * docs/gst/gstreamer-sections.txt:
1712         * docs/gst/gstreamer.types:
1713         * docs/gst/tmpl/gstbasesink.sgml:
1714         * docs/gst/tmpl/gstbasesrc.sgml:
1715         * docs/gst/tmpl/gstbin.sgml:
1716         * docs/gst/tmpl/gstcompat.sgml:
1717         * docs/gst/tmpl/gstfakesink.sgml:
1718         * docs/gst/tmpl/gstfakesrc.sgml:
1719         * docs/gst/tmpl/gstfilesink.sgml:
1720         * docs/gst/tmpl/gstfilesrc.sgml:
1721         * docs/gst/tmpl/gstindex.sgml:
1722         * docs/manual/appendix-quotes.xml:
1723         * gst/base/gstbasesrc.h:
1724         * gst/elements/gstfakesrc.h:
1725         * gst/gstmessage.h:
1726           start pulling in base classes and elements in our docs
1727
1728 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1729
1730         * docs/gst/Makefile.am:
1731         * docs/libs/Makefile.am:
1732           fixed make distcheck with gtk-doc 1.3
1733
1734 2005-06-23  Wim Taymans  <wim@fluendo.com>
1735
1736         * gst/gstelement.c: (gst_element_get_state_func),
1737         (gst_element_set_state), (gst_element_change_state):
1738         When the state did not change, also report NO_PREROLL
1739         when it matters.
1740
1741 2005-06-23  Wim Taymans  <wim@fluendo.com>
1742
1743         * gst/gstpad.c: (gst_pad_event_default):
1744         * gst/gstqueue.c: (gst_queue_loop):
1745         No unsafe task pausing please.
1746
1747 2005-06-23  Wim Taymans  <wim@fluendo.com>
1748
1749         * gst/schedulers/threadscheduler.c:
1750         (gst_thread_scheduler_task_start),
1751         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1752         Ref the task before pushing it on the threadpool. This
1753         makes sure that we have a ref when the threadfunction is
1754         actually called.
1755
1756 2005-06-23  Andy Wingo  <wingo@pobox.com>
1757
1758         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1759         offset is greater than the file's size.
1760
1761         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1762         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1763         * gst/gstobject.c (gst_object_class_init): Make the class lock
1764         recursive. Wim won't let me drop deep_notify. Decodebin works
1765         again, whoopdy doo.
1766
1767         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1768         internal pad, and hacks accordingly. Doesn't do it on the target
1769         pad because we change its caps. Probably catches all cases of
1770         interest tho.
1771         (gst_ghost_pad_set_property): Connect to notify::caps as
1772         appropritate.
1773
1774         * tests/network-clock.scm (plot-simulation): Pipe data to the
1775         elite python skript.
1776
1777         * tests/network-clock-utils.scm (define-parameter): New macro,
1778         defines a parameter that can be set via the command line.
1779         (set-parameter!, parse-parameter-arguments): Command line args
1780         parser.
1781
1782         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1783         stdin.
1784
1785 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1786
1787         * gst/elements/gsttypefindelement.c:
1788         (gst_type_find_element_handle_event):
1789           Don't restart typefinding on a discont.
1790         * gst/gstelement.c: (gst_element_set_state):
1791           Debug spelling fix.
1792         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1793           Allow changing mode of an active pad.
1794           Debug output fixes.
1795         * gst/registries/gstlibxmlregistry.c: (load_feature):
1796           Don't cast a static pad template to a normal pad template.
1797
1798 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1799
1800         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1801         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1802           remove gst_strtoll completely, since it didn't actually do
1803           anything more than what g_ascii_strtoull already does.
1804           check for range errors when deserializing
1805           do a cast for the unsigned cases; but further fixing needs
1806           a decision on what the interpretation of "(int)" and
1807           deserialization should be for values that fall outside the
1808           type's boundaries (ie, refuse, or interpret as casting)
1809
1810 2005-06-23  Wim Taymans  <wim@fluendo.com>
1811
1812         * check/Makefile.am:
1813         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1814         * docs/design/part-live-source.txt:
1815         * docs/design/part-states.txt:
1816         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1817         (gst_basesrc_set_live), (gst_basesrc_is_live),
1818         (gst_basesrc_get_range), (gst_basesrc_activate),
1819         (gst_basesrc_change_state):
1820         * gst/base/gstbasesrc.h:
1821         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1822         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1823         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1824         * gst/gstelement.c: (gst_element_get_state_func),
1825         (gst_element_set_state):
1826         * gst/gstelement.h:
1827         * gst/gsttypes.h:
1828         * tools/gst-launch.c: (event_loop), (main):
1829         Added support for live sources and other elements that
1830         cannot do preroll.
1831         Updated design docs, added live-source design doc.
1832         Implemented live source functionality in basesrc
1833         Fix error condition in _bin_get_state()
1834         Implement live source handling in -launch.
1835         Added check for live sources.
1836         Fixed case in GstBin where elements were changed state
1837         multiple times.
1838
1839
1840 2005-06-23  Andy Wingo  <wingo@pobox.com>
1841
1842         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1843         borken refcounting.
1844
1845         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1846         gst_caps_replace takes care of this for us.
1847
1848         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1849         gst_pad_set_caps on the target, not just its setcaps() function.
1850
1851         * tests/network-clock.scm: 
1852         * tests/network-clock-utils.scm: A network clock simulator.
1853         Something of an algorithmic testbed before doing something in C.
1854
1855 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         * check/Makefile.am:
1858         * check/gst/capslist.h:
1859           copy over from 0.8, and add two with bitmasks specified with
1860           (int) 0xFF...
1861         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1862           add test to parse everything from capslist.h
1863         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1864         (main):
1865           add test for structure deserialization
1866         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1867           add tests for deserialization of strings to int types
1868         * gst/gststructure.c: (gst_structure_nth_field_name):
1869         * gst/gststructure.h:
1870           add a way to get the name of a field referenced by index
1871         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1872           instead of checking if the resulting long long lies between
1873           min and max, we check if the long long would fit into
1874           a number of bytes for the final type.
1875           This fixes cases where a string represents 2^32 - 1, which
1876           when cast to int would be the (valid) -1, but is bigger than
1877           G_MAXINT
1878
1879 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1880
1881         * gst/parse/grammar.y:
1882           add a log line for type deserialization
1883
1884 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1885
1886         * check/gst/gstvalue.c: (START_TEST):
1887         * gst/gstvalue.c: (gst_value_deserialize):
1888           return long long, not int, so gint64 deserialization actually
1889           works.  Is there any flag that makes the compiler check this ?
1890           Fixes #308559
1891
1892 2005-06-22  Wim Taymans  <wim@fluendo.com>
1893
1894         * gst/gstbuffer.h:
1895         Added convenience macros for setting buffers in GValue.
1896
1897 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1898
1899         * check/gst/.cvsignore:
1900         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1901           add a test deserializing int64, and comment part out because
1902           it fails, yay !
1903
1904 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * check/Makefile.am:
1907         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1908         * testsuite/Makefile.am:
1909         * testsuite/caps/Makefile.am:
1910         * testsuite/caps/value_serialize.c:
1911         * testsuite/test_gst_init.c:
1912           move a value_serialize test over
1913
1914 2005-06-20  Wim Taymans  <wim@fluendo.com>
1915
1916         * gst/gstpad.c:
1917         Small doc updates.
1918         
1919         * gst/gstvalue.c: (gst_value_compare_buffer),
1920         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1921         (gst_value_compare_flags), (gst_value_serialize_flags),
1922         (gst_value_deserialize_flags), (_gst_value_initialize):
1923         Fix serialisation of buffers, they are not boxed types anymore
1924
1925 2005-06-20  Wim Taymans  <wim@fluendo.com>
1926
1927         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1928         Testcase to show error in buffer-on-caps serialisation.
1929
1930 2005-06-20  Andy Wingo  <wingo@pobox.com>
1931
1932         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1933         will be adding to later.
1934
1935         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1936         if its socks fill with rocks.
1937         (gst_system_clock_obtain): Set the name on object construction.
1938         Avoid double-checked locking.
1939
1940 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1941
1942         * gst/gsturi.c: (gst_element_make_from_uri):
1943           Fix potential endless loop.
1944
1945 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1946
1947         * check/Makefile.am:
1948           add gsttag
1949         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1950         (main):
1951           move over from testsuite dir and clean up
1952         * configure.ac:
1953         * gst/gsttag.c:
1954         * testsuite/Makefile.am:
1955         * testsuite/tags/.cvsignore:
1956         * testsuite/tags/Makefile.am:
1957         * testsuite/tags/merge.c:
1958           remove testsuite/tags
1959
1960 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1961
1962         * docs/gst/gstreamer-sections.txt:
1963         * docs/gst/tmpl/gstenumtypes.sgml:
1964         * win32/gstenumtypes.c:
1965           clean up documentation build a little
1966
1967 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1968
1969         * check/gstcheck.h:
1970           add macros for checking refcounts on objects and caps
1971         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1972           add some more unit tests
1973         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1974         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1975           fix leaked refcounts (I hope :)) so unittest works
1976         * gst/gstpad.h:
1977           whitespace removal
1978
1979 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1980
1981         * configure.ac: back to HEAD
1982
1983 === release 0.9.1 ===
1984
1985 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1986
1987         * NEWS:
1988         * RELEASE:
1989           updated
1990
1991 2005-06-17  Andy Wingo  <wingo@pobox.com>
1992
1993         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1994         assert; it's always possible that the pad gets deactivated in
1995         between the checks in gstpad.c and the implementation. Rely on
1996         finish_preroll() to return a FLUSHING or similar instead of on the
1997         assert.
1998         
1999         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2000         clock and post an EOS message if we come out of finish_preroll in
2001         the playing state.
2002
2003 2005-06-16  David Schleef  <ds@schleef.org>
2004
2005         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2006         (gst_capsfilter_set_property): Allow NULL as possible value
2007         for filter_caps property, indicating GST_CAPS_ANY.
2008
2009 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2010
2011         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2012           fix debug output
2013         * gst/schedulers/Makefile.am:
2014           use libgst prefix
2015         * gstreamer.spec.in:
2016           fix spec for it
2017
2018 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2019
2020         * gstreamer.spec.in:
2021           clean up
2022
2023 2005-06-08  Andy Wingo  <wingo@pobox.com>
2024
2025         * gst/gstutils.c: RPAD fixes all around.
2026         (gst_element_link_pads): Refcounting fixes.
2027
2028         * tools/gst-inspect.c:
2029         * tools/gst-xmlinspect.c:
2030         * parse/grammar.y:
2031         * gst/base/gsttypefindhelper.c:
2032         * gst/base/gstbasesink.c:
2033         * gst/gstqueue.c: RPAD fixes.
2034
2035         * gst/gstghostpad.h:
2036         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2037         pads. The tricky thing is they provide both source and sink
2038         interfaces, since they proxy the internal pad for the external
2039         pad, and vice versa. Implement with lower-level ProxyPad objects,
2040         with the interior proxy pad as a child of the exterior ghost pad.
2041         Should write a doc on this.
2042         
2043         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2044         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2045         gst_object API.
2046         
2047         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2048         pads are real pads. No ghost pads in this file. Not documenting
2049         the myriad s/RPAD/PAD/ and REALIZE fixes.
2050         (gst_pad_class_init): Add properties for "direction" and
2051         "template". Both are construct-only, so they can't change during
2052         the life of the pad. Fixes properly deriving from GstPad.
2053         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2054         derived objects, just set properties when creating the objects via
2055         g_object_new.
2056         (gst_pad_get_parent): Implement as a function, return NULL if the
2057         parent is not an element.
2058         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2059         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2060         
2061         * gst/gstobject.c (gst_object_class_init): Make name a construct
2062         property. Don't set it in the object init.
2063
2064         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2065         with UNKNOWN direction.
2066         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2067         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2068         (gst_element_remove_pad): Remove ghost-pad special cases.
2069         (gst_element_pads_activate): Remove rpad cruft.
2070
2071         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2072         catch the pad's-parent-not-an-element case.
2073
2074         * gst/gst.h: Include gstghostpad.h.
2075
2076         * gst/gst.c (init_post): No more real, ghost pads.
2077
2078         * gst/Makefile.am: Add gstghostpad.[ch].
2079
2080         * check/Makefile.am:
2081         * check/gst/gstbin.c:
2082         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2083         into a bin creates ghost pads, and that the refcounts are right.
2084         Partly moved from gstbin.c.
2085
2086 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2087
2088         * check/gst-libs/.cvsignore:
2089         * check/gst/.cvsignore:
2090         * check/pipelines/.cvsignore:
2091           ignore more
2092         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2093         (START_TEST), (cleanup_suite), (main):
2094           add some tests related to cleanup after running pipelines
2095
2096 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2097
2098         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2099           add a testsuite for GstBuffer
2100
2101 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2102
2103         * gst/gstminiobject.h:
2104           add defines for accessing the refcount
2105
2106 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2107
2108         * Makefile.am: added support for html unit test coverage reports
2109
2110 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2111
2112         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2113           Free existing caps if the capsfilter changes. Add a FIXME about
2114           setting those caps on the pads.
2115
2116         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2117           Before adding a ghost pad to a parent bin, check that there isn't
2118           already one for the element on the bin. Prevents infinite recursion
2119           when using decodebin in parse pipelines. Andy says he'll rewrite the
2120           way this works anyway, so ignore the hack.
2121
2122 2005-06-02  Andy Wingo  <wingo@pobox.com>
2123
2124         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2125         file size, pass it on to the type find helper.
2126
2127         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2128         segment_start and segment_end properly according to the seek
2129         method. Segment_end is still a bit flaky because offset can be
2130         negative for CUR and END cases, but it takes -1 as an "unset"
2131         value.
2132
2133 2005-06-02  Wim Taymans  <wim@fluendo.com>
2134
2135         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2136         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2137         (gst_basesink_activate):
2138         * gst/base/gstbasesink.h:
2139         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2140         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2141         (gst_pad_query), (gst_pad_start_task):
2142         * gst/gstpad.h:
2143         * gst/gstqueue.c: (gst_queue_bufferalloc),
2144         (gst_queue_handle_sink_event), (gst_queue_chain):
2145         Bufferalloc: return GstFlowReturn to more accuratly report
2146         why allocation failed.
2147
2148 2005-06-02  Wim Taymans  <wim@fluendo.com>
2149
2150         * gst/gstpipeline.c: (gst_pipeline_send_event):
2151         Take snapshot of state without blocking.
2152
2153 2005-06-02  Wim Taymans  <wim@fluendo.com>
2154
2155         * docs/design/part-TODO.txt:
2156         * docs/design/part-caps.txt:
2157         * docs/design/part-clocks.txt:
2158         * docs/design/part-negotiation.txt:
2159         * docs/design/part-preroll.txt:
2160         Small doc updates 
2161
2162 2005-05-30  Wim Taymans  <wim@fluendo.com>
2163
2164         * gst/elements/gstidentity.c: (gst_identity_event),
2165         (gst_identity_transform), (gst_identity_get_property):
2166         Protect last_message property as it is accessed from
2167         multiple threads.
2168
2169 2005-05-30  Wim Taymans  <wim@fluendo.com>
2170
2171         * gst/gstelement.c: (gst_element_init),
2172         (gst_element_pads_activate), (gst_element_change_state):
2173         Slicker pad activation code.
2174
2175 2005-05-30  Wim Taymans  <wim@fluendo.com>
2176
2177         * gst/Makefile.am:
2178         * gst/gstelement.h:
2179         * gst/gstelementfactory.h:
2180         * gst/gsttypes.h:
2181         Move elementfactory methods to separate .h file.
2182
2183 2005-05-30  Wim Taymans  <wim@fluendo.com>
2184
2185         * docs/design/part-overview.txt:
2186         * gst/gstsystemclock.h:
2187         Small typo fixes, doc updates.
2188
2189 2005-05-30  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2192         (init_popt_callback):
2193         Remove cpu-opt flag.
2194
2195 2005-05-30  Wim Taymans  <wim@fluendo.com>
2196
2197         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2198         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2199         * gst/gstbuffer.h:
2200         Avoid typechecking in places where not needed.
2201         Added accessor for malloc_data.
2202
2203 2005-05-30  Wim Taymans  <wim@fluendo.com>
2204
2205         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2206         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2207         (gst_pad_configure_sink), (gst_pad_configure_src),
2208         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2209         (gst_pad_start_task):
2210         Propagate errors from _set_caps() in configure_src/sink
2211         functions instead of returning TRUE.
2212         FLUSH events can travel up and downstream
2213
2214
2215 2005-05-30  Wim Taymans  <wim@fluendo.com>
2216
2217         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2218         (gst_basesink_activate):
2219         Handle EOS in preroll.
2220
2221 2005-05-30  Wim Taymans  <wim@fluendo.com>
2222
2223         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2224         (gst_queue_loop), (gst_queue_handle_src_event):
2225         Remove old pieces of code
2226         Flushing the queue in an upstream event is a very bad idea.
2227
2228 2005-05-26  Andy Wingo  <wingo@pobox.com>
2229
2230         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2231         gst_value_set_mini_object so as to add a ref on the object (which
2232         will be removed when the value is unset).
2233
2234         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2235         arg type in ::handoff.
2236
2237         * gst/gstelement.c (gst_element_change_state): Also deactivate
2238         pads in READY->NULL, just in case the element didn't make it to
2239         PAUSED. Wingo tested, Wim approved.
2240
2241 2005-05-26  Wim Taymans  <wim@fluendo.com>
2242
2243         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2244         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2245         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2246         A flushing pad cannot be used to alloc_buffer from.
2247
2248 2005-05-26  Wim Taymans  <wim@fluendo.com>
2249
2250         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2251         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2252         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2253         (gst_bus_create_watch), (gst_bus_add_watch_full):
2254         * gst/gstbus.h:
2255         Implement a real GSource and use g_main_context_wakeup() to
2256         signal new messages instead of the socketpair.
2257
2258 2005-05-25  Wim Taymans  <wim@fluendo.com>
2259
2260         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2261         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2262         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2263         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2264         (gst_pad_send_event), (gst_pad_start_task):
2265         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2266         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2267         (gst_queue_sink_activate), (gst_queue_src_activate),
2268         (gst_queue_change_state):
2269         * gst/gstqueue.h:
2270         Fix state changes for non sinks. We now change sinks, then elements
2271         with unconnected srcpads, then the rest.
2272         More efficient queue unlocking in flush and state changes.
2273         Set the pad activate mode even if it does not have an activate
2274         function.
2275
2276 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2277
2278         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2279           Don't go in pull mode for non-seekable sources.
2280         * gst/elements/gsttypefindelement.h:
2281         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2282         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2283         (free_entry), (stop_typefinding),
2284         (gst_type_find_element_handle_event), (find_peek),
2285         (gst_type_find_element_chain), (do_pull_typefind),
2286         (gst_type_find_element_change_state):
2287           Allow typefinding (w/o seeking) in push-mode, simplified version
2288           of what was in 0.8.
2289         * gst/gstutils.c: (gst_buffer_join):
2290         * gst/gstutils.h:
2291           gst_buffer_join() from 0.8.
2292
2293 2005-05-25  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2296         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2297         (gst_pad_send_event), (gst_pad_start_task):
2298         Disable attempt at mode switching until it is figured out.
2299
2300 2005-05-25  Wim Taymans  <wim@fluendo.com>
2301
2302         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2303         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2304         (gst_basesink_finish_preroll), (gst_basesink_chain),
2305         (gst_basesink_loop), (gst_basesink_activate),
2306         (gst_basesink_change_state):
2307         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2308         (gst_basesrc_get_range), (gst_basesrc_loop),
2309         (gst_basesrc_activate):
2310         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2311         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2312         (gst_real_pad_init), (gst_real_pad_set_property),
2313         (gst_real_pad_get_property), (gst_pad_set_active),
2314         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2315         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2316         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2317         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2318         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2319         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2320         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2321         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2322         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2323         (gst_pad_stop_task):
2324         * gst/gstpad.h:
2325         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2326         (gst_queue_loop), (gst_queue_src_activate):
2327         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2328         (gst_task_get_state):
2329         * gst/gsttask.h:
2330         * gst/schedulers/threadscheduler.c:
2331         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2332         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2333         in task function.
2334         Remove ACTIVE pad flag, use FLUSHING everywhere
2335         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2336         functions.
2337         Add locks around IS_FLUSHING when reading.
2338         Take STREAM lock in chain(), get_range() functions so plugins
2339         don't need to take it anymore.
2340         
2341
2342
2343 2005-05-25  Wim Taymans  <wim@fluendo.com>
2344
2345         * tools/gst-launch.c: (event_loop):
2346         Unref message after using its contents instead of
2347         before.
2348
2349 2005-05-24  Wim Taymans  <wim@fluendo.com>
2350
2351         * docs/design/draft-ghostpads.txt:
2352         * docs/design/draft-push-pull.txt:
2353         * docs/design/draft-query.txt:
2354         * docs/design/part-overview.txt:
2355         Docs updates, added general overview doc.
2356
2357 2005-05-21  David Schleef  <ds@schleef.org>
2358
2359         * docs/gst/tmpl/old/GstBin.sgml:
2360         * docs/gst/tmpl/old/GstBuffer.sgml:
2361         * docs/gst/tmpl/old/GstCaps.sgml:
2362         * docs/gst/tmpl/old/GstClock.sgml:
2363         * docs/gst/tmpl/old/GstCompat.sgml:
2364         * docs/gst/tmpl/old/GstData.sgml:
2365         * docs/gst/tmpl/old/GstElement.sgml:
2366         * docs/gst/tmpl/old/GstEvent.sgml:
2367         * docs/gst/tmpl/old/GstIndex.sgml:
2368         * docs/gst/tmpl/old/GstStructure.sgml:
2369         * docs/gst/tmpl/old/GstTag.sgml:
2370         * docs/gst/tmpl/old/cothreads.sgml:
2371         * docs/gst/tmpl/old/cothreads_compat.sgml:
2372         * docs/gst/tmpl/old/gettext.sgml:
2373         * docs/gst/tmpl/old/gobject2gtk.sgml:
2374         * docs/gst/tmpl/old/grammar.tab.sgml:
2375         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2376         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2377         * docs/gst/tmpl/old/gst_private.sgml:
2378         * docs/gst/tmpl/old/gstaggregator.sgml:
2379         * docs/gst/tmpl/old/gstarch.sgml:
2380         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2381         * docs/gst/tmpl/old/gstbufferstore.sgml:
2382         * docs/gst/tmpl/old/gstdata_private.sgml:
2383         * docs/gst/tmpl/old/gstdisksink.sgml:
2384         * docs/gst/tmpl/old/gstdisksrc.sgml:
2385         * docs/gst/tmpl/old/gstelementfactory.sgml:
2386         * docs/gst/tmpl/old/gstextratypes.sgml:
2387         * docs/gst/tmpl/old/gstfakesink.sgml:
2388         * docs/gst/tmpl/old/gstfakesrc.sgml:
2389         * docs/gst/tmpl/old/gstfdsink.sgml:
2390         * docs/gst/tmpl/old/gstfdsrc.sgml:
2391         * docs/gst/tmpl/old/gstfilesink.sgml:
2392         * docs/gst/tmpl/old/gstfilesrc.sgml:
2393         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2394         * docs/gst/tmpl/old/gstidentity.sgml:
2395         * docs/gst/tmpl/old/gstindexfactory.sgml:
2396         * docs/gst/tmpl/old/gstmarshal.sgml:
2397         * docs/gst/tmpl/old/gstmd5sink.sgml:
2398         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2399         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2400         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2401         * docs/gst/tmpl/old/gstpipefilter.sgml:
2402         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2403         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2404         * docs/gst/tmpl/old/gstshaper.sgml:
2405         * docs/gst/tmpl/old/gstspider.sgml:
2406         * docs/gst/tmpl/old/gstspideridentity.sgml:
2407         * docs/gst/tmpl/old/gststatistics.sgml:
2408         * docs/gst/tmpl/old/gsttee.sgml:
2409         * docs/gst/tmpl/old/gsttimecache.sgml:
2410         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2411         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2412         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2413         * docs/gst/tmpl/old/types.sgml:
2414           I didn't intend to add these or check them in.
2415
2416 2005-05-19  David Schleef  <ds@schleef.org>
2417
2418         * configure.ac: Use -no-common everywhere.  In a sane world, it
2419           would be the default in libtool, because without it, you can't
2420           build DLLs on Windows.
2421         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2422         * docs/gst/gstreamer-sections.txt:
2423         * docs/gst/tmpl/gstcpu.sgml:
2424         * docs/gst/tmpl/gstdata.sgml:
2425         * docs/gst/tmpl/gstthread.sgml:
2426
2427 2005-05-19  David Schleef  <ds@schleef.org>
2428
2429         * gst/gstminiobject.c: (gst_value_set_mini_object),
2430         (gst_value_take_mini_object), (gst_value_get_mini_object):
2431         * gst/gstminiobject.h: Add GValue set/get functions.
2432
2433 2005-05-19  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2436         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2437         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2438         * gst/gstbuffer.h:
2439         * gst/gstbus.c: (gst_bus_post):
2440         * gst/gstelement.c: (gst_element_get_random_pad):
2441         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2442         Make subbufer unref the parent in finalize.
2443         some more debugging info.
2444
2445
2446 2005-05-19  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2449         (gst_basesink_init), (gst_basesink_finalize),
2450         (gst_basesink_activate), (gst_basesink_change_state):
2451         Don't free preroll queue too early.
2452
2453 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2454
2455         * gst/Makefile.am:
2456         * gst/ROADMAP:
2457           Hi, I'm outdated. Please shoot me.
2458
2459 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2460
2461         * gst/gstpipeline.c: (gst_pipeline_send_event):
2462           Do not access variables after they have been deleted.
2463
2464 2005-05-19  Wim Taymans  <wim@fluendo.com>
2465
2466         * tools/gst-inspect.c: (print_plugin_features):
2467         A plugin feature does unfortunatly not use the
2468         object name yet...
2469
2470 2005-05-18  Wim Taymans  <wim@fluendo.com>
2471
2472         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2473         Port _span() functions to new subbuffers.
2474
2475 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2476
2477         * gst/gstbin.c: (gst_bin_add_func):
2478           Fix clock settery in bins when adding kids after the clock has
2479           been selected.
2480
2481 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2482
2483         * gst/elements/gstidentity.c: (gst_identity_class_init):
2484           Workaround until signals support GstMiniObject.
2485
2486 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2487
2488         * gst/gstbuffer.c:
2489         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2490
2491 2005-05-18  Wim Taymans  <wim@fluendo.com>
2492
2493         * gst/base/Makefile.am:
2494         * gst/base/gstadapter.c: (gst_adapter_base_init),
2495         (gst_adapter_class_init), (gst_adapter_init),
2496         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2497         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2498         (gst_adapter_flush), (gst_adapter_available),
2499         (gst_adapter_available_fast):
2500         * gst/base/gstadapter.h:
2501         Ported and added adapter to the base classes.
2502
2503 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2504
2505         * gst/gst.c:
2506         * gst/gstmessage.c:
2507           Make sure the class is reffed/unreffed once before threads can be
2508           used.  Fixes #304551.
2509
2510 2005-05-17  Wim Taymans  <wim@fluendo.com>
2511
2512         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2513         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2514         * gst/gstminiobject.c: (gst_mini_object_get_type),
2515         (gst_mini_object_free):
2516         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2517         (gst_pad_push), (gst_pad_push_event):
2518         * gst/gstqueue.c: (gst_queue_change_state):
2519         Don't queue buffers in basesink when we are flushing.
2520         Unref buffer when flushing in basesink.
2521         Flush queue when going to READY
2522         Unref buffer when _push() returns an error.
2523         Don't free MiniObject instance when refcount is incremented
2524         in _finalize() so that we can recover objects.
2525
2526 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         * docs/manual/advanced-schedulers.xml:
2529         * docs/manual/appendix-checklist.xml:
2530         * docs/pwg/advanced-clock.xml:
2531         * docs/pwg/advanced-interfaces.xml:
2532         * docs/pwg/advanced-request.xml:
2533         * docs/pwg/advanced-types.xml:
2534         * docs/pwg/intro-preface.xml:
2535         * examples/plugins/example.c: (gst_example_get_type),
2536         (gst_example_class_init), (gst_example_chain),
2537         (gst_example_set_property), (gst_example_get_property),
2538         (gst_example_change_state), (plugin_init):
2539         * examples/plugins/example.h:
2540           small doc fixes
2541
2542 2005-05-17  Wim Taymans  <wim@fluendo.com>
2543
2544         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2545         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2546         * gst/gstqueue.c: (gst_queue_change_state):
2547         Clear queue when going to READY.
2548         Remove IN_SETCAPS flag too.
2549
2550 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2551
2552         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2553           Remove implicit cast from gboolean to GstElementStateReturn;
2554           make sure we still return failure in paused => ready case if
2555           the parent class fails to change state and our own stop 
2556           vfunc succeeds.
2557
2558 2005-05-17  Wim Taymans  <wim@fluendo.com>
2559
2560         * tools/gst-launch.c: (event_loop):
2561         Message was unreffed too soon.
2562
2563 2005-05-16  Andy Wingo  <wingo@pobox.com>
2564
2565         * gst/gstbin.c (sink_iterator_filter): Err... um...
2566
2567         * check/gst/gstbin.c (test_ghost_pads): New test for the
2568         ghosting-if-elements-not-in-same-bin behavior.
2569
2570 2005-05-16  David Schleef  <ds@schleef.org>
2571
2572         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2573         accessing refcount directly.
2574
2575 2005-05-15  David Schleef  <ds@schleef.org>
2576
2577         * check/Makefile.am: remove GstData checks
2578         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2579         * gst/Makefile.am: add miniobject, remove data
2580         * gst/gst.h: add miniobject, remove data
2581         * gst/gstdata.c: remove
2582         * gst/gstdata.h: remove
2583         * gst/gstdata_private.h: remove
2584         * gst/gsttypes.h: remove GstEvent and GstMessage
2585         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2586         * gst/gstmarshal.list: change BOXED -> OBJECT
2587
2588         Implement GstMiniObject.
2589         * gst/gstminiobject.c:
2590         * gst/gstminiobject.h:
2591
2592         Modify to be subclasses of GstMiniObject.
2593         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2594         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2595         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2596         (gst_subbuffer_get_type), (gst_subbuffer_init),
2597         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2598         (gst_buffer_span):
2599         * gst/gstbuffer.h:
2600         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2601         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2602         (_gst_event_copy), (gst_event_new):
2603         * gst/gstevent.h:
2604         * gst/gstmessage.c: (_gst_message_initialize),
2605         (gst_message_get_type), (gst_message_class_init),
2606         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2607         (gst_message_new), (gst_message_new_error),
2608         (gst_message_new_warning), (gst_message_new_tag),
2609         (gst_message_new_state_changed), (gst_message_new_application):
2610         * gst/gstmessage.h:
2611         * gst/gstprobe.c: (gst_probe_perform),
2612         (gst_probe_dispatcher_dispatch):
2613         * gst/gstprobe.h:
2614         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2615         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2616         (_gst_query_copy), (gst_query_new):
2617
2618         Update elements for GstData -> GstMiniObject changes
2619         * gst/gstquery.h:
2620         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2621         (gst_queue_chain), (gst_queue_loop):
2622         * gst/elements/gstbufferstore.c:
2623         (gst_buffer_store_add_buffer_func),
2624         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2625         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2626         (gst_fakesink_render):
2627         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2628         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2629         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2630         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2631         (gst_filesrc_create_read):
2632         * gst/elements/gstidentity.c: (gst_identity_class_init):
2633         * gst/elements/gsttypefindelement.c:
2634         (gst_type_find_element_src_event), (free_entry_buffers),
2635         (gst_type_find_element_handle_event):
2636         * libs/gst/dataprotocol/dataprotocol.c:
2637         (gst_dp_header_from_buffer):
2638         * libs/gst/dataprotocol/dataprotocol.h:
2639         * libs/gst/dataprotocol/dp-private.h:
2640
2641 2005-05-15  David Schleef  <ds@schleef.org>
2642
2643         * gst/elements/gstelements.c: Don't include headers that were
2644         just removed.
2645
2646 2005-05-15  David Schleef  <ds@schleef.org>
2647
2648         * gst/elements/Makefile.am: Remove some elements that don't
2649         need to be in the core (or even exist at all).
2650         * gst/elements/gstaggregator.c:
2651         * gst/elements/gstaggregator.h:
2652         * gst/elements/gstmd5sink.c:
2653         * gst/elements/gstmd5sink.h:
2654         * gst/elements/gstmultifilesrc.c:
2655         * gst/elements/gstmultifilesrc.h:
2656         * gst/elements/gstpipefilter.c:
2657         * gst/elements/gstpipefilter.h:
2658         * gst/elements/gstshaper.c:
2659         * gst/elements/gstshaper.h:
2660         * gst/elements/gststatistics.c:
2661         * gst/elements/gststatistics.h:
2662         * po/POTFILES.in: Remove above files.
2663
2664 2005-05-14  Andy Wingo  <wingo@pobox.com>
2665
2666         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2667         so as to get the refs right.
2668         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2669         unreffing objects that don't pass the filter.
2670
2671         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2672         gst_element_set_bus.
2673         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2674         normal cases, this will destroy the bus.
2675
2676         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2677         object.
2678
2679         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2680         has no sinks.
2681
2682 2005-05-13  Andy Wingo  <wingo@pobox.com>
2683
2684         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2685         gst_pad_link, call pad_link_maybe_ghosting,
2686         (pad_link_maybe_ghosting): Links pads, making sure that the
2687         elements being linked are in the same bin.
2688         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2689         Helpers for pad_link_maybe_ghosting.
2690
2691 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2692
2693         * configure.ac:
2694           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2695
2696 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2697
2698         * docs/design/part-element-source.txt:
2699           Mention GstPushSrc
2700
2701 2005-05-12  Wim Taymans  <wim@fluendo.com>
2702
2703         * gst/base/gstbasesink.c: (gst_basesink_init),
2704         (gst_basesink_activate):
2705         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2706         (gst_basesrc_is_seekable):
2707         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2708         (bin_element_is_sink), (gst_bin_change_state):
2709         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2710         * gst/gstelement.h:
2711         Identify sinks by their flag to avoid overly complicated
2712         checks (fow now).
2713         Do state changes even for elements not reachable from the
2714         sinks.
2715         BaseSink is a sink now :)
2716         Some more debugging info in the basesrc.
2717
2718
2719 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2720
2721         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2722           Implement _query on a bin, similar to _send_event.
2723
2724 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2725
2726         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2727           Discont event offset format should be GST_FORMAT_BYTES,
2728           not GST_FORMAT_TIME.
2729
2730 2005-05-12  Wim Taymans  <wim@fluendo.com>
2731
2732         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2733         Same fix as Ronald's but without the signal. 
2734
2735 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2736
2737         * gst/gstutils.c: (gst_element_query_position):
2738           No, an element is not a pad.
2739
2740 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2741
2742         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2743         (gst_bin_get_state):
2744           If a child is removed from a bin while we remove the child from
2745           the bin and while we're retrieving its state, signal this to the
2746           get_state function so we abort the wait (instead of waiting for
2747           a timeout) and can immediately re-iterate over all other elements.
2748
2749 2005-05-12  Wim Taymans  <wim@fluendo.com>
2750
2751         * gst/base/Makefile.am:
2752         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2753         (gst_basesrc_start):
2754         * gst/base/gstbasesrc.h:
2755         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2756         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2757         (gst_pushsrc_init), (gst_pushsrc_create):
2758         * gst/base/gstpushsrc.h:
2759         Added is_seekable to BaseSrc
2760         Added simple PushSrc.
2761
2762 2005-05-11  Wim Taymans  <wim@fluendo.com>
2763
2764         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2766         (gst_element_link_pads), (gst_element_query_position),
2767         (gst_element_query_convert), (intersect_caps_func),
2768         (gst_pad_query_position), (gst_pad_query_convert):
2769         Fix refcounting in utils function.
2770         No point in trying to activate a pad when it's added, it could
2771         be added from the state change function and then we deadlock, the
2772         element has to decide what to do.
2773
2774 2005-05-10  Andy Wingo  <wingo@pobox.com>
2775
2776         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2777         *all* the arguments.
2778
2779         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2780         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2781         lock (according to the docs -- if this is wrong change the docs).
2782
2783         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2784         flush messages in the NULL state.
2785
2786         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2787         message immediately and return.
2788         (gst_bus_set_flushing): New function. If a bus is flushing, it
2789         flushes out any queued messages and immediately unrefs new
2790         messages. This is so when an element goes to NULL, all of the
2791         unhandled messages coming from it can be freed, and their
2792         references to the element dropped. In other words: message source
2793         ref considered harmful :P
2794
2795         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2796         we're finished with it.
2797
2798         * gst/gstmessage.c (gst_message_new_state_changed): 
2799
2800 2005-05-10  Wim Taymans  <wim@fluendo.com>
2801
2802         * gst/gstvalue.c: (gst_value_compare_flags),
2803         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2804         (_gst_value_initialize):
2805         Added flags serialize/deserialize/compare code.
2806
2807 2005-05-09  Andy Wingo  <wingo@pobox.com>
2808
2809         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2810         Intersect the peer's caps with our caps.
2811
2812 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2813
2814         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2815         * gst/elements/gsttypefindelement.c: (find_peek):
2816           Handle negative offsets better. Fixes decodebin.
2817
2818 2005-05-09  Wim Taymans  <wim@fluendo.com>
2819
2820         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2821         (gst_base_transform_event):
2822         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2823         Implement accept_caps.
2824         Fix silly lock/unlock mismatch in base class.
2825
2826 2005-05-09  Wim Taymans  <wim@fluendo.com>
2827
2828         * docs/design/draft-push-pull.txt:
2829         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2830         * gst/elements/gstfilesink.c: (gst_filesink_init),
2831         (gst_filesink_query):
2832         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2833         (gst_type_find_handle_src_query), (find_element_get_length):
2834         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2835         * gst/gstelement.h:
2836         * gst/gstmessage.c:
2837         * gst/gstmessage.h:
2838         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2839         (gst_real_pad_get_caps_unlocked),
2840         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2841         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2842         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2843         (gst_real_pad_dispose), (gst_real_pad_finalize),
2844         (gst_pad_load_and_link), (gst_pad_save_thyself),
2845         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2846         (gst_pad_check_pull_range), (gst_pad_pull_range),
2847         (gst_pad_template_get_type), (gst_pad_template_class_init),
2848         (gst_pad_template_init), (gst_pad_template_dispose),
2849         (name_is_valid), (gst_static_pad_template_get),
2850         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2851         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2852         (gst_pad_get_element_private), (gst_pad_start_task),
2853         (gst_pad_pause_task), (gst_pad_stop_task),
2854         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2855         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2856         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2857         (gst_ghost_pad_new):
2858         * gst/gstpad.h:
2859         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2860         (gst_query_new_position), (gst_query_set_position),
2861         (gst_query_parse_position), (gst_query_new_convert),
2862         (gst_query_set_convert), (gst_query_parse_convert):
2863         * gst/gstquery.h:
2864         * gst/gstqueryutils.c:
2865         * gst/gstqueryutils.h:
2866         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2867         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2868         (gst_queue_handle_src_query):
2869         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2870         (gst_element_query_position), (gst_element_query_convert),
2871         (intersect_caps_func), (gst_pad_query_position),
2872         (gst_pad_query_convert):
2873         * gst/gstutils.h:
2874         * tools/gst-inspect.c: (print_pad_info):
2875         * tools/gst-xmlinspect.c: (print_element_info):
2876         Remove old query functions. Ported old code.
2877         Added position/convert helper functions to gstutils.
2878         Reordered gstpad.c code, grouping relevant things.
2879         Remove gst_message_new(), always need to speficy a specific
2880         message.
2881
2882
2883 2005-05-09  Andy Wingo  <wingo@pobox.com>
2884
2885         * gst/gstiterator.h: Add some includes.
2886
2887         * gst/gstqueryutils.h: Include more headers.
2888
2889         * gst/gstpad.h:
2890         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2891         some uses of gst_pad_query.
2892
2893         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2894         NULL out parameters.
2895         (gst_query_new_position): New proc, allocates a new position
2896         query.
2897
2898         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2899         gstqueryutils.c to the build.
2900
2901         * gst/gststructure.c (gst_structure_set_valist): Implement with
2902         the generic G_VALUE_COLLECT.
2903         
2904 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2905
2906         * gst/Makefile.am: (gst_headers):
2907         Added gstqueryutils.h to the list of headers to install, that was
2908         a 'nachty' move wingo :)
2909
2910 2005-05-06  Andy Wingo  <wingo@pobox.com>
2911
2912         * gst/gstquery.h
2913         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2914         GstData, init a memchunk.
2915         (standard_definitions): Add a few query types, deprecate a few.
2916         (gst_query_get_type): New proc.
2917         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2918         implementation.
2919         (gst_query_new_application, gst_query_get_structure): New public
2920         procs.
2921
2922         * docs/design/draft-query.txt: Removed LINKS from the query types,
2923         because all the rest can be dispatched to other pads -- seemed
2924         ugly to have a query that couldn't be dispatched. internal_links
2925         is fine as a pad method.
2926
2927         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2928         in gstpad.c, but maintain binary compatibility for the moment.
2929         Will fix before 0.9 is out.
2930
2931         * gst/gstqueryutils.c: 
2932         * gst/gstqueryutils.h: New files, implement 3 methods for each
2933         query type: parse_query, parse_response, and set. Probably need an
2934         allocator as well.
2935
2936         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2937
2938         * gst/elements/gstfilesink.c (gst_filesink_query2):
2939         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2940         query_types, and formats methods.
2941
2942         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2943         (gst_pad_set_query2_function): New functions.
2944         (gst_real_pad_init): Set query2_default as the default query2
2945         function. Basically just dispatches to internally linked pads.
2946
2947         Needs review!
2948         
2949         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2950         without using the atomic operations. Only one thread can possibly
2951         be accessing the data at this point. Changed so as to avoid
2952         gst_atomic operations.
2953
2954 2005-05-06  Wim Taymans  <wim@fluendo.com>
2955
2956         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2957         Also set caps if we use the fallback buffer alloc.
2958
2959 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2960
2961         * docs/gst/Makefile.am:
2962         * docs/gst/gstreamer-docs.sgml:
2963         * docs/gst/gstreamer-sections.txt:
2964         * docs/gst/tmpl/gstatomic.sgml:
2965         * docs/gst/tmpl/gstmemchunk.sgml:
2966         * testsuite/elements/struct_i386.h:
2967         * win32/GStreamer.vcproj:
2968         * win32/Makefile:
2969           Purge GstAtomic stuff from docs and win32 makefiles as well
2970
2971 2005-05-06  Wim Taymans  <wim@fluendo.com>
2972
2973         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2974         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2975         * gst/gstpad.c: (gst_pad_peer_get_caps):
2976         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2977         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2978         (gst_queue_src_activate), (gst_queue_change_state):
2979         * gst/gstqueue.h:
2980         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2981         (intersect_caps_func):
2982         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2983         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2984         Some fixes for the peer_get_caps() change.
2985
2986 2005-05-06  Wim Taymans  <wim@fluendo.com>
2987
2988         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2989         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2990         (gst_basesink_activate):
2991         Actually do something with error codes returned from the push
2992         functions.
2993
2994 2005-05-06  Wim Taymans  <wim@fluendo.com>
2995
2996         * docs/design/part-element-sink.txt:
2997         * docs/design/part-element-source.txt:
2998         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2999         (gst_basesink_event), (gst_basesink_activate):
3000         * gst/base/gstbasesink.h:
3001         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3002         (gst_basesrc_activate):
3003         * gst/base/gstbasesrc.h:
3004         * gst/gstelement.c: (gst_element_pads_activate):
3005         Some more documentation.
3006         Fixed scheduling decision in _pads_activate().
3007
3008 2005-05-05  Andy Wingo  <wingo@pobox.com>
3009
3010         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3011         the test suite.
3012
3013 2005-05-05  Wim Taymans  <wim@fluendo.com>
3014
3015         * gst/base/Makefile.am:
3016         * gst/base/gstbasesink.h:
3017         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3018         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3019         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3020         (gst_collectpads_class_init), (gst_collectpads_init),
3021         (gst_collectpads_finalize), (gst_collectpads_new),
3022         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3023         (find_pad), (gst_collectpads_remove_pad),
3024         (gst_collectpads_is_active), (gst_collectpads_collect),
3025         (gst_collectpads_collect_range), (gst_collectpads_start),
3026         (gst_collectpads_stop), (gst_collectpads_peek),
3027         (gst_collectpads_pop), (gst_collectpads_available),
3028         (gst_collectpads_read), (gst_collectpads_flush),
3029         (gst_collectpads_chain):
3030         * gst/base/gstcollectpads.h:
3031         * gst/elements/Makefile.am:
3032         * gst/elements/gstelements.c:
3033         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3034         (gst_fakesink_get_times), (gst_fakesink_event),
3035         (gst_fakesink_preroll), (gst_fakesink_render):
3036         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3037         (gst_filesink_init), (gst_filesink_set_location),
3038         (gst_filesink_open_file), (gst_filesink_close_file),
3039         (gst_filesink_pad_query), (gst_filesink_event),
3040         (gst_filesink_render), (gst_filesink_change_state):
3041         * gst/elements/gstfilesink.h:
3042         Added object to help in making collect pad based elements.
3043         Ported filesink.
3044         Make event function in sink baseclass return gboolean.
3045
3046 2005-05-05  Wim Taymans  <wim@fluendo.com>
3047
3048         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3049         (gst_bin_get_by_name):
3050         * gst/gstbuffer.h:
3051         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3052         (gst_clock_finalize):
3053         * gst/gstdata.c: (gst_data_replace):
3054         * gst/gstdata.h:
3055         * gst/gstelement.c: (gst_element_request_pad),
3056         (gst_element_pads_activate):
3057         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3058         (gst_object_unref):
3059         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3060         (gst_pad_set_checkgetrange_function),
3061         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3062         (gst_pad_check_pull_range), (gst_pad_pull_range),
3063         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3064         (gst_pad_pause_task), (gst_pad_stop_task):
3065         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3066         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3067         Fix name lookup in GstBin.
3068         Added _data_replace() function and _buffer_replace()
3069         Use finalize method to clean up clock.
3070         Fix refcounting on request pads.
3071         Fix pad schedule mode error.
3072         Some more object refcounting debug info,
3073
3074
3075 2005-05-04  Andy Wingo <wingo@pobox.com>
3076
3077         * check/Makefile.am:
3078         * docs/gst/tmpl/gstatomic.sgml:
3079         * docs/gst/tmpl/gstplugin.sgml:
3080         * gst/base/gstbasesink.c: (gst_basesink_activate):
3081         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3082         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3083         (gst_basesrc_query), (gst_basesrc_set_property),
3084         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3085         (gst_basesrc_activate):
3086         * gst/base/gstbasesrc.h:
3087         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3088         (gst_base_transform_src_activate):
3089         * gst/elements/gstelements.c:
3090         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3091         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3092         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3093         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3094         (gst_type_find_element_checkgetrange),
3095         (gst_type_find_element_activate):
3096         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3097         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3098         (gst_caps_load_thyself):
3099         * gst/gstelement.c: (gst_element_pads_activate),
3100         (gst_element_save_thyself), (gst_element_restore_thyself):
3101         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3102         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3103         * gst/gstpad.h:
3104         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3105         (gst_xml_parse_file), (gst_xml_parse_memory),
3106         (gst_xml_get_element), (gst_xml_make_element):
3107         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3108         (_file_index_id_save_xml), (gst_file_index_commit):
3109         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3110         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3111         (load_paths):
3112         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3113         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3114         * tools/gst-complete.c: (main):
3115         * tools/gst-compprep.c: (main):
3116         * tools/gst-inspect.c: (print_element_properties_info):
3117         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3118         * tools/gst-xmlinspect.c: (print_element_properties):
3119         GCC 4 fixen.
3120         
3121 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3122
3123         * gst/gstplugin.c: (gst_plugin_check_module),
3124         (gst_plugin_check_file), (gst_plugin_load_file):
3125             apply patch from #172526 to make register work on MacOSX
3126
3127 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3128
3129         * docs/gst/tmpl/gstconfig.sgml:
3130         * gst/gstconfig.h.in:
3131           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3132         * testsuite/debug/printf_extension.c: (main):
3133           Do not use GST_PTR_FORMAT on pointers to types with
3134           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3135         * testsuite/elements/property.h:
3136           use correct printf format
3137
3138 2005-05-02  Wim Taymans  <wim@fluendo.com>
3139
3140         * docs/design/draft-push-pull.txt:
3141         * docs/design/draft-query.txt:
3142         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3143         (gst_basesrc_start):
3144         Added draft for new query API.
3145         Added draft for better selecting scheduling methods.
3146         Make basesrc ignore length if the subclass does not support
3147         it.
3148
3149 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * gst/Makefile.am:
3152           possible fixes for automake-1.5 - _LIBADD is reserved
3153
3154 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3155
3156         * docs/faq/Makefile.am:
3157         * docs/manual/Makefile.am:
3158         * docs/manuals.mak:
3159         * docs/pwg/Makefile.am:
3160         * gst/Makefile.am:
3161           possible fixes for automake-1.5
3162
3163 2005-04-28  Wim Taymans  <wim@fluendo.com>
3164
3165         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3166         (gst_basesink_pad_getcaps), (gst_basesink_init),
3167         (gst_basesink_do_sync):
3168         * gst/gstclock.c: (gst_clock_entry_new):
3169         * gst/gstevent.c: (gst_event_discont_get_value):
3170         * gst/gstpipeline.c: (pipeline_bus_handler),
3171         (gst_pipeline_change_state):
3172         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3173         Better debugging of clocking info.
3174         Allow NULL values when getting discont values.
3175
3176 2005-04-27  Wim Taymans  <wim@fluendo.com>
3177
3178         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3179         * check/gst/gstpad.c: (gst_pad_suite):
3180         Increase timeout for checks.
3181
3182 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3183
3184         * check/Makefile.am:
3185           fix the broken rule for cleanup.  Apparently this rule is
3186           only needed on FC2, so maybe this warrants further autotool
3187           inspection.
3188
3189 2005-04-26  Wim Taymans  <wim@fluendo.com>
3190
3191         * gst/gsttrashstack.h:
3192         Ooohh. a nasty one! After having a failed pop() from the stack,
3193         it's possible that the stack is empty. In that case, don't
3194         follow the NULL pointer.
3195
3196 2005-04-25  Wim Taymans  <wim@fluendo.com>
3197
3198         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3199         (gst_pad_set_checkgetrange_function),
3200         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3201         (gst_pad_check_pull_range), (gst_pad_pull_range),
3202         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3203         (gst_pad_pause_task), (gst_pad_stop_task):
3204         * gst/gstplugin.c: (gst_plugin_load):
3205         * gst/gstplugin.h:
3206         Remove gst_library_load as it does more harm than good with
3207         the new g_module flags.
3208         Revert bogus caps template check in pad linking, pad caps
3209         are important when linking not the template, which is more
3210         general than the current caps.
3211
3212 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3213
3214         * gst/autoplug/.cvsignore:
3215         * gst/autoplug/Makefile.am:
3216         * gst/autoplug/gstsearchfuncs.c:
3217         * gst/autoplug/gstsearchfuncs.h:
3218         * gst/autoplug/gstspider.c:
3219         * gst/autoplug/gstspider.h:
3220         * gst/autoplug/gstspideridentity.c:
3221         * gst/autoplug/gstspideridentity.h:
3222         * gst/autoplug/spidertest.c:
3223           Die, spider, die.
3224
3225 2005-04-25  Wim Taymans  <wim@fluendo.com>
3226
3227         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3228         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3229         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3230         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3231         * gst/gstpad.h:
3232         Added stubs for unimplemented functions. 
3233
3234 2005-04-24  David Schleef  <ds@schleef.org>
3235
3236         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3237         please fix.
3238
3239 2005-04-24  David Schleef  <ds@schleef.org>
3240
3241         Convert everything from GstAtomicInt to g_atomic_int_*, and
3242         remove gstatomic.
3243         * gst/Makefile.am:
3244         * gst/gstatomic.c:
3245         * gst/gstatomic.h:
3246         * gst/gstatomic_impl.h:
3247         * gst/gstbuffer.c:
3248         * gst/gstcaps.c:
3249         * gst/gstcaps.h:
3250         * gst/gstclock.c:
3251         * gst/gstclock.h:
3252         * gst/gstdata.c:
3253         * gst/gstdata.h:
3254         * gst/gstdata_private.h:
3255         * gst/gstevent.c:
3256         * gst/gstinfo.c:
3257         * gst/gstinfo.h:
3258         * gst/gstmessage.c:
3259         * gst/gstobject.c:
3260         * gst/gstobject.h:
3261         * gst/gststructure.c:
3262         * gst/gststructure.h:
3263         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3264         * gst/gstutils.h:
3265
3266 2005-04-24  David Schleef  <ds@schleef.org>
3267
3268         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3269         make the regressions tests work.  Remove some code that is no
3270         longer true.
3271         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3272         Disable warning for pads without templates.
3273
3274 2005-04-24  David Schleef  <ds@schleef.org>
3275
3276         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3277         functions that handle filtered links.
3278         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3279         removed functions.
3280         * gst/gstutils.c: Fix/remove utility functions that handle
3281         filtered caps.
3282         * gst/gstutils.h:
3283         * gst/gstvalue.c: Add serialization/deserialization of caps
3284         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3285         requires fixing so that the filter caps notation creates
3286         a capsfilter element and sets the filter_caps property.  I
3287         think everyone probably wants to keep the shorthand notation.
3288         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3289         * docs/gst/tmpl/gstpad.sgml:
3290
3291         * gst/elements/gstelements.c: Register capsfilter element.
3292         * gst/Makefile.am: fix spacing
3293         * docs/random/ds/0.9-suggested-changes: random
3294
3295 2005-04-23  David Schleef  <ds@schleef.org>
3296
3297         * gst/elements/Makefile.am:
3298         * gst/elements/gstcapsfilter.c: New element that acts like an
3299         identity, but filters caps.  Will eventually replace filtered
3300         caps in pad linking.
3301         * gst/gstutils.c: (gst_element_create_all_pads): New function
3302         to create all the ALWAYS pads that are registered with an
3303         element class.  This functionality should eventually be
3304         merged in with GstElement initialization.
3305         * gst/gstutils.h:
3306         * testsuite/trigger/README: part of trigger test code that should
3307         have been checked in a long time ago.
3308
3309 2005-04-23  David Schleef  <ds@schleef.org>
3310
3311         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3312         needed with new versions of libtool (nobody will confirm this),
3313         and hard to carry around.
3314         * gst/autoplug/Makefile.am:
3315         * gst/base/Makefile.am:
3316         * gst/elements/Makefile.am:
3317         * gst/indexers/Makefile.am:
3318         * gst/schedulers/Makefile.am:
3319         * libs/gst/bytestream/Makefile.am:
3320         * libs/gst/control/Makefile.am:
3321         * libs/gst/dataprotocol/Makefile.am:
3322         * libs/gst/getbits/Makefile.am:
3323
3324 2005-04-21  Wim Taymans  <wim@fluendo.com>
3325
3326         * docs/design/draft-push-pull.txt:
3327         * docs/design/part-MT-refcounting.txt:
3328         * docs/design/part-TODO.txt:
3329         * docs/design/part-caps.txt:
3330         * docs/design/part-events.txt:
3331         * docs/design/part-gstbus.txt:
3332         * docs/design/part-gstpipeline.txt:
3333         * docs/design/part-messages.txt:
3334         * docs/design/part-push-pull.txt:
3335         * docs/design/part-query.txt:
3336         Some more docs.
3337
3338 2005-04-21  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3341         (gst_message_new), (gst_message_new_error),
3342         (gst_message_new_warning), (gst_message_new_tag),
3343         (gst_message_new_state_changed), (gst_message_new_application),
3344         (gst_message_get_structure):
3345         * gst/gstmessage.h:
3346         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3347         (gst_structure_copy_conditional):
3348         Use parent refcount in GstMessage to ensure GstStructure
3349         consistency.
3350         Cleaned up headers a bit.
3351         
3352
3353 2005-04-20  Wim Taymans  <wim@fluendo.com>
3354
3355         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3356         (gst_basesink_pad_getcaps), (gst_basesink_init),
3357         (gst_basesink_chain_unlocked):
3358         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3359         (gst_type_find_helper):
3360         * gst/elements/gsttypefindelement.c:
3361         (gst_type_find_element_have_type), (gst_type_find_element_init),
3362         (stop_typefinding), (gst_type_find_element_handle_event),
3363         (find_suggest), (gst_type_find_element_chain),
3364         (gst_type_find_element_checkgetrange),
3365         (gst_type_find_element_getrange), (do_typefind),
3366         (gst_type_find_element_activate):
3367         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3368         (gst_buffer_default_free), (gst_buffer_default_copy),
3369         (gst_buffer_set_caps):
3370         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3371         (gst_caps_replace):
3372         * gst/gstmessage.c: (gst_message_new),
3373         (gst_message_new_state_changed):
3374         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3375         (gst_pad_set_checkgetrange_function),
3376         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3377         (gst_pad_set_caps), (gst_pad_check_pull_range),
3378         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3379         * gst/gstpad.h:
3380         * gst/gsttypefind.c: (gst_type_find_register):
3381         Make gst_caps_replace() work like other _replace() functions.
3382         Use _caps_replace() where possible.
3383         Make sure _message_new() initialises its field.
3384         Add gst_static_pad_template_get_caps()
3385
3386
3387 2005-04-18  Andy Wingo  <wingo@pobox.com>
3388
3389         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3390         on the peer, not the pad. I think that was a typo. Pass an extra
3391         arg to see if random access is possible. Activate the pads as
3392         PULL_RANGE if possible.
3393
3394         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3395
3396         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3397         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3398         to PROP_....
3399
3400 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3401
3402         * docs/faq/using.xml:
3403           Add note on gstreamer-properties (#154996).
3404
3405 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3406
3407         * docs/random/bbb/optional-properties:
3408           Some analysis on optional properties.
3409
3410 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3411
3412         * docs/gst/tmpl/gstelementfactory.sgml:
3413         * gst/gstelement.h:
3414         * gst/gstelementfactory.c: (gst_element_factory_init),
3415         (gst_element_factory_cleanup), (gst_element_register),
3416         (__gst_element_factory_add_static_pad_template),
3417         (gst_element_factory_get_static_pad_templates),
3418         (gst_element_factory_can_src_caps),
3419         (gst_element_factory_can_sink_caps):
3420         * gst/registries/Makefile.am:
3421         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3422         (gst_xml_registry_class_init), (gst_xml_registry_init),
3423         (gst_xml_registry_new), (gst_xml_registry_set_property),
3424         (gst_xml_registry_get_property), (get_time), (make_dir),
3425         (gst_xml_registry_get_perms_func),
3426         (plugin_times_older_than_recurse), (plugin_times_older_than),
3427         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3428         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3429         (add_to_char_array), (read_string), (read_uint), (read_enum),
3430         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3431         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3432         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3433         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3434         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3435         (gst_xml_registry_rebuild):
3436         * gst/registries/gstlibxmlregistry.h:
3437         * tools/gst-compprep.c: (main):
3438         * tools/gst-inspect.c: (print_pad_templates_info):
3439         * tools/gst-xmlinspect.c: (print_element_info):
3440           Use libxml2 for registry parsing, use staticpadtemplates in
3441           elementfactories. Makes gst_init() +/- 10x faster.
3442
3443 2005-04-12  Wim Taymans  <wim@fluendo.com>
3444
3445         * gst/base/Makefile.am:
3446         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3447         (gst_basesink_pad_getcaps), (gst_basesink_init),
3448         (gst_basesink_event), (gst_basesink_change_state):
3449         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3450         (gst_basesrc_init), (gst_basesrc_query),
3451         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3452         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3453         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3454         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3455         (gst_basesrc_stop), (gst_basesrc_activate),
3456         (gst_basesrc_change_state):
3457         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3458         (helper_find_suggest), (gst_type_find_helper):
3459         * gst/base/gsttypefindhelper.h:
3460         * gst/elements/Makefile.am:
3461         * gst/elements/gstelements.c:
3462         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3463         (gst_fakesink_get_times), (gst_fakesink_event),
3464         (gst_fakesink_preroll), (gst_fakesink_render):
3465         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3466         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3467         (gst_fakesrc_get_property), (gst_fakesrc_create),
3468         (gst_fakesrc_start), (gst_fakesrc_stop):
3469         * gst/elements/gstfakesrc.h:
3470         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3471         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3472         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3473         (gst_filesrc_create_read), (gst_filesrc_create),
3474         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3475         (gst_filesrc_start):
3476         * gst/elements/gsttypefindelement.c:
3477         (gst_type_find_element_have_type), (gst_type_find_element_init),
3478         (start_typefinding), (stop_typefinding), (push_buffer_store),
3479         (gst_type_find_element_handle_event),
3480         (gst_type_find_element_chain),
3481         (gst_type_find_element_checkgetrange),
3482         (gst_type_find_element_getrange), (do_typefind),
3483         (gst_type_find_element_activate),
3484         (gst_type_find_element_change_state):
3485         * gst/elements/gsttypefindelement.h:
3486         * gst/gstpipeline.c: (pipeline_bus_handler):
3487         Added typefind helper.
3488         Small preroll fix in the base sink.
3489         Disable typefind code in basesrc.
3490         Crude port of typefindelement.
3491         Fakesrc cleanups.
3492
3493
3494 2005-04-11  Wim Taymans  <wim@fluendo.com>
3495
3496         * check/gst/gstbus.c: (gstbus_suite):
3497         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3498         * check/gstcheck.h:
3499           Fix up the timeout so that the test does not fail.
3500
3501 2005-04-06  Wim Taymans  <wim@fluendo.com>
3502
3503         * gst/base/README:
3504         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3505         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3506         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3507         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3508         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3509         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3510         (gst_basesrc_stop), (gst_basesrc_activate),
3511         (gst_basesrc_change_state), (basesrc_find_peek),
3512         (basesrc_find_suggest), (gst_basesrc_type_find):
3513         * gst/base/gstbasesrc.h:
3514         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3515         (gst_filesrc_class_init), (gst_filesrc_init),
3516         (gst_filesrc_finalize), (gst_filesrc_set_location),
3517         (gst_filesrc_set_property), (gst_filesrc_get_property),
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_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3522         * gst/elements/gstfilesrc.h:
3523         * gst/gstelement.c: (gst_element_get_state_func),
3524         (gst_element_lost_state), (gst_element_pads_activate):
3525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3526         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3527         (gst_pad_pull_range):
3528         * gst/gstpad.h:
3529         More work on the generic source base class, implement seeking,
3530         query.
3531         Make filesrc extend the base source class.
3532         Added gst_pad_set_checkgetrange_function to GstPad.
3533
3534 2005-04-06  Andy Wingo  <wingo@pobox.com>
3535
3536         * pkgconfig/gstreamer-base.pc.in:
3537         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3538
3539         * pkgconfig/Makefile.am:
3540         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3541
3542 2005-04-04  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/base/Makefile.am:
3545         * gst/base/README:
3546         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3547         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3548         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3549         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3550         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3551         (gst_basesrc_base_init), (gst_basesrc_class_init),
3552         (gst_basesrc_init), (gst_basesrc_get_formats),
3553         (gst_basesrc_get_query_types), (gst_basesrc_query),
3554         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3555         (gst_basesrc_set_property), (gst_basesrc_get_property),
3556         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3557         (gst_basesrc_loop), (gst_basesrc_activate),
3558         (gst_basesrc_change_state):
3559         * gst/base/gstbasesrc.h:
3560         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3561         (gst_fakesrc_class_init), (gst_fakesrc_init),
3562         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3563         (gst_fakesrc_get_property), (gst_fakesrc_create):
3564         * gst/elements/gstfakesrc.h:
3565         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3566         (gst_filesrc_open_file), (gst_filesrc_loop),
3567         (gst_filesrc_activate), (filesrc_find_peek),
3568         (gst_filesrc_type_find):
3569         Made base source class, make fakesrc extend it.
3570         Add comments to basesink class.
3571         Some filesrc cleanup.
3572
3573 2005-03-31  David Schleef  <ds@schleef.org>
3574
3575         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3576         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3577         expected to link against libgstreamer.
3578         * gst/base/Makefile.am: link against libgstreamer
3579         * gst/elements/Makefile.am: same
3580
3581 2005-03-31  Andy Wingo  <wingo@pobox.com>
3582
3583         * tests/instantiate/Makefile.am:
3584         * tests/instantiate/caps.c: Add test to test speed of caps copy
3585         and free.
3586
3587         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3588         GMemChunk to be fair.
3589
3590         * gst/gsttrashstack.h: Remove warning about using the fallback
3591         trash stack implementation, it's still faster than malloc.
3592
3593 2005-03-30  Andy Wingo  <wingo@pobox.com>
3594
3595         * tests/complexity.c: Add a copyright.
3596
3597 2005-03-31  Wim Taymans  <wim@fluendo.com>
3598
3599         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3600         (gst_base_transform_class_init), (gst_base_transform_init),
3601         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3602         (gst_base_transform_get_property),
3603         (gst_base_transform_sink_activate),
3604         (gst_base_transform_src_activate),
3605         (gst_base_transform_change_state):
3606         * gst/base/gstbasetransform.h:
3607         * gst/elements/gstidentity.c: (gst_identity_class_init),
3608         (gst_identity_event), (gst_identity_check_perfect),
3609         (gst_identity_transform), (gst_identity_start),
3610         (gst_identity_stop):
3611         Added start/stop methods to transform base class so subclasses 
3612         don't need to deal with state changes even.
3613
3614 2005-03-31  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3617         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3618         * gst/gstevent.h:
3619         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3620         (gst_pad_pull_range):
3621         Added rate to the discont event to prepare for variable speed
3622         and reverse playback.
3623
3624 2005-03-29  David Schleef  <ds@schleef.org>
3625
3626         * configure.ac:
3627         * testsuite/trigger/Makefile.am:
3628         * testsuite/trigger/trigger.c: A little example program to show
3629         how trigger-based elements can work.
3630
3631 2005-03-29  Wim Taymans  <wim@fluendo.com>
3632
3633         * gst/base/Makefile.am:
3634         * gst/base/README:
3635         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3636         (gst_basesink_base_init), (gst_basesink_class_init),
3637         (gst_basesink_pad_getcaps), (gst_basesink_init),
3638         (gst_basesink_activate), (gst_basesink_change_state):
3639         * gst/base/gstbasesink.h:
3640         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3641         (gst_base_transform_base_init), (gst_base_transform_finalize),
3642         (gst_base_transform_class_init), (gst_base_transform_init),
3643         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3644         (gst_base_transform_event), (gst_base_transform_getrange),
3645         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3646         (gst_base_transform_set_property),
3647         (gst_base_transform_get_property),
3648         (gst_base_transform_sink_activate),
3649         (gst_base_transform_src_activate),
3650         (gst_base_transform_change_state):
3651         * gst/base/gstbasetransform.h:
3652         * gst/elements/gstidentity.c: (gst_identity_finalize),
3653         (gst_identity_class_init), (gst_identity_init),
3654         (gst_identity_event), (gst_identity_check_perfect),
3655         (gst_identity_transform), (gst_identity_set_property),
3656         (gst_identity_get_property), (gst_identity_change_state):
3657         * gst/elements/gstidentity.h:
3658         * gst/gstelement.c: (gst_element_get_state_func),
3659         (gst_element_lost_state), (gst_element_pads_activate):
3660         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3661         (gst_pad_check_pull_range), (gst_pad_pull_range):
3662         * gst/gstpad.h:
3663         Simplify pad activation.
3664         Added function to check if pull_range can be performed.
3665         Error out when pulling inactive or flushing pads.
3666         Removed const from refcounted types as it does not make sense.
3667         Simplify pad templates in basesink
3668         Added base class for simple 1-to-1 transforms.
3669         Make identity subclass the base transform.
3670
3671 2005-03-29  Andy Wingo  <wingo@pobox.com>
3672
3673         * docs/libs/gstreamer-libs-overrides.txt: 
3674         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3675         really don't understand what's going on, but like whatever. I want
3676         green buildbot!
3677
3678         * docs/gst/Makefile.am:
3679         * docs/libs/Makefile.am: Dist the overrides files.
3680
3681         * check/Makefile.am (clean-local): Remove .libs directories.
3682
3683         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3684         elements to EXTRA_DIST, so po/ files are happy.
3685
3686         * po/POTFILES.in: Er, remove it here.
3687
3688         * po/POTFILES: Remove gstspider.c.
3689
3690         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3691
3692         * docs/libs/gstreamer-libs-docs.sgml: 
3693         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3694         bytestream.
3695
3696         * tests/complexity.c (main): Set the length of the preroll queue
3697         on the sinks to prevent a lockup.
3698
3699         * libs/gst/dataprotocol/Makefile.am: 
3700         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3701         the same as the one in check/gst-libs/gdp.c.
3702
3703         * po/, docs/gst/: Commit automatic changes to docs and po files.
3704
3705         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3706         the versioned libgstbase.
3707
3708         * check/Makefile.am: Depend on an unversioned gst-register, seems
3709         to make autoconf happier.
3710
3711         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3712
3713 2005-03-28  Wim Taymans  <wim@fluendo.com>
3714
3715         * configure.ac:
3716         * docs/design/part-gstelement.txt:
3717         * docs/design/part-negotiation.txt:
3718         * docs/design/part-preroll.txt:
3719         * docs/design/part-scheduling.txt:
3720         * docs/design/part-states.txt:
3721         * gst/Makefile.am:
3722         * gst/base/Makefile.am:
3723         * gst/base/README:
3724         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3725         (gst_basesink_base_init), (gst_basesink_class_init),
3726         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3727         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3728         (gst_basesink_set_pad_functions),
3729         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3730         (gst_basesink_set_property), (gst_basesink_get_property),
3731         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3732         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3733         (gst_basesink_preroll_queue_push),
3734         (gst_basesink_preroll_queue_empty),
3735         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3736         (gst_basesink_event), (gst_basesink_get_times),
3737         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3738         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3739         (gst_basesink_loop), (gst_basesink_activate),
3740         (gst_basesink_change_state):
3741         * gst/base/gstbasesink.h:
3742         * gst/elements/Makefile.am:
3743         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3744         (gst_fakesink_class_init), (gst_fakesink_init),
3745         (gst_fakesink_set_property), (gst_fakesink_get_property),
3746         (gst_fakesink_get_times), (gst_fakesink_event),
3747         (gst_fakesink_preroll), (gst_fakesink_render),
3748         (gst_fakesink_change_state):
3749         * gst/elements/gstfakesink.h:
3750         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3751         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3752         * gst/gstelement.c: (gst_element_add_pad),
3753         (gst_element_get_state_func), (gst_element_abort_state),
3754         (gst_element_commit_state), (gst_element_lost_state),
3755         (gst_element_set_state), (gst_element_pads_activate):
3756         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3757         * gst/gstpipeline.c: (gst_pipeline_send_event),
3758         (gst_pipeline_change_state):
3759         Added state change code.
3760         Added/updated docs.
3761         Added sink base class, make fakesink extend the base class.
3762         Small cleanups in GstPipeline.
3763
3764 2005-03-26  David Schleef  <ds@schleef.org>
3765
3766         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3767         is broken and should be implemented in a different library.
3768         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3769         * gst/gst.h: remove gstcpu.h
3770         * gst/gstcpu.c: remove
3771         * gst/gstcpu.h: remove
3772         * gst/Makefile.am.future: Remove this file.  It's ancient.
3773
3774 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3775
3776         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3777         (gst_bin_send_event):
3778           Add default event/set_manager handlers. The set_manager handler
3779           takes care that the manager is distributed over kids that were
3780           already in the bin before the manager was set. The event handler
3781           is a utility virtual function that sends the event over all sinks,
3782           so that gst_element_send_event (bin, event); has the expected
3783           behaviour.
3784         * gst/gstpad.c: (gst_pad_event_default):
3785           Re-install default event handling for discontinuities, so that
3786           seeking works without requiring hacks in applications or extra
3787           code in sinks.
3788         * gst/gstpipeline.c: (gst_pipeline_class_init),
3789         (gst_pipeline_send_event):
3790           Half hack, half utility: set a pipeline to PAUSED for seek events,
3791           since that is the only way we can guarantee a/v sync. Means that
3792           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3793           and it "just works".
3794
3795 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3796
3797         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3798           Lock/unlock mismatch.
3799
3800 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3801
3802         * docs/faq/gst-uninstalled:
3803           add gst-plugins-base
3804         * docs/gst/Makefile.am:
3805           don't error out until docs are fixed
3806         * docs/gst/gstreamer.types:
3807           remove thread
3808
3809 2005-03-22  Wim Taymans  <wim@fluendo.com>
3810
3811         * check/Makefile.am:
3812         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3813         * gst/gststructure.c: (gst_structure_set_valist),
3814         (gst_structure_copy_conditional):
3815         Activated more tests.
3816         Added message test.
3817         Added G_TYPE_POINTER to GstStructure.
3818         
3819
3820 2005-03-22  Wim Taymans  <wim@fluendo.com>
3821
3822         * docs/design/part-TODO.txt:
3823         * docs/design/part-events.txt:
3824         * docs/design/part-gstbin.txt:
3825         * docs/design/part-gstbus.txt:
3826         * docs/design/part-gstpipeline.txt:
3827         * docs/design/part-messages.txt:
3828         * gst/gstbus.c:
3829         * gst/gstmessage.c:
3830         Docs updates
3831
3832 2005-03-21  Wim Taymans  <wim@fluendo.com>
3833
3834         * gst/gstbus.c: (gst_bus_post):
3835         Fix copy-and-paste error.
3836
3837 2005-03-21  Wim Taymans  <wim@fluendo.com>
3838
3839         * check/Makefile.am:
3840         * gst/Makefile.am:
3841         * gst/elements/Makefile.am:
3842         * gst/elements/gstelements.c:
3843         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3844         (gst_fakesink_event), (gst_fakesink_chain):
3845         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3846         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3847         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3848         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3849         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3850         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3851         (gst_fakesrc_loop), (gst_fakesrc_activate),
3852         (gst_fakesrc_change_state):
3853         * gst/elements/gstfakesrc.h:
3854         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3855         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3856         (gst_filesrc_open_file), (gst_filesrc_loop),
3857         (gst_filesrc_activate), (gst_filesrc_change_state),
3858         (filesrc_find_peek), (filesrc_find_suggest),
3859         (gst_filesrc_type_find):
3860         * gst/elements/gstidentity.c: (gst_identity_finalize),
3861         (gst_identity_class_init), (gst_identity_init),
3862         (gst_identity_proxy_getcaps), (identity_queue_push),
3863         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3864         (gst_identity_getrange), (gst_identity_chain),
3865         (gst_identity_sink_loop), (gst_identity_src_loop),
3866         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3867         (gst_identity_set_property), (gst_identity_get_property),
3868         (gst_identity_change_state):
3869         * gst/elements/gstidentity.h:
3870         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3871         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3872         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3873         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3874         (gst_tee_sink_activate):
3875         * gst/elements/gsttee.h:
3876         * gst/gst.c: (gst_register_core_elements), (init_post):
3877         * gst/gst.h:
3878         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3879         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3880         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3881         (gst_bin_change_state):
3882         * gst/gstbin.h:
3883         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3884         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3885         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3886         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3887         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3888         (bus_watch_callback), (bus_watch_destroy),
3889         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3890         (poll_timeout), (gst_bus_poll):
3891         * gst/gstbus.h:
3892         * gst/gstcaps.h:
3893         * gst/gstdata.h:
3894         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3895         (gst_element_post_message), (gst_element_message_full),
3896         (gst_element_get_state_func), (gst_element_get_state),
3897         (gst_element_abort_state), (gst_element_commit_state),
3898         (gst_element_lost_state), (gst_element_set_state),
3899         (gst_element_pads_activate), (gst_element_change_state),
3900         (gst_element_dispose), (gst_element_set_manager_func),
3901         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3902         (gst_element_set_manager), (gst_element_get_manager),
3903         (gst_element_set_bus), (gst_element_get_bus),
3904         (gst_element_set_scheduler), (gst_element_get_scheduler):
3905         * gst/gstelement.h:
3906         * gst/gstevent.c: (gst_event_new_segment_seek),
3907         (gst_event_new_flush):
3908         * gst/gstevent.h:
3909         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3910         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3911         (gst_message_new_eos), (gst_message_new_error),
3912         (gst_message_new_warning), (gst_message_new_tag),
3913         (gst_message_new_state_changed), (gst_message_new_application),
3914         (gst_message_get_structure), (gst_message_parse_tag),
3915         (gst_message_parse_state_changed), (gst_message_parse_error),
3916         (gst_message_parse_warning):
3917         * gst/gstmessage.h:
3918         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3919         (gst_real_pad_set_property), (gst_pad_set_active),
3920         (gst_pad_is_active), (gst_pad_set_blocked_async),
3921         (gst_pad_set_blocked), (gst_pad_is_blocked),
3922         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3923         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3924         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3925         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3926         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3927         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3928         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3929         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3930         (gst_pad_set_caps), (gst_pad_configure_sink),
3931         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3932         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3933         (gst_real_pad_dispose), (gst_real_pad_finalize),
3934         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3935         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3936         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3937         * gst/gstpad.h:
3938         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3939         (pipeline_bus_handler), (gst_pipeline_change_state),
3940         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3941         * gst/gstpipeline.h:
3942         * gst/gstprobe.h:
3943         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3944         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3945         (gst_queue_link_src), (gst_queue_bufferalloc),
3946         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3947         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3948         (gst_queue_loop), (gst_queue_handle_src_event),
3949         (gst_queue_handle_src_query), (gst_queue_src_activate),
3950         (gst_queue_change_state):
3951         * gst/gstqueue.h:
3952         * gst/gstscheduler.c: (gst_scheduler_init),
3953         (gst_scheduler_dispose), (gst_scheduler_create_task),
3954         (gst_scheduler_factory_create):
3955         * gst/gstscheduler.h:
3956         * gst/gststructure.c: (gst_structure_get_type),
3957         (gst_structure_copy_conditional):
3958         * gst/gststructure.h:
3959         * gst/gsttaginterface.h:
3960         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3961         (gst_task_init), (gst_task_dispose), (gst_task_create),
3962         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3963         (gst_task_pause):
3964         * gst/gsttask.h:
3965         * gst/gstthread.c:
3966         * gst/gstthread.h:
3967         * gst/gsttypes.h:
3968         * gst/schedulers/Makefile.am:
3969         * gst/schedulers/cothreads_compat.h:
3970         * gst/schedulers/entryscheduler.c:
3971         * gst/schedulers/faircothreads.c:
3972         * gst/schedulers/faircothreads.h:
3973         * gst/schedulers/fairscheduler.c:
3974         * gst/schedulers/gstbasicscheduler.c:
3975         * gst/schedulers/gstoptimalscheduler.c:
3976         * gst/schedulers/gthread-cothreads.h:
3977         * gst/schedulers/threadscheduler.c:
3978         (gst_thread_scheduler_task_get_type),
3979         (gst_thread_scheduler_task_class_init),
3980         (gst_thread_scheduler_task_init),
3981         (gst_thread_scheduler_task_start),
3982         (gst_thread_scheduler_task_stop),
3983         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3984         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3985         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3986         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3987         (plugin_init):
3988         * libs/gst/Makefile.am:
3989         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3990         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3991         (gst_file_pad_parent_set):
3992         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3993         (gst_dp_event_from_packet):
3994         * tests/complexity.c: (main):
3995         * tests/mass_elements.c: (main):
3996         * testsuite/states/locked.c: (message_received), (main):
3997         * testsuite/states/parent.c: (main):
3998         * tools/gst-inspect.c: (print_element_flag_info),
3999         (print_implementation_info), (print_pad_info):
4000         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4001         (main):
4002         * tools/gst-md5sum.c: (event_loop), (main):
4003         * tools/gst-typefind.c: (main):
4004         * tools/gst-xmlinspect.c: (print_element_info):
4005         Next big merge.
4006         Added GstBus for mainloop integration.
4007         Added GstMessage for sending notifications on the bus.
4008         Added GstTask as an abstraction for pipeline entry points.
4009         Removed GstThread.
4010         Removed Schedulers.
4011         Simplified GstQueue for multithreaded core.
4012         Made _link threadsafe, removed old capsnego.
4013         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4014         Added pad blocking functions.
4015         Reworked scheduling functions in GstPad to prepare for
4016         scheduling updates soon.
4017         Moved events out of data stream.
4018         Simplified GstEvent types.
4019         Added return values to push/pull.
4020         Removed clocking from GstElement.
4021         Added prototypes for state change function for next merge.
4022         Removed iterate from bins and state change management.
4023         Fixed some elements, disabled others for now.
4024         Fixed -inspect and -launch.
4025         Added check for GstBus.
4026
4027 2005-03-10  Wim Taymans  <wim@fluendo.com>
4028
4029         * docs/design/part-MT-refcounting.txt:
4030         * docs/design/part-clocks.txt:
4031         * docs/design/part-gstelement.txt:
4032         * docs/design/part-gstobject.txt:
4033         * docs/design/part-standards.txt:
4034         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4035         (gst_bin_remove_func), (gst_bin_remove):
4036         * gst/gstbin.h:
4037         * gst/gstbuffer.c:
4038         * gst/gstcaps.h:
4039         * testsuite/clock/clock1.c: (main):
4040         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4041         (main):
4042         * testsuite/dlopen/loadgst.c: (do_test):
4043         * testsuite/refcounting/bin.c: (add_remove_test1),
4044         (add_remove_test2), (main):
4045         * testsuite/refcounting/element.c: (main):
4046         * testsuite/refcounting/element_pad.c: (main):
4047         * testsuite/refcounting/pad.c: (main):
4048         * tools/gst-launch.c: (sigint_handler_sighandler):
4049         * tools/gst-typefind.c: (main):
4050         Doc updates.
4051         Added doc about clock.
4052         removed gst_bin_iterate_recurse_up(), marked methods
4053         for removal.
4054         Fix more testsuites.
4055
4056 2005-03-09  Wim Taymans  <wim@fluendo.com>
4057
4058         * gst/gstpad.c: (gst_pad_get_direction),
4059         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4060         (gst_pad_collect_valist):
4061         * testsuite/bins/interface.c: (main):
4062         * testsuite/caps/audioscale.c: (test_caps):
4063         * testsuite/caps/caps.c: (test1), (test2), (test3):
4064         * testsuite/caps/deserialize.c: (main):
4065         * testsuite/caps/enumcaps.c: (main):
4066         * testsuite/caps/filtercaps.c: (main):
4067         * testsuite/caps/intersect2.c: (main):
4068         * testsuite/caps/random.c: (main):
4069         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4070         * testsuite/caps/sets.c: (check_caps):
4071         * testsuite/caps/simplify.c: (check_caps), (main):
4072         * testsuite/caps/subtract.c: (check_caps):
4073         Fix _pad_get_direction wrt ghostpads.
4074         Fix caps testsuite.
4075
4076 2005-03-09  Wim Taymans  <wim@fluendo.com>
4077
4078         * check/Makefile.am:
4079         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4080         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4081         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4082         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4083         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4084         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4085         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4086         (bin_element_is_sink), (gst_bin_iterate_sinks),
4087         (gst_bin_iterate_all_by_interface):
4088         * gst/gstbin.h:
4089         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4090         (gst_element_change_state), (gst_element_dispose),
4091         (gst_element_finalize), (gst_element_set_loop_function):
4092         * gst/gstelement.h:
4093         * gst/gstiterator.c: (find_custom_fold_func):
4094         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4095         (gst_pad_collectv), (gst_pad_collect_valist),
4096         (gst_pad_template_new):
4097         * gst/gstpipeline.c: (gst_pipeline_class_init),
4098         (gst_pipeline_dispose), (gst_pipeline_set_property),
4099         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4100         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4101         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4102         * gst/gstutils.h:
4103         * gst/schedulers/entryscheduler.c:
4104         * gst/schedulers/gstbasicscheduler.c:
4105         (gst_basic_scheduler_cothreaded_chain),
4106         (gst_basic_scheduler_chain_add_element):
4107         * testsuite/bins/interface.c: (main):
4108         Added GstBin test.
4109         Added GstSystemClock test.
4110         Implemented clock distribution code in GstBin.
4111         Implemented iterate sinks method for future use.
4112         Rearranged gstelement.h
4113         Fix GstIterator comparison bug.
4114         Moved some code to GstPipeline, mostly clocking related.
4115
4116 2005-03-09  Wim Taymans  <wim@fluendo.com>
4117
4118         * configure.ac:
4119         * gst/gst_private.h:
4120         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4121         (gst_bin_remove_func), (gst_bin_remove),
4122         (gst_bin_get_by_name_recurse_up):
4123         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4124         (gst_clock_id_compare_func), (gst_clock_id_wait),
4125         (gst_clock_id_wait_async), (gst_clock_init),
4126         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4127         * gst/gstelement.h:
4128         * gst/gstinfo.c: (_gst_debug_init):
4129         * gst/gstobject.h:
4130         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4131         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4132         * gst/gstpad.h:
4133         Bump version number, we're now 0.9.0
4134         Add future debugging category.
4135         Fix NULL _unref() in _get_by_name_recurse_up
4136         Rearrange gstpad.h.
4137         Update some docs.
4138
4139 2005-03-08  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4142         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4143         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4144         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4145         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4146         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4147         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4148         * gst/elements/gstidentity.c: (gst_identity_class_init):
4149         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4150         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4151         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4152         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4153         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4154         (gst_tee_link):
4155         * gst/gstelement.c: (gst_element_class_init),
4156         (gst_element_base_class_init), (gst_element_init),
4157         (gst_element_get_random_pad), (gst_element_wait_state_change),
4158         (gst_element_change_state), (gst_element_dispose),
4159         (gst_element_finalize), (gst_element_set_loop_function):
4160         * gst/gstelement.h:
4161         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4162         * gst/gstthread.c: (gst_thread_class_init),
4163         (gst_thread_release_children_locks), (gst_thread_change_state):
4164         * gst/schedulers/gstbasicscheduler.c:
4165         (gst_basic_scheduler_loopfunc_wrapper),
4166         (gst_basic_scheduler_chain_wrapper),
4167         (gst_basic_scheduler_src_wrapper),
4168         (gst_basic_scheduler_remove_element):
4169         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4170         Remove threadsafe properties. Fix elements because GObject
4171         complains when installing a property before declaring a
4172         set/get_property handler.
4173         Rearrange gstelement.h file, use STATE macros for state locks.
4174         Free mutexes in the finalize method instead of dispose.
4175
4176 2005-03-08  Wim Taymans  <wim@fluendo.com>
4177
4178         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4179         * gst/gstthread.c: (gst_thread_release_children_locks):
4180         Added parentage check.
4181         Fix build og GstThread again.
4182
4183 2005-03-08  Wim Taymans  <wim@fluendo.com>
4184
4185         * docs/design/part-MT-refcounting.txt:
4186         * docs/design/part-conventions.txt:
4187         * docs/design/part-gstobject.txt:
4188         * docs/design/part-relations.txt:
4189         * docs/design/part-standards.txt:
4190         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4191         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4192         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4193         (gst_bin_iterate_all_by_interface):
4194         * gst/gstbuffer.h:
4195         * gst/gstclock.h:
4196         * gst/gstelement.c: (gst_element_class_init),
4197         (gst_element_change_state), (gst_element_set_loop_function):
4198         * gst/gstelement.h:
4199         * gst/gstiterator.c:
4200         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4201         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4202         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4203         (gst_object_set_parent), (gst_object_unparent),
4204         (gst_object_check_uniqueness):
4205         * gst/gstobject.h:
4206         Docs updates, clean up some headers.
4207
4208 2005-03-07  Wim Taymans  <wim@fluendo.com>
4209
4210         * check/.cvsignore:
4211         * check/Makefile.am:
4212         * check/gst-libs/.cvsignore:
4213         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4214         * check/gst/.cvsignore:
4215         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4216         (START_TEST), (gstbus_suite), (main):
4217         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4218         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4219         (gst_data_suite), (main):
4220         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4221         (add_fold_func), (gstiterator_suite), (main):
4222         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4223         (thread_name_object), (thread_name_object_default),
4224         (gst_object_name_compare), (gst_object_suite), (main):
4225         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4226         (gst_pad_suite), (main):
4227         * check/gstcheck.c: (gst_check_log_message_func),
4228         (gst_check_log_critical_func), (gst_check_init):
4229         * check/gstcheck.h:
4230         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4231         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4232         Added checks.
4233
4234 2005-03-07  Wim Taymans  <wim@fluendo.com>
4235
4236         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4237         (gst_list_iterator_next), (gst_list_iterator_resync),
4238         (gst_list_iterator_free), (gst_iterator_new_list),
4239         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4240         (gst_iterator_free), (gst_iterator_push), (filter_next),
4241         (filter_resync), (filter_uninit), (filter_free),
4242         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4243         (gst_iterator_foreach), (find_custom_fold_func),
4244         (gst_iterator_find_custom):
4245         * gst/gstiterator.h:
4246         Added missing files.
4247
4248 2005-03-07  Wim Taymans  <wim@fluendo.com>
4249
4250         * Makefile.am:
4251         * configure.ac:
4252         * docs/design/part-MT-refcounting.txt:
4253         * docs/design/part-conventions.txt:
4254         * docs/design/part-gstobject.txt:
4255         * docs/design/part-relations.txt:
4256         * examples/mixer/mixer.c: (main):
4257         * examples/thread/thread.c: (eos), (main):
4258         * gst/Makefile.am:
4259         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4260         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4261         (gst_spider_plug_from_srcpad):
4262         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4263         (gst_spider_identity_change_state),
4264         (gst_spider_identity_sink_loop_type_finding):
4265         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4266         * gst/elements/gstidentity.c: (gst_identity_init):
4267         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4268         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4269         * gst/elements/gsttypefindelement.c: (free_entry):
4270         * gst/gst.c:
4271         * gst/gst.h:
4272         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4273         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4274         (gst_bin_set_index), (gst_bin_set_element_sched),
4275         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4276         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4277         (gst_bin_iterate_elements), (iterate_child_recurse),
4278         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4279         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4280         (compare_interface), (gst_bin_get_by_interface),
4281         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4282         * gst/gstbin.h:
4283         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4284         (gst_buffer_default_free), (gst_buffer_default_copy),
4285         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4286         (gst_buffer_create_sub):
4287         * gst/gstbuffer.h:
4288         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4289         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4290         (gst_caps_unref), (gst_static_caps_get),
4291         (gst_caps_remove_and_get_structure), (gst_caps_append),
4292         (gst_caps_append_structure), (gst_caps_remove_structure),
4293         (gst_caps_copy_nth), (gst_caps_set_simple),
4294         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4295         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4296         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4297         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4298         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4299         (gst_caps_structure_figure_out_union),
4300         (gst_caps_switch_structures), (gst_caps_do_simplify),
4301         (gst_caps_replace), (gst_caps_from_string),
4302         (gst_caps_copy_conditional):
4303         * gst/gstcaps.h:
4304         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4305         (_gst_clock_id_free), (gst_clock_id_unref),
4306         (gst_clock_id_compare_func), (gst_clock_id_wait),
4307         (gst_clock_id_wait_async), (gst_clock_class_init),
4308         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4309         (gst_clock_get_time), (gst_clock_set_time_adjust),
4310         (gst_clock_set_property), (gst_clock_get_property):
4311         * gst/gstclock.h:
4312         * gst/gstcompat.h:
4313         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4314         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4315         * gst/gstdata.h:
4316         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4317         (gst_element_requires_clock), (gst_element_provides_clock),
4318         (gst_element_set_clock), (gst_element_clock_wait),
4319         (gst_element_wait), (gst_element_set_time_delay),
4320         (gst_element_is_indexable), (gst_element_add_pad),
4321         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4322         (pad_compare_name), (gst_element_get_static_pad),
4323         (gst_element_request_pad), (gst_element_get_request_pad),
4324         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4325         (gst_element_class_get_pad_template_list),
4326         (gst_element_class_get_pad_template), (gst_element_error_func),
4327         (gst_element_get_random_pad), (gst_element_get_event_masks),
4328         (gst_element_send_event), (gst_element_seek),
4329         (gst_element_get_query_types), (gst_element_query),
4330         (gst_element_get_formats), (gst_element_convert),
4331         (gst_element_is_locked_state), (gst_element_set_locked_state),
4332         (gst_element_sync_state_with_parent), (gst_element_change_state),
4333         (gst_element_finalize), (gst_element_yield),
4334         (gst_element_interrupt), (gst_element_set_scheduler),
4335         (gst_element_get_scheduler), (gst_element_set_loop_function):
4336         * gst/gstelement.h:
4337         * gst/gstevent.h:
4338         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4339         (gst_format_get_by_nick), (gst_format_get_details),
4340         (gst_format_iterate_definitions):
4341         * gst/gstformat.h:
4342         * gst/gstindex.c: (gst_index_gtype_resolver):
4343         * gst/gstinfo.c:
4344         * gst/gstinfo.h:
4345         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4346         (gst_mem_chunk_free):
4347         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4348         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4349         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4350         (gst_object_dispatch_properties_changed),
4351         (gst_object_set_name_default), (gst_object_set_name),
4352         (gst_object_get_name), (gst_object_set_name_prefix),
4353         (gst_object_get_name_prefix), (gst_object_set_parent),
4354         (gst_object_get_parent), (gst_object_unparent),
4355         (gst_object_check_uniqueness), (gst_object_save_thyself),
4356         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4357         (gst_object_set_property), (gst_object_get_property),
4358         (gst_object_get_path_string):
4359         * gst/gstobject.h:
4360         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4361         (gst_real_pad_init), (gst_real_pad_get_property),
4362         (gst_pad_custom_new), (gst_pad_get_direction),
4363         (gst_pad_set_active), (gst_pad_is_active),
4364         (gst_pad_set_event_function), (gst_pad_is_linked),
4365         (gst_pad_link_free), (gst_pad_link_intersect),
4366         (gst_pad_link_fixate), (gst_pad_set_caps),
4367         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4368         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4369         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4370         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4371         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4372         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4373         (gst_pad_realize), (gst_pad_get_allowed_caps),
4374         (gst_real_pad_dispose), (gst_real_pad_finalize),
4375         (gst_pad_collectv), (gst_pad_collect_valist),
4376         (gst_pad_template_dispose), (gst_pad_template_new),
4377         (gst_pad_get_internal_links):
4378         * gst/gstpad.h:
4379         * gst/gstpipeline.c: (gst_pipeline_dispose),
4380         (gst_pipeline_change_state):
4381         * gst/gstpipeline.h:
4382         * gst/gstplugin.c:
4383         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4384         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4385         * gst/gstpluginfeature.h:
4386         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4387         * gst/gstquery.c: (_gst_query_type_initialize),
4388         (gst_query_type_register), (gst_query_type_get_by_nick),
4389         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4390         * gst/gstquery.h:
4391         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4392         * gst/gstscheduler.c: (gst_scheduler_add_element),
4393         (gst_scheduler_factory_create):
4394         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4395         (gst_structure_free), (gst_structure_set_name),
4396         (gst_structure_id_set_value), (gst_structure_set_value),
4397         (gst_structure_set_valist), (gst_structure_remove_field),
4398         (gst_structure_remove_fields),
4399         (gst_structure_remove_fields_valist),
4400         (gst_structure_remove_all_fields), (gst_structure_foreach),
4401         (gst_structure_map_in_place),
4402         (gst_caps_structure_fixate_field_nearest_int),
4403         (gst_caps_structure_fixate_field_nearest_double):
4404         * gst/gststructure.h:
4405         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4406         (gst_system_clock_init), (gst_system_clock_dispose),
4407         (gst_system_clock_async_thread),
4408         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4409         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4410         * gst/gstsystemclock.h:
4411         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4412         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4413         * gst/gsttaginterface.c:
4414         * gst/gstthread.c: (gst_thread_dispose),
4415         (gst_thread_release_children_locks), (gst_thread_change_state),
4416         (gst_thread_main_loop):
4417         * gst/gsttrashstack.h:
4418         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4419         * gst/gsttypes.h:
4420         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4421         (gst_element_request_pad), (gst_element_get_pad_from_template),
4422         (gst_element_request_compatible_pad),
4423         (gst_element_get_compatible_pad_filtered),
4424         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4425         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4426         (gst_element_link_many), (gst_element_link),
4427         (gst_element_link_pads), (gst_element_unlink_pads),
4428         (gst_element_unlink_many), (gst_element_unlink),
4429         (gst_pad_can_link_filtered), (gst_pad_can_link),
4430         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4431         (gst_object_default_error), (gst_bin_add_many),
4432         (gst_bin_remove_many), (gst_element_populate_std_props),
4433         (gst_element_class_install_std_props), (gst_buffer_merge),
4434         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4435         (link_fold_func), (gst_pad_proxy_setcaps):
4436         * gst/gstutils.h:
4437         * gst/gstvalue.c: (gst_value_deserialize_string):
4438         * gst/parse/grammar.y:
4439         * gst/schedulers/gstbasicscheduler.c:
4440         (gst_basic_scheduler_cothreaded_chain),
4441         (gst_basic_scheduler_chain_recursive_add),
4442         (gst_basic_scheduler_pad_link):
4443         * gst/schedulers/gstoptimalscheduler.c:
4444         (get_group_schedule_function),
4445         (gst_opt_scheduler_state_transition),
4446         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4447         * libs/gst/bytestream/bytestream.c:
4448         * libs/gst/dataprotocol/dataprotocol.c:
4449         (gst_dp_header_from_buffer):
4450         * po/nb.po:
4451         * po/ru.po:
4452         * tests/threadstate/threadstate2.c: (eos):
4453         * tools/gst-compprep.c: (main):
4454         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4455         (print_pad_info), (print_children_info):
4456         * tools/gst-launch.c: (idle_func), (main):
4457         * tools/gst-md5sum.c: (idle_func), (main):
4458         * tools/gst-xmlinspect.c: (print_element_info):
4459         First THREADED backport attempt, focusing on adding locks and
4460         making sure the API is threadsafe. Needs more work. More docs
4461         follow this week.
4462
4463 2005-02-24  Andy Wingo  <wingo@pobox.com>
4464
4465         * tests/bench-complexity.scm:
4466         * tests/complexity.gnuplot: New files, good for running complexity
4467         benchmarks.
4468
4469         * tests/Makefile.am:
4470         * tests/complexity.c: New test, sets up N elements, at each level
4471         teeing into M streams per element. Eeeenteresting.
4472
4473         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4474         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4475         running bench-mass_elements.scm.
4476
4477         * tests/bench-mass_elements.scm: New script, runs mass_elements
4478         for various numbers of identities, outputting the results to a
4479         file. Requires guile 1.6. Just for testing.
4480
4481 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4482
4483         * gst/schedulers/fairscheduler.c:
4484           compile with debug disabled
4485
4486 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4487
4488         * configure.ac:
4489           hunting season on 0.9 is now OPEN
4490
4491 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4492
4493         * docs/libs/tmpl/gstcontrol.sgml:
4494         * docs/libs/tmpl/gstdparam.sgml:
4495         * docs/libs/tmpl/gstdplinint.sgml:
4496         * docs/libs/tmpl/gstdpman.sgml:
4497         * docs/libs/tmpl/gstdpsmooth.sgml:
4498         * docs/libs/tmpl/gstunitconvert.sgml:
4499           more docs for the state of dparams
4500
4501 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4502
4503         * gst/gstelementfactory.c: (gst_element_factory_create):
4504         * gst/gstobject.c: (gst_object_init),
4505         (gst_object_set_name_default), (gst_object_set_name):
4506           name objects by default, not in gst_element_factory_create. Allows
4507           using elements created with g_object_new. (fixes #167283)
4508
4509 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4510
4511         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4512           make the time that debugging functions print relative to when
4513           gst_init was called
4514
4515 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4516
4517         * gst/gsttaginterface.c:
4518           Fix inline docs: tag setter vararg functions are NULL-terminated,
4519           GST_TAG_INVALID doesn't exist any more.
4520
4521 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4522
4523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4524         Allocate the 1 byte more memory that was forgotten!!!!!
4525         fixes memory corruption on 64bit platforms
4526
4527 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4528
4529         * docs/pwg/building-pads.xml:
4530         * docs/pwg/intro-basics.xml:
4531           fixed a few typos, relabeled introductionary list of types
4532         * docs/random/ensonic/dparams.txt:
4533           more notes abut dparam changes
4534         * libs/gst/control/dparam.c: (gst_dparam_attach):
4535         * libs/gst/control/dparammanager.c:
4536         * libs/gst/control/dparammanager.h:
4537           - many comments and notes on dparam implementation
4538           - new dparams are were not initialized to the default value
4539             from param spec
4540
4541 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4542
4543         submitted by: Peter Astakhov
4544
4545         * po/LINGUAS:
4546         * po/ru.po:
4547           adding Russian translation
4548
4549 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4550
4551         * configure.ac:
4552         * docs/gst/Makefile.am:
4553         * docs/libs/Makefile.am:
4554           make sure popt is added to gtk-doc flags.  Fixes #147782.
4555
4556 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4557
4558         * docs/faq/using.xml:
4559           Fix typo in FAQ (artssink => artsdsink)
4560
4561 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4562
4563         * tools/gst-launch.1.in:
4564           Fix typo (#166699).
4565
4566 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4567
4568         * docs/faq/using.xml:
4569           Add -v argument to fakesrc/fakesink gst-launch line,
4570           so that the promised output will actually show up.
4571
4572 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4573
4574         * gst/gstthread.c: (gst_thread_change_state):
4575           Implement state-change error handling (#166073).
4576
4577 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4578
4579         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4580           Release interrupt after handling (#166250).
4581
4582 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         * configure.ac:
4585           back to HEAD
4586
4587 === release 0.8.9 ===
4588
4589 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         * NEWS:
4592         * RELEASE:
4593         * configure.ac:
4594           releasing 0.8.9, "Like Eating Glass"
4595
4596 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4597
4598         submitted by: Clytie Siddall
4599
4600         * po/vi.po: Added Vietnamese translation
4601
4602 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         patch by: Tim Philipp-Müller
4605
4606         * configure.ac:
4607         * gst/gstpad.c:
4608           unref data when probe function returns FALSE.  Fixes #166362
4609
4610 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4611
4612         * gst/gst.c: (gst_init_get_popt_table):
4613           Fix typo (#166269).
4614
4615 2005-02-04  Andy Wingo  <wingo@pobox.com>
4616
4617         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4618         the debugging on whether the caps are compatible.
4619
4620 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4621
4622         * docs/manual/basics-elements.xml:
4623           Fix two typos.
4624
4625 2005-02-02  Wim Taymans  <wim@fluendo.com>
4626
4627         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4628         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4629         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4630         Remove some FIXMEs after analysing and commenting why they
4631         are not issues.
4632
4633 2005-02-02  Wim Taymans  <wim@fluendo.com>
4634
4635         * gst/schedulers/gstoptimalscheduler.c:
4636         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4637         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4638         (get_invalid_call), (chain_invalid_call),
4639         (get_group_schedule_function), (loop_group_schedule_function),
4640         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4641         (gst_opt_scheduler_state_transition),
4642         (gst_opt_scheduler_add_element),
4643         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4644         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4645         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4646         (gst_opt_scheduler_show):
4647         Added lock to protect scheduler data structures.
4648
4649 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4650
4651         * testsuite/threads/threadi.c: (cb_data):
4652           Fix buglet in test.
4653
4654 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4655
4656         * testsuite/threads/Makefile.am:
4657         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4658           On Wim's request, split the test in three separately-compiled
4659           tests that each test a very specific bug. Two of them still fail,
4660           will create bugs for those. threadi.c indicates why they fail.
4661
4662 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4663
4664         * gst/schedulers/gstoptimalscheduler.c:
4665         (get_group_schedule_function):
4666           Try to work with the threading mess that queue_link is.
4667
4668 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4669
4670         * gst/gstbin.c: (gst_bin_remove_func):
4671           Explicitely make an element release locks in a group when being
4672           remove from a bin.
4673         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4674           If there's no scheduler, always return immediately (similar to
4675           gst_element_interrupt).
4676
4677 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4678
4679         * gst/gstbin.c: (gst_bin_child_state_change_func):
4680           Remove a piece of code that could never be reached.
4681         * docs/gst/gstreamer-sections.txt:
4682         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4683         (gst_pad_call_get_function):
4684         * gst/gstpad.h:
4685         * testsuite/pad/Makefile.am:
4686           Fix #150546, enable tests.
4687
4688 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4689
4690         * docs/pwg/advanced-types.xml:
4691           Fix description for buffer-frames=0.
4692         * docs/gst/tmpl/gstbin.sgml:
4693         * gst/gstbin.c: (gst_bin_child_state_change_func),
4694         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4695         * gst/gstbin.h:
4696         * testsuite/threads/Makefile.am:
4697         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4698         (cb_state), (cb_play), (main):
4699           Fix non-recursive state changes to *really* change the state
4700           of the object, and not just call parent_class->state_change.
4701           Fix a lot of lockups caused by this. Fixes #132775. Add test
4702           for the problem. Also enable test to show #142588 (fixed).
4703         * gst/gstthread.c: (gst_thread_change_state),
4704         (gst_thread_child_state_change):
4705           Don't exit the thread if we go to NULL and are inside thread
4706           context. Instead, return control to the main thread context
4707           and exit from there.
4708         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4709           Don't unset virtual functions, since those may still be used.
4710           That's not necessarily correct, but suffices for now.
4711         * configure.ac:
4712         * testsuite/Makefile.am:
4713         * testsuite/pad/Makefile.am:
4714         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4715         (gst_test_sink_base_init), (gst_test_sink_chain),
4716         (gst_test_sink_init), (main):
4717         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4718         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4719         (main):
4720         * testsuite/pad/link.c: (gst_test_element_class_init),
4721         (gst_test_element_base_init), (gst_test_src_get),
4722         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4723         (gst_test_filter_loop), (gst_test_filter_init),
4724         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4725         (cb_error), (main):
4726           Add tests to show #150546. Pass, but should fail (currently
4727           disabled from the testsuite).
4728         * gst/gstscheduler.c: (gst_scheduler_dispose):
4729           Dereference child schedulers on dispose (#94464).
4730         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4731           Fix typo.
4732         * testsuite/threads/thread.c: (main):
4733           Add more debug.
4734
4735 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4736
4737         * gst/gstpad.c: (gst_pad_push):
4738           Oops, revert previous commit, broke testsuite...
4739
4740 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4741
4742         * gst/gstpad.c: (gst_pad_push):
4743           Add check that the pad on which the push is performed is not a
4744           get-based pad (#150546).
4745
4746 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4747
4748         * gst/elements/gsttypefindelement.c:
4749         (gst_type_find_element_handle_event):
4750           Fix buffer pushing if stream EOSes during typefinding.
4751
4752 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4753
4754         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4755
4756         * gst/gstvalue.c: (gst_string_wrap):
4757           Allow NULL-strings as argument (#165365).
4758
4759 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4760
4761         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4762
4763         * gst/schedulers/faircothreads.c:
4764         (gst_fair_scheduler_cothread_queue_show):
4765           Fix build without debug enabled.
4766
4767 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4768
4769         * docs/gst/gstreamer-sections.txt:
4770         * docs/libs/gstreamer-libs-docs.sgml:
4771         * docs/libs/gstreamer-libs-sections.txt:
4772         * docs/libs/tmpl/gstcontrol.sgml:
4773         * docs/libs/tmpl/gstdparam.sgml:
4774         * docs/libs/tmpl/gstdplinint.sgml:
4775         * docs/libs/tmpl/gstdpman.sgml:
4776         * docs/libs/tmpl/gstdpsmooth.sgml:
4777         * docs/libs/tmpl/gstputbits.sgml:
4778         * docs/libs/tmpl/gstunitconvert.sgml:
4779         * libs/gst/control/dparam.c:
4780         * libs/gst/control/dparam.h:
4781         * libs/gst/control/dparammanager.c:
4782         (gst_dpman_add_required_dparam_callback),
4783         (gst_dpman_add_required_dparam_direct),
4784         (gst_dpman_add_required_dparam_array),
4785         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4786         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4787         (gst_dpman_get_manager)
4788           restructured DParam docs
4789
4790 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4791
4792         * gst-element-check.m4:
4793           Only check for gst-inspect if we haven't already
4794           found it in previous element check runs
4795
4796 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4797
4798         * docs/gst/Makefile.am:
4799         * docs/libs/Makefile.am:
4800           fixed install rules to treat style.css as optional
4801
4802 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4803
4804         * docs/gst/Makefile.am:
4805         * docs/libs/Makefile.am:
4806           install style.css along with docs
4807         * docs/gst/tmpl/gstbin.sgml:
4808         * docs/gst/tmpl/gstclock.sgml:
4809         * docs/gst/tmpl/gstdata.sgml:
4810         * docs/gst/tmpl/gstelement.sgml:
4811         * gst/gstbin.h:
4812         * gst/gstelement.c: (gst_element_class_init):
4813         * gst/gstelement.h:
4814           fixing incomplete docs
4815
4816 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4817
4818         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4819           Don't unref seek event twice when fflush() fails
4820           
4821 2005-01-22  David Schleef  <ds@schleef.org>
4822
4823         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4824
4825 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4826
4827         * docs/gst/Makefile.am:
4828         * docs/libs/Makefile.am:
4829           added params for deprecation guards
4830         * gst/gst.c:
4831         * gst/gst.h:
4832         * gst/gsterror.c: (_gst_resource_errors_init),
4833         (_gst_stream_errors_init):
4834         * gst/gsterror.h:
4835           documented some more enums
4836
4837 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4838         * gst/autoplug/gstspideridentity.c:
4839         Cosmetic fix - spider_find_peek should be static
4840         * gst/parse/parse.l:
4841         Applying fix for #164261
4842
4843 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4844
4845         * docs/gst/gstreamer-sections.txt:
4846         * docs/gst/tmpl/gstplugin.sgml:
4847         * docs/libs/gstreamer-libs-sections.txt:
4848         * docs/libs/tmpl/gstcontrol.sgml:
4849         * gst/gstbuffer.h:
4850         * gst/gsttag.h:
4851         * gst/gstvalue.c:
4852           added docs for the TAG defines
4853
4854 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4855
4856         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4857           Only unref entry if there is an entry.
4858
4859 2005-01-17  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4862         (remove_from_group), (schedule_group), (normalize_group),
4863         (gst_opt_scheduler_iterate):
4864         Also ref/unref decoupled elements before iterating the
4865         group since they are not added to the list of elements.
4866
4867 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4868
4869         * docs/manual/highlevel-components.xml:
4870           Add subtitle/streamselection as new features to playbin.
4871
4872 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4873
4874         * docs/manual/manual.xml:
4875           Re-enable dataaccess docs (oops).
4876
4877 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4878
4879         * docs/pwg/advanced-types.xml:
4880         * docs/random/mimetypes:
4881           Add documentation on libsndfile types (#163309), by Steve Baker
4882           <steve@stevebaker.org>.
4883         * gst/gstelement.c: (gst_element_release_request_pad):
4884           If an element has no explicit function, just remove the pad.
4885
4886 2005-01-17  Luca Ognibene  <luogni@tin.it>
4887
4888         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4889
4890         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4891           Fix memleak (#163801).
4892
4893 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4894
4895         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4896           I think this is actually more correct...
4897
4898 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4899
4900         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4901           Another workaround for memory access while destroyed in callback.
4902           Please, someone with refcount knowledge, have a look at this.
4903
4904 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4905
4906         * docs/faq/faq.xml:
4907         * docs/faq/legal.xml:
4908           move the legal Q&A here
4909
4910 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4911
4912         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4913         (gst_tee_request_new_pad):
4914           Fix negotiation.
4915
4916 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4917
4918         * docs/random/omega/caps2:
4919         * testsuite/caps/caps_strings:
4920           replace framerate aproximations by their real value
4921           (24000/1001, 30000/1001, 60000/1001)
4922           Partially fixes bug #164049
4923
4924 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4925
4926         * docs/gst/Makefile.am:
4927           don't fail on the stupid GstPoptOption
4928
4929 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4930
4931         * gst/gstpad.h:
4932         * gst/gstprobe.c:
4933           allow probes to work on ghost pads by realizing the pad
4934           probe debugging
4935
4936 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4937
4938         * docs/gst/gstreamer-sections.txt:
4939         * docs/gst/tmpl/gstpad.sgml:
4940         * gst/gstpad.c: (gst_pad_set_active_recursive):
4941         * gst/gstpad.h:
4942           Add gst_pad_set_active_recursive().
4943
4944 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4945
4946         * docs/random/release:
4947           updates
4948         * gst/gst_private.h:
4949         * gst/gstinfo.c:
4950         * gst/gstobject.c:
4951           move deep_notify logging to a new category
4952         * gst/gstprobe.c:
4953         * gst/gstprobe.h:
4954           add stuff so bindings can wrap probes
4955
4956 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4957
4958         * gst/gstplugin.c: (gst_plugin_load):
4959           Fix plugin loading if plugin/lib was already loaded. Fixes
4960           #163383
4961
4962 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4963
4964         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4965
4966         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4967           Protect plugin loading by a mutex so it's threadsafe. Fixes
4968           #163234.
4969
4970 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4971
4972         * gst/gstevent.c: (_gst_event_copy):
4973           Reference source object when copying events, since it'll be
4974           dereferenced on event dereferencing as well.
4975
4976 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4977
4978         * docs/gst/gstreamer-sections.txt:
4979         * docs/gst/tmpl/gstevent.sgml:
4980         * gst/gstevent.c: (gst_event_new_filler_stamped),
4981         (gst_event_filler_get_duration):
4982         * gst/gstevent.h:
4983           Add two new functions for filler events (which are used to
4984           synchronize streams if one of them is not having any data
4985           for a while) without interrupting the actual data-stream.
4986           Basically a no-op.
4987         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4988         (gst_queue_link_sink), (gst_queue_link_src),
4989         (gst_queue_change_state):
4990           Allow for renegotiation while filled. Required for stream
4991           switching while playing.
4992
4993 2005-01-08  Benjamin Otte  <otte@gnome.org>
4994
4995         * gst/gstelement.c: (gst_element_link_many):
4996           fix up g_return_if_fail's
4997         * po/LINGUAS:
4998         * po/de.po:
4999           add German translation, that was somehow not included
5000
5001 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5002
5003         * docs/random/mimetypes:
5004           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5005           do not add them to riff-lib as they are not common
5006
5007 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5008
5009         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5010           Check for existence of probe after performing the probe before
5011           re-accessing it to prevent segfaults caused by removal of the
5012           probe in the callback.
5013
5014 2005-01-05  David Schleef  <ds@schleef.org>
5015
5016         * testsuite/registry/Makefile.am:
5017         * testsuite/registry/gst-print-formats.c:
5018         (print_pad_templates_info), (print_element_list),
5019         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5020         (g_list_uniqify), (get_pad_templates_info),
5021         (get_element_mime_list), (print_mime_list), (main): A little
5022         program that looks through the registry to find elements of
5023         a given type.  Not particularly interesting as a test, except
5024         that there's no other test covering the same area.
5025
5026 2005-01-05  David Schleef  <ds@schleef.org>
5027
5028         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5029         (fault_handler_sigaction), (fault_spin),
5030         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5031         in signal.h-type signal handlers by not calling forbidden functions,
5032         including gst_element_set_state().
5033
5034 2005-01-05  David Schleef  <ds@schleef.org>
5035
5036         * gst/gstvalue.h: Mark _gst_reserved[] as private
5037
5038 2005-01-05  David Schleef  <ds@schleef.org>
5039
5040         * gst/gstvalue.c: Fix doc build problem.
5041
5042 2005-01-05  David Schleef  <ds@schleef.org>
5043
5044         * gst/gstvalue.c: Add some documentation
5045
5046 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5047
5048         * docs/README:
5049           another shell oneliner for empty return value docs
5050         * gst/gstcaps.c:
5051         * gst/gstvalue.c:
5052         * libs/gst/control/dparam.c:
5053           more doc fixes (parameters and return values)
5054
5055 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5056
5057         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5058
5059         * gst/gstregistry.h:
5060         * gst/registries/gstxmlregistry.c:
5061           Fix macro's for Mingw (fixes #162276).
5062
5063 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5064
5065         * docs/README:
5066           quick shell oneliner to find undocumented members
5067         * docs/gst/tmpl/gstplugin.sgml:
5068         * docs/gst/tmpl/gstscheduler.sgml:
5069         * docs/gst/tmpl/gstthread.sgml:
5070           more enumtypes cleanup
5071         * gst/gsterror.h:
5072           activated documentation comments, now someone needs to document
5073           the enums :(
5074
5075 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5076
5077         * docs/manual/manual.xml:
5078           Add dataaccess part (doh!).
5079
5080 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5081
5082         * docs/manual/advanced-autoplugging.xml:
5083           Fix typo (intiate -> initiate).
5084
5085 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5086
5087         * docs/random/bbb/streamselection:
5088           Add some notes on how to handle multi-subtitle/-audio streams.
5089
5090 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5091
5092         * docs/gst/gstreamer-docs.sgml:
5093         * docs/gst/gstreamer-sections.txt:
5094         * docs/gst/tmpl/gstenumtypes.sgml:
5095         * docs/gst/tmpl/gsterror.sgml:
5096         * docs/gst/tmpl/gstevent.sgml:
5097         * docs/gst/tmpl/gstpad.sgml:
5098         * docs/gst/tmpl/gstpadtemplate.sgml:
5099         * docs/gst/tmpl/gstthread.sgml:
5100           removed gstenumtypes section from docs and put all the enums into
5101           their sections
5102
5103 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5104
5105         * gst/gstplugin.c:
5106           document gst_library_load a bit more (riff special case + return
5107           value if already loaded)
5108         * testsuite/bytestream/filepadsink.c:
5109           plugin name is 'gstbytestream', not 'bytestream'
5110
5111 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5112
5113         * docs/random/bbb/subtitles:
5114           Add some first mind rumblings on proper subtitle support.
5115
5116 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * po/ca.po:
5119         * po/sv.po:
5120           updated translations
5121
5122 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5123
5124         * docs/manual/advanced-dataaccess.xml:
5125           Add section on how to use fakesrc/fakesink/identity in your
5126           application, plus section on how to embed plugins. Also mention
5127           probes.
5128         * docs/manual/appendix-checklist.xml:
5129         * docs/manual/appendix-debugging.xml:
5130         * docs/manual/appendix-gnome.xml:
5131         * docs/manual/appendix-integration.xml:
5132           Debug -> checklist, GNOME -> integration, add sections on Linux,
5133           KDE integration and add other things useful for application
5134           development.
5135         * docs/manual/manual.xml:
5136           Remove some fixmes, update some file pointers.
5137         * docs/pwg/appendix-checklist.xml:
5138           Fix typo.
5139         * docs/pwg/building-boiler.xml:
5140           Remove ugly header and add commented fixme.
5141         * docs/pwg/pwg.xml:
5142           Add fixme.
5143         * examples/manual/Makefile.am:
5144           Add example for added docs.
5145
5146 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * configure.ac:
5149           back to HEAD
5150
5151 === release 0.8.8 ===
5152
5153 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5154
5155         * NEWS:
5156         * RELEASE:
5157         * configure.ac:
5158           Releasing 0.8.8, "I'll Take Care Of You"
5159
5160 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5161
5162         * configure.ac:
5163           second prerelease
5164
5165 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5166
5167         patch by: Wim Taymans
5168
5169         * gst/gstbin.c:
5170           Fix for #159852 - make iterate emission threadsafe
5171
5172 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5173
5174         * docs/faq/cvs.xml:
5175           notes about new fdo account request
5176
5177 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5178
5179         * docs/gst/gstreamer-docs.sgml:
5180         * docs/gst/tmpl/gstenumtypes.sgml:
5181         * docs/gst/tmpl/gstplugin.sgml:
5182         * docs/libs/gstreamer-libs-docs.sgml:
5183           Added missing short docs. Added ids for navigation.
5184
5185 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5186
5187         * docs/manual/advanced-autoplugging.xml:
5188         * docs/manual/advanced-schedulers.xml:
5189         * docs/manual/advanced-threads.xml:
5190           Rewrites. Remove cothreads, go a bit into opt specifically,
5191           document threads and their gotchas, and do some technical stuff
5192           on autoplugging plus add some working examples. Fixes #157395.
5193         * examples/manual/Makefile.am:
5194           Add typefind/autoplugger example (one that actually works).
5195           Remove queue example since it's a duplicate of the thread one.
5196
5197 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5198
5199         * gst/gstvalue.c: (gst_value_deserialize_string):
5200           use deprecated g_value_set_string_take_ownership to keep compatible
5201           with glib 2.2
5202
5203 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5204
5205         * gst/gstvalue.c: (gst_value_deserialize_string):
5206           revert last patch, only dom a g_utf8_validate now before accepting
5207           the string - caps parsing strips " from strings so we can't rely on
5208           them
5209         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5210           disable a test that tested the above and comment it
5211
5212 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5213
5214         Patch reviewed by David Schleef  <ds@schleef.org>
5215
5216         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5217         bug #153882)
5218         * win32/gstenumtypes.h: same
5219
5220 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5221
5222         * gst/gstpad.c: (gst_pad_query):
5223           Do query on realized pad, similar to how convert/send_event handle
5224           this. Also makes sense, since this pad belongs to the function to
5225           which this query will be sent. Fixes #158163.
5226
5227 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5228
5229         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5230
5231 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5232
5233         * docs/faq/general.xml: fix pipeline to actually work
5234
5235 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5236
5237         * gst/gstvalue.c: (gst_value_deserialize_string):
5238           check that a simple string that gets deserialized does not contain
5239           invalid characters
5240         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5241           remove a test that tested a wring behaviour
5242
5243 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5244
5245         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5246
5247         * docs/manual/intro-motivation.xml:
5248           Fix typos.
5249
5250 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5251
5252         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5253
5254         * docs/gst/tmpl/gstprobe.sgml:
5255           Fix documentation of probe callback - it is supposed to return
5256           FALSE, not TRUE, to remove data from the stream (#159087).
5257
5258 2004-12-16  Daniel Gazard  <dany42@free.fr>
5259
5260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5261
5262         * gst/gstelementfactory.c: (gst_element_factory_create):
5263           Fix compile failure if compiling without libxml2 support (#149936).
5264
5265 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5266
5267         * docs/manual/advanced-autoplugging.xml:
5268         * docs/manual/highlevel-components.xml:
5269           Move spider from autoplugging to components. Autoplugging is for
5270           internals, not for solutions. ;-).
5271
5272 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5273
5274         * docs/random/ds/0.9-suggested-changes:
5275           Make note on device/location/uri property names.
5276
5277 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5278
5279         * docs/manual/advanced-autoplugging.xml:
5280         * docs/manual/advanced-clocks.xml:
5281         * docs/manual/advanced-interfaces.xml:
5282         * docs/manual/advanced-metadata.xml:
5283         * docs/manual/advanced-position.xml:
5284         * docs/manual/advanced-schedulers.xml:
5285         * docs/manual/advanced-threads.xml:
5286         * docs/manual/appendix-gnome.xml:
5287         * docs/manual/appendix-programs.xml:
5288         * docs/manual/appendix-quotes.xml:
5289         * docs/manual/autoplugging.xml:
5290         * docs/manual/basics-bins.xml:
5291         * docs/manual/basics-data.xml:
5292         * docs/manual/basics-elements.xml:
5293         * docs/manual/basics-helloworld.xml:
5294         * docs/manual/basics-init.xml:
5295         * docs/manual/basics-pads.xml:
5296         * docs/manual/basics-plugins.xml:
5297         * docs/manual/bins-api.xml:
5298         * docs/manual/bins.xml:
5299         * docs/manual/buffers-api.xml:
5300         * docs/manual/buffers.xml:
5301         * docs/manual/clocks.xml:
5302         * docs/manual/components.xml:
5303         * docs/manual/cothreads.xml:
5304         * docs/manual/debugging.xml:
5305         * docs/manual/dparams-app.xml:
5306         * docs/manual/dynamic.xml:
5307         * docs/manual/elements-api.xml:
5308         * docs/manual/elements.xml:
5309         * docs/manual/factories.xml:
5310         * docs/manual/gnome.xml:
5311         * docs/manual/goals.xml:
5312         * docs/manual/helloworld.xml:
5313         * docs/manual/helloworld2.xml:
5314         * docs/manual/highlevel-components.xml:
5315         * docs/manual/highlevel-xml.xml:
5316         * docs/manual/init-api.xml:
5317         * docs/manual/intro-basics.xml:
5318         * docs/manual/intro-motivation.xml:
5319         * docs/manual/intro-preface.xml:
5320         * docs/manual/intro.xml:
5321         * docs/manual/links-api.xml:
5322         * docs/manual/links.xml:
5323         * docs/manual/manual.xml:
5324         * docs/manual/motivation.xml:
5325         * docs/manual/pads-api.xml:
5326         * docs/manual/pads.xml:
5327         * docs/manual/plugins-api.xml:
5328         * docs/manual/plugins.xml:
5329         * docs/manual/programs.xml:
5330         * docs/manual/queues.xml:
5331         * docs/manual/quotes.xml:
5332         * docs/manual/schedulers.xml:
5333         * docs/manual/states-api.xml:
5334         * docs/manual/states.xml:
5335         * docs/manual/threads.xml:
5336         * docs/manual/typedetection.xml:
5337         * docs/manual/win32.xml:
5338         * docs/manual/xml.xml:
5339           Try 2. This time, include a short preface as a "general
5340           introduction", also add code blocks around all code samples
5341           so they get compiled. We still need a way to tell readers
5342           the filename of the code sample. In some cases, don't show
5343           all code in the documentation, but do include it in the generated
5344           code. This allows for focussing on specific bits in the docs,
5345           while still having a full test application available.
5346         * examples/manual/Makefile.am:
5347           Fix up examples for new ADM. Add several of the new examples that
5348           were either added or were missing from the build system.
5349         * examples/manual/extract.pl:
5350           Allow nameless blocks.
5351
5352 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5353
5354         * docs/manual/elements-api.xml:
5355         * docs/manual/helloworld.xml:
5356         * examples/manual/extract.pl:
5357           fix last example.  Add example of adding code blocks that are not
5358           shown in docbook output.
5359
5360 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         * docs/manual/dynamic.xml:
5363         * docs/manual/elements-api.xml:
5364         * docs/manual/gnome.xml:
5365         * docs/manual/helloworld2.xml:
5366         * docs/manual/init-api.xml:
5367         * docs/manual/queues.xml:
5368         * docs/manual/threads.xml:
5369         * docs/manual/xml.xml:
5370         * examples/manual/extract.pl:
5371           Make it possible to extract example code from separate blocks.
5372           Should make Ronald happy.
5373
5374 2004-12-15  Wim Taymans  <wim@fluendo.com>
5375
5376         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5377         (remove_from_group), (group_elements_set_visited),
5378         (normalize_group), (gst_opt_scheduler_iterate):
5379         Fix bug where a flag was not updated on a decoupled entry point 
5380         because we were just checking the group element list and decoupled
5381         elements are not in that list..
5382
5383 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5384
5385         * docs/manual/advanced-autoplugging.xml:
5386         * docs/manual/advanced-clocks.xml:
5387         * docs/manual/advanced-dparams.xml:
5388         * docs/manual/advanced-interfaces.xml:
5389         * docs/manual/advanced-metadata.xml:
5390         * docs/manual/advanced-position.xml:
5391         * docs/manual/advanced-schedulers.xml:
5392         * docs/manual/advanced-threads.xml:
5393         * docs/manual/appendix-debugging.xml:
5394         * docs/manual/appendix-gnome.xml:
5395         * docs/manual/appendix-programs.xml:
5396         * docs/manual/appendix-quotes.xml:
5397         * docs/manual/appendix-win32.xml:
5398         * docs/manual/autoplugging.xml:
5399         * docs/manual/basics-bins.xml:
5400         * docs/manual/basics-data.xml:
5401         * docs/manual/basics-elements.xml:
5402         * docs/manual/basics-helloworld.xml:
5403         * docs/manual/basics-init.xml:
5404         * docs/manual/basics-pads.xml:
5405         * docs/manual/basics-plugins.xml:
5406         * docs/manual/bins-api.xml:
5407         * docs/manual/bins.xml:
5408         * docs/manual/buffers-api.xml:
5409         * docs/manual/buffers.xml:
5410         * docs/manual/clocks.xml:
5411         * docs/manual/components.xml:
5412         * docs/manual/cothreads.xml:
5413         * docs/manual/debugging.xml:
5414         * docs/manual/dparams-app.xml:
5415         * docs/manual/dynamic.xml:
5416         * docs/manual/elements-api.xml:
5417         * docs/manual/elements.xml:
5418         * docs/manual/factories.xml:
5419         * docs/manual/gnome.xml:
5420         * docs/manual/goals.xml:
5421         * docs/manual/helloworld.xml:
5422         * docs/manual/helloworld2.xml:
5423         * docs/manual/highlevel-components.xml:
5424         * docs/manual/highlevel-xml.xml:
5425         * docs/manual/init-api.xml:
5426         * docs/manual/intro-motivation.xml:
5427         * docs/manual/intro-preface.xml:
5428         * docs/manual/intro.xml:
5429         * docs/manual/links-api.xml:
5430         * docs/manual/links.xml:
5431         * docs/manual/manual.xml:
5432         * docs/manual/motivation.xml:
5433         * docs/manual/pads-api.xml:
5434         * docs/manual/pads.xml:
5435         * docs/manual/plugins-api.xml:
5436         * docs/manual/plugins.xml:
5437         * docs/manual/programs.xml:
5438         * docs/manual/queues.xml:
5439         * docs/manual/quotes.xml:
5440         * docs/manual/schedulers.xml:
5441         * docs/manual/states-api.xml:
5442         * docs/manual/states.xml:
5443         * docs/manual/threads.xml:
5444         * docs/manual/typedetection.xml:
5445         * docs/manual/win32.xml:
5446         * docs/manual/xml.xml:
5447           First try at rewriting the ADM. Needs lotsamore work, but some
5448           parts might already be somewhat useful.
5449         * docs/pwg/advanced-interfaces.xml:
5450           Remove properties interface, it never actually existed (except for
5451           on my HD...).
5452
5453 2004-12-13  David Schleef  <ds@schleef.org>
5454
5455         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5456         be NULL (bug #160220).
5457
5458 2004-12-13  David Schleef  <ds@schleef.org>
5459
5460         * configure.ac: remove all mmx stuff, because it's not used.
5461         * docs/random/ds/0.9-suggested-changes: additional notes
5462         * include/Makefile.am: we don't use these anymore
5463         * include/mmx.h: remove
5464         * include/sse.h: remove
5465
5466 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5467
5468         * docs/random/mimetypes:
5469           Add FOURCC code for h264 codec (VSSH)
5470           Add alternate FOURCC codes for h263 related codecs
5471
5472 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5473
5474         * docs/manual/programs.xml:
5475           Added more gst-launch examples.
5476
5477 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5478
5479         * gst/gstqueue.c: (gst_queue_handle_src_query):
5480           Check for availability again.
5481
5482 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5483
5484         * gst/gstcaps.c: (gst_caps_compare_structures):
5485           Simple caps go first. This has the nice side-effect of fixing an
5486           obscure warning.
5487
5488 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5489
5490         * gst/gstversion.h.in:
5491           Protect header.
5492
5493 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5494
5495         * gst/schedulers/gstoptimalscheduler.c:
5496         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5497         (gst_opt_scheduler_get_wrapper):
5498           When we're recursing into a chain run, only run the directly
5499           related group, not all queued ones. This will fix a possible
5500           deadlock in chains with more than two groups.
5501
5502 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5503
5504         * autogen.sh:
5505           remove patch if autopoint fails
5506
5507 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5508
5509         * docs/gst/gstreamer-sections.txt:
5510           Document Thomas' addition, fix build, make Luis the sheriff happy.
5511
5512 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5513
5514         * gst/gstplugin.c:
5515         * gst/gstplugin.h:
5516           add accessor for version field
5517
5518 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5519
5520         submitted by: Luca Ferretti <elle.uca@infinito.it>
5521
5522         * po/LINGUAS:
5523         * po/it.po:
5524           New tranlation added: Italian
5525
5526 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5527
5528         * gst/gstpad.c: (gst_pad_is_negotiated),
5529         (gst_pad_get_negotiated_caps):
5530           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5531           it doesn't actually check the contents), so be sure to hand it
5532           a RealPad else we'll crash.
5533
5534 2004-12-03  Wim Taymans  <wim@fluendo.com>
5535
5536         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5537         (gst_queue_link), (gst_queue_handle_src_query):
5538         Reverted to 1.110 until this makes the testsuite and various
5539         apps work.
5540
5541 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5542
5543         * docs/upload.mak: fix included CVS conflict strings
5544
5545 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5546
5547         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5548
5549         * gst/gstelement.c: (gst_element_error_full):
5550           Use g_error_new_literal because error text may have
5551           percentage signs in it. Fixes #160019.
5552
5553 2004-12-01  Benjamin Otte  <otte@gnome.org>
5554
5555         * gst/elements/gstbufferstore.c:
5556         (gst_buffer_store_add_buffer_func):
5557           don't try to make subbuffers bigger than they can be. (fixes
5558           #159970)
5559
5560 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5561
5562         * docs/gst/gstreamer-sections.txt:
5563         * docs/gst/tmpl/gstvalue.sgml:
5564           Add new function to docs to fix build.
5565
5566 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5567
5568         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5569         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5570         (_gst_pad_default_fixate_foreach):
5571         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5572         * gst/gstvalue.h:
5573           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5574           in some cases (arrays), the fixedness depends on the content.
5575         * gst/gstqueue.c: (gst_queue_handle_src_query):
5576           Check for availability before doing something.
5577
5578 2004-11-29  Wim Taymans  <wim@fluendo.com>
5579
5580         * testsuite/threads/Makefile.am:
5581         * testsuite/threads/signals.c: (gst_test_get_type),
5582         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5583         (gst_test_set_property), (gst_test_get_property),
5584         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5585         (gst_test_do_prop), (run_thread), (main):
5586         Added a bunch of testcases that show threadsafety bugs in glib.
5587
5588 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5589
5590         * docs/manual/programs.xml:
5591           Added a first batch of gst-launch examples, as provided by Ronald
5592           and others from the devel-mlist
5593
5594 2004-11-28  Benjamin Otte  <otte@gnome.org>
5595
5596         * gst/gstelement.c: (gst_element_negotiate_pads):
5597           simplify
5598         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5599         (gst_value_serialize_string), (gst_value_deserialize_string):
5600           add unwrapping of previously wrapped strings. Fix bug in wrapping
5601           while at it.
5602         * testsuite/caps/value_serialize.c: (test1),
5603         (test_string_serialization), (test_string_deserialization), (main):
5604           add tests for string (de)serialization
5605
5606 2004-11-26  Wim Taymans  <wim@fluendo.com>
5607
5608         * testsuite/threads/159566.c: (object_deep_notify), (main):
5609         * testsuite/threads/Makefile.am:
5610         Added testsuite to show bug #159566
5611
5612 2004-11-25  Wim Taymans  <wim@fluendo.com>
5613
5614         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5615         (gst_thread_child_state_change), (gst_thread_main_loop):
5616         Ref the thread object in the GThread mainloop. Break out of the
5617         thread mainloop if it holds the last ref. This properly exits
5618         the threads when disposing the thread from its own context. It
5619         also avoids possible deadlocks in the dispose function.
5620
5621 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5622
5623         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5624         it is necessary to wait.
5625
5626 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5627
5628         * docs/pwg/building-boiler.xml:
5629           Make description somewhat clearer.
5630
5631 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5632
5633         * docs/upload.mak:
5634           Apparently docs changed location on FDO's server.
5635
5636 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5637
5638         * docs/pwg/appendix-checklist.xml:
5639           Add some random notes on things to check when writing an element.
5640           This list can be extended as people see fit.
5641
5642 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5643
5644         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5645         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5646         pad. The queue will now wait until it is empty and forward the new
5647         caps to the source.
5648         * gst/gstbin.c (gst_bin_set_element_sched)
5649         (gst_bin_unset_element_sched): Make sure that all elements and
5650         links are registered and unregistered with the scheduler exactly
5651         once. This elaborates on a fix by Benjamin Otte, but
5652         guarantees that decoupled elements are also registered.
5653
5654 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5655
5656         * docs/manual/quotes.xml:
5657           add a quote
5658         * configure.ac:
5659         * gst/gst.c:
5660         * gst/gstinfo.c:
5661           add LIBDIR and move init message higher up so it's at the start
5662
5663 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5664
5665         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5666         * gstreamer.spec.in: add fair
5667
5668 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5669
5670         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5671         * gst/elements/gstidentity.c: (gst_identity_class_init):
5672           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5673           <teuf@gnome.org> (#157263).
5674         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5675         (gst_type_find_handle_src_query):
5676           Subtract size of internally stored data from position queries.
5677
5678 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5679
5680         * gst/schedulers/fairscheduler.c:
5681         * gst/schedulers/faircothreads.c:
5682         * gst/schedulers/faircothreads.h:
5683         New cothread based scheduler: Fair scheduler.
5684         * gst/schedulers/gthread-cothreads.h: 
5685         Add the standard #if around the whole file.
5686         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5687         compilation of the functions defined in this file. This is
5688         necessary to be able to use this file as a normal header.
5689         * gst/schedulers/Makefile.am: Add compiling support for fair
5690         scheduler.
5691         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5692         scheduler cothreads layer from documentation generation.
5693
5694 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5695
5696         * gst/autoplug/gstspideridentity.c:
5697         (gst_spider_identity_sink_loop_type_finding):
5698           Don't crash if that function is not implemented.
5699
5700 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5701
5702         * docs/pwg/advanced-types.xml:
5703           Another typo.
5704
5705 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5706
5707         * docs/pwg/intro-preface.xml:
5708           Hm, ok, so the brackets weren't really useful...
5709         * docs/pwg/other-ntoone.xml:
5710           Fix embarassing typo.
5711
5712 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5713
5714         * docs/pwg/intro-preface.xml:
5715           Rewrite preface.
5716
5717 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5718
5719         * docs/pwg/advanced-scheduling.xml:
5720         * docs/pwg/advanced-tagging.xml:
5721         * docs/pwg/advanced-types.xml:
5722         * docs/pwg/building-boiler.xml:
5723         * docs/pwg/building-chainfn.xml:
5724         * docs/pwg/building-signals.xml:
5725         * docs/pwg/building-state.xml:
5726         * docs/pwg/building-testapp.xml:
5727         * docs/pwg/intro-basics.xml:
5728         * docs/pwg/other-manager.xml:
5729         * docs/pwg/other-source.xml:
5730           Typo fixes.
5731         * docs/pwg/other-manager.xml:
5732           Add some first content. No example code yet.
5733         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5734           Remove double newlines.
5735
5736 2004-11-04  Wim Taymans  <wim@fluendo.com>
5737
5738         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5739         (remove_from_group), (normalize_group), (group_migrate_connected),
5740         (gst_opt_scheduler_iterate):
5741         * testsuite/schedulers/.cvsignore:
5742         * testsuite/schedulers/Makefile.am:
5743         * testsuite/schedulers/queue_link.c: (main):
5744         Added testcase for scheduler segfault.
5745         Fix scheduler segfault when removing a decoupled
5746         entry point as the last element from a group.
5747
5748 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5749
5750         * gst/gstmarshal.list: add missing marshaller, fixes build
5751
5752 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5753
5754         * docs/random/signal: added notes about using BOXED for GstBuffer
5755         signal marshallers, not POINTER
5756
5757 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5758
5759         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5760         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5761         POINTER=>BOXED changes to marshal GstBuffers
5762
5763 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5764
5765         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5766         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5767
5768 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5769
5770         * docs/gst/gstreamer-sections.txt:
5771         * docs/gst/tmpl/gstcaps.sgml:
5772         * docs/gst/tmpl/gsterror.sgml:
5773         * docs/gst/tmpl/gstinfo.sgml:
5774         * docs/gst/tmpl/gstmacros.sgml:
5775         * docs/gst/tmpl/gstutils.sgml:
5776         * docs/random/ensonic/interfaces.txt:
5777         * gst/gstinfo.h:
5778           added some more docs, removed two obsolete defines
5779
5780 2004-11-02  Kjartan Maraas <as at gnome.org>
5781
5782         reviewed by: Wim Taymans, Ronald Bultje.
5783
5784         * gst/cothreads.c: (cothread_create):
5785         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5786         (gst_bin_child_state_change_func):
5787         * gst/gstbuffer.c: (gst_buffer_span):
5788         * gst/gstelement.c: (gst_element_get_index),
5789         (gst_element_get_event_masks), (gst_element_get_query_types),
5790         (gst_element_get_formats):
5791         * gst/gsterror.c: (_gst_core_errors_init),
5792         (_gst_library_errors_init), (_gst_resource_errors_init),
5793         (_gst_stream_errors_init):
5794         * gst/gstobject.c: (gst_object_default_deep_notify):
5795         * gst/gstpad.c: (gst_pad_get_event_masks),
5796         (gst_pad_get_internal_links_default):
5797         * gst/gstplugin.c: (gst_plugin_register_func),
5798         (gst_plugin_get_module):
5799         * gst/gststructure.c: (gst_structure_get_string),
5800         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5801         (gst_structure_to_abbr):
5802         * gst/gstutils.c: (gst_print_element_args):
5803         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5804         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5805         Aplied part of patch #157127: Cleanup of issues reported by 
5806         sparse.
5807         Also do not try to use cothreads when there is no cothread
5808         context yet.
5809
5810 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5811
5812         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5813         (gst_opt_scheduler_iterate):
5814         Applied patch #154061. Running a pipeline in which an element 
5815         calls GST_ELEMENT_ERROR in the chain function, the opt 
5816         scheduler doesn't unref the chain so it never gets freed.
5817
5818 2004-11-02  Wim Taymans  <wim@fluendo.com>
5819
5820         * gst/gststructure.c: (gst_structure_get_abbrs),
5821         (gst_structure_from_abbr), (gst_structure_to_abbr):
5822         Remove that ugly if-then thing in the code that converts
5823         between strings and types.
5824
5825 2004-11-02  Wim Taymans  <wim@fluendo.com>
5826
5827         * gst/gstscheduler.c: (gst_scheduler_add_element),
5828         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5829         Aplied clock distribution patch, this should fix bug
5830         #148787.
5831
5832 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5833
5834         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5835
5836         * po/LINGUAS:
5837         * po/nb.po:
5838           Added Norwegian Bokmaal translation
5839
5840 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5841
5842         * tools/gst-inspect.c: (print_signal_info):
5843           print signal arguments as pointers if they are
5844
5845 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * docs/pwg/building-boiler.xml:
5848           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5849
5850 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5851
5852         * gst/parse/parse.l:
5853         * testsuite/parse/parse1.c: (main):
5854         Since parse can do 'element name=a:b' make 'a:b.' work as
5855         well. 
5856         Added testcase to verify fix.
5857
5858 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5859
5860         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5861         Use the realpad when printing the direction.
5862         Add extra \n when printing extensions of typefind factories.
5863
5864 2004-10-13  David Schleef  <ds@schleef.org>
5865
5866         * examples/manual/Makefile.am: $< isn't portable in Makefile
5867         rules.
5868
5869 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5870
5871         * docs/gst/tmpl/gstobject.sgml:
5872         * docs/gst/tmpl/gstplugin.sgml:
5873         * docs/gst/tmpl/gstpluginfeature.sgml:
5874         * docs/gst/tmpl/gstregistry.sgml:
5875         * docs/gst/tmpl/gstversion.sgml:
5876         * gst/gstbin.c:
5877           more api documentation
5878         * gst/gstplugin.c: (gst_plugin_register_func),
5879         (gst_plugin_check_file), (gst_plugin_load_file):
5880           better error signaling and logging
5881
5882 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5883
5884         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5885           Subtract current queue contents from position queries.
5886
5887 2004-10-11  Johan Dahlin  <johan@gnome.org>
5888
5889         * gst/gsturi.c (gst_uri_get_location): unescape string
5890         (gst_uri_construct): escape string.
5891
5892 2004-10-11  Benjamin Otte  <otte@gnome.org>
5893
5894         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5895         (gst_pad_try_set_caps_nonfixed):
5896           allow renegotiation of unconnected pads (as inside spider). Simply
5897           return OK if unconnected - mimic try_set_caps there.
5898
5899 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5900
5901         * gst/gstbin.c: (gst_bin_sync_children_state):
5902           Add missing break.
5903
5904 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5905
5906         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5907         Set element to EOS before sending EOS event
5908
5909 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5910
5911         * gst/elements/gsttypefindelement.c:
5912         (gst_type_find_element_handle_event):
5913         Handle EOS events when doing the transition from
5914         typefind to data passing. This should fix the
5915         infinite loops in short files.
5916
5917 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5918
5919         * gst/gstthread.c: (gst_thread_change_state),
5920         (gst_thread_child_state_change):
5921         Make sure no iteration happens while performing
5922         the state change as it could mess up the internal
5923         consistency of the thread state.
5924
5925 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5926
5927         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5928         (gst_thread_change_state), (gst_thread_child_state_change):
5929         Do not try to grab the iterate lock in the state change method
5930         when we are in the same thread as the iterate or else we
5931         could deadlock. Some other cleanups.
5932
5933 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5934
5935         * configure.ac:
5936           bump nano to cvs
5937
5938 === release 0.8.7 ===
5939
5940 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5941
5942         * configure.ac:
5943         * NEWS:
5944         * RELEASE:
5945         * configure.ac:
5946           releasing 0.8.7, "A Cruise"
5947
5948 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5949
5950         * docs/random/mimetypes:
5951         Add an entry for Sony ATRAC3 audio format with mime-type
5952         used by rmdemux et riff-read
5953
5954 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5955
5956         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5957         Push the buffer store instead of clearing it in case that
5958         the stream is not seekable.
5959
5960 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5961
5962         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5963         (gst_thread_main_loop):
5964         Lock the iteration and the state change so that automatic
5965         negotiation and fixation does not happen at the same time
5966         as the in stream negotiation.
5967
5968 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5969
5970         * configure.ac:
5971           bump nano to cvs
5972
5973 === release 0.8.6 ===
5974
5975 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5976
5977         * configure.ac:
5978         * NEWS:
5979         * RELEASE:
5980         * configure.ac:
5981           releasing 0.8.6, "Narc"
5982
5983 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5984
5985         * configure.ac:
5986           prerel bump
5987
5988 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5989
5990         patch by: Steve Lhomme
5991
5992         * gst/elements/gstfakesrc.c:
5993         * gst/elements/gstidentity.c:
5994         * gst/gstthread.c:
5995           Fix for #153881
5996
5997 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5998
5999         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6000         Fix threadsafety of the crc checking function.
6001
6002 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6003
6004         patch by: Ronald Bultje
6005
6006         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6007         (gst_type_find_element_handle_event),
6008         (gst_type_find_element_chain):
6009         * gst/elements/gsttypefindelement.h:
6010          #153657.
6011          Filter out discont event from seekable sources when typefind
6012          asks them to seek.  Fixes typefind with demuxers for
6013          avi, asf and matroska.
6014
6015 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6016
6017         * docs/gst/gstreamer-sections.txt:
6018         * gst/gstcaps.c:
6019         * gst/gstcaps.h:
6020         * gst/gstpad.c:
6021           Revert preferred caps: (#147789)
6022
6023 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6024
6025         * win32/dirent.c:
6026           fix a memory leak
6027
6028 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * configure.ac:
6031           bump for prerelease
6032
6033 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6034
6035         * docs/Makefile.am:
6036         * docs/manual/elements-api.xml:
6037           restructure so that common stuff is shown first
6038         * docs/manual/init-api.xml:
6039           convert to examples
6040         * docs/manual/manual.xml:
6041         * docs/manuals.mak:
6042         * docs/url.entities:
6043           link to API on the website, possibly override later in build
6044         * examples/manual/.cvsignore:
6045           ignore more
6046         * examples/manual/Makefile.am:
6047           add more examples
6048         * examples/manual/extract.pl:
6049           error out on failure
6050
6051 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6052
6053         * docs/gst/tmpl/gstthread.sgml:
6054         * docs/manual/init-api.xml:
6055         * examples/manual/Makefile.am:
6056           convert two code bits to examples
6057
6058 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6059
6060         * gst/gstelement.c: (gst_element_change_state):
6061           Well, actually, I was about to remove this insane assert when
6062           I noticed Wim already did that. A warning is nice so we can
6063           fix actual ugs (using --g-fatal-warnings and backtraces), so
6064           I added that instead.
6065
6066 2004-09-06  Wim Taymans  <wim@fluendo.com>
6067
6068         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6069         (gst_element_threadsafe_properties_post_run),
6070         (gst_element_set_state), (gst_element_change_state):
6071         Added extra refcounting around various places. 
6072
6073 2004-09-06  Wim Taymans  <wim@fluendo.com>
6074
6075         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6076         Fix debug info.
6077
6078 2004-09-06  Wim Taymans  <wim@fluendo.com>
6079
6080         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6081         (remove_from_group):
6082         Some more debug info.
6083
6084 2004-09-03  Wim Taymans  <wim@fluendo.com>
6085
6086         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6087         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6088         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6089         (gst_fakesrc_get), (gst_fakesrc_change_state):
6090         * gst/elements/gstfakesrc.h:
6091         * gst/elements/gstidentity.c: (gst_identity_class_init),
6092         (gst_identity_init), (gst_identity_chain),
6093         (gst_identity_set_property), (gst_identity_get_property),
6094         (gst_identity_change_state):
6095         * gst/elements/gstidentity.h:
6096         Added datarate properties to limit the datarate.
6097
6098 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6099
6100         * gst/autoplug/gstspider.c: (plugin_init):
6101           don't set a rank. We don't want to autoplug by inserting spiders.
6102
6103 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6104
6105         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6106         (gst_spider_identity_plug):
6107           add a template for spider's sink
6108         * gst/gst.c: (gst_register_core_elements):
6109           queue's rank should be NULL, we don't want spider to add it.
6110
6111 2004-08-18  David Schleef  <ds@schleef.org>
6112
6113         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6114         * docs/libs/Makefile.am: same
6115         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6116         * docs/random/ds/0.9-planning: random additions
6117         * docs/random/ds/0.9-suggested-changes: same
6118         * gst/gstxml.h: remove vestigal GstXMLNs definition
6119
6120         Preferred caps: (#147789)
6121         * docs/gst/gstreamer-sections.txt: Add symbols
6122         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6123         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6124         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6125         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6126         (gst_caps_get_preferred), (gst_caps_set_preferred),
6127         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6128         (gst_caps_use_preferred): Handle caps preferences
6129         * gst/gstcaps.h: Add caps preferences
6130         * gst/gstpad.c: (gst_pad_link_get_preferred),
6131         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6132         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6133         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6134         negotiation.
6135
6136 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6137
6138         * gst/autoplug/gstspideridentity.c:
6139         (gst_spider_identity_request_new_pad):
6140         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6141         (gst_aggregator_init):
6142         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6143         (gst_fakesink_init):
6144         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6145         (gst_fakesrc_init):
6146         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6147         (gst_fdsink_init):
6148         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6149         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6150         (gst_filesink_init):
6151         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6152         (gst_filesrc_init):
6153         * gst/elements/gstidentity.c: (gst_identity_base_init),
6154         (gst_identity_init):
6155         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6156         (gst_multifilesrc_init):
6157         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6158         (gst_pipefilter_init):
6159         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6160         (gst_statistics_init):
6161         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6162         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6163           s/gst_pad_new/&_from_template/
6164           register pad templates in the base_init function
6165           add static pad template definitions
6166
6167 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6168
6169         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6170         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6171         * testsuite/refcounting/pad.c: (main):
6172         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6173           s/gst_pad_new/&_from_template/
6174           prepare deprecation of gst_pad_new
6175
6176 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6177
6178         patch by: Luca Ognibene <skaboy81@virgilio.it>
6179
6180         * gst/gstcaps.c:
6181         * gst/gstelement.c:
6182         * gst/gstpad.c:
6183         * gst/gstxml.c:
6184           fix memleaks.  Fixes #150001
6185
6186 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6187
6188         * docs/random/ds/0.9-suggested-changes:
6189           add notes - mostly about pad templates
6190
6191 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6192
6193         * win32/GStreamer.vcproj:
6194           temporary locale files are .gmo not .mo
6195
6196 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6197
6198         * configure.ac: bump nano to cvs
6199
6200 === release 0.8.5 ===
6201
6202 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * configure.ac:
6205           releasing 0.8.5, "Stuttgart"
6206         * NEWS:
6207         * RELEASE:
6208         * configure.ac:
6209         * docs/random/release:
6210           updates for release
6211
6212 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6213
6214         patch by: Wim Taymans (wim@fluendo.com)
6215
6216         * gst/gstbuffer.c:
6217         * gst/gstindex.h:
6218         * libs/gst/dataprotocol/dataprotocol.c:
6219           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6220
6221 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6222
6223         * Makefile.am:
6224         * win32/MANIFEST:
6225           add win32 dir to the build.  Fixes #149981.
6226
6227 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * configure.ac:
6230           bump libtool versioning
6231         * gst/gststructure.c:
6232           mark function as static
6233         * po/af.po:
6234         * po/az.po:
6235         * po/ca.po:
6236         * po/cs.po:
6237         * po/en_GB.po:
6238         * po/fr.po:
6239         * po/nl.po:
6240         * po/sq.po:
6241         * po/sr.po:
6242         * po/sv.po:
6243         * po/tr.po:
6244         * po/uk.po:
6245           translations update
6246         * win32/README.txt:
6247           trademark protection
6248
6249 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * configure.ac:
6252           fix GST_ORIGIN
6253           set GST_PACKAGE to source, and distinguish between release and other
6254         * tools/gst-inspect.c:
6255           print out plugin an element factory is part of so we see this info
6256
6257 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * docs/gst/gstreamer-sections.txt:
6260         * docs/gst/tmpl/gstbuffer.sgml:
6261         * docs/gst/tmpl/gstschedulerfactory.sgml:
6262           reorder docs a little, make GstBuffer's more sensible.
6263         * gst/gstbuffer.h:
6264           API: added GST_BUFFER_FLAG_DELTA_UNIT
6265         * gst/gstscheduler.c:
6266           comment API addition
6267
6268 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6269
6270         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6271           work with non-regular files that can be mmapped (like /dev/zero)
6272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6273           get rid of typefinds that require a seek when we can't seek instead
6274           of trying them over and over again
6275         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6276           return non-zero failure value when the pipeline was interrupted or
6277           an error occurred
6278
6279 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6280
6281         * win32/config.h:
6282         * win32/GStreamer.vcproj:
6283           compile and install the locales
6284
6285 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6286
6287         * gst/gstvalue.c:
6288           fix a possible memory leak under Windows
6289
6290 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6291
6292         * win32/GStreamer.vcproj:
6293           fix a memory leak that occured under Windows
6294         * win32/gstreamer.def:
6295           add gst_scheduler_register
6296
6297 2004-08-11  Benjamin Otte  <otte@gnome.org>
6298
6299         * docs/gst/gstreamer-sections.txt:
6300         * gst/gstscheduler.c: (gst_scheduler_register):
6301         * gst/gstscheduler.h:
6302           API:
6303           add gst_scheduler_register shortcut similar to gst_element_register
6304         * gst/schedulers/entryscheduler.c: (plugin_init):
6305         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6306         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6307           use it
6308
6309 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6310
6311         * gst/gstvalue.h:
6312           fix a memory leak that occured under Windows
6313
6314 2004-08-10  Colin Walters  <walters@redhat.com>
6315
6316         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6317         Don't use O_EXCL to open temporary registry.  It will prevent
6318         registry creation if a temporary one already exists, which
6319         is unnecessary.
6320
6321 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6322
6323         * docs/gst/gstreamer-sections.txt:
6324         * docs/gst/tmpl/gstvalue.sgml:
6325           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6326
6327 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6328
6329         * win32/gstbytestream.vcproj:
6330         * win32/gstelements.vcproj:
6331         * win32/gstgetbits.vcproj:
6332         * win32/gst-inspect.vcproj:
6333         * win32/gst-launch.vcproj:
6334         * win32/gstoptimalscheduler.vcproj:
6335         * win32/GStreamer.vcproj:
6336         * win32/gst-register.vcproj:
6337         * win32/gstspider.vcproj:
6338           update the include and lib dirs to fit standard libraries as
6339           described in the Win32 manual
6340
6341 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6342
6343         * win32/config.h:
6344         * win32/gstversion.h:
6345           enable NLS again, push the version number for the coming 0.8.5 release
6346
6347 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6348
6349         * gst/gstvalue.h:
6350           export gst_type_XXX for windows DLLs
6351
6352 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6353
6354         * docs/faq/gst-uninstalled:
6355           fix PKG_CONFIG_PATH and PYTHONPATH
6356         * gst/schedulers/Makefile.am:
6357           cleanup
6358         * libs/gst/bytestream/bytestream.c:
6359           remove newline
6360         * po/LINGUAS:
6361         * po/sq.po:
6362           adding Albanian translation (Laurent Dhima)
6363         * po/cs.po:
6364           updated
6365
6366 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6367
6368         * po/ca.po:
6369         * po/sv.po:
6370           updated translations
6371
6372 2004-08-04  Benjamin Otte  <otte@gnome.org>
6373
6374         * tests/mass_elements.c: (main):
6375           allow specifying src and sink element explicitly, so I can test
6376           videotestsrc instead of fakesrc
6377
6378 2004-08-04  Benjamin Otte  <otte@gnome.org>
6379
6380         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6381         (gst_structure_id_empty_new), (gst_structure_empty_new),
6382         (gst_structure_copy):
6383           add gst_structure_id_empty_new_with_size to allow preallocating
6384           value array sizes. Use this in gst_structure_copy to get rid of
6385           reallocs.
6386           don't do quark=>string=>quark when copying structures
6387
6388 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6389
6390         * docs/manual/win32.xml:
6391         * win32/README.txt:
6392           update documentation with the clean version of dependencies
6393
6394 2004-08-03  Benjamin Otte  <otte@gnome.org>
6395
6396         * gst/schedulers/entryscheduler.c:
6397         (gst_entry_scheduler_remove_element):
6398           fix for GST_DISABLE_DEBUG
6399         * tools/gst-launch.c: (print_tag):
6400           fixes for G_DISABLE_ASSERT
6401
6402 2004-08-03  Benjamin Otte  <otte@gnome.org>
6403
6404         * gst/gst.c: (gst_register_core_elements):
6405           fix for G_DISABLE_ASSERT
6406         * gst/gstinfo.c: (__gst_in_valgrind):
6407           add for GST_DISABLE_DEBUG
6408
6409 2004-08-03  Benjamin Otte  <otte@gnome.org>
6410
6411         * gst/parse/parse.l:
6412           fix for G_DISABLE_ASSERT
6413
6414 2004-08-03  Wim Taymans  <wim@fluendo.com>
6415
6416         * gst/gstbin.c: (gst_bin_get_type),
6417         (gst_bin_child_state_change_func):
6418         * gst/gstthread.c: (gst_thread_change_state):
6419         Backported some debug logging from a reverted patch
6420         Don't try to destroy the thread twice. Added some more
6421         debugging in GstThread. Unlock and signal even if we
6422         are in the thread context.
6423
6424 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6425
6426         * po/uk.po:
6427           updated translation
6428
6429 2004-07-30  David Schleef  <ds@schleef.org>
6430
6431         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6432
6433 2004-07-29  David Schleef  <ds@schleef.org>
6434
6435         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6436         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6437
6438 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6439
6440         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6441         (gst_bin_add_func), (gst_bin_remove_func),
6442         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6443         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6444         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6445         (gst_bin_sync_children_state):
6446         * gst/gstbin.h:
6447         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6448         (gst_thread_change_state):
6449         * testsuite/states/Makefile.am:
6450           revert state change patches as agreed so we can rework them
6451           gradually
6452
6453 2004-07-29  Benjamin Otte  <otte@gnome.org>
6454
6455         * libs/gst/control/Makefile.am:
6456           link to libgstreamer (fixes Debian bug 262019, see
6457           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6458
6459 2004-07-29  Wim Taymans  <wim@fluendo.com>
6460
6461         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6462         (check_from_fraction_convert), (transform_test), (main):
6463         Make the test less pedantic about float roundoff errors.
6464
6465 2004-07-29  Benjamin Otte  <otte@gnome.org>
6466
6467         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6468         (gst_filesrc_srcpad_event):
6469           make seek events to before start/after end of file not fail, but
6470           seek to start/end instead
6471         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6472           add more output
6473
6474 2004-07-29  Benjamin Otte  <otte@gnome.org>
6475
6476         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6477           check that caps are fixed
6478         * gst/gstpad.c: (gst_pad_template_new):
6479           don't try to simplify caps, costs too much time on gst_init
6480         * gst/gstplugin.c: (gst_plugin_add_feature):
6481           G_ERROR if features are added twice
6482         * gst/gsttypefind.c: (gst_type_find_register):
6483         * gst/gstelementfactory.c: (gst_element_register):
6484           don't add features twice
6485         * docs/random/ds/0.9-suggested-changes:
6486           add note about possible gst_init optimization
6487
6488 2004-07-28  David Schleef  <ds@schleef.org>
6489
6490         * testsuite/elements/Makefile.am:
6491         * testsuite/elements/struct_i386.h:
6492         * testsuite/elements/struct_size.c: (main):  A little test
6493         to keep distcheck from working if someone changes a structure
6494         size accidentally.
6495
6496 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * docs/libs/Makefile.am:
6499         * docs/libs/gstreamer-libs-docs.sgml:
6500         * docs/libs/gstreamer-libs-sections.txt:
6501         * docs/libs/tmpl/gstbytestream.sgml:
6502         * docs/libs/tmpl/gstcontrol.sgml:
6503         * docs/libs/tmpl/gstdataprotocol.sgml:
6504         * docs/libs/tmpl/gstgetbits.sgml:
6505         * libs/gst/bytestream/Makefile.am:
6506         * libs/gst/bytestream/bytestream.c:
6507         * libs/gst/bytestream/bytestream.h:
6508         * libs/gst/control/Makefile.am:
6509         * libs/gst/dataprotocol/Makefile.am:
6510         * libs/gst/getbits/Makefile.am:
6511         * libs/gst/getbits/getbits.h:
6512           various doc and style fixes, adding bytestream to libs docs.
6513
6514 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6515
6516         * docs/gst/gstreamer-docs.sgml:
6517         * docs/libs/Makefile.am:
6518         * docs/libs/gstreamer-libs-docs.sgml:
6519         * docs/libs/gstreamer-libs-sections.txt:
6520         * libs/gst/control/dparam.c:
6521           more doc fixes.  gst-libs docs now build the same way as gst.
6522
6523 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6524
6525         * configure.ac:
6526         * testsuite/Makefile.am:
6527         * testsuite/bins/Makefile.am:
6528         * testsuite/caps/Makefile.am:
6529         * testsuite/cleanup/Makefile.am:
6530         * testsuite/clock/Makefile.am:
6531         * testsuite/debug/Makefile.am:
6532         * testsuite/dlopen/Makefile.am:
6533         * testsuite/dynparams/Makefile.am:
6534         * testsuite/elements/.cvsignore:
6535         * testsuite/elements/Makefile.am:
6536         * testsuite/enumcaps/Makefile.am:
6537         * testsuite/enumcaps/enumcaps.c:
6538         * testsuite/ghostpads/Makefile.am:
6539         * testsuite/indexers/Makefile.am:
6540         * testsuite/negotiation/Makefile.am:
6541         * testsuite/parse/Makefile.am:
6542         * testsuite/plugin/Makefile.am:
6543         * testsuite/refcounting/Makefile.am:
6544         * testsuite/schedulers/.cvsignore:
6545         * testsuite/states/Makefile.am:
6546         * testsuite/tags/Makefile.am:
6547         * testsuite/threads/Makefile.am:
6548           fold enumcaps into caps dir
6549           clean up Makefile.am's for testsuite
6550
6551 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6552
6553         * docs/gst/Makefile.am:
6554         * docs/libs/Makefile.am:
6555           clean up docs build.  Fixes needless rebuilding of template files.
6556
6557 2004-07-28  Wim Taymans  <wim@fluendo.com>
6558
6559         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6560         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6561         Make sure that a bin state change tries to keep the children
6562         in sync. 
6563         Added debug logging to the thread.
6564
6565 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6566
6567         * win32/GStreamer.vcproj:
6568         * win32/gstreamer.def:
6569           more exports for the plugins
6570
6571 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6572
6573         * win32/gstgetbits.vcproj:
6574         * win32/gstgetbits.def:
6575         * win32/msvc71.sln:
6576           add support for the getbits plugin
6577
6578 2004-07-27  Wim Taymans  <wim@fluendo.com>
6579
6580         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6581         (gst_value_transform_fraction_double), (_gst_value_initialize):
6582         * testsuite/caps/Makefile.am:
6583         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6584         (check_from_fraction_convert), (transform_test), (main):
6585         Added transform functions between double and fraction.
6586         Added testcase to verify transforms
6587
6588 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6589
6590         * win32/GStreamer.vcproj:
6591           rename GStreamer-0.8.lib to libgstreamer.lib
6592
6593 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6594
6595         * win32/gstelements.vcproj:
6596         * win32/gstoptimalscheduler.vcproj:
6597           fixes for the Release build
6598
6599 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6600
6601         * win32/config.h:
6602           update the version number
6603
6604 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6605
6606         * win32/GStreamer.vcproj:
6607           add gstinterface to the build
6608
6609 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6610
6611         * win32/gstreamer.def:
6612           add many definitions needed by plugins,
6613           GST_CAT_DEFAULT only available in the Debug build ?
6614
6615 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * gst/gstelement.c: (gst_element_set_eos_recursive):
6618           various whitespace fixes.
6619           doc fix, fixes #148497
6620
6621 2004-07-25  Benjamin Otte  <otte@gnome.org>
6622
6623         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6624           don't delay links on the sink elements, it causes unnegotiated
6625           links.
6626         * gst/elements/gsttypefindelement.c:
6627         (gst_type_find_element_base_init):
6628           add our padtemplates, we indeed do have some.
6629         * gst/elements/gsttypefindelement.c:
6630         (gst_type_find_element_handle_event),
6631         (gst_type_find_element_chain):
6632           don't push data when typefinding failed.
6633         * gst/gstpad.c: (gst_pad_link_fixate):
6634           check that no fixate function returns empty caps.
6635         * gst/gstpad.c: (gst_pad_push):
6636           check that the link is negotiated before data gets pushed.
6637         * tools/gst-register.c: (main):
6638           don't assert (fixes #148283)
6639
6640 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6641
6642         * docs/gst/gstreamer-sections.txt:
6643         * docs/gst/tmpl/gstconfig.sgml:
6644           add GST_PLUGIN_EXPORT definition
6645
6646 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6647
6648         * gst/gstplugin.h:
6649         * gst/gstconfig.h.in:
6650         * win32/gstconfig.h:
6651         * win32/gstelements.def:
6652         * win32/gstelements.vcproj:
6653         * win32/gstoptimalscheduler.def:
6654         * win32/gstoptimalscheduler.vcproj:
6655         * win32/gstspider.def:
6656         * win32/gstspider.vcproj:
6657           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6658
6659 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6660
6661         * docs/gst/gstreamer-sections.txt:
6662           remove GST_CAT_DEFAULT because the type has changed
6663
6664 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6665
6666         * win32/gstbytestream.vcproj:
6667         * win32/gstelements.vcproj:
6668         * win32/gst-inspect.vcproj:
6669         * win32/gst-launch.vcproj:
6670         * win32/gstoptimalscheduler.vcproj:
6671         * win32/GStreamer.vcproj:
6672         * win32/gst-register.vcproj:
6673         * win32/gstspider.vcproj:
6674         * win32/msvc71.sln:
6675           Copy the files where needed after building, The testsuite will be
6676           built separately
6677
6678 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6679
6680         * win32/config.h:
6681         * win32/README.txt:
6682         * docs/manual/win32.xml:
6683         Fixed the plugin and GStreamer location
6684
6685 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6686
6687         * win32/gstreamer.def:
6688         More exports for the plugins
6689
6690 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6691
6692         * gst/gstinfo.h:
6693         Marc was right, we need to export literally GST_CAT_DEFAULT
6694
6695 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6696
6697         * win32/config.h:
6698         NLS crashes in gettext, disabled until this is solved
6699
6700 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6701
6702         * win32/gst-inspect.vcproj:
6703         * win32/gst-launch.vcproj:
6704         Should use NLS when available
6705
6706 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6707
6708         * gst/registries/gstxmlregistry.c:
6709         removing the file doesn't seem to be a good idea on Linux
6710
6711 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6712
6713         * gst/registries/gstxmlregistry.c:
6714         Remove the registry before renaming the tempfile (needed for Windows)
6715
6716 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6717
6718         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6719         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6720         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6721         * gst/elements/gstmultifilesrc.h:
6722         Added newmedia property so it generates newmedia events between each
6723         file when property is set, as well as fixed eos handling
6724
6725 2004-07-22  David Schleef  <ds@schleef.org>
6726
6727         * gst/gststructure.c: (gst_structure_id_empty_new),
6728         (gst_structure_empty_new):  Set type field correctly.
6729         * gst/gststructure.h: Check type field correctly.
6730         * testsuite/caps/Makefile.am:
6731         * testsuite/caps/structure.c: (test1), (main): Add a very small
6732         test for structures.
6733
6734 2004-07-22  David Schleef  <ds@schleef.org>
6735
6736         * docs/random/ds/0.9-suggested-changes: more comments
6737         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6738
6739 2004-07-22  Benjamin Otte  <otte@gnome.org>
6740
6741         * gst/gstelementfactory.c: (gst_element_register):
6742           set the factory in the class struct, so gst_element_get_factory
6743           actually works
6744         * gst/parse/grammar.y:
6745           set element to playing when it gets unlocked as we can't rely on the
6746           bin state - all elements in the bin state might still be locked in
6747           NULL)
6748
6749 2004-07-22  Benjamin Otte  <otte@gnome.org>
6750
6751         * gst/gstelement.c: (gst_element_set_state_func):
6752           make this a static function
6753
6754 2004-07-22  Wim Taymans  <wim@fluendo.com>
6755
6756         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6757         (gst_opt_scheduler_pad_link):
6758         fix 147894-2 and the group_link problem.
6759
6760 2004-07-22  Wim Taymans  <wim@fluendo.com>
6761
6762         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6763         (handoff_identity), (main):
6764         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6765         (handoff_identity), (main):
6766         * testsuite/schedulers/Makefile.am:
6767         * testsuite/schedulers/group_link.c: (main):
6768         Show bug in scheduler when linking chain and loop based element 
6769         where the chain based element was not yet in a group.
6770
6771 2004-07-21  Benjamin Otte  <otte@gnome.org>
6772
6773         * gst/.cvsignore:
6774         * gst/autoplug/.cvsignore:
6775         * gst/elements/.cvsignore:
6776         * gst/indexers/.cvsignore:
6777         * libs/gst/bytestream/.cvsignore:
6778         * libs/gst/control/.cvsignore:
6779         * libs/gst/getbits/.cvsignore:
6780         * testsuite/states/.cvsignore:
6781         * testsuite/threads/.cvsignore:
6782           keep this up to date, since I seem to be the only one who cares
6783           about not missing files on commits (editor's note: no you don't,
6784           but feel free to change them at the time you add stuff instead
6785           of later on)
6786
6787 2004-07-21  Benjamin Otte  <otte@gnome.org>
6788
6789         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6790         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6791         (gst_bin_child_state_change_func), (set_kid_state_func),
6792         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6793           make state changes work correctly and reentrant (so removing
6794           elements from bins during state changes of bins doesn't cause
6795           segfaults or even wrong states)
6796           add debugging category and debugging output to print children states
6797         * gst/gstbin.c: (gst_bin_dispose): 
6798           add some assertion checks
6799         * gst/gstbin.h:
6800         * gst/gstbin.c: (gst_bin_sync_children_state):
6801           deprecate this function - it just does gst_bin_set_state (bin,
6802           GST_STATE (bin)) 
6803         * testsuite/threads/queue.c: (main):
6804           don't use gst_bin_sync_children_state anymore
6805         * testsuite/states/Makefile.am:
6806         * testsuite/states/bin.c:
6807           test that the state changes of bins work as expected
6808         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6809           some adjustments to change states correctly, too
6810         * gst/gstthread.c: (gst_thread_change_state):
6811           don't enable/disable "threadsafe" properties, they're unused and
6812           cause random segfaults
6813         * testsuite/threads/Makefile.am:
6814           the queue check randomly passes now, ignore it
6815
6816 2004-07-21  Benjamin Otte  <otte@gnome.org>
6817
6818         * gst/gstpad.c:
6819           check if data is NULL before outputting debug info. (fixes #145100)
6820
6821 2004-07-21  Benjamin Otte  <otte@gnome.org>
6822
6823         * gst/schedulers/entryscheduler.c:
6824         (gst_entry_scheduler_loop_wrapper),
6825         (gst_entry_scheduler_chain_wrapper),
6826         (gst_entry_scheduler_get_wrapper):
6827           reset the state when the cothread starts, so we don't get assertion
6828           failures on restarting of cothreads
6829
6830 2004-07-20  Benjamin Otte  <otte@gnome.org>
6831
6832         * gst/gstelement.c: (gst_element_link_pads_filtered):
6833           use correct sinkpad, if only sinkpad is specified, but not srcpad
6834           (fixes #147889)
6835         * gst/gstelement.c: (gst_element_set_state_func),
6836         (gst_element_change_state): ref/unref the element, signal handlers
6837         could get rid of the element otherwise
6838
6839 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6840
6841         * docs/random/ds/0.9-suggested-changes:
6842           Make note about renaming fixed-list to array.
6843         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6844         (_gst_value_initialize):
6845           Add array intersections.
6846         * testsuite/caps/intersect2.c: (main):
6847           Add test for array intersections.
6848
6849 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6850
6851         * configure.ac: back to cvs
6852
6853 === release 0.8.4 ===
6854
6855 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6856
6857         * configure.ac:
6858           releasing 0.8.4, "Paella"
6859           bump libtool versioning
6860
6861 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6862
6863         * po/LINGUAS:
6864         * po/ca.po:
6865           adding Catalan translation (Jordi Mallach)
6866
6867 2004-07-20  Wim Taymans  <wim@fluendo.com>
6868
6869         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6870         (handoff_identity), (main):
6871         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6872         (handoff_identity), (main):
6873         * testsuite/schedulers/Makefile.am:
6874         Added failing testcase for variant of #147894
6875
6876 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6877
6878         patch by: David Moore
6879
6880         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6881         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6882         (group_migrate_connected):
6883         * testsuite/schedulers/Makefile.am:
6884           fix for #142813 (Deadlock in optimal scheduler)
6885
6886 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6887
6888         patch by: Wim Taymans
6889
6890         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6891         (gst_opt_scheduler_schedule_run_queue),
6892         (gst_opt_scheduler_get_wrapper), (get_group),
6893         (group_migrate_connected):
6894         * testsuite/schedulers/Makefile.am:
6895           fix for #147819 (Add some checks in the opt scheduler)
6896
6897 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         patch by: Benjamin Otte
6900
6901         * gst/gstelementfactory.c: (__gst_element_details_set):
6902           fix for #147929: running gst-register in non-utf8 locale can cause
6903           invalid registry
6904
6905 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6906
6907         patch by: Wim Taymans
6908
6909         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6910         (group_has_element), (element_get_reachables_func),
6911         (group_migrate_connected):
6912           fix for #147894 (opt scheduler decoupled elements mismanagement)
6913         * testsuite/schedulers/Makefile.am:
6914           testsuite app now passes
6915
6916 2004-07-19  Wim Taymans  <wim@fluendo.com>
6917
6918         * testsuite/schedulers/147819.c: (handoff_identity1),
6919         (handoff_identity2), (main):
6920         * testsuite/schedulers/Makefile.am:
6921         Added testcase for bug 147819
6922
6923 2004-07-19  Wim Taymans  <wim@fluendo.com>
6924
6925         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6926         (handoff_identity), (main):
6927         * testsuite/schedulers/Makefile.am:
6928         Added testcase for bug 147894
6929
6930 2004-07-16  Wim Taymans  <wim@fluendo.com>
6931
6932         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6933         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6934         * testsuite/schedulers/Makefile.am:
6935         Added testsuite for bug 142183 in its two incarnations. Refcount
6936         is not increased for scheduled elements and threadsafe properties
6937         mutexes are not properly unlocked.
6938
6939 2004-07-16  Wim Taymans  <wim@fluendo.com>
6940
6941         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6942         (create_chain), (destroy_chain), (create_group), (destroy_group),
6943         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6944         (group_dec_link), (gst_opt_scheduler_pad_link),
6945         (group_inc_links_for_element), (group_migrate_connected):
6946         Call group_inc_link with the proper src->sink ordering -- 
6947         break this, and we break sort_chain. patch from wingo for bug
6948         147713.
6949         Partially revert patch 1.89. When adding a loop based element to 
6950         the scheduler, the links to other groups are automatically followed
6951         and incremented. This should not happen because the bin will call
6952         pad_link explicitly for those connection, resulting in them counted 
6953         twice. Results in assertion failure on pipeline cleanup.
6954
6955 2004-07-16  Wim Taymans  <wim@fluendo.com>
6956
6957         * testsuite/schedulers/143777-2.c: (main):
6958         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6959         (main):
6960         * testsuite/schedulers/Makefile.am:
6961         Added cleanup code to testcase 143777-2.
6962         Added testcase to show bug 147713, does not really show the
6963         deadlock as I can't figure out how to trigger it, but it does
6964         demonstrate bad ordering in the scheduler.
6965
6966 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6967
6968         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6969           change strndup to g_strndup.  Fixes #147707
6970
6971 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6972
6973         * po/af.po:
6974         * po/az.po:
6975         * po/cs.po:
6976         * po/en_GB.po:
6977         * po/fr.po:
6978         * po/nl.po:
6979         * po/sr.po:
6980         * po/sv.po:
6981         * po/tr.po:
6982         * po/uk.po:
6983           updated translations
6984
6985 2004-07-16  Benjamin Otte  <otte@gnome.org>
6986
6987         * gst/gstvalue.c: (gst_greatest_common_divisor):
6988           use ints and return ints, fractions only use ints, too, so this
6989           avoids accidently casting multiplications to unsigned
6990         (gst_value_lcopy_fraction): it's ints, not uint32
6991         (gst_value_set_fraction): disallow minint, multiplying and negation
6992           are broken with it
6993         (gst_value_fraction_multiply): fix to make large numbers work and get
6994         rid of the assumption that the multiplication of two ints fits an
6995         int64 - dunno if that's true for all systems
6996         * testsuite/caps/Makefile.am:
6997         * testsuite/caps/fraction-multiply-and-zero.c:
6998         (check_multiplication), (check_equal), (zero_test), (main):
6999           add tests for all the stuff above
7000         * testsuite/caps/value_compare.c: (test1):
7001           fix comment
7002         * tests/.cvsignore:
7003         * testsuite/caps/.cvsignore:
7004         * testsuite/debug/.cvsignore:
7005         * testsuite/dlopen/.cvsignore:
7006         * testsuite/states/.cvsignore:
7007           get up to date
7008
7009 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7010
7011         * docs/manual/bins-api.xml:
7012         * docs/manual/factories.xml:
7013         * docs/manual/helloworld.xml:
7014         * docs/manual/links-api.xml: 
7015           fixes for out of date info, incorrect info and grammar
7016
7017 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7018
7019         * docs/manual/pads.xml:
7020         * docs/manual/pads-api.xml: grammar fix
7021
7022 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7023
7024         * docs/manual/pads-api.xml: typo + grammar fix
7025
7026 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7027
7028         * docs/gst/gstreamer-sections.txt:
7029           add new symbols
7030         * docs/gst/tmpl/gstelement.sgml:
7031         * docs/gst/tmpl/gstpad.sgml:
7032         * docs/gst/tmpl/gsttypes.sgml:
7033         * docs/gst/tmpl/gstvalue.sgml:
7034           update docs
7035         * gst/gststructure.c: (gst_structure_set_valist),
7036         (gst_structure_from_abbr), (gst_structure_to_abbr):
7037         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7038         (gst_greatest_common_divisor), (gst_value_init_fraction),
7039         (gst_value_copy_fraction), (gst_value_collect_fraction),
7040         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7041         (gst_value_get_fraction_numerator),
7042         (gst_value_get_fraction_denominator),
7043         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7044         (gst_value_deserialize_fraction),
7045         (gst_value_transform_fraction_string),
7046         (gst_value_transform_string_fraction),
7047         (gst_value_compare_fraction), (_gst_value_initialize):
7048         * gst/gstvalue.h:
7049           adding GstFraction GValue type, get/set, and multiply
7050         * testsuite/caps/Makefile.am:
7051         * testsuite/caps/fraction.c: (test), (main):
7052         * testsuite/caps/string-conversions.c: (main):
7053         * testsuite/caps/value_compare.c: (test1), (main):
7054           add regression tests for GstFraction
7055
7056 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7057         
7058         * docs/manual/init-api.xml: Grammar fix
7059
7060 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7061
7062         * docs/manual/states.xml: Fix inconsistent information
7063
7064 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7065
7066         * gst/gstelement.c: (gst_element_set_state):
7067         * gst/gstpad.c: (gst_pad_try_set_caps):
7068         * gst/gststructure.c:
7069         * gst/gstthread.c: (gst_thread_child_state_change):
7070         * gst/gstvalue.c: (gst_value_compare_double):
7071         * gst/gstvalue.h:
7072         * testsuite/parse/parse1.c: (main):
7073           debugging additions and style cleanups
7074
7075 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7076
7077         * docs/manual/states.xml: Grammar fix
7078
7079 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7080
7081         * docs/manual/pads.xml: Grammar fix
7082
7083 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7084
7085         * docs/manual/elements.xml: Fixed image reference
7086
7087 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7088
7089         * docs/manual/goals.xml: Grammar fix
7090
7091 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7092
7093         * docs/manual/motivation.xml:
7094         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7095
7096 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7097
7098         * docs/manual/motivation.xml: Fix spelling
7099
7100 2004-07-15  Benjamin Otte  <otte@gnome.org>
7101
7102         * gst/gstelement.h: 
7103           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7104           strings.
7105         * gst/gstelement.c (gst_element_class_init):
7106           GError's are boxed, not objects
7107         * gst/gstmarshal.list:
7108           update list for the fixed error signal
7109
7110 2004-07-14  Andy Wingo  <wingo@pobox.com>
7111
7112         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7113         there all along, but the function wasn't. (guile-gstreamer's build
7114         system uses the address of the function -- I wasn't actually
7115         trying to use this.)
7116
7117 2004-07-14  Andy Wingo  <wingo@pobox.com>
7118
7119         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7120         as gst_pad_proxy_pad_link) just link to every other pad when they
7121         are called. In the case where the graph has cycles, this will mean
7122         that a call to try_set_caps will recurse. Allow this recursion
7123         and return OK, while we wait for the first try_set_caps to give a
7124         proper return value.
7125         (gst_pad_link_call_link_functions): Since this function is the
7126         only one to set the NEGOTIATING flag on a pad, if the flag is set
7127         it means that the link functions have indirectly recursed. If this
7128         happens, error out to avoid infinite recursion and an eventual
7129         SEGV.
7130         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7131         (gst_pad_proxy_getcaps): Intersect the result with the template
7132         caps to ensure that the return value is valid.
7133
7134 2004-07-14  Andy Wingo  <wingo@pobox.com>
7135
7136         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7137         one refcount, the calling function is the owner of the buffer.
7138
7139 2004-07-14  Wim Taymans  <wim@fluendo.com>
7140
7141         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7142         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7143         Fix stupid warning when an element is to be migrated but
7144         is already migrated.
7145
7146 2004-07-14  Wim Taymans  <wim@fluendo.com>
7147
7148         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7149         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7150         Make sure that a single non-loop-based element does not 
7151         end up in a group. This fixes the testsuite again.
7152
7153 2004-07-14  Wim Taymans  <wim@fluendo.com>
7154
7155         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7156         (add_to_group), (merge_groups), (schedule_group),
7157         (gst_opt_scheduler_get_wrapper), (group_elements),
7158         (group_dec_link), (gst_opt_scheduler_pad_link),
7159         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7160         (gst_opt_scheduler_iterate):
7161         move isolated groups to a new chain.
7162         Emit a warning instead of segfaulting in some error cases.
7163         Fix a bug where the link count between groups was not calculated 
7164         correctly. Fixes #144510.
7165
7166 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7167         * gst/elements/gstfilesrc.c:
7168           Binary files support under Windows now OK
7169       
7170 2004-07-13  Benjamin Otte  <otte@gnome.org>
7171
7172           compatibility fixes for Solaris 8/gcc 2.95
7173         * configure.ac:
7174           include libintl libs in LDFLAGS
7175         * gstvalue.c (gst_value_deserialize_buffer):
7176           cast isxdigit stuff to int to silence compiler warning
7177
7178 2004-07-12  Benjamin Otte  <otte@gnome.org>
7179
7180         * gst/gsttypes.h:
7181           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7182           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7183           just causes support madness
7184         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7185           make it work without this
7186         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7187         (gst_file_index_commit):
7188           glib IO channels don't want binary mode
7189         * testsuite/bytestream/filepadsink.c: (main):
7190         * testsuite/bytestream/test1.c: (read_param_file):
7191           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7192
7193 2004-07-12  Benjamin Otte  <otte@gnome.org>
7194
7195         * gst/gstelement.c: (gst_element_class_init),
7196         (gst_element_set_state), (gst_element_set_state_func):
7197           virutalize gst_element_set_state, use set_state member in class
7198           struct that was already added in 0.7 for this.
7199         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7200         (gst_bin_change_state):
7201           make gst_bin_foreach works similar to other foreach functions, plug
7202           memleaks in it. Make functions using it work with the new approach.
7203           Document gst_bin_foreach, so it can be exported if we want to
7204         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7205           use virtualized set_state to make set_state on bins set the state of
7206           all its children.
7207
7208 2004-07-12  Benjamin Otte  <otte@gnome.org>
7209
7210         * configure.ac:
7211           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7212           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7213         * gst/gstpad.c: (gst_pad_alloc_buffer):
7214           allow buffer_alloc functions to return NULL and allocate a normal
7215           buffer in that case
7216
7217 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7218         * gst/elements/gstfilesink.c:
7219         * gst/elements/gstfilesrc.c:
7220         * gst/indexers/gstfileindex.c:
7221         * gst/gsttypes.h:
7222         * testsuite/bytestream/filepadsink.c:
7223         * testsuite/bytestream/test1.c:
7224           Handle binary files under Windows
7225
7226 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7227         * docs/manual/win32.xml:
7228         * win32/config.h:
7229         * win32/gst-register.vcproj:
7230         * win32/gstreamer.def:
7231           Update to another gettext public build
7232
7233 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7234         * gst/gstplugin.c:
7235           Fix an impossible C syntax
7236         * win32/config.h:
7237           Disable i18n under Windows for the moment
7238         * win32/gst-register.vcproj:
7239           Use this configuration
7240
7241 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7242         * docs/manual/quotes.xml:
7243           Keep the quotes file alive
7244         * docs/random/ds/0.9-suggested-changes:
7245           Add the suggestion of including a 'rowstride' as part of video
7246           format caps
7247
7248 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7249
7250         * gst/gstelement.c: (gst_element_set_state),
7251         (gst_element_change_state):
7252           d'oh.  Set PENDING state correctly before forcing bin to change.
7253         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7254         (gst_structure_parse_fixed_list):
7255         * gst/schedulers/gstoptimalscheduler.c:
7256         (gst_opt_scheduler_state_transition):
7257         * testsuite/states/parent.c: (main):
7258           remove comment now that it's fixed.
7259
7260 2004-07-11  Benjamin Otte  <otte@gnome.org>
7261
7262         * gst/gstclock.h:
7263           GST_SECOND shouldn't cause a conversion to unsigned.
7264         * testsuite/clock/.cvsignore:
7265         * testsuite/clock/Makefile.am:
7266         * testsuite/clock/signedness.c: (main):
7267           make sure it never will again
7268
7269 2004-07-11  Andy Wingo  <wingo@pobox.com>
7270
7271         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7272         whose state is higher than the bin state, raise the bin state to
7273         ensure that bin state := highest child state.
7274         
7275 2004-07-11  Andy Wingo  <wingo@pobox.com>
7276
7277         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7278         procedure on the children of a bin. Assumes that the procedure can
7279         change the set of children.
7280         (set_kid_state_func): New static function.
7281         (gst_bin_change_state): Use gst_bin_foreach to call
7282         set_kid_state_func. Fixes a bug: if a child had a state-change
7283         handler that removes it from the bin, there would be a segfault.
7284         Hopefully it should also work in the case where the state-change
7285         handler on one child adds or removes other children. In any case,
7286         fixes should go to gst_bin_foreach.
7287
7288 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7289
7290         * gst/gstelement.c: (gst_element_set_state):
7291           compatibility fix for latest plugins release.  Change loop back
7292           to while {}
7293
7294 2004-07-09  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7297         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7298         (gst_thread_main_loop):
7299         Since remove is virtual in GstBin we must not assume the 
7300         elements GList to have anothing useful.
7301         Add some more logging to GstThread and be a bit more paranoid
7302         when resetting the scheduler.
7303         Set the state of the bin to NULL before removing the children.
7304
7305 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7306
7307         * testsuite/threads/Makefile.am:
7308         * testsuite/threads/threadg.c:
7309           added test to check if problem when removing all elements from a
7310           GstThread before setting GstThread state to NULL
7311
7312 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7313
7314         * docs/gst/tmpl/gstelement.sgml:
7315         * docs/gst/tmpl/gsttypes.sgml:
7316         * gst/gstbin.c: (gst_bin_change_state):
7317         * gst/gstelement.c: (gst_element_set_state),
7318         (gst_element_change_state):
7319           rework so that for bins we try to set the state on all children
7320           as well even if the bin is in the correct state already.
7321           change while to do so at least one iteration is done.
7322           For regular elements, we fall back to the previous behaviour for
7323           now since we first need a new plugins release.
7324         * testsuite/states/parent.c: (main):
7325           test for this case
7326           Fixes #123774
7327
7328 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7329
7330         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7331         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7332         (gst_queue_release_locks), (gst_queue_change_state),
7333         (gst_queue_set_property):
7334           add proper lock debugging.  Change dispose to finalize, since
7335           we're freeing mutexes and other stuff which should happen only once.
7336
7337 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7338
7339         * docs/gst/tmpl/gstelement.sgml:
7340         * docs/gst/tmpl/gstplugin.sgml:
7341         * docs/gst/tmpl/gsttypes.sgml:
7342         * docs/pwg/building-state.xml:
7343         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7344         * gst/gstelement.c: (gst_element_change_state):
7345         * gst/gstthread.c: (gst_thread_change_state):
7346           catch wrong state changes in element base class.
7347
7348 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7349
7350         * gst/gstinfo.h:
7351           clean up layout a little.
7352
7353 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7354
7355         * configure.ac:
7356         * testsuite/Makefile.am:
7357         * testsuite/states/Makefile.am:
7358         * testsuite/states/parent.c: (main):
7359           re-enable states testsuite dir.  Add test for state changes and
7360           parent behaviour
7361
7362 2004-07-09  Wim Taymans  <wim@fluendo.com>
7363
7364         * gst/schedulers/gstoptimalscheduler.c:
7365         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7366         (element_get_reachables_func), (element_get_reachables),
7367         (debug_element), (rechain_group), (group_migrate_connected),
7368         (gst_opt_scheduler_pad_unlink):
7369         Do not try to migrate decoupled elements to a new group since
7370         they are not added to groups.
7371
7372 2004-07-08  Benjamin Otte  <otte@gnome.org>
7373
7374         * gst/gstelement.c: (gst_element_error_func):
7375           make reentrant (= allow removing elements in error handler)
7376
7377 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7378
7379         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7380         (gst_pad_send_event), (gst_pad_call_chain_function):
7381           events sent to elements below PAUSED cannot be handled, so
7382           don't try to
7383
7384 2004-07-08  Wim Taymans  <wim@fluendo.com>
7385
7386         * gst/schedulers/gstoptimalscheduler.c:
7387         (chain_recursively_migrate_group), (create_group),
7388         (schedule_group), (gst_opt_scheduler_pad_link),
7389         (group_elements_set_visited), (element_get_reachables_func),
7390         (element_get_reachables), (group_can_reach_group), (debug_element),
7391         (rechain_group), (group_migrate_connected),
7392         (gst_opt_scheduler_pad_unlink):
7393         * testsuite/schedulers/Makefile.am:
7394         Implemented group splitting and rechaining.
7395         Fixes 143777 and 143777-2 in the testsuite.
7396
7397 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7398
7399         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7400           extra debugging
7401         * gst/gstevent.h:
7402         * gst/gstinfo.c: (gst_debug_log_default):
7403           print time nicely.  add thread pointer until someone figures out
7404           a completely portable way of getting at thread id's.
7405         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7406         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7407         (gst_pad_call_chain_function):
7408           extra debugging
7409         * gst/schedulers/gstoptimalscheduler.c:
7410         (get_group_schedule_function), (loop_group_schedule_function),
7411         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7412         (pad_clear_queued), (gst_opt_scheduler_iterate):
7413           rename BUFPEN and friends to DATAPEN since that's what they are.
7414
7415 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7416
7417         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7418         * gst/gstbuffer.h:
7419         * gst/gstpad.c:
7420           cleanups and debugging
7421
7422 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7423
7424         * configure.ac:
7425         * gst/gstvalue.c: (gst_value_compare_enum),
7426         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7427         (gst_value_can_compare), (gst_value_compare):
7428         * testsuite/Makefile.am:
7429         * testsuite/enumcaps/Makefile.am:
7430         * testsuite/enumcaps/enumcaps.c:
7431           Fix enum serialization, deserialization, comparison in caps, add
7432           a test to ensure that this continues working in the future.
7433
7434 2004-07-06  David Schleef  <ds@schleef.org>
7435
7436         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7437         Fix memleak.
7438
7439 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7442         * gst/gstplugin.h:
7443         * gst/registries/gstxmlregistry.c:
7444         (plugin_times_older_than_recurse), (plugin_times_older_than),
7445         (gst_xml_registry_parse_padtemplate):
7446           only rebuild registry when actual plugins have a newer time than
7447           the registry.  Fixes #145520
7448
7449 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * docs/manual/manual.xml:
7452         * docs/manual/win32.xml:
7453           add chapter on win32 building.  fixes #142422
7454
7455 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7456
7457         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7458
7459         * gst/autoplug/gstspider.c: (gst_spider_init),
7460         (gst_spider_dispose):
7461           fix spider memleaks.  fixes #137863
7462
7463 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7464
7465         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7466
7467         * gst/schedulers/gstoptimalscheduler.c:
7468         (gst_opt_scheduler_pad_unlink):
7469           fix SIGBUS error, fixes #145338
7470
7471 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7472
7473         * gst/gstobject.c: (gst_object_replace):
7474         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7475         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7476           clean up clock lifecycle.  Fixes #109831
7477
7478 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7479
7480         * po/LINGUAS:
7481         * po/cs.po:
7482           added Czech translation (Miloslav Trmac)
7483
7484 2004-07-04  David Schleef  <ds@schleef.org>
7485
7486         * tools/Makefile.am:
7487         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7488
7489 2004-07-04  David Schleef  <ds@schleef.org>
7490
7491         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7492
7493 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7494
7495         * gst/gstbin.c: (gst_bin_restore_thyself):
7496           chain to parent restore so the bins get restored correctly
7497           in the editor
7498
7499 2004-07-03  David Schleef  <ds@schleef.org>
7500
7501         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7502         Actually do something in these functions, like before the big
7503         caps change.  (bug #145137)
7504
7505 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7506
7507         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7508         (gst_element_get_compatible_pad_filtered):
7509         * gst/gstthread.c: (gst_thread_main_loop):
7510           more debugging
7511
7512 2004-07-02  David Schleef  <ds@schleef.org>
7513
7514         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7515         * gst/gstobject.h:
7516         * gst/gstparse.h:
7517         * gst/gsttrace.h:
7518         * gst/gstxml.h:
7519
7520 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7521
7522         * gst/gstpad.c: (gst_pad_check_schedulers),
7523         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7524         (gst_pad_link_prepare):
7525           revert until testsuite is fixed
7526
7527 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7528
7529         * testsuite/Makefile.am:
7530         * testsuite/caps/filtercaps.c: (main):
7531         * testsuite/clock/clock1.c: (main):
7532         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7533           fix some more tests
7534
7535 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7536
7537         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7538         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7539         * testsuite/cleanup/cleanup4.c: (main):
7540           fix testsuite
7541
7542 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7543
7544         * libs/gst/control/control.c:
7545         * libs/gst/control/dparam.c:
7546         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7547         * libs/gst/control/dparammanager.c:
7548         * libs/gst/control/dparammanager.h:
7549         * testsuite/dynparams/Makefile.am:
7550         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7551         (gst_dptest_change_state), (gst_dptest_chain), (main):
7552           fix testcase for dparams
7553           add debugging category
7554
7555 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7556
7557         * testsuite/Rules:
7558           change path
7559
7560 2004-07-02  Benjamin Otte  <otte@gnome.org>
7561
7562         * tests/.cvsignore:
7563         * tests/Makefile.am:
7564         * tests/mass_elements.c: (gst_get_current_time), (main):
7565           add simple benchmark to test various speeds of fakesrc ! identity !
7566           identity ! ... ! fakesink.
7567           Usage: mass_elements [num_identities] [num_buffers]
7568           If not specified they default to 1000.
7569
7570 2004-07-02  Benjamin Otte  <otte@gnome.org>
7571
7572         * gst/gstpad.c: (gst_pad_check_schedulers),
7573         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7574         (gst_pad_link_prepare):
7575           check that pads that get linked belong to the same manager. The old
7576           code allowed linking elements before putting them into bins, so it
7577           worked to link them and then put them in different threads, which
7578           lead to weird behaviour.
7579           Since this effectively disallows linking elements before putting
7580           them in a bin, some applications might not work after this and error
7581           out. If these applications are too critical, we might need to revert
7582           that patch. Please test this before the next release...
7583
7584 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7585
7586         * gst/gstpad.c: (gst_pad_get_caps):
7587           throw an error if the getcaps function does not return a subset of
7588           the template caps.
7589         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7590           make disconts without position info an error in debugging
7591         * tests/spidey_bench.c: (handoff), (main):
7592           don't count first try when averaging
7593
7594 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7595
7596         * gst/gstplugin.c: (gst_plugin_load_file):
7597           figure out problem with dynamic test
7598
7599 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7600
7601         * docs/gst/Makefile.am:
7602           fix docs build
7603
7604 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7605
7606         * po/POTFILES.in:
7607         * po/af.po:
7608         * po/az.po:
7609         * po/en_GB.po:
7610         * po/fr.po:
7611         * po/nl.po:
7612         * po/sr.po:
7613         * po/sv.po:
7614         * po/tr.po:
7615         * po/uk.po:
7616         * tools/gst-register.c: (plugin_added_func), (main):
7617           i18n-ize -register, fix plural
7618
7619 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7620
7621         * gst/elements/gstidentity.c: (gst_identity_class_init),
7622         (gst_identity_init), (gst_identity_chain),
7623         (gst_identity_set_property), (gst_identity_get_property):
7624         * gst/elements/gstidentity.h:
7625           check for perfect stream
7626
7627 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7628
7629         * gst/elements/gstidentity.c: (gst_identity_chain):
7630           print offset_end
7631
7632 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7633
7634         * docs/gst/Makefile.am:
7635         * docs/gst/gstreamer-docs.sgml:
7636           doc fixes
7637
7638 2004-06-24  David Schleef  <ds@schleef.org>
7639
7640         * autogen.sh:  Remove call to env, since the buildbot isn't
7641         broken anymore.
7642
7643 2004-06-24  Wim Taymans  <wim@fluendo.com>
7644
7645         * gst/elements/Makefile.am:
7646         * gst/elements/gstelements.c:
7647         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7648         (gst_multifdsink_class_init), (gst_multifdsink_init),
7649         (gst_multifdsink_add), (gst_multifdsink_remove),
7650         (gst_multifdsink_clear), (gst_multifdsink_chain),
7651         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7652         * gst/elements/gstmultifdsink.h:
7653         Added an element that writes to multiple filedescriptors at once.
7654
7655 2004-06-24  Benjamin Otte  <otte@gnome.org>
7656
7657         * gst/parse/grammar.y:
7658           don't try to link elements before they have been added to bins
7659
7660 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7661
7662         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7663         (gst_file_pad_get_length):
7664         * libs/gst/bytestream/filepad.h:
7665           add 2 new functions
7666
7667 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7668
7669         * docs/gst/gstreamer-sections.txt:
7670         remove from docs, the define that Benjamin removed from gstelement.h
7671
7672 2004-06-22  Benjamin Otte  <otte@gnome.org>
7673
7674         * gst/gstelement.h:
7675           remove define that referenced a nonexisting GstElement struct member
7676
7677 2004-06-20  Benjamin Otte  <otte@gnome.org>
7678
7679         * gst/gstdata.c: (gst_data_is_writable):
7680           whoops, return values were wrong, so writable data was marked as
7681           non-writable and vice versa. (fixes #143953, spotted by Francis
7682           Labonte)
7683           Shows how rarely we need to copy data ;)
7684
7685 2004-06-20  Benjamin Otte  <otte@gnome.org>
7686
7687         * testsuite/schedulers/.cvsignore:
7688         * testsuite/schedulers/Makefile.am:
7689         * testsuite/schedulers/143777-2.c: (main):
7690           add test for opt breakage in bug #143777
7691
7692 2004-06-20  Benjamin Otte  <otte@gnome.org>
7693
7694         * gst/gstpad.c: (gst_pad_call_chain_function):
7695           check for if we were unlinked while inside the chainfunction (fixes
7696           entrygthread having issues with #143777)
7697         * testsuite/schedulers/143777.c: (main):
7698         * testsuite/schedulers/Makefile.am:
7699           add a test for that fix
7700
7701 2004-06-20  Benjamin Otte  <otte@gnome.org>
7702
7703         * gst/gstvalue.c: (gst_value_set_int_range):
7704           test that start is smaller then end
7705         * libs/gst/bytestream/Makefile.am:
7706         * libs/gst/bytestream/filepad.c: 
7707         * libs/gst/bytestream/filepad.h:
7708           add GstFilePad - a pad that behaves like a FILE*
7709         * testsuite/bytestream/.cvsignore:
7710         * testsuite/bytestream/Makefile.am:
7711         * testsuite/bytestream/filepadsink.c: 
7712           test for the GstFilePad
7713
7714 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7715
7716         * gst/elements/gstidentity.c: (gst_identity_class_init),
7717         (gst_identity_init), (gst_identity_set_clock),
7718         (gst_identity_chain), (gst_identity_set_property),
7719         (gst_identity_get_property):
7720         * gst/elements/gstidentity.h:
7721         * gst/gstclock.c: (gst_clock_id_wait):
7722           add a "sync" property to sync to the clock
7723
7724 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7725
7726         * gst/gstelementfactory.c: (gst_element_factory_create):
7727           make the freakin "elementfactory bla has no type" message more
7728           useful. So we actually can do something when someone shows up
7729           complaining about it.
7730
7731 2004-06-15  Johan Dahlin  <johan@gnome.org>
7732
7733         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7734         found. This matches the old behavior better. Thanks to Thomas for
7735         pointing out.
7736
7737 2004-06-14  David Schleef  <ds@schleef.org>
7738
7739         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7740         -fomit-frame-pointer.  Appears to generate correct code in
7741         other cases as well.
7742
7743 2004-06-14  Johan Dahlin  <johan@gnome.org>
7744
7745         * tools/gst-inspect.c (main): Add two new command line options: -a
7746         to print all elements and -n to print the name on each line. Also
7747         fix some error reporting.
7748         (main): Simplify, remove -n and always print names if -a is specified
7749
7750 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7751
7752         * win32/gstconfig.h:
7753         * win32/GSTreamer.vcproj:
7754         * win32/Makefile:
7755         * gst/gstconfig.h.in:
7756         * gst/gst.h:
7757         * gst/gstbin.h:
7758         * gst/gstelement.h:
7759         * gst/gstevent.h:
7760         * gst/gstobject.h:
7761         * gst/gstpad.h:
7762         * docs/gst/gstreamer-sections.txt:
7763         * docs/gst/tmpl/gstconfig.sgml:
7764           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7765
7766 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7767         * docs/gst/gstreamer-sections.txt:
7768         * docs/gst/tmpl/gstconfig.sgml:
7769         Add the GSTREAMER_EXPORT macro to the docs
7770
7771 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7772
7773         * tools/gst-compprep.c: (handle_xmlerror), (main):
7774         Add a check for the version that introduced SetStructuredError to fix
7775         the build on FC1
7776
7777 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7778
7779         * win32/msvc71.sln:
7780         * win32/testsuite/:
7781           prepare to compile the testsuite with MSVC
7782
7783 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7784
7785         * docs/manual/win32.xml:
7786           attempt to transform the Win32 README into an XML doc
7787
7788 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7789
7790         * gst/gst.c:
7791         * gst/gstbin.*:
7792         * gst/config.h.in:
7793         * gst/gstelement.*:
7794         * gst/gstevent.h:
7795         * gst/gstobject.*:
7796         * gst/gstpad.h:
7797         * tools/gst-register.c:
7798         * win32/gstreamer.def:
7799           extern symbols are now exported for the Windows DLL
7800
7801 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7802
7803         * gst/gstinfo.h:
7804           fix a problem to enable/disable DEBUG under MSVC
7805
7806 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7807
7808         * win32/:
7809           enable more debug code in DEBUG build
7810
7811 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7812
7813         * win32/config.h:
7814         * gst/gst-i18n-app.h:
7815           enable NLS under Windows
7816
7817 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7818         * tools/gst-compprep.c: (handle_xmlerror), (main):
7819           Make an error that baffled me a bit clearer
7820
7821 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7822
7823         * gst/gstqueue.c:
7824           don't use g_queue_get_length () because it's 2.4, use ->length
7825
7826 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7827
7828         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7829
7830         * tools/gst-inspect.c: (print_signal_info):
7831           don't free random data twice. (fixes #144185)
7832
7833 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7834
7835         * gst/gstqueue.c:
7836         * gst/gstqueue.h:
7837           fix removing from the wrong queue on event timeout
7838           fix disposing of the event queue by casting correctly
7839           add mutexes for handling the event queue
7840           someone was sleeping when fixing queue last time around :)
7841
7842 2004-06-10  Johan Dahlin  <johan@gnome.org>
7843
7844         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7845         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7846
7847 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7848
7849         * docs/random/gdp:
7850         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7851         * libs/gst/dataprotocol/dataprotocol.c:
7852         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7853         (gst_dp_buffer_from_header):
7854         * libs/gst/dataprotocol/dataprotocol.h:
7855         * libs/gst/dataprotocol/dp-private.h:
7856           rev version to 0.1, add buffer flags and copy them
7857
7858 2004-06-09  Johan Dahlin  <johan@gnome.org>
7859
7860         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7861         the flags from the buffer we're copying.
7862
7863 2004-06-09  Wim Taymans  <wim@fluendo.com>
7864
7865         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7866         * gst/elements/gstidentity.c: (gst_identity_init),
7867         (gst_identity_chain):
7868         Print more buffer info in fakesink.
7869         Make identity output similar to fakesink.
7870
7871 2004-06-07  Daniel Gazard  <dany42@free.fr>
7872
7873         reviewed by Benjamin Otte  <otte@gnome.org>
7874
7875         * configure.ac:
7876           fix cross compiling not working. (fixes #143741)
7877
7878 2004-06-07  Benjamin Otte  <otte@gnome.org>
7879
7880         * gst/gstelement.c: (gst_element_set_time_delay):
7881           add failure check
7882         * gst/gstinfo.h:
7883           put brackets around macro arguments of GST_TIME_ARGS, add note to
7884           move it to correct header in 0.9
7885
7886 2004-06-07  Benjamin Otte  <otte@gnome.org>
7887
7888         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7889         (gst_file_index_load), (_file_index_id_save_entries),
7890         (gst_file_index_commit), (gst_file_index_add_association),
7891         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7892         (gst_file_index_plugin_init):
7893           make debugging use a default category
7894
7895 2004-06-06  David Moore  <dcm@acm.org>
7896
7897         reviewed by Benjamin Otte  <otte@gnome.org>
7898
7899         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7900         (gst_fdsrc_change_state):
7901           reset offset counter when going READY => PAUSED. (fixes #142903)
7902
7903 2004-06-06  ed@catmur.co.uk
7904
7905         reviewed by Benjamin Otte  <otte@gnome.org>
7906
7907         * gst/registries/gstxmlregistry.c:
7908         (gst_xml_registry_rebuild_recurse):
7909           don't rely on g_dir_open to figure out if a file is a directory, use
7910           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7911           directories. (fixes #142850)
7912
7913 2004-06-06  Benjamin Otte  <otte@gnome.org>
7914
7915         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7916           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7917         * libs/gst/bytestream/adapter.c:
7918         * libs/gst/bytestream/adapter.h:
7919           fix copyright in header and typo in debugging category name
7920
7921 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7922
7923         * configure.ac:
7924           bump nano to cvs
7925
7926 === release 0.8.3 ===
7927
7928 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7929
7930         * configure.ac:
7931           update libtool versioning
7932           do a new release
7933         * docs/gst/tmpl/gstelement.sgml:
7934         * docs/gst/tmpl/gsttypes.sgml:
7935         * gst/gstinfo.c: (_gst_debug_init):
7936           put back GST_CAT_DATAFLOW to fix API breakage
7937
7938 2004-06-04  David Schleef  <ds@schleef.org>
7939
7940         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7941
7942 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7943
7944         * configure.ac:
7945           bump nano to cvs
7946
7947 === release 0.8.2 ===
7948
7949 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7950
7951         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7952           check GST_DEBUG environment variable which is parsed the same way
7953           as --gst-debug=
7954
7955 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7956
7957         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7958                             gstmd5sink.c gstshaper.c gsttee.c
7959                             gsttypefindelement.c
7960         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7961
7962           - removing trailing commas at end of enums
7963             it is correct C99 code but C90 compilers would complain
7964             (AIX, Forte, ...)
7965             ('should' fix #143290, at least partially)
7966
7967 2004-05-27  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7970         (chain_group_set_enabled), (create_group), (add_to_group),
7971         (merge_groups), (setup_group_scheduler), (group_elements),
7972         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7973         Don't try to follow the pad connections with other groups
7974         when a loop based element is added to the scheduler because
7975         the bin will inform the scheduler about the pad links a little
7976         later.
7977
7978 2004-05-27  Wim Taymans  <wim@fluendo.com>
7979
7980         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7981         (remove_from_chain), (chain_group_set_enabled),
7982         (setup_group_scheduler), (group_element_set_enabled),
7983         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7984         (gst_opt_scheduler_show):
7985         Elements without a group can do a state change as well, just wait
7986         with the setup of the scheduling function when it is added to a
7987         chain.
7988
7989 2004-05-27  Wim Taymans  <wim@fluendo.com>
7990
7991         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7992         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7993         (merge_groups), (setup_group_scheduler),
7994         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7995         (gst_opt_scheduler_show):
7996         Fixes to maintain internal consistency of the scheduler data
7997         structures. 
7998          - adding an enabled group to a chain should increment the
7999            number of enabled elements in that chain.
8000          - removing an enabled group from a chain could disable the
8001            chain.
8002          - removing a disabled group from a chain could enable the
8003            chain.
8004          - add g_assert when internal inconsistency is detected.
8005          - adding an element to a group could increase the number of
8006            links this group has with other groups.
8007          - merging two groups also merges the chains.
8008          - also show group links in the _show method.
8009            
8010
8011 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8012
8013         * gst/gstcaps.c: (gst_caps_structure_simplify):
8014           don't print error messages when there is no error
8015         * gst/gstvalue.c: (gst_value_compare_int_range):
8016           compare the second value, too
8017         * testsuite/caps/Makefile.am:
8018         * testsuite/caps/random.c: (assert_on_error), (main):
8019           add tests to make sure the two things above are checked for
8020
8021 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8022
8023         * configure.ac:
8024         * libs/gst/dataprotocol/Makefile.am:
8025         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8026         * libs/gst/dataprotocol/dataprotocol.h:
8027           wrap header in GST_ENABLE_NEW.  make code use it
8028
8029 2004-05-23  Johan Dahlin  <johan@gnome.org>
8030
8031         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8032         so verbose and print GstElement signal names all the time.
8033
8034 2004-05-22  David Schleef  <ds@schleef.org>
8035
8036         * gst/registries/gstxmlregistry.c:
8037         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8038         (bug #142957)
8039
8040 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8041
8042         * configure.ac:
8043           scrub cflags for glib2 so gcc doesn't complain when glib is in
8044           /usr/local
8045
8046 2004-05-21  Johan Dahlin  <johan@gnome.org>
8047
8048         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8049         __GNUC__, patch from Brian Cameron, fixes bug #142804
8050
8051 2004-05-20  David Schleef  <ds@schleef.org>
8052
8053         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8054         comparison code.  (bug #142819)
8055
8056 2004-05-20  Wim Taymans  <wim@fluendo.com>
8057
8058         * gst/gstbuffer.c: (gst_buffer_default_copy):
8059         * gst/gstbuffer.h:
8060         Added Comment to a flag.
8061         copy relevant flags in _buffer_copy.
8062
8063 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8064
8065         reviewed by: Wim Taymans <wim at fluendo dot com>
8066
8067         * gst/gstbuffer.h:
8068           add GST_BUFFER_IN_CAPS buffer flag
8069         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8070         (gst_structure_parse_any_list), (gst_structure_parse_list),
8071         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8072         * gst/gstvalue.c: (gst_value_serialize_any_list),
8073         (gst_value_transform_any_list_string),
8074         (gst_value_list_prepend_value), (gst_value_list_append_value),
8075         (gst_value_list_get_size), (gst_value_list_get_value),
8076         (gst_value_transform_list_string),
8077         (gst_value_transform_fixed_list_string),
8078         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8079         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8080         (_gst_value_initialize):
8081         * gst/gstvalue.h:
8082           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8083           < , > as a format.
8084         * testsuite/caps/string-conversions.c: (main):
8085           add regression tests for < >
8086
8087 2004-05-20  Johan Dahlin  <johan@gnome.org>
8088
8089         * docs/gst/Makefile.am (all-local): Re-add
8090
8091 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8092
8093         * docs/gst/Makefile.am:
8094         * docs/gst/gstreamer-docs.sgml:
8095         * docs/libs/Makefile.am:
8096         * docs/libs/gstreamer-libs-docs.sgml:
8097           fix distcheck issues
8098
8099 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8100
8101         * libs/gst/dataprotocol/Makefile.am:
8102           add to autotest
8103
8104 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8105
8106         * libs/gst/dataprotocol/Makefile.am:
8107         * libs/gst/dataprotocol/dataprotocol.c:
8108         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8109         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8110         * libs/gst/dataprotocol/dp-private.h:
8111           use GST macros to read/write fixed length ints
8112           add some more asserts
8113
8114 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8115
8116         * docs/libs/gstreamer-libs-docs.sgml:
8117         * docs/libs/gstreamer-libs-sections.txt:
8118           remove idct and putbits
8119         * configure.ac:
8120         * docs/libs/tmpl/gstdataprotocol.sgml:
8121         * libs/gst/Makefile.am:
8122         * libs/gst/dataprotocol/Makefile.am:
8123         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8124         (buffer_test), (caps_test), (event_test), (main):
8125         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8126         (gst_dp_dump_byte_array), (gst_dp_init),
8127         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8128         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8129         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8130         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8131         (gst_dp_validate_header), (gst_dp_validate_payload),
8132         (gst_dp_validate_packet), (plugin_init):
8133         * libs/gst/dataprotocol/dataprotocol.h:
8134         * libs/gst/dataprotocol/dp-private.h:
8135           add dataprotocol
8136
8137 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8138
8139         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8140           fix int variable deserialization and add a helper so we can actually
8141           debug this.
8142
8143 2004-05-18  David Schleef  <ds@schleef.org>
8144
8145         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8146           argv[0].  Calling yourself is probably not the best way to
8147           construct a test like this, btw.
8148
8149 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8150
8151         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8152           don't claim to be more intelligent than a scheduler when the
8153           scheduler claims the pipeline is stopped
8154         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8155         (safe_cothread_destroy),
8156         (gst_entry_scheduler_remove_all_cothreads),
8157         (gst_entry_scheduler_reset), (_remove_cothread),
8158         (gst_entry_scheduler_state_transition):
8159           hold off cothread destruction if we're not in main cothread
8160         * configure.ac:
8161         * testsuite/Makefile.am:
8162           add new test dir
8163         * testsuite/schedulers/.cvsignore:
8164         * testsuite/schedulers/Makefile.am:
8165           add tests
8166         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8167           check relinking and adding/removing elements from a running pipeline
8168         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8169           check unlinking in a running pipeline
8170         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8171           check unreffing a running pipeline
8172         * testsuite/schedulers/useless_iteration.c: (main):
8173           check iterating a pipeline that contains running threads works
8174
8175 2004-05-18  David Schleef  <ds@schleef.org>
8176
8177         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8178           is false.
8179
8180 2004-05-18  Wim Taymans  <wim@fluendo.com>
8181
8182         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8183         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8184         Fixed an error introduced with patch for 1.63. When setting
8185         a get based element as the entry point in a group, make sure
8186         to mark the group as GET based.
8187
8188 2004-05-18  Wim Taymans  <wim@fluendo.com>
8189
8190         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8191         (setup_group_scheduler), (loop_group_schedule_function),
8192         (gst_opt_scheduler_pad_link):
8193         Added some more debug info and fixed a bug where the group
8194         type was set to LOOP but it was in fact unknown.
8195
8196 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8197
8198         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8199           make resetting scheduler work twice in a row
8200
8201 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8202
8203         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8204         (CREATE_USERIALIZATION), (_gst_value_initialize),
8205         (gst_value_compare_float), (gst_value_serialize_float),
8206         (gst_value_deserialize_float), (gst_value_compare_enum),
8207         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8208           add serialization and comparison functions for long, int64, enum and
8209           float values
8210         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8211           use best serialization function in type hierarchy instead of only a
8212           matching one. This is required for enums to work.
8213         * gst/parse/grammar.y:
8214           use gst_caps_deserialize
8215         * testsuite/parse/Makefile.am:
8216           parse1 now works
8217         * testsuite/parse/parse1.c: (main):
8218           remove aggregator check, aggregator is broken, this test works now
8219           but fails because of bug #138012
8220         * testsuite/parse/parse2.c: (main):
8221           s/xvideosink/xvimagesink - this test looks a lot like we should
8222           disable it
8223
8224 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8225
8226         * gst/gstelement.c: (gst_element_class_init):
8227           whoops, store the signal id correctly
8228         * gst/schedulers/gstbasicscheduler.c:
8229         (gst_basic_scheduler_chain_wrapper):
8230           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8231           chain function isn't linked
8232
8233 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8234         * configure.ac:
8235         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8236         support until we decide where the flags should be used
8237         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8238         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8239         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8240         Output refused caps in the debug info
8241
8242 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8243
8244         * gst/elements/gstidentity.c: (gst_identity_chain):
8245           add duration debug
8246         * gst/gstinfo.c: (gst_debug_log_default):
8247           add timestamp
8248
8249 2004-05-13  Benjamin Otte  <otte@gnome.org>
8250
8251         * gst/gstpipeline.c: (gst_pipeline_dispose),
8252         (gst_pipeline_change_state):
8253           call gst_scheduler_reset on dispose (fixes #141416)
8254
8255 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8256
8257         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8258           compute mapsize correctly
8259         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8260           use correct datatypes when calling a varargs function
8261         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8262           push a DISCONT event as first thing
8263         * gst/gst_private.h:
8264         * gst/gstinfo.c: (_gst_debug_init):
8265           remove GST_DATAFLOW debugging category
8266         * gst/gstbin.c: (gst_bin_iterate):
8267           use GST_SCHEDULING category
8268         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8269         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8270         (gst_pad_call_get_function):
8271           add GST_DATAFLOW to easily track flow of buffers or events.
8272         * gst/gstqueue.c: (gst_queue_get_type),
8273         (gst_queue_handle_pending_events), (gst_queue_chain),
8274         (gst_queue_get), (gst_queue_handle_src_event):
8275           use own static debugging category GST_DATAFLOW for dataflow,
8276           use DEBUG category for showing which path events go, use LOG
8277           category for buffers.
8278
8279 2004-05-10  David Schleef  <ds@schleef.org>
8280
8281         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8282
8283 2004-05-10  David Schleef  <ds@schleef.org>
8284
8285         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8286         symbols, because otherwise we don't know what they are.  Thanks,
8287         the GStreamer team.
8288         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8289
8290 2004-05-10  David Schleef  <ds@schleef.org>
8291
8292         (from Steve Lhomme)
8293         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8294         are deleted.  Fix.
8295         * win32/Makefile.inspect:
8296         * win32/Makefile.launch:
8297         * win32/Makefile.register:
8298
8299 2004-05-10  David Schleef  <ds@schleef.org>
8300
8301         * gst/gstinfo.h: Add missing inline function.
8302         * gst/gsttrace.c: add include
8303         * gst/parse/grammar.y: remove unused code
8304         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8305         more portable.
8306         * tools/gst-register.c: wrap unistd.h
8307         
8308         More additions/fixes from Steve for the MSVC build.
8309         * win32/GStreamer.vcproj:
8310         * win32/Makefile:
8311         * win32/Makefile.inspect:
8312         * win32/Makefile.launch:
8313         * win32/Makefile.register:
8314         * win32/README.txt:
8315         * win32/gst-inspect.vcproj:
8316         * win32/gst-launch.vcproj:
8317         * win32/gst-register.vcproj:
8318         * win32/gstbytestream.def:
8319         * win32/gstbytestream.vcproj:
8320         * win32/gstconfig.h:
8321         * win32/gstelements.def:
8322         * win32/gstelements.vcproj:
8323         * win32/gstenumtypes.c:
8324         * win32/gstenumtypes.h:
8325         * win32/gstoptimalscheduler.def:
8326         * win32/gstoptimalscheduler.vcproj:
8327         * win32/gstreamer.def:
8328         * win32/gstspider.def:
8329         * win32/gstspider.vcproj:
8330         * win32/gstversion.h:
8331         * win32/msvc71.sln:
8332
8333 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8334
8335         * gst/gstelement.c: (gst_element_class_init),
8336         (gst_element_no_more_pads):
8337         * gst/gstelement.h:
8338           add gst_element_no_more_pads and the "no-more-pads" signal
8339
8340 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8341
8342         * gst/gstregistry.c: (gst_registry_add_plugin):
8343           refuse to add plugins when a plugin with same name is already
8344           registered. Fixes a bunch of "How to remove plugins?" issues.
8345           May lead to other problems though, let's test
8346
8347 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8348
8349         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8350         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8351         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8352
8353 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8354
8355         * tests/Makefile.am: fix am16 issue
8356
8357 2004-05-09  Benjamin Otte  <otte@gnome.org>
8358
8359         * libs/gst/bytestream/Makefile.am:
8360           we should indeed add .c files to makefiles or they won't be built
8361           (d'oh)
8362
8363 2004-05-08  Benjamin Otte  <otte@gnome.org>
8364
8365         * gst/gstpad.c: (gst_pad_proxy_fixate):
8366           really reduce the set of caps
8367
8368 2004-05-08  Benjamin Otte  <otte@gnome.org>
8369
8370         * tests/Makefile.am:
8371         * tests/spidey_bench.c: (handoff), (main):
8372           add benchmark to test how long spider needs to create a pipeline
8373
8374 2004-05-08  Benjamin Otte  <otte@gnome.org>
8375
8376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8377           mark links as unengaged when unnegotiating instead of deactivating.
8378           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8379
8380 2004-05-08  Benjamin Otte  <otte@gnome.org>
8381
8382         * docs/manual/helloworld.xml:
8383           s/audiosink/osssink (patch by Patrick Guimond)
8384
8385 2004-05-07  David Schleef  <ds@schleef.org>
8386
8387         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8388         since it contains important stuff.
8389
8390 2004-05-07  David Schleef  <ds@schleef.org>
8391
8392         * testsuite/caps/caps.c: (test3), (main): A check for appending
8393         ANY caps.
8394
8395 2004-05-07  David Schleef  <ds@schleef.org>
8396
8397         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8398         which may contain commas.  Fixes detection of -Wa,-mregnames
8399
8400 2004-05-06  David Schleef  <ds@schleef.org>
8401
8402         Changes to handle compilers that don't have variadic macro
8403         support.  In particular, glib headers define some inlines
8404         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8405         builds.
8406         * gst/Makefile.am:
8407         * gst/cothreads.c:
8408         * gst/elements/gstfdsink.c:
8409         * gst/elements/gstfdsrc.c:
8410         * gst/elements/gstfilesink.c:
8411         * gst/elements/gstfilesrc.c:
8412         * gst/gst_private.h:
8413         * gst/gstatomic.c:
8414         * gst/gstcaps.c: (gst_caps_append):
8415         * gst/gstcpu.c: (gst_cpuid_i386):
8416         * gst/gstelement.c:
8417         * gst/gsterror.c:
8418         * gst/gstfilter.c:
8419         * gst/gstinfo.h:
8420         * gst/gstprobe.c:
8421         * gst/gstquery.c:
8422         * gst/gstregistry.c:
8423         * gst/gststructure.c:
8424         * gst/gsttaginterface.c:
8425         * gst/gsttrace.c: (gst_trace_new):
8426         * gst/gsttrashstack.c:
8427         * gst/gsturi.c:
8428         * gst/gstvalue.c:
8429         * gst/parse/grammar.y:
8430         * gst/parse/parse.l:
8431         * tools/gst-inspect.c: (main):
8432         * tools/gst-launch.c: (main):
8433         * tools/gst-xmlinspect.c: (PUT_STRING):
8434
8435 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8436
8437         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8438         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8439         * gst/elements/gstfilesrc.h:
8440           send NEW_MEDIA events correctly
8441         * gst/elements/gsttypefindelement.c: (start_typefinding),
8442         (gst_type_find_element_handle_event):
8443           restart typefinding when we get a NEW_MEDIA event
8444         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8445         (gst_bin_dispose):
8446           don't die when someone removes elements in callbacks
8447         * gst/gstelement.c: (gst_element_change_state):
8448           improve debugging
8449         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8450           we need a NEW_MEDIA event to engage a link
8451         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8452           don't g_print debugging stuff
8453         * testsuite/caps/simplify.c: (check_caps):
8454
8455 2004-05-04  Benjamin Otte  <otte@gnome.org>
8456
8457         * gst/parse/grammar.y:
8458           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8459
8460 2004-05-04  Benjamin Otte  <otte@gnome.org>
8461
8462         * testsuite/caps/renegotiate.c: (main):
8463           improve output in error case
8464
8465 2004-05-04  Benjamin Otte  <otte@gnome.org>
8466
8467         * gst/parse/grammar.y:
8468           fix assert to not trigger when there's no error argument
8469         * gst/parse/parse.l:
8470           fix definition of caps to allow more than two structures
8471         * testsuite/caps/Makefile.am:
8472         * testsuite/caps/renegotiate.c: (main):
8473           it's sinesrc and works in that case
8474
8475 2004-05-04  Wim Taymans  <wim@fluendo.com>
8476
8477         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8478         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8479         when removing an element from a group, we always need to
8480         decrement the link count that this group had with other 
8481         groups through the element.
8482         added an extra assert to catch inconsistencies when decrementing
8483         the link count.
8484
8485 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8486
8487         * configure.ac:
8488         * docs/gst/Makefile.am:
8489         * docs/gst/gstreamer-sections.txt:
8490         * docs/gst/tmpl/gstcompat.sgml:
8491         * examples/appreader/Makefile.am:
8492         * examples/cutter/Makefile.am:
8493         * examples/events/Makefile.am:
8494         * examples/helloworld/Makefile.am:
8495         * examples/helloworld2/Makefile.am:
8496         * examples/launch/Makefile.am:
8497         * examples/manual/Makefile.am:
8498         * examples/mixer/Makefile.am:
8499         * examples/pingpong/Makefile.am:
8500         * examples/plugins/Makefile.am:
8501         * examples/queue/Makefile.am:
8502         * examples/queue2/Makefile.am:
8503         * examples/queue3/Makefile.am:
8504         * examples/queue4/Makefile.am:
8505         * examples/retag/Makefile.am:
8506         * examples/thread/Makefile.am:
8507         * examples/typefind/Makefile.am:
8508         * examples/xml/Makefile.am:
8509         * gst/Makefile.am:
8510         * gst/autoplug/Makefile.am:
8511         * gst/elements/Makefile.am:
8512         * gst/gstcompat.h:
8513         * gst/indexers/Makefile.am:
8514         * gst/parse/Makefile.am:
8515         * gst/registries/Makefile.am:
8516         * gst/schedulers/Makefile.am:
8517         * libs/gst/bytestream/Makefile.am:
8518         * libs/gst/control/Makefile.am:
8519         * libs/gst/getbits/Makefile.am:
8520         * po/af.po:
8521         * po/az.po:
8522         * po/en_GB.po:
8523         * po/fr.po:
8524         * po/nl.po:
8525         * po/sr.po:
8526         * po/sv.po:
8527         * po/tr.po:
8528         * po/uk.po:
8529         * tests/Makefile.am:
8530         * tests/bufspeed/Makefile.am:
8531         * tests/instantiate/Makefile.am:
8532         * tests/memchunk/Makefile.am:
8533         * tests/muxing/Makefile.am:
8534         * tests/negotiation/Makefile.am:
8535         * tests/probes/Makefile.am:
8536         * tests/sched/Makefile.am:
8537         * tests/seeking/Makefile.am:
8538         * tests/threadstate/Makefile.am:
8539         * testsuite/caps/Makefile.am:
8540         * testsuite/cleanup/Makefile.am:
8541         * testsuite/dlopen/Makefile.am:
8542         * testsuite/dynparams/Makefile.am:
8543         * testsuite/plugin/Makefile.am:
8544         * testsuite/states/Makefile.am:
8545         * tools/Makefile.am:
8546           reorganize compile/link flags to be consistent
8547           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8548
8549 2004-05-04  David Schleef  <ds@schleef.org>
8550
8551         The "once more, with feeling" check-in.
8552         * testsuite/caps/Makefile.am: dist caps_strings
8553         * testsuite/caps/renegotiate.c: (main): This test triggers a
8554           segfault in the core.  Marking as failing.
8555
8556 2004-05-03  David Schleef  <ds@schleef.org>
8557
8558         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8559           by the build bots.
8560         * testsuite/caps/renegotiate.c: (main): Same.
8561
8562 2004-05-03  David Schleef  <ds@schleef.org>
8563
8564         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8565
8566 2004-05-03  David Schleef  <ds@schleef.org>
8567
8568         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8569           variable to find our source file.
8570
8571 2004-05-03  David Schleef  <ds@schleef.org>
8572
8573         * configure.ac:  Link plugins with libgstreamer and dependent
8574           libraries
8575         * testsuite/caps/Makefile.am:
8576         * testsuite/caps/caps_strings:
8577         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8578           through a file of caps strings and test each one
8579
8580 2004-05-04  Benjamin Otte  <otte@gnome.org>
8581
8582         * libs/gst/bytestream/Makefile.am:
8583         * libs/gst/bytestream/adapter.c: 
8584         * libs/gst/bytestream/adapter.h:
8585           add GstAdapter, similar to bytestream, but doesn't require ugly event
8586           handling or uglier loopbased elements
8587
8588 2004-05-03  David Schleef  <ds@schleef.org>
8589
8590         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8591         * testsuite/caps/erathostenes.c:
8592         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8593
8594 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8595
8596         * docs/pwg/pwg.xml:
8597           remove hardcoded stylesheet path (duh)
8598         * docs/random/release:
8599         * docs/gst/gstreamer-sections.txt:
8600         * gst/Makefile.am:
8601         * gst/gst.h:
8602         * gst/gst_private.h:
8603         * gst/gstcaps.c:
8604         * gst/gstevent.c:
8605         * gst/gstformat.c:
8606         * gst/gstinfo.c:
8607         * gst/gstinfo.h:
8608         * gst/gstinterface.c:
8609         * gst/gstmemchunk.c:
8610         * gst/gstprobe.c:
8611         * gst/gstquery.c:
8612         * gst/gstregistry.c:
8613         * gst/gstregistrypool.c:
8614         * gst/gststructure.c:
8615         * gst/gsttaginterface.c:
8616         * gst/gstthread.c:
8617         * gst/gsttrace.c:
8618         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8619         * gst/gsturi.c:
8620         * gst/gstvalue.c:
8621           deprecate gst_info; remove gstlog.h
8622    
8623
8624 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8625
8626         * Makefile.am:
8627         * po/en_GB.po:
8628         * po/sv.po:
8629         * po/uk.po:
8630           updated translations
8631
8632 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8633
8634         * gst/gstbin.c: (gst_bin_dispose):
8635           better debugging
8636
8637 2004-05-03  Johan Dahlin  <johan@gnome.org>
8638
8639         * gst/schedulers/gstoptimalscheduler.c
8640         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8641         really is a GstElement. Avoids critical when running gst-launch -v
8642         and a oggdemux/decoding pipeline.
8643
8644 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8645
8646         * docs/gst/tmpl/gstpipeline.sgml :
8647         * docs/manual/elements-api.xml :
8648                 doc fix by Patrick Guimond (Protector) from devel ML
8649                 reviewed by ronald
8650
8651 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8652
8653         * docs/gst/Makefile.am :
8654         * docs/libs/Makefile.am :
8655                 apply a patch from Arwed v. Merkatz so that gtk-doc
8656                 generated docs install (same for .devhelp file)
8657                 (fixes part 1 of #138836)
8658
8659 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8660
8661         * docs/faq/dependencies.xml: typo
8662         * docs/faq/getting.xml :
8663             - fix download URL for new gstreamer site
8664             - hide sf.net download page as latest version aren't there
8665             - fix apt URLs
8666             - fill "get via CVS" paragraph (link to dev page on the site)
8667         * docs/faq/general.xml:
8668             hide status tables as they no more exists
8669             change case on plugins license file to reflect reality
8670         * docs/faq/troubleshooting.xml:
8671             remove the wiki question/answer as there is no more wiki
8672
8673 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8674
8675         * gst/gsterror.h:
8676           include the headers needed for declarations used in this header
8677
8678 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8679
8680         * docs/random/uraeus/gstreamer_and_midi.txt :
8681           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8682           (fixes #132288)
8683
8684 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8685
8686         reviewed by Benjamin Otte  <otte@gnome.org>
8687
8688         * gst/schedulers/gthread-cothreads.h:
8689           free allocated data for main cothread, too when destroying context
8690           (fixes #141417)
8691
8692 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8693
8694         * docs/manual/goals.xml : remove duplicated paragraph at end 
8695         of doc page (fixes #141448)
8696
8697 2004-04-29  David Schleef  <ds@schleef.org>
8698
8699         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8700         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8701
8702 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8703
8704         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8705           fix property
8706         * gst/gstcaps.c:
8707           fix doc string
8708         * po/POTFILES.in:
8709           rename typefind source file
8710
8711 2004-04-28  David Schleef  <ds@schleef.org>
8712
8713         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8714         * win32/GStreamer.vcproj:
8715         * win32/Makefile:
8716         * win32/config.h:
8717         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8718         (_trewinddir), (_ttelldir), (_tseekdir):
8719         * win32/dirent.h:
8720         * win32/gst-inspect.vcproj:
8721         * win32/gst-launch.vcproj:
8722         * win32/gst-register.vcproj:
8723         * win32/gstbytestream.vcproj:
8724         * win32/gstelements.vcproj:
8725         * win32/gstoptimalscheduler.vcproj:
8726         * win32/gstspider.vcproj:
8727         * win32/gtchar.h:
8728         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8729         * win32/mman.h:
8730         * win32/mman.inl:
8731         * win32/msvc71.sln:
8732
8733 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8734
8735         * gst/gst.c: (init_post):
8736         * gst/gstinfo.c:
8737           remove useless _gst_progname stuff
8738         * tools/gst-inspect.c: (print_field), (print_caps):
8739           improve caps output
8740
8741 2004-04-28  David Schleef  <ds@schleef.org>
8742
8743         Disable parsing of a lot of files that aren't part of the
8744         exported API.  Move corresponding template files to old/,
8745         waiting for removal when they don't contain anything
8746         interesting.
8747         * docs/gst/Makefile.am:
8748         * docs/gst/gstreamer-sections.txt:
8749         * docs/gst/tmpl/cothreads.sgml:
8750         * docs/gst/tmpl/cothreads_compat.sgml:
8751         * docs/gst/tmpl/gettext.sgml:
8752         * docs/gst/tmpl/gobject2gtk.sgml:
8753         * docs/gst/tmpl/grammar.tab.sgml:
8754         * docs/gst/tmpl/gst-i18n-app.sgml:
8755         * docs/gst/tmpl/gst-i18n-lib.sgml:
8756         * docs/gst/tmpl/gst_private.sgml:
8757         * docs/gst/tmpl/gstaggregator.sgml:
8758         * docs/gst/tmpl/gstarch.sgml:
8759         * docs/gst/tmpl/gstatomic_impl.sgml:
8760         * docs/gst/tmpl/gstbufferstore.sgml:
8761         * docs/gst/tmpl/gstdata_private.sgml:
8762         * docs/gst/tmpl/gstdisksink.sgml:
8763         * docs/gst/tmpl/gstdisksrc.sgml:
8764         * docs/gst/tmpl/gstelementfactory.sgml:
8765         * docs/gst/tmpl/gstextratypes.sgml:
8766         * docs/gst/tmpl/gstfakesink.sgml:
8767         * docs/gst/tmpl/gstfakesrc.sgml:
8768         * docs/gst/tmpl/gstfdsink.sgml:
8769         * docs/gst/tmpl/gstfdsrc.sgml:
8770         * docs/gst/tmpl/gstfilesink.sgml:
8771         * docs/gst/tmpl/gstfilesrc.sgml:
8772         * docs/gst/tmpl/gsthttpsrc.sgml:
8773         * docs/gst/tmpl/gstidentity.sgml:
8774         * docs/gst/tmpl/gstindexfactory.sgml:
8775         * docs/gst/tmpl/gstmarshal.sgml:
8776         * docs/gst/tmpl/gstmd5sink.sgml:
8777         * docs/gst/tmpl/gstmultidisksrc.sgml:
8778         * docs/gst/tmpl/gstmultifilesrc.sgml:
8779         * docs/gst/tmpl/gstpadtemplate.sgml:
8780         * docs/gst/tmpl/gstpipefilter.sgml:
8781         * docs/gst/tmpl/gstschedulerfactory.sgml:
8782         * docs/gst/tmpl/gstsearchfuncs.sgml:
8783         * docs/gst/tmpl/gstshaper.sgml:
8784         * docs/gst/tmpl/gstspider.sgml:
8785         * docs/gst/tmpl/gstspideridentity.sgml:
8786         * docs/gst/tmpl/gststatistics.sgml:
8787         * docs/gst/tmpl/gsttee.sgml:
8788         * docs/gst/tmpl/gsttimecache.sgml:
8789         * docs/gst/tmpl/gsttypefind.sgml:
8790         * docs/gst/tmpl/gsttypefindfactory.sgml:
8791         * docs/gst/tmpl/gstxmlregistry.sgml:
8792         * docs/gst/tmpl/gthread-cothreads.sgml:
8793         * docs/gst/tmpl/old/cothreads.sgml:
8794         * docs/gst/tmpl/old/cothreads_compat.sgml:
8795         * docs/gst/tmpl/old/gettext.sgml:
8796         * docs/gst/tmpl/old/gobject2gtk.sgml:
8797         * docs/gst/tmpl/old/grammar.tab.sgml:
8798         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8799         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8800         * docs/gst/tmpl/old/gst_private.sgml:
8801         * docs/gst/tmpl/old/gstaggregator.sgml:
8802         * docs/gst/tmpl/old/gstarch.sgml:
8803         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8804         * docs/gst/tmpl/old/gstbufferstore.sgml:
8805         * docs/gst/tmpl/old/gstdata_private.sgml:
8806         * docs/gst/tmpl/old/gstdisksink.sgml:
8807         * docs/gst/tmpl/old/gstdisksrc.sgml:
8808         * docs/gst/tmpl/old/gstelementfactory.sgml:
8809         * docs/gst/tmpl/old/gstextratypes.sgml:
8810         * docs/gst/tmpl/old/gstfakesink.sgml:
8811         * docs/gst/tmpl/old/gstfakesrc.sgml:
8812         * docs/gst/tmpl/old/gstfdsink.sgml:
8813         * docs/gst/tmpl/old/gstfdsrc.sgml:
8814         * docs/gst/tmpl/old/gstfilesink.sgml:
8815         * docs/gst/tmpl/old/gstfilesrc.sgml:
8816         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8817         * docs/gst/tmpl/old/gstidentity.sgml:
8818         * docs/gst/tmpl/old/gstindexfactory.sgml:
8819         * docs/gst/tmpl/old/gstmarshal.sgml:
8820         * docs/gst/tmpl/old/gstmd5sink.sgml:
8821         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8822         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8823         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8824         * docs/gst/tmpl/old/gstpipefilter.sgml:
8825         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8826         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8827         * docs/gst/tmpl/old/gstshaper.sgml:
8828         * docs/gst/tmpl/old/gstspider.sgml:
8829         * docs/gst/tmpl/old/gstspideridentity.sgml:
8830         * docs/gst/tmpl/old/gststatistics.sgml:
8831         * docs/gst/tmpl/old/gsttee.sgml:
8832         * docs/gst/tmpl/old/gsttimecache.sgml:
8833         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8834         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8835         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8836         * docs/gst/tmpl/old/types.sgml:
8837         * docs/gst/tmpl/types.sgml:
8838
8839         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8840         gtkdoc-scan doesn't like files with the same name in different
8841         directories.
8842         * gst/elements/Makefile.am:
8843         * gst/elements/gstelements.c:
8844         * gst/elements/gsttypefind.c: 
8845         * gst/elements/gsttypefind.h:
8846         * gst/elements/gsttypefindelement.c:
8847         * gst/elements/gsttypefindelement.h:
8848
8849 2004-04-28  David Schleef  <ds@schleef.org>
8850
8851         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8852         patch (bug #141317):
8853         * gst/gst-i18n-lib.h: Allow disabling gettext.
8854         * gst/gstatomic_impl.h: disable warning when it's dumb.
8855         * gst/gstclock.c: fix include
8856         * gst/gstcompat.h: fix variadic macro
8857         * gst/gstinfo.c: fix include
8858         * gst/gstmacros.h: add defines for inlines on MSVC
8859         * gst/gstplugin.c: fix includes
8860         * gst/gstregistry.c: fix includes
8861         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8862         * gst/gstsystemclock.c: fix include
8863         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8864         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8865         * gst/registries/gstxmlregistry.c:
8866         (gst_xml_registry_parse_element_factory): fix use of non-portable
8867         functions
8868         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8869         * libs/gst/control/dparammanager.h: same
8870
8871 2004-04-28  David Schleef  <ds@schleef.org>
8872
8873         Move a bunch of unused files to old/ with names that are
8874         not case-insensitive-unique.  These files still contain some
8875         useful information that needs to be merged into gstbin.sgml,
8876         etc., so they shouldn't be deleted yet.
8877         * docs/gst/tmpl/GstBin.sgml:
8878         * docs/gst/tmpl/GstBuffer.sgml:
8879         * docs/gst/tmpl/GstCaps.sgml:
8880         * docs/gst/tmpl/GstClock.sgml:
8881         * docs/gst/tmpl/GstCompat.sgml:
8882         * docs/gst/tmpl/GstData.sgml:
8883         * docs/gst/tmpl/GstElement.sgml:
8884         * docs/gst/tmpl/GstEvent.sgml:
8885         * docs/gst/tmpl/GstIndex.sgml:
8886         * docs/gst/tmpl/GstStructure.sgml:
8887         * docs/gst/tmpl/GstTag.sgml:
8888         * docs/gst/tmpl/old/GstBin.sgml:
8889         * docs/gst/tmpl/old/GstBuffer.sgml:
8890         * docs/gst/tmpl/old/GstCaps.sgml:
8891         * docs/gst/tmpl/old/GstClock.sgml:
8892         * docs/gst/tmpl/old/GstCompat.sgml:
8893         * docs/gst/tmpl/old/GstData.sgml:
8894         * docs/gst/tmpl/old/GstElement.sgml:
8895         * docs/gst/tmpl/old/GstEvent.sgml:
8896         * docs/gst/tmpl/old/GstIndex.sgml:
8897         * docs/gst/tmpl/old/GstStructure.sgml:
8898         * docs/gst/tmpl/old/GstTag.sgml:
8899
8900 2004-04-28  David Schleef  <ds@schleef.org>
8901
8902         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8903         (gst_caps_append), (gst_caps_append_structure),
8904         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8905         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8906         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8907         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8908         (gst_caps_intersect), (gst_caps_normalize),
8909         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8910         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8911         * gst/gstcaps.h: use GST_IS_CAPS().
8912
8913 2004-04-26  David Schleef  <ds@schleef.org>
8914
8915         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8916         assembly.  gcc doesn't handle it correctly. (bug #141083)
8917         * gst/gsttrashstack.h: same
8918
8919 2004-04-25  Benjamin Otte  <otte@gnome.org>
8920
8921         * gst/gstelement.c: (gst_element_change_state):
8922           fix assertion to do an int comparison
8923
8924 2004-04-25  Benjamin Otte  <otte@gnome.org>
8925
8926         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8927           better debugging output on error
8928
8929 2004-04-25  Benjamin Otte  <otte@gnome.org>
8930
8931         * gst/gstcaps.c: (gst_caps_subtract):
8932           fix memleak
8933
8934 2004-04-23  Benjamin Otte  <otte@gnome.org>
8935
8936         * gst/gstvalue.c: (gst_value_compare_buffer),
8937         (_gst_value_initialize):
8938           add comparison function for buffers
8939
8940 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8941
8942         * docs/pwg/pwg.xml:
8943           Just found out that this so-called "ima-wav" format is really
8944           just "dvi adpcm" (according to the MS WAV documentation). So
8945           renaming it. We didn't use it yet anyway.
8946
8947 2004-04-23  Benjamin Otte  <otte@gnome.org>
8948
8949         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8950           call gst_caps_is_subset
8951
8952 2004-04-23  Benjamin Otte  <otte@gnome.org>
8953
8954         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8955         (gst_caps_is_subset):
8956           add documentation
8957
8958 2004-04-23  Benjamin Otte  <otte@gnome.org>
8959           
8960         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8961         (gst_caps_structure_subtract), (gst_caps_subtract),
8962         (gst_caps_structure_figure_out_union),
8963         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8964           fix simplifying and subtracting not working correctly with optional
8965           properties
8966           solve assorted problems that make it now simplify ebven more
8967         * docs/gst/tmpl/gstcaps.sgml:
8968         * gst/gstcaps.h:
8969           make gst_caps_do_simplify return a bool to indicate if it simplified
8970         * testsuite/caps/simplify.c: (main):
8971           add more checks. The tests is quite a bit useless right now because
8972           the core is heavily simplifying itself.
8973         * testsuite/caps/caps.h:
8974           fix caps to contain all optional properties
8975
8976 2004-04-22  Benjamin Otte  <otte@gnome.org>
8977
8978         * docs/gst/tmpl/gstcaps.sgml:
8979         * docs/gst/tmpl/gstfilesrc.sgml:
8980         * docs/gst/tmpl/gststructure.sgml:
8981         * docs/gst/tmpl/gstvalue.sgml:
8982           update for recent API changes
8983         * gst/gstcaps.c: (gst_caps_do_simplify):
8984           fix to stop trying with a freed structure
8985         * gst/gstpad.c: (gst_pad_link_fixate):
8986           simplify caps
8987         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8988           remove C++ comment
8989         * gst/gstpad.h:
8990           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8991         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8992         (gst_structure_to_string):
8993           keep the correct type when using lists of ranges
8994         * gst/gstvalue.c: (gst_value_list_prepend_value),
8995         (gst_value_list_append_value):
8996           copy the value before adding to the list (d'oh)
8997         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8998         (gst_value_subtract_int_range_int_range):
8999           handle overflows correctly
9000         * gst/gstvalue.c: (gst_value_subtract_from_list):
9001           fix memleak
9002         * testsuite/caps/caps.h:
9003           add a caps that caused segfaults
9004
9005 2004-04-22  Benjamin Otte  <otte@gnome.org>
9006
9007         * testsuite/refcounting/pad.c: (main):
9008           fix test
9009
9010 2004-04-22  Benjamin Otte  <otte@gnome.org>
9011
9012         * gst/gstcaps.c: (gst_caps_subtract):
9013           allow subtracting ANY and EMPTY from ANY caps
9014
9015 2004-04-22  Benjamin Otte  <otte@gnome.org>
9016
9017         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9018         (gst_caps_union):
9019           only simplify in functions that create new caps. Simplifying in
9020           gst_caps_append breaks tests.
9021
9022 2004-04-22  Benjamin Otte  <otte@gnome.org>
9023
9024         * gst/gstcaps.c: (gst_caps_structure_simplify):
9025           unset GValue after use
9026         * gst/gstcaps.c: (gst_caps_append), 
9027         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9028           use gst_caps_simplify (reduces registry size by 30%)
9029         * gst/gstpad.c: (gst_pad_template_new):
9030           don't allow NULL caps
9031
9032 2004-04-22  Benjamin Otte  <otte@gnome.org>
9033
9034         * docs/gst/gstreamer-sections.txt:
9035           add gst_caps_do_simplify
9036         * gst/gstcaps.c:
9037           add documentation for gst_caps_do_simplify
9038         * gst/gstvalue.h:
9039           fix typo in gst_value_register_subtract_func declaration for gst-doc
9040
9041 2004-04-22  Benjamin Otte  <otte@gnome.org>
9042
9043         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9044           fix bug when converting from empty string.
9045         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9046         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9047           use gst_caps_new_empty to allocate a new caps. Only that function
9048           allocates memory for caps now.
9049         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9050         (gst_caps_remove_structure):
9051           add ability to remove one structure (but not to header yet)
9052         * gst/gstcaps.c: (gst_caps_compare_structures),
9053         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9054         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9055         * gst/gstcaps.h:
9056           add gst_caps_do_simplify that tries to simplify a caps in place.
9057           Deprecate old gst_caps_simplify function.
9058         * testsuite/caps/caps.h:
9059           add caps.h containing a common set of caps to test against.
9060         * testsuite/caps/sets.c: (check_caps), (main):
9061           use it.
9062         * testsuite/caps/.cvsignore:
9063         * testsuite/caps/Makefile.am:
9064         * testsuite/caps/simplify.c: (check_caps), (main):
9065           add test to check correctness and efficency of caps simplification.
9066
9067 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9068
9069         reviewed by Benjamin Otte  <otte@gnome.org>
9070
9071         * gst/gstparse.c: (_gst_parse_escape):
9072           Free the GString used in _gst_parse_escape()
9073
9074 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9075
9076         * gst/gstpad.c: (gst_pad_link_negotiate):
9077           refuse to link if the link is not possible
9078         * configure.ac:
9079         * testsuite/Makefile.am:
9080         * testsuite/negotiation/.cvsignore:
9081         * testsuite/negotiation/Makefile.am:
9082         * testsuite/negotiation/pad_link.c: (main):
9083           add test that checks the above behaviour
9084
9085 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9086
9087         * docs/gst/gstreamer-sections.txt:
9088           add newly added API
9089
9090 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9091
9092         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9093         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9094         (gst_filesrc_open_file), (gst_filesrc_close_file),
9095         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9096         * gst/elements/gstfilesrc.h:
9097           add support for non-regular files (#140734)
9098
9099 2004-04-21  Benjamin Otte  <otte@gnome.org>
9100
9101         * gst/gstpad.c: (gst_pad_link_fixate):
9102           add sophisticated error checking code to see if fixation functions
9103           did their fixation right
9104
9105 2004-04-21  Benjamin Otte  <otte@gnome.org>
9106
9107         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9108           check for ANY caps before appending/unioning
9109         * gst/gstcaps.c: (gst_caps_is_subset),
9110         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9111         (gst_caps_structure_subtract), (gst_caps_subtract):
9112         * gst/gstcaps.h:
9113           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9114           the API. deprecate gst_caps_is_equal_fixed
9115         * gst/gstpad.c: (gst_pad_try_set_caps):
9116         * gst/gstqueue.c: (gst_queue_link):
9117           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9118         * gst/gststructure.c: (gst_structure_get_name_id):
9119         * gst/gststructure.h:
9120           add function gst_structure_get_name_id
9121         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9122         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9123         (gst_value_subtract_int_range_int_range),
9124         (gst_value_subtract_double_double_range),
9125         (gst_value_subtract_double_range_double),
9126         (gst_value_subtract_double_range_double_range),
9127         (gst_value_subtract_from_list), (gst_value_subtract_list),
9128         (gst_value_can_intersect), (gst_value_subtract),
9129         (gst_value_can_subtract), (gst_value_register_subtract_func),
9130         (_gst_value_initialize):
9131         * gst/gstvalue.h:
9132           add support for subtracting values from each other. Note that
9133           subtracting means subtracting as in set theory. Required for caps
9134           stuff above.
9135         * testsuite/caps/.cvsignore:
9136         * testsuite/caps/Makefile.am:
9137         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9138         * testsuite/caps/sets.c: (check_caps), (main):
9139         * testsuite/caps/subtract.c: (check_caps), (main):
9140           add tests for subtraction and equality code.
9141
9142 2004-04-20  David Schleef  <ds@schleef.org>
9143
9144         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9145         * gst/indexers/Makefile.am:
9146         * gst/schedulers/Makefile.am:
9147         * libs/gst/bytestream/Makefile.am:
9148         * libs/gst/control/Makefile.am:
9149         * libs/gst/getbits/Makefile.am:
9150
9151 2004-04-20  David Schleef  <ds@schleef.org>
9152
9153         * common/as-libtool.mak: Fine-tune DLL building.
9154         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9155         (like gst-plugins)
9156         * examples/plugins/Makefile.am: remove plugindir
9157         * gst/autoplug/Makefile.am: DLL building fixes
9158         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9159         Windows.
9160         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9161         * gst/indexers/Makefile.am: DLL building fixes
9162         * gst/schedulers/Makefile.am: DLL building fixes.
9163         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9164         * libs/gst/control/Makefile.am: same
9165         * libs/gst/getbits/Makefile.am: same
9166         * testsuite/Makefile.am: New dlopen directory
9167         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9168         when dlopened.
9169         * testsuite/dlopen/dlopen_gst.c: (main): same
9170         * testsuite/dlopen/loadgst.c: (do_test): same
9171
9172 2004-04-20  David Schleef  <ds@schleef.org>
9173
9174         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9175         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9176
9177 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9178
9179         * gst/gstelement.c: (gst_element_wait),
9180         (gst_element_set_time_delay), (gst_element_change_state):
9181           Use GST_TIME_*
9182
9183 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9184
9185         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9186         (gst_spider_identity_plug):
9187           improve debugging messages
9188         * gst/gstbin.c: (gst_bin_remove_func):
9189           make sure the state_change function is only called with simple state
9190           transitions
9191
9192 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9193
9194         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9195         (gst_fakesink_set_property), (gst_fakesink_chain):
9196         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9197         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9198         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9199         * gst/elements/gstidentity.c: (gst_identity_chain),
9200         (gst_identity_set_property):
9201         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9202         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9203           add warnings to _set_property for unknown arguments
9204           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9205
9206 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9207
9208         * Makefile.am:
9209         * docs/manuals.mak:
9210           add .po file download snippet
9211           fix a bug in the doc makefile
9212
9213 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9214
9215         * Makefile.am:
9216         * po/LINGUAS:
9217         * po/en_GB.po:
9218           Added en_GB translation (Gareth Owen)
9219
9220 2004-04-20  Johan Dahlin  <johan@gnome.org>
9221
9222         * gst/gstpad.c (_invent_event): Clean up
9223
9224 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9225
9226         * testsuite/caps/filtercaps.c: (main):
9227           fix test to test things correctly (caps are complicated)
9228
9229 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9230
9231         * testsuite/caps/Makefile.am:
9232         * testsuite/caps/filtercaps.c: (main):
9233           add test (that doesn't work right now, but should)
9234
9235 2004-04-19  David Schleef  <ds@schleef.org>
9236
9237         * configure.ac: Add test for allowing unaligned access.  Add define
9238         to put in gstconfig.h.
9239         * docs/gst/gstreamer-sections.txt: New symbols
9240         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9241         * docs/gst/tmpl/gstfilesrc.sgml:
9242         * docs/gst/tmpl/gstparse.sgml:
9243         * docs/gst/tmpl/gsttypes.sgml:
9244         * docs/gst/tmpl/gstutils.sgml:
9245         * docs/gst/tmpl/gstvalue.sgml:
9246         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9247         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9248         on most !i386/!powerpc architectures.  From Daniel Gazard
9249         <daniel.gazard@free.fr>.  (bug #140156)
9250         * po/af.po: Check in changes made by gettext.
9251         * po/az.po:
9252         * po/fr.po:
9253         * po/nl.po:
9254         * po/sr.po:
9255         * po/sv.po:
9256
9257 2004-04-20  Benjamin Otte  <otte@gnome.org>
9258
9259         * gst/schedulers/entryscheduler.c: 
9260         (gst_entry_scheduler_yield):
9261           refuse to yield when decoupled elements insist on doing that.
9262           At least it's better than crashing
9263
9264 2004-04-19  David Schleef  <ds@schleef.org>
9265
9266         * docs/libs/Makefile.am: Change sinclude to include
9267         * docs/gst/Makefile.am: same
9268         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9269
9270 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * po/LINGUAS:
9273         * po/uk.po:
9274           Added Ukrainian translation (Maxim V. Dziumanenko)
9275
9276 2004-04-19  Johan Dahlin  <johan@gnome.org>
9277
9278         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9279         checking here, do it before calling the function.
9280         Clean up, use for loops instead of while loops while iterating
9281         over lists.
9282
9283         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9284         in debug message.
9285         (gst_spider_create_and_plug): Improve debug message.
9286         General: Replace while loops which iterates over GLists with for
9287         loops. Which are much cleaner, improves readability, especially
9288         for gst_spider_identity_plug
9289
9290         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9291         fixes bug 140477
9292
9293 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * po/LINGUAS:
9296         * po/tr.po:
9297           Added Turkish translation (Baris Cicek)
9298
9299 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9300
9301         * docs/faq/troubleshooting.xml:
9302           Mention gst-register in the FAQ (fixes 139045).
9303
9304 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9305
9306         * docs/gst/gstreamer-sections.txt:
9307
9308 2004-04-17  Benjamin Otte  <otte@gnome.org>
9309
9310         * gst/gstelement.c: (gst_element_dispose):
9311           simplify
9312         * gst/gstpad.c: (gst_pad_call_chain_function):
9313           don't create loads of events due to bad macro usage
9314
9315 2004-04-16  David Schleef  <ds@schleef.org>
9316
9317         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9318         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9319         * gst/gstvalue.c: (gst_value_serialize_buffer),
9320         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9321         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9322         to indicate types that are fixed wrt caps or not.  Switching to
9323         this function fixes (bug #140298).
9324         * gst/gstvalue.h:
9325
9326 2004-04-16  David Schleef  <ds@schleef.org>
9327
9328         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9329         for GST_UNALIGNED_ACESS, since we essentially know which archs
9330         are ok.
9331
9332 2004-04-17  Benjamin Otte  <otte@gnome.org>
9333
9334         * docs/gst/Makefile.am:
9335           ignore gst/parse directory when building docs (fixes #140205)
9336
9337 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * testsuite/refcounting/mem.c: (vmsize):
9340           do error checking
9341
9342 2004-04-16  Johan Dahlin  <johan@gnome.org>
9343
9344         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9345         and gst_pad_call_get_function.
9346
9347 2004-04-15  David Schleef  <ds@schleef.org>
9348
9349         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9350         checks if we can access unaligned memory.
9351         * configure.ac: Use it.
9352
9353 2004-04-16  Benjamin Otte  <otte@gnome.org>
9354
9355         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9356         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9357         * gst/elements/gstfilesrc.h:
9358           s/seek_happened/need_discont/ and require discont before sending any
9359           data
9360
9361 2004-04-15  David Schleef  <ds@schleef.org>
9362
9363         * gst/gstvalue.c: (gst_value_serialize_buffer),
9364         (gst_value_deserialize_buffer), (_gst_value_initialize):
9365         Register these types as fundamental types. (bug #140015)
9366
9367 2004-04-16  Benjamin Otte  <otte@gnome.org>
9368
9369         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9370         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9371         (gst_pad_pull):
9372           implement enforcing discont events before buffers are passed. This
9373           allows state changes of only some elements and later correctly going
9374           on where they left off (or in short: you can now set audio sinks to
9375           NULL to release the device when the pipeline is paused)
9376         * gst/gstpad.c: (gst_pad_call_chain_function),
9377         (gst_pad_call_get_function):
9378         * gst/gstpad.h:
9379           add gst_pad_call_chain_function and gst_pad_call_get_function for
9380           scheduler interaction. They are required because of the changes
9381           above.
9382         * gst/schedulers/entryscheduler.c: (get_buffer),
9383         (gst_entry_scheduler_chain_wrapper),
9384         (gst_entry_scheduler_get_wrapper),
9385         (gst_entry_scheduler_state_transition),
9386         (gst_entry_scheduler_pad_link):
9387         * gst/schedulers/gstbasicscheduler.c:
9388         (gst_basic_scheduler_chain_wrapper),
9389         (gst_basic_scheduler_src_wrapper),
9390         (gst_basic_scheduler_chainhandler_proxy),
9391         (gst_basic_scheduler_gethandler_proxy),
9392         (gst_basic_scheduler_cothreaded_chain),
9393         (gst_basic_scheduler_chain_elements):
9394         * gst/schedulers/gstoptimalscheduler.c:
9395         (get_group_schedule_function), (pad_clear_queued),
9396         (gst_opt_scheduler_pad_link):
9397           use the new functions instead of calling get/chain-functions
9398           directly.
9399
9400 2004-04-15  David Schleef  <ds@schleef.org>
9401
9402         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9403         * docs/gst/tmpl/gstinfo.sgml: same
9404         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9405         gtk-doc put here.
9406         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9407         * examples/queue/queue.c: (main):  We iterate pipelines, not
9408         bins.  (bug #139996)
9409
9410 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9411
9412         * docs/pwg/advanced-types.xml:
9413           Add MS RLE support. Also document Qt RLE although I have no sample
9414           files for that yet. And document an extra property for ADPCM.
9415
9416 2004-04-15  David Schleef  <ds@schleef.org>
9417
9418         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9419         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9420         Windows.
9421
9422 2004-04-15  David Schleef  <ds@schleef.org>
9423
9424         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9425         symbol names to not conflict with new gstinfo.h symbols.
9426         * gst/gstinfo.h: Add inline functions for all those crazy
9427         compilers that don't know how to handle variadic macros (MSVC).
9428
9429 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9430
9431         * configure.ac: bump nano to 1
9432
9433 === release 0.8.1 ===
9434
9435 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9436
9437         * NEWS:
9438         * RELEASE:
9439         * configure.ac:
9440           releasing 0.8.1, "Snow Brigade"
9441
9442 2004-04-14  David Schleef  <ds@schleef.org>
9443
9444         * testsuite/Makefile.am: define tests_ignore
9445         * testsuite/Rules: Added new tests_ignore, which get compiled,
9446         but not run (generally because they're inconsistent or have
9447         heisenbugs).  Now we can ensure all the .c files compile in
9448         testsuite/.
9449         * testsuite/bins/Makefile.am: define tests_ignore
9450         * testsuite/bytestream/Makefile.am:
9451         * testsuite/caps/Makefile.am:
9452         * testsuite/clock/Makefile.am:
9453         * testsuite/debug/Makefile.am:
9454         * testsuite/debug/global.c: (gst_debug_log_one),
9455         (gst_debug_log_two): Fix compilation problem.
9456         * testsuite/dynparams/Makefile.am:
9457         * testsuite/elements/Makefile.am:
9458         * testsuite/ghostpads/Makefile.am:
9459         * testsuite/indexers/Makefile.am:
9460         * testsuite/parse/Makefile.am:
9461         * testsuite/plugin/Makefile.am:
9462         * testsuite/refcounting/Makefile.am:
9463         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9464         results, because it's not calculated correctly.
9465         * testsuite/refcounting/pad.c: (main): same
9466         * testsuite/states/Makefile.am:
9467         * testsuite/tags/Makefile.am:
9468         * testsuite/threads/Makefile.am:
9469
9470 2004-04-14  David Schleef  <ds@schleef.org>
9471
9472         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9473         generating bad code around the cpu detection asm code.
9474
9475 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * tools/gst-inspect.c: (print_element_info):
9478           print numeric version of rank as well, since we added some - 1
9479           rank values to elements
9480
9481 2004-04-13  David Schleef  <ds@schleef.org>
9482
9483         * configure.ac:  Disable various code when compiling for MinGW.
9484         * gst/elements/Makefile.am:
9485         * gst/elements/gstelements.c:
9486         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9487         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9488         * gst/registries/gstxmlregistry.c: (make_dir):
9489
9490 2004-04-13  David Schleef  <ds@schleef.org>
9491
9492         * gst/Makefile.am:
9493         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9494         assembly.
9495         * gst/gstcpuid_i386.s: remove
9496
9497 2004-04-13  David Schleef  <ds@schleef.org>
9498
9499         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9500         seems to think it needs to be done.
9501         * docs/gst/tmpl/gstfakesink.sgml:
9502         * docs/gst/tmpl/gstfakesrc.sgml:
9503         * docs/gst/tmpl/gstfdsink.sgml:
9504         * docs/gst/tmpl/gstfdsrc.sgml:
9505         * docs/gst/tmpl/gstfilesink.sgml:
9506         * docs/gst/tmpl/gstfilesrc.sgml:
9507         * docs/gst/tmpl/gstidentity.sgml:
9508         * docs/gst/tmpl/gstmd5sink.sgml:
9509         * docs/gst/tmpl/gstmultifilesrc.sgml:
9510         * docs/gst/tmpl/gstpipefilter.sgml:
9511         * docs/gst/tmpl/gstshaper.sgml:
9512         * docs/gst/tmpl/gstspider.sgml:
9513         * docs/gst/tmpl/gstspideridentity.sgml:
9514         * docs/gst/tmpl/gststatistics.sgml:
9515         * docs/gst/tmpl/gsttee.sgml:
9516         * docs/gst/tmpl/gsttypefind.sgml:
9517         * docs/gst/tmpl/gstutils.sgml:
9518
9519 2004-04-13  David Schleef  <ds@schleef.org>
9520
9521         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9522         and to build DLLs on Windows.
9523         * gst/Makefile.am:
9524         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9525         (gst_filesrc_open_file):
9526         * gst/schedulers/Makefile.am:
9527
9528 2004-04-13  David Schleef  <ds@schleef.org>
9529
9530         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9531         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9532         fixating lists.
9533
9534 2004-04-12  David Schleef  <ds@schleef.org>
9535
9536         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9537         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9538         to using it.
9539         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9540         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9541         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9542         * gst/gststructure.c: (gst_structure_set_valist),
9543         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9544         support for buffers.
9545         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9546         intended to be const.
9547         * gst/gsttag.h: same
9548         * gst/gstvalue.c: (gst_value_serialize_buffer),
9549         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9550         to (de)serialize buffers.
9551         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9552         * testsuite/caps/string-conversions.c: (main):
9553         * testsuite/caps/value_serialize.c: add new test
9554
9555 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9556
9557         * docs/pwg/advanced-types.xml:
9558           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9559
9560 2004-04-11  Benjamin Otte  <otte@gnome.org>
9561
9562         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9563           rename categories to basic_*
9564         * gst/schedulers/gstbasicscheduler.c: 
9565         (gst_basic_scheduler_chain_wrapper),
9566         (gst_basic_scheduler_chainhandler_proxy),
9567         (gst_basic_scheduler_gethandler_proxy),
9568         (gst_basic_scheduler_eventhandler_proxy):
9569           debugging category fixes - put common stuff in log category
9570         * gst/schedulers/gstbasicscheduler.c: 
9571         (gst_basic_scheduler_chain_elements):
9572           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9573           active and linking two active chains
9574
9575 2004-04-10  Benjamin Otte  <otte@gnome.org>
9576
9577         * docs/pwg/intro-preface.xml:
9578           fix dead links and remove reference to Wiki
9579
9580 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9581
9582         * gst/schedulers/gstbasicscheduler.c:
9583           make sure we can switch back to the main function if we're still in
9584           the main function (supposed to fix #139617)
9585         * gst/schedulers/gthread-cothreads.h:
9586           don't throw an error when switching to the same cothread
9587
9588 2004-04-09  Benjamin Otte  <otte@gnome.org>
9589
9590         * gst/gstbin.c: (gst_bin_get_type):
9591         * gst/gstclock.c: (gst_clock_get_type):
9592         * gst/gstindex.c: (gst_index_get_type):
9593         * gst/gstobject.c: (gst_object_get_type),
9594         (gst_signal_object_get_type):
9595         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9596         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9597         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9598         * gst/gstqueue.c: (gst_queue_get_type):
9599         * gst/gstregistry.c: (gst_registry_get_type):
9600         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9601         * gst/gstthread.c: (gst_thread_get_type):
9602           don't use memchunks for these objects, use malloc instead
9603
9604 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9605
9606         * docs/gst/.cvsignore:
9607         * docs/gst/Makefile.am:
9608         * docs/gst/gstreamer-sections.txt:
9609         * docs/gst/tmpl/gstaggregator.sgml:
9610         * docs/gst/tmpl/gstbuffer.sgml:
9611         * docs/gst/tmpl/gstclock.sgml:
9612         * docs/gst/tmpl/gstelement.sgml:
9613         * docs/gst/tmpl/gstfakesink.sgml:
9614         * docs/gst/tmpl/gstfakesrc.sgml:
9615         * docs/gst/tmpl/gstfdsink.sgml:
9616         * docs/gst/tmpl/gstfdsrc.sgml:
9617         * docs/gst/tmpl/gstfilesink.sgml:
9618         * docs/gst/tmpl/gstfilesrc.sgml:
9619         * docs/gst/tmpl/gstidentity.sgml:
9620         * docs/gst/tmpl/gstindex.sgml:
9621         * docs/gst/tmpl/gstinfo.sgml:
9622         * docs/gst/tmpl/gstmd5sink.sgml:
9623         * docs/gst/tmpl/gstmultifilesrc.sgml:
9624         * docs/gst/tmpl/gstpad.sgml:
9625         * docs/gst/tmpl/gstpipefilter.sgml:
9626         * docs/gst/tmpl/gstpipeline.sgml:
9627         * docs/gst/tmpl/gstpluginfeature.sgml:
9628         * docs/gst/tmpl/gstqueue.sgml:
9629         * docs/gst/tmpl/gstregistry.sgml:
9630         * docs/gst/tmpl/gstscheduler.sgml:
9631         * docs/gst/tmpl/gstshaper.sgml:
9632         * docs/gst/tmpl/gstspider.sgml:
9633         * docs/gst/tmpl/gstspideridentity.sgml:
9634         * docs/gst/tmpl/gststatistics.sgml:
9635         * docs/gst/tmpl/gstsystemclock.sgml:
9636         * docs/gst/tmpl/gsttee.sgml:
9637         * docs/gst/tmpl/gstthread.sgml:
9638         * docs/gst/tmpl/gsttypefind.sgml:
9639         * docs/gst/tmpl/gstutils.sgml:
9640           further doc build fixes
9641
9642 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9643
9644         * docs/gst/Makefile.am:
9645           make docs exit on scanning problems
9646           fix nonsrcdir build issues
9647         * docs/gst/gstreamer-sections.txt:
9648           adding stuff from -unused
9649         * gst/gstqueue.h:
9650           create GstQueueSize
9651         * gst/schedulers/cothreads_compat.h:
9652           fix cothread warnings
9653
9654 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9655
9656         * docs/gst/gstreamer-sections.txt:
9657           remove defines deprecated by Benjamin
9658
9659 2004-04-07  Benjamin Otte  <otte@gnome.org>
9660
9661         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9662           when the buffer is complete, don't check if other buffers are needed
9663         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9664           check that the offset is >0 so we don't try to read before the
9665           beginning of the file
9666         * gst/gstpad.c: (gst_pad_set_pad_template):
9667           sink the template, so we don't end up with 130k pad templates
9668
9669 2004-04-06  Benjamin Otte  <otte@gnome.org>
9670
9671         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9672           don't ref the element, adding already reffed it. And we didn't unref
9673           it later anyway... (huge memleak when you used many spider elements)
9674         * gst/gstelement.c: (gst_element_base_class_finalize):
9675         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9676         (gst_element_register):
9677         * gst/gsturi.c: (gst_element_make_from_uri):
9678           use gst_object_(un)ref instead of g_object(un)ref
9679
9680 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9681
9682         * gst/gstbuffer.h:
9683           remove macro that wouldn't work anymore because struct member has
9684           been removed.
9685         * gst/schedulers/entryscheduler.c: (schedule_forward):
9686           fix segfault for unconnected pads
9687         
9688 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9689
9690         reviewed by David Schleef <ds@schleef.org>
9691
9692         * gst/gstinfo.h:
9693           *_FORMAT modifiers should require putting a % in front of them for
9694           consistency reasons.
9695
9696 2004-04-05  Colin Walters  <walters@redhat.com>
9697
9698         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9699         space.
9700
9701 2004-04-05  Benjamin Otte  <otte@gnome.org>
9702
9703         * configure.ac:
9704         * gst/Makefile.am:
9705         * gst/gst_private.h:
9706         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9707           add support for detecting if GStreamer runs inside valgrind.
9708           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9709           print a big message in valgrind that GStreamer has detected it's
9710           running inside and might now use different code.
9711         * gst/gstmemchunk.c: (populate), (free_area),
9712         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9713         (gst_mem_chunk_free):
9714           flag memchunks for valgrind, so it can detect leaking of chunks.
9715           This allows detecting leaks of GstBuffer and GstEvent correctly
9716           inside valgrind.
9717
9718 2004-04-05  David Schleef  <ds@schleef.org>
9719
9720         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9721           jensgr@gmx.net (Jens Granseuer)
9722
9723 2004-04-05  David Schleef  <ds@schleef.org>
9724
9725         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9726         (gst_buffer_default_free), (gst_buffer_default_copy),
9727         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9728         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9729         structures in one place.
9730
9731 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9732
9733         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9734           (GST_TIME_FORMAT, GST_TIME_ARGS)
9735
9736 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9737
9738         * testsuite/elements/Makefile.am:
9739           disable test until it stops breaking make distcheck
9740
9741 2004-04-05  Johan Dahlin  <johan@gnome.org>
9742
9743         * po/sv.po: Updated translation
9744
9745 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * gst/gstplugin.c: (gst_plugin_load_file):
9748           fix segfault for when original plugin was loaded statically
9749
9750 2004-04-05  Benjamin Otte  <otte@gnome.org>
9751
9752         * testsuite/debug/category.c: (main):
9753         * testsuite/debug/commandline.c: (main):
9754         * testsuite/debug/output.c: (main):
9755           fix tests to work again with debugging enabled
9756
9757 2004-04-05  Benjamin Otte  <otte@gnome.org>
9758
9759         * gst/schedulers/gstbasicscheduler.c:
9760         (gst_basic_scheduler_pad_link):
9761           fix to work with recent scheduling changes
9762
9763 2004-04-05  Benjamin Otte  <otte@gnome.org>
9764
9765         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9766         prepareChangeLog doesn't work when cvs indents):
9767           don't throw an error when no element can be scheduled, there's too
9768           many weird reasons why it doesn't work. Return STOPPED instead.
9769           decoupled elemts' schedulability doesn't depend on bufpens.
9770
9771 2004-04-04  Benjamin Otte  <otte@gnome.org>
9772
9773         * gst/schedulers/gstbasicscheduler.c:
9774         (gst_basic_scheduler_pad_select):
9775           fix uninitialized variable warnings
9776
9777 2004-04-04  Benjamin Otte  <otte@gnome.org>
9778
9779         * gst/gstpad.c: (gst_pad_collect_valist):
9780           fix uninitialized variable warning
9781         * gst/schedulers/entryscheduler.c: (schedule_forward):
9782           fix shadowed variable
9783
9784 2004-04-04  Benjamin Otte  <otte@gnome.org>
9785
9786         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9787         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9788         (gst_pad_select):
9789         * gst/gstpad.h:
9790         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9791         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9792         * gst/gstscheduler.h:
9793           implement gst_pad_collect as replacement for gst_pad_select.
9794           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9795           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9796           new pad_select, lock and unlock calls.
9797         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9798         * gst/cothreads.h:
9799         * gst/schedulers/cothreads_compat.h:
9800         * gst/schedulers/gthread-cothreads.h:
9801           remove unused cothread_lock and cothread_unlock calls
9802         * gst/schedulers/entryscheduler.c:
9803         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9804         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9805         (gst_entry_scheduler_pad_select):
9806           update to new API
9807         * gst/schedulers/gstbasicscheduler.c:
9808         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9809         (gst_basic_scheduler_pad_select):
9810           remove useless lock and unlock calls, update pad_select to new API
9811           (untested)
9812         * gst/schedulers/gstoptimalscheduler.c:
9813         (gst_opt_scheduler_class_init):
9814           remove useless select, lock and unlock function calls
9815         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9816           use gst_pad_collect instead of gst_pad_select
9817
9818 2004-04-04  Benjamin Otte  <otte@gnome.org>
9819
9820         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9821         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9822         (schedule_next_element), (print_entry):
9823           add can_schedule_pad to handle element states.
9824           add schedule_forward to select the correct entry to schedule next
9825
9826 2004-04-03  Benjamin Otte  <otte@gnome.org>
9827
9828         * gst/schedulers/entryscheduler.c: 
9829           remove unused variable, fix error inside Rb, fix compile warning in
9830           unreachable code
9831
9832 2004-04-03  Benjamin Otte  <otte@gnome.org>
9833
9834         * gst/schedulers/entryscheduler.c:
9835           completely revamp the inner workings, so it's a lot easier to
9836           understand and extend
9837
9838 2004-04-03  Andy Wingo  <wingo@pobox.com>
9839
9840         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9841         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9842         This allows better introspection of pipeline topology.
9843         (add_to_chain): Don't do trickery to put loop elements first;
9844         rather, queue a chain sort by marking the chain as dirty.
9845         (remove_from_chain): Mark the chain dirty.
9846         (sort_chain): New function. Sorts the group list so that terminal
9847         sinks are first. This means elements on the sink side will be
9848         preferentially sscheduled before elements on the src side of the
9849         pipeline.
9850         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9851         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9852         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9853         (group_inc_link): Change argument and variable names to match the
9854         new link structure member names (src and sink).
9855         (group_dec_link): Add some description
9856
9857 2004-04-03  Benjamin Otte  <otte@gnome.org>
9858
9859         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9860         * gst/gstinfo.h:
9861         * testsuite/debug/category.c: (main):
9862         * testsuite/debug/commandline.c: (main):
9863         * testsuite/debug/output.c: (main):
9864         * testsuite/debug/printf_extension.c: (main):
9865           fix to successfully build and test with --disable-gst-debug
9866           configure switch (fixes #138705)
9867
9868 2004-04-03  Benjamin Otte  <otte@gnome.org>
9869
9870         * docs/pwg/building-boiler.xml:
9871           add cvs login line and s/anonymous/anoncvs/
9872
9873 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9874
9875         reviewed by Benjamin Otte  <otte@gnome.org>
9876
9877         * gst/gststructure.c: (gst_structure_free):
9878           memleak fix: free fields array (partial fix for #134839)
9879
9880 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9881
9882         * docs/random/ds/0.9-suggested-changes:
9883           Add a note to change handoff use in fakesrc to be usable in
9884           a more generic way (fakesrc should be renamed to appsrc or so).
9885         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9886           Change signal type to scope, so we can fill the buffer in the
9887           handoff handler (that's the whole use of this signal...).
9888
9889 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9890
9891         * docs/pwg/other-ntoone.xml:
9892           Document muxers and n-to-1 elements.
9893
9894 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9895
9896         * gst/registries/gstxmlregistry.c
9897         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9898         determine if a file is a G_MODULE. The old one discards paths
9899         containing "so" somewhere in the middle. My home directory is
9900         called "soto". Go figure...
9901
9902 2004-03-31  David Schleef  <ds@schleef.org>
9903
9904         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9905         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9906         * gst/gstbuffer.h:
9907
9908 2004-03-31  David Schleef  <ds@schleef.org>
9909
9910         * gst/gstvalue.c: (gst_value_union_int_int_range),
9911         (gst_value_union_int_range_int_range), (gst_value_can_union),
9912         (gst_value_union), (_gst_value_initialize):  Add some union
9913         implementations.  We didn't have any previously.
9914         * testsuite/caps/Makefile.am:
9915         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9916         (gst_audioscale_getcaps), (test_caps), (main): A little test
9917         that is the same as the caps manipulation in audioscale.
9918
9919 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9920
9921         * docs/faq/general.xml:
9922           add entry about "does gst support format X?"
9923
9924 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9925
9926         * gst/gstthread.c:
9927           fix docs
9928         * gst/gstutils.h:
9929           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9930
9931 2004-03-30  Benjamin Otte  <otte@gnome.org>
9932
9933         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9934           set the offset of the buffer to the requested offset
9935         * gst/elements/gsttypefind.c: (stop_typefinding):
9936           revert patch 1.18 (which I unfortunately don't know the reason for).
9937           This is needed to allow downstream elements to seek. Otherwise
9938           typefind might overwrite a previous seek by downstream elements.
9939           This lead to errors with id3tag and typefind on some mp3s.
9940         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9941         (gst_entry_scheduler_iterate):
9942           be more verbose when debugging
9943
9944 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9945
9946         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9947           make sure we don't get NULL strings
9948
9949 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * gst/gstcaps.c:
9952         * gst/gstelement.c:
9953         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9954         * gst/gstindex.c: (gst_index_resolver_get_type),
9955         (gst_index_get_type), (gst_index_factory_get_type):
9956         * gst/gstinfo.c:
9957         * gst/gstpad.c:
9958         * gst/gstplugin.c:
9959         * gst/gsturi.c: (gst_uri_handler_get_type):
9960         * gst/gstvalue.c:
9961           first batch of documentation fixes
9962
9963 2004-03-29  David Schleef  <ds@schleef.org>
9964
9965         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9966         * docs/gst/gstreamer-docs.sgml:  More hacking
9967         * docs/gst/gstreamer-sections.txt:
9968         * docs/gst/tmpl/cothreads_compat.sgml:
9969         * docs/gst/tmpl/gstcaps.sgml:
9970         * docs/gst/tmpl/gstclock.sgml:
9971         * docs/gst/tmpl/gstelement.sgml:
9972         * docs/gst/tmpl/gstevent.sgml:
9973         * docs/gst/tmpl/gstpad.sgml:
9974         * docs/gst/tmpl/gstutils.sgml:
9975         * docs/gst/tmpl/gstxml.sgml:
9976         * docs/gst/tmpl/gthread-cothreads.sgml:
9977         * docs/random/ds/0.9-suggested-changes:
9978         * gst/elements/gstfakesink.h: doc fixes
9979         * gst/elements/gstfakesrc.h: doc fixes
9980         * gst/gstcaps.c: doc fixes
9981         * gst/gstcaps.h: doc fixes
9982         * gst/gstelement.c: doc fixes
9983         * gst/gstelement.h: doc fixes
9984         * gst/gstindex.c: doc fixes
9985         * gst/gstinfo.c: doc fixes
9986         * gst/gstpad.c: doc fixes
9987         * gst/gstpad.h: doc fixes
9988         * gst/gstplugin.c: doc fixes
9989         * gst/gsttypefind.h: doc fixes
9990         * gst/gsturi.c: doc fixes
9991         * gst/gstvalue.c: doc fixes
9992
9993 2004-03-29  Colin Walters  <walters@redhat.com>
9994
9995         * gst/registries/gstxmlregistry.c (get_time)
9996         (plugin_times_older_than_recurse):
9997         Use the result of stat to determine whether a path is a file,
9998         so we don't attempt to opendir() files.
9999
10000 2004-03-29  Benjamin Otte  <otte@gnome.org>
10001
10002         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10003           print caps in debugging output when setting caps failed
10004         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10005         (schedule_next_element), (get_buffer), (run_chainhandler),
10006         (element_may_start), (gst_entry_scheduler_chain_handler),
10007         (gst_entry_scheduler_get_handler),
10008         (gst_entry_scheduler_state_transition),
10009         (gst_entry_scheduler_pad_link):
10010           make this scheduler a testcase for mandatory
10011           discont-before-first-buffer which is needed if we want to allow apps
10012           to release the sound device.
10013           add SCHED_ASSERT macro to print scheduler state before an assertion
10014           triggers.
10015
10016 2004-03-29  Benjamin Otte  <otte@gnome.org>
10017
10018         * COPYING:
10019           replace by LGPL (former COPYING.LIB). The core is completely
10020           licensed LGPL.
10021         * COPYING.LIB:
10022           remove
10023
10024 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10025
10026         * po/af.po:
10027         * po/sv.po:
10028           updated Afrikaans and Swedish
10029
10030 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10031
10032         * po/LINGUAS:
10033         * po/az.po:
10034           adding Azerbaijani (Mətin Əmirov)
10035
10036 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10037
10038         * gst/gstelement.h: 
10039         * gst/gstelement.c (gst_element_set_time_delay): New function for
10040         setting element time taking into account a hardware buffering
10041         delay.
10042         (gst_element_set_time): Now just an invocation of
10043         gst_element_set_time_delay.
10044         * gst/gstclock.h: 
10045         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10046         allowing to set event times in the future.
10047         (gst_clock_get_event_time): Now just an invocation of
10048         gst_clock_get_event_time_delay.
10049
10050 2004-03-28  Benjamin Otte  <otte@gnome.org>
10051
10052         * gst/gstbin.c: (gst_bin_set_element_sched),
10053         (gst_bin_unset_element_sched):
10054           don't add decoupled elements to schedulers - otherwise it's
10055           impossible to control if a link to a decoupled element was already
10056           removed from a scheduler or not.
10057         * gst/schedulers/cothreads_compat.h:
10058         * gst/schedulers/gthread-cothreads.h:
10059           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10060           is no "unused" warning.
10061         * gst/schedulers/Makefile.am:
10062         * gst/schedulers/entryscheduler.c:
10063           add new scheduler, based on ideas from talking to David and Martin.
10064           It's supposed to be small and correct. Currently it's also slow (but
10065           it's not noticable)
10066         * examples/retag/retag.c: (main):
10067         * testsuite/bytestream/test1.c: (main):
10068           fix missing NULLs at end of variadic functions
10069         * testsuite/elements/.cvsignore:
10070           update
10071
10072 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10073
10074         * gst/gstevent.h:
10075         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10076
10077 2004-03-25  David Schleef  <ds@schleef.org>
10078
10079         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10080         * docs/gst/tmpl/gstaggregator.sgml:
10081         * docs/gst/tmpl/gstautoplugfactory.sgml:
10082         * docs/gst/tmpl/gstbin.sgml:
10083         * docs/gst/tmpl/gstbuffer.sgml:
10084         * docs/gst/tmpl/gstbufferstore.sgml:
10085         * docs/gst/tmpl/gstfakesink.sgml:
10086         * docs/gst/tmpl/gstfakesrc.sgml:
10087         * docs/gst/tmpl/gstmd5sink.sgml:
10088         * docs/gst/tmpl/gstreamer-unused.sgml:
10089         * docs/gst/tmpl/gstsearchfuncs.sgml:
10090         * docs/gst/tmpl/gstshaper.sgml:
10091         * docs/gst/tmpl/gstspider.sgml:
10092         * docs/gst/tmpl/gsttee.sgml:
10093         * docs/gst/tmpl/gstutils.sgml:
10094         * docs/gst/tmpl/gstvalue.sgml:
10095         * docs/gst/tmpl/gstxml.sgml:
10096         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10097         and we don't support it.
10098         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10099         (gst_use_threads), (gst_has_threads): same
10100         * gst/gstthreaddummy.c: same
10101         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10102         * gst/autoplug/gstspider.h: same
10103         * gst/elements/gstaggregator.h: Remove bogus function from header
10104         * gst/elements/gstfakesink.h: same
10105         * gst/elements/gstfakesrc.h: same
10106         * gst/elements/gstmd5sink.h: same
10107         * gst/elements/gstshaper.h: same
10108         * gst/elements/gsttee.h: same
10109         * gst/gstbin.c: doc fixes
10110         * gst/gstbin.h: Remove unused definition.
10111         * gst/gstbuffer.c: doc fixes
10112         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10113         * gst/gstfilter.c: doc fixes
10114         * gst/gsttag.c: doc fixes
10115         * gst/gstvalue.c: doc fixes
10116
10117 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10118
10119         * docs/pwg/advanced-types.xml:
10120           Document typefinding.
10121         * docs/pwg/other-oneton.xml:
10122           Document one-to-n elements, demuxers and parsers.
10123
10124 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10125
10126         reviewed by: David Schleef  <ds@schleef.org>
10127
10128         * configure.ac: Check bison version (bug #127838)
10129
10130 2004-03-25  David Schleef  <ds@schleef.org>
10131
10132         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10133         * docs/gst/gstreamer-sections.txt:
10134         * docs/gst/tmpl/gstautoplug.sgml:
10135         * docs/gst/tmpl/gststaticautoplug.sgml:
10136         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10137         * docs/gst/tmpl/gstutils.sgml:
10138         * docs/gst/tmpl/gstxml.sgml:
10139
10140 2004-03-24  David Schleef  <ds@schleef.org>
10141
10142         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10143         manual being such complete crap, that I decided to do major
10144         hacking of it.  This checkin replaces any fine tuning that
10145         may have been done previously, with the benefit of actually
10146         being complete for much of the API that was changed since
10147         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10148         * docs/gst/gstreamer-sections.txt:
10149         * docs/gst/tmpl/GstBin.sgml:
10150         * docs/gst/tmpl/GstBuffer.sgml:
10151         * docs/gst/tmpl/GstCaps.sgml:
10152         * docs/gst/tmpl/GstClock.sgml:
10153         * docs/gst/tmpl/GstCompat.sgml:
10154         * docs/gst/tmpl/GstData.sgml:
10155         * docs/gst/tmpl/GstElement.sgml:
10156         * docs/gst/tmpl/GstEvent.sgml:
10157         * docs/gst/tmpl/GstIndex.sgml:
10158         * docs/gst/tmpl/GstStructure.sgml:
10159         * docs/gst/tmpl/GstTag.sgml:
10160         * docs/gst/tmpl/cothreads.sgml:
10161         * docs/gst/tmpl/cothreads_compat.sgml:
10162         * docs/gst/tmpl/gettext.sgml:
10163         * docs/gst/tmpl/grammar.tab.sgml:
10164         * docs/gst/tmpl/gst-i18n-app.sgml:
10165         * docs/gst/tmpl/gst-i18n-lib.sgml:
10166         * docs/gst/tmpl/gst.sgml:
10167         * docs/gst/tmpl/gst_private.sgml:
10168         * docs/gst/tmpl/gstaggregator.sgml:
10169         * docs/gst/tmpl/gstarch.sgml:
10170         * docs/gst/tmpl/gstatomic.sgml:
10171         * docs/gst/tmpl/gstatomic_impl.sgml:
10172         * docs/gst/tmpl/gstbin.sgml:
10173         * docs/gst/tmpl/gstbuffer.sgml:
10174         * docs/gst/tmpl/gstbufferstore.sgml:
10175         * docs/gst/tmpl/gstcaps.sgml:
10176         * docs/gst/tmpl/gstclock.sgml:
10177         * docs/gst/tmpl/gstcompat.sgml:
10178         * docs/gst/tmpl/gstconfig.sgml:
10179         * docs/gst/tmpl/gstcpu.sgml:
10180         * docs/gst/tmpl/gstdata.sgml:
10181         * docs/gst/tmpl/gstdata_private.sgml:
10182         * docs/gst/tmpl/gstelement.sgml:
10183         * docs/gst/tmpl/gstenumtypes.sgml:
10184         * docs/gst/tmpl/gsterror.sgml:
10185         * docs/gst/tmpl/gstevent.sgml:
10186         * docs/gst/tmpl/gstfakesink.sgml:
10187         * docs/gst/tmpl/gstfakesrc.sgml:
10188         * docs/gst/tmpl/gstfilesink.sgml:
10189         * docs/gst/tmpl/gstfilter.sgml:
10190         * docs/gst/tmpl/gstindex.sgml:
10191         * docs/gst/tmpl/gstinfo.sgml:
10192         * docs/gst/tmpl/gstinterface.sgml:
10193         * docs/gst/tmpl/gstlog.sgml:
10194         * docs/gst/tmpl/gstmacros.sgml:
10195         * docs/gst/tmpl/gstmarshal.sgml:
10196         * docs/gst/tmpl/gstmd5sink.sgml:
10197         * docs/gst/tmpl/gstmultifilesrc.sgml:
10198         * docs/gst/tmpl/gstobject.sgml:
10199         * docs/gst/tmpl/gstpad.sgml:
10200         * docs/gst/tmpl/gstparse.sgml:
10201         * docs/gst/tmpl/gstpipeline.sgml:
10202         * docs/gst/tmpl/gstplugin.sgml:
10203         * docs/gst/tmpl/gstpluginfeature.sgml:
10204         * docs/gst/tmpl/gstqueue.sgml:
10205         * docs/gst/tmpl/gstreamer-unused.sgml:
10206         * docs/gst/tmpl/gstregistry.sgml:
10207         * docs/gst/tmpl/gstregistrypool.sgml:
10208         * docs/gst/tmpl/gstscheduler.sgml:
10209         * docs/gst/tmpl/gstsearchfuncs.sgml:
10210         * docs/gst/tmpl/gstshaper.sgml:
10211         * docs/gst/tmpl/gstspider.sgml:
10212         * docs/gst/tmpl/gstspideridentity.sgml:
10213         * docs/gst/tmpl/gststructure.sgml:
10214         * docs/gst/tmpl/gstsystemclock.sgml:
10215         * docs/gst/tmpl/gsttag.sgml:
10216         * docs/gst/tmpl/gsttaginterface.sgml:
10217         * docs/gst/tmpl/gsttee.sgml:
10218         * docs/gst/tmpl/gstthread.sgml:
10219         * docs/gst/tmpl/gsttrace.sgml:
10220         * docs/gst/tmpl/gsttrashstack.sgml:
10221         * docs/gst/tmpl/gsttypefind.sgml:
10222         * docs/gst/tmpl/gsttypes.sgml:
10223         * docs/gst/tmpl/gsturi.sgml:
10224         * docs/gst/tmpl/gsturitype.sgml:
10225         * docs/gst/tmpl/gstutils.sgml:
10226         * docs/gst/tmpl/gstvalue.sgml:
10227         * docs/gst/tmpl/gstversion.sgml:
10228         * docs/gst/tmpl/gstxml.sgml:
10229         * docs/gst/tmpl/gstxmlregistry.sgml:
10230         * docs/gst/tmpl/gthread-cothreads.sgml:
10231         * docs/gst/tmpl/types.sgml:
10232
10233 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10234
10235         * docs/pwg/other-sink.xml:
10236         * docs/pwg/other-source.xml:
10237           Documentation on how to write source and sink elements. Other
10238           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10239           manager, autoplugger) are all still pending.
10240
10241 2004-03-25  Benjamin Otte  <otte@gnome.org>
10242
10243         * testsuite/elements/Makefile.am:
10244         * testsuite/elements/gst-compprep-check:
10245           add check to make sure gst-compprep works
10246         * testsuite/elements/gst-inspect-check.in:
10247           improve initialization output
10248         * testsuite/Makefile.am:
10249         * testsuite/gst-inspect-check:
10250           remove old file
10251
10252 2004-03-24  David Schleef  <ds@schleef.org>
10253
10254         * testsuite/elements/Makefile.am:
10255         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10256         to the testsuite.
10257
10258 2004-03-24  Benjamin Otte  <otte@gnome.org>
10259
10260         * libs/gst/control/dparam.c: (gst_dparam_attach),
10261         (gst_dparam_detach):
10262         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10263           fix lvalue casts for real
10264
10265 2004-03-24  Benjamin Otte  <otte@gnome.org>
10266
10267         * gst/schedulers/gstbasicscheduler.c:
10268         (gst_basic_scheduler_src_wrapper):
10269         * gst/schedulers/gstoptimalscheduler.c:
10270         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10271         (pad_clear_queued), (gst_opt_scheduler_add_element),
10272         (gst_opt_scheduler_remove_element):
10273           fix GStreamer to not have issues with lvalue casts anymore (fixes
10274           #136841)
10275
10276 2004-03-24  Benjamin Otte  <otte@gnome.org>
10277
10278         * gst/gstelement.c:
10279           add documentation about a gobject quirk where the object hasn't the
10280           correct class pointer set on initialization
10281         * gst/schedulers/gstbasicscheduler.c:
10282         (gst_basic_scheduler_src_wrapper):
10283           make sure to not run into an infinite loop
10284
10285 2004-03-22  Benjamin Otte  <otte@gnome.org>
10286
10287         * gst/gstutils.c: (gst_util_dump_mem):
10288         * gst/gstutils.h:
10289           first argument of gst_util_dump_mem should be const
10290
10291 2004-03-22  Johan Dahlin  <johan@gnome.org>
10292
10293         * gst/gstvalue.h: Clean up a little bit.
10294
10295 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10296
10297         reviewed by Benjamin Otte  <otte@gnome.org>
10298
10299         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10300         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10301         (gst_aggregator_class_init), (gst_aggregator_init):
10302         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10303         (gst_filesrc_dispose), (gst_filesrc_set_location):
10304         * gst/elements/gstidentity.c: (gst_identity_finalize),
10305         (gst_identity_class_init), (gst_identity_chain):
10306         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10307         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10308         (gst_statistics_class_init):
10309         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10310         (gst_tee_get_property):
10311           clean up used memory in this elements correctly on teardown (closes
10312           #137279)
10313
10314 2004-03-20  Colin Walters  <walters@redhat.com>
10315
10316         * gst/registries/gstxmlregistry.c:
10317         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10318         registry saving atomic.
10319
10320 2004-03-20  Colin Walters  <walters@redhat.com>
10321
10322         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10323         Just use
10324         access() instead of actually creating and deleting files.
10325
10326 2004-03-18  David Schleef  <ds@schleef.org>
10327
10328         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10329         (bug #137625)
10330
10331 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * po/sv.po: updated translation (Christian Rose)
10334
10335 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10336
10337         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10338         (gst_filesink_get_query_types), (_do_init),
10339         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10340           return FALSE silently
10341         * po/af.po: updated translation (Petri Jooste)
10342
10343 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10344
10345         * Makefile.am:
10346         * configure.ac:
10347           dist common properly
10348         * po/af.po:
10349         * po/fr.po:
10350         * po/nl.po:
10351         * po/sr.po:
10352         * po/sv.po:
10353           refreshing translations
10354
10355 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10356
10357         * po/LINGUAS:
10358         * po/sv.po:
10359         * po/af.po:
10360           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10361
10362 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * Makefile.am: use common/release.mak
10365
10366 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10367
10368         * docs/faq/gst-uninstalled:
10369           adding gst-monkeysaudio to the list of possible plugin dirs
10370
10371 2004-03-16  David Schleef  <ds@schleef.org>
10372
10373         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10374         (gst_init_check_with_popt_table):  Fix some gettext strings to
10375         make them easier to translate.  Required making the strings
10376         non-const.
10377
10378 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * configure.ac: bump nano to 1
10381
10382 === release 0.8.0 ===
10383
10384 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10385
10386         * configure.ac: release 0.8.0, "Executive Slacks"
10387
10388 2004-03-16  Johan Dahlin  <johan@gnome.org>
10389
10390         * gst/schedulers/gstoptimalscheduler.c
10391         (gst_opt_scheduler_pad_unlink): Remove double ;,
10392         spotted by Scott Wheeler
10393
10394 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10395
10396         * configure.ac: bump libtool version
10397
10398 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10399
10400         * gst/gstcaps.h:
10401         * gst/gststructure.h:
10402           add reserved padding
10403
10404 2004-03-15  Benjamin Otte  <otte@gnome.org>
10405
10406         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10407           set the first parameter for select call correctly.
10408           (fixes #137230)
10409
10410 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * *.c,*.h: don't mix tabs and spaces
10413
10414 2004-03-15  Johan Dahlin  <johan@gnome.org>
10415
10416         * gst/schedulers/gstoptimalscheduler.c
10417         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10418         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10419
10420         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10421         
10422 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10423
10424         * testsuite/Rules:
10425           fix gst-register rules
10426
10427 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * testsuite/Rules:
10430           use versioned gst-register
10431
10432 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10433
10434         * docs/libs/gstreamer-libs-sections.txt:
10435           remove </SUBSECTION>
10436         * gst/gstplugin.c:
10437         * gst/gstregistry.c: (gst_registry_add_plugin):
10438         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10439         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10440           add debugging and fix some comment blocks
10441
10442 2004-03-15  Johan Dahlin  <johan@gnome.org>
10443
10444         * *.h: Revert indent changes.
10445         
10446 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10447
10448         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10449           g_error_free the g_error
10450         * tools/gst-feedback-m.m:
10451           check for other versions of gstreamer
10452         * tools/gst-indent:
10453           use sh, not bash
10454
10455 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10456
10457         * tools/gst-register.c: do not spill paths when registries are not
10458           writable, until we fix the "user running gst-register" case.
10459
10460 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10461
10462         * *.c, *.h: commit of gst-indent run on core
10463
10464 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * tools/gst-indent:
10467         * tools/Makefile.am:
10468           add our indentation style as a script
10469
10470 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * po/sr.po:
10473         * po/LINGUAS:
10474           added Serbian translation
10475
10476 2004-03-13  Benjamin Otte  <otte@gnome.org>
10477
10478         * gst/gstelement.c:
10479           add documentation note about gst_element_found_tags_for_pad not
10480           being usable in getfunctions. (see #137042)
10481
10482 2004-03-12  David Schleef  <ds@schleef.org>
10483
10484         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10485         change API right now!  Readd gst_caps_is_simple() macro.
10486         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10487         uninitialized variable.  I'd bet this caused crashes.
10488         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10489
10490 2004-03-12  Johan Dahlin  <johan@gnome.org>
10491
10492         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10493         * gst/gstcaps.h: Clean up
10494
10495         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10496         _gst_caps_initalize()
10497
10498         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10499         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10500
10501         * gst/gststructure.c (gst_structure_get_type): Ditto
10502
10503         * gst/gststructure.h: Ditto
10504         
10505 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10506
10507         * gst/gstqueue.c: (gst_queue_init):
10508           Reset default max. values in queues. Reason is simply to avoid
10509           braindead use. If you want wider values, use the properties. The
10510           default is supposed to always work. Wider values would make this
10511           beast a memory hog by default (250 full-PAL RGB32 video frames?
10512           That's 440 MB! No thank you).
10513
10514 2004-03-10  David Schleef  <ds@schleef.org>
10515
10516         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10517         were found.  (bug #136793)
10518
10519 2004-03-10  Johan Dahlin  <johan@gnome.org>
10520
10521         * gst/schedulers/gstoptimalscheduler.c
10522         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10523         links to elements within the same group, so we can finally remove
10524         that annoying warning. Refactor the code a little bit
10525         (group_dec_links_for_element): Split out
10526
10527 2004-03-09  David Schleef  <ds@schleef.org>
10528
10529         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10530         (bug #134863)
10531
10532 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10533
10534         * configure.ac: first bug fix due to major/minor bump
10535
10536 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10537
10538         * configure.ac: bump nano to 1
10539
10540 === release 0.7.6 ===
10541
10542 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10543
10544         * NEWS:
10545         * RELEASE:
10546         * configure.ac:
10547           releasing 0.7.6, "Almost"
10548         * po/fr.po:
10549         * po/nl.po:
10550         * tools/Makefile.am:
10551         * tools/gst-feedback-m.m:
10552           unversioned source
10553
10554 2004-03-09  Johan Dahlin  <johan@gnome.org>
10555
10556         Reviewed by: Thomas Vander Stichele
10557
10558         * gst/gstelement.c (gst_element_class_init): register second
10559         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10560         language bindings can (de)marshall correctly.
10561
10562         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10563
10564         * gst/gsterror.c (gst_g_error_get_type): New function
10565
10566         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10567         with VOID:OBJECT,OBJECT,STRING 
10568
10569 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10570
10571         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10572         Free a leaked g_timer on early returns.
10573
10574 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10575
10576         * docs/pwg/advanced-types.xml:
10577           Add cinepak description.
10578
10579 2004-03-07  David Schleef  <ds@schleef.org>
10580
10581         * docs/random/mimetypes:  Added cinepak description
10582
10583 2004-03-07  Andy Wingo  <wingo@pobox.com>
10584
10585         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10586
10587         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10588         there are no links to other groups when a group is destroyed.
10589         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10590         removed from a group, make sure the link count to elements linked
10591         to other pads is appropriately decremented. This really fixes
10592         #135672.
10593
10594         The 1.60->1.61 patch has been reapplied in light of this fix.
10595
10596         * gst/gstelement.c (gst_element_dispose): Really protect against
10597         multiple invocations this time.
10598
10599 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10600
10601         * docs/gst/gstreamer-sections.txt:
10602         * docs/gst/tmpl/gsttag.sgml:
10603           remove some deprecated functions, document some existing ones
10604         * gst/gsttag.c: (gst_tag_get_flag):
10605         * gst/gsttag.h:
10606           add accessor function
10607
10608 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * docs/gst/gstreamer-sections.txt:
10611         * docs/gst/tmpl/gsttag.sgml:
10612         * docs/gst/tmpl/gstxml.sgml:
10613         * gst/gsttag.c: (gst_tag_get_flag):
10614         * gst/gsttag.h:
10615
10616 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10617
10618         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10619         leak
10620
10621 2004-03-05  David Schleef  <ds@schleef.org>
10622
10623         * REQUIREMENTS: Add bison and flex.
10624         * configure.ac: Fix comment about bison.
10625         * docs/random/ds/0.9-suggested-changes: yer ma
10626         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10627
10628 2004-03-05  Benjamin Otte  <otte@gnome.org>
10629
10630         * gst/gstelement.c: (gst_element_error_full):
10631           revert recent recursive state changing commit - messing with other
10632           elements' states is evil and should be done by apps only.
10633
10634 2004-03-05  Benjamin Otte  <otte@gnome.org>
10635
10636         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10637           check for empty intersection instead of NULL caps
10638         (gst_element_get_compatible_pad_filtered):
10639           remove old workaround that is only a bug nowadays
10640
10641 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * gst/gstelement.c: (gst_element_error_full):
10644           make elements try to recursively change state to PAUSED on all
10645           parents after an error to suppress ensuing warnings
10646         * gst/parse/grammar.y:
10647           make it check if it was able to sync the state, and throw an error
10648           if not, so stuff like
10649           oggdemux ! vorbisdec ! osssink gets caught
10650
10651 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10652
10653         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10654           it contains lib64; use AS_AC_EXPAND to handle it properly
10655
10656 2004-03-05  David Schleef  <ds@schleef.org>
10657
10658         * gst/gstcpuid_i386.s:  Remove unused code
10659         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10660         (gst_getbits_newbuf): Remove MMX code
10661         * libs/gst/getbits/getbits.h: Remove MMX code
10662
10663 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10664
10665         * debian/.cvsignore:
10666         * debian/README.Debian:
10667         * debian/changelog:
10668         * debian/control:
10669         * debian/control.in:
10670         * debian/copyright:
10671         * debian/gstreamer-core-libs-dev.files:
10672         * debian/gstreamer-core-libs.files:
10673         * debian/gstreamer-core.files:
10674         * debian/gstreamer-core.postinst:
10675         * debian/gstreamer-core.postrm:
10676         * debian/gstreamer-doc.files:
10677         * debian/gstreamer-doc.links:
10678         * debian/gstreamer-doc.lintian:
10679         * debian/gstreamer-runtime.files:
10680         * debian/gstreamer-runtime.manpages:
10681         * debian/gstreamer-runtime.postinst:
10682         * debian/gstreamer-runtime.postrm:
10683         * debian/gstreamer-tools.files:
10684         * debian/gstreamer-tools.manpages:
10685         * debian/libgstreamer-dev.files:
10686         * debian/libgstreamer0.4.1.files:
10687         * debian/libgstreamerVERSION.files:
10688         * debian/rules:
10689         Debian package info not maintained here.
10690
10691 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10694         * gst/gstbin.c: (gst_bin_class_init):
10695         * gst/gstelement.c: (gst_element_class_init):
10696         * gst/gstindex.c: (gst_index_class_init):
10697         * gst/gstobject.c: (gst_object_class_init),
10698         (gst_signal_object_class_init):
10699         * gst/gstpad.c: (gst_pad_template_class_init):
10700         * gst/gstregistry.c: (gst_registry_class_init):
10701         * gst/gsturi.c: (gst_uri_handler_base_init):
10702         * gst/gstxml.c: (gst_xml_class_init):
10703         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10704         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10705           make all signal names use dashes instead of underscore
10706
10707 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10708
10709         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10710
10711 2004-03-03  Benjamin Otte  <otte@gnome.org>
10712
10713         * gst/schedulers/gstoptimalscheduler.c:
10714           revert last commit by Andy Wingo. It causes segfaults on unreffing
10715           in Rhythmbox. (see bug #135672)
10716
10717 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10718
10719         * po/fr.po: fix typo
10720
10721 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10722
10723         * tools/gst-inspect.c: (main): 
10724         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10725
10726 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10727
10728         * configure.ac:
10729           get GLIB_ONLY and POPT flags for the nonversioned binaries
10730         * tools/Makefile.am:
10731           use them
10732
10733 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * gst/gst.c: (init_post):
10736           change so that GST_REGISTRY now is where the global registry gets
10737           saved, since that is where plugins now get attached to first, and
10738           spilled over to the user registry.  Note that in the case of using
10739           GST_REGISTRY env var, we don't want to affect any real registries
10740           beyond the one given by this var, and thus we don't set a user
10741           registry to spill to.  So make sure GST_REGISTRY is writable.
10742
10743 2004-03-01  David Schleef  <ds@schleef.org>
10744
10745         * AUTHORS:  Added some names.  Add yourself if you're missing.
10746
10747 2004-03-01  David Schleef  <ds@schleef.org>
10748
10749         * MAINTAINERS: Add
10750
10751 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10752
10753         * configure.ac:
10754           remove whitespace
10755         * docs/gst/tmpl/gstbuffer.sgml:
10756         * docs/gst/tmpl/gstdata.sgml:
10757         * docs/gst/tmpl/gstreamer-unused.sgml:
10758         * docs/gst/tmpl/gstxml.sgml:
10759           doc update
10760         * docs/manuals.mak:
10761           add a FIXME
10762         * docs/pwg/intro-preface.xml:
10763         * docs/pwg/pwg.xml:
10764           remove GNOME
10765         * gst/gst.c: (init_post):
10766           try GST_PLUGIN_PATH paths for the _global_registry first
10767         * gst/gstelement.h:
10768           add the error message as well, otherwise (null) debug info doesn't
10769           make much sense
10770         * tools/gst-register.c: (main):
10771           spill paths to next registry if this registry is not writable
10772         * po/fr.po:
10773         * po/nl.po:
10774           translation updates
10775
10776 2004-03-01  Johan Dahlin  <johan@gnome.org>
10777
10778         * gst/gstbuffer.c (_gst_buffer_initialize): 
10779         * gst/gstdata.c (gst_data_get_type): 
10780         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10781         instead of ref, since some applications that uses GBoxed
10782         routines depends on a function that actually returns a copy.
10783
10784 2004-02-27  Benjamin Otte  <otte@gnome.org>
10785
10786         * gst/gstbuffer.h:
10787           remove gst_buffer_free, use gst_data_unref
10788         * gst/gstdata.c: (gst_data_get_type):
10789           use refcounting in GstData GBoxed registration
10790         * gst/gstdata.h:
10791           remove gst_data_free, use gst_data_unref
10792
10793 2004-02-27  Johan Dahlin  <johan@gnome.org>
10794
10795         * gst/gstdata.c (gst_data_get_type): New function, register
10796         GstData as a GBoxed type.
10797
10798         * gst/gstdata.h (GST_TYPE_DATA): New macro
10799
10800 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10801
10802         * Makefile.am:
10803         * gstreamer.spec.in:
10804           put back RELEASE
10805         * gst/Makefile.am:
10806           clean up non-disting of built files
10807         * testsuite/debug/commandline.c:
10808           test fix for option rename
10809
10810 2004-02-26  David Schleef  <ds@schleef.org>
10811
10812         * configure.ac:  We don't really need glib-2.3.  Also remove
10813         some unneeded checks for library functions.
10814         * gst/Makefile.am:  Instead, we need to not dist files created
10815         by glib-genmarshal.
10816
10817 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10818
10819         * configure.ac:
10820           bump glib required version to 2.3.0 for g_value_takes_boxed
10821
10822  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10823
10824         * common/m4/gst-docs.m4
10825         change flavour text from enable to disable as enable is our default
10826         closes bug Bug 135304
10827
10828 === release 0.7.5 ===
10829  
10830  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10831  
10832         * NEWS:
10833           instate NEWS file
10834         * Makefile.am:
10835         * gstreamer.spec.in:
10836         * RELEASE:
10837           put back release
10838         * configure.ac:
10839         * docs/random/release:
10840           more updates
10841
10842 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * gst/gsttag.c: (_gst_tag_initialize):
10845         * po/fr.po:
10846         * po/nl.po:
10847           remove hyphen from codec tags
10848
10849 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10850
10851         * gst/parse/Makefile.am:
10852           fix dependency so that a make from a clean build works the first
10853           time
10854
10855 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10856
10857         * docs/random/release:
10858           update release strategy
10859         * po/fr.po:
10860           auto-update po file
10861         * po/nl.po:
10862           update dutch translation
10863
10864 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * docs/manual/debugging.xml:
10867         fix manual for new debugging system
10868
10869 2004-02-25  Andy Wingo  <wingo@pobox.com>
10870
10871         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10872         gst_pad_link_prepare. Please email the list with specific reasons
10873         for reverting.
10874
10875 2004-02-24  Andy Wingo  <wingo@pobox.com>
10876
10877         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10878         invocations.
10879
10880         * gst/schedulers/gstoptimalscheduler.c:
10881         I added a mess of prototypes at the top of the file by way of
10882         documentation. Some of the operations on chains and groups were
10883         re-organized.
10884
10885         (create_group): Added a type argument so if the group is enabled,
10886         the setup_group_scheduler knows what to do.
10887         (group_elements): Added a type argument here, too, to be passed on
10888         to create_group.
10889         (group_element_set_enabled): If an unlinked PLAYING element is
10890         added to a bin, we have to create a new group to hold the element,
10891         and this function will be called before the group is added to the
10892         chain. Thus we have a valid case for group->chain==NULL. Instead
10893         of calling chain_group_set_enabled, just set the flag on the group
10894         (the chain's status will be set when the group is added to it).
10895         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10896         Setup the group scheduler when the group is enabled, not
10897         specifically when an element goes PAUSED->PLAYING. This means
10898         PLAYING elements can be added, linked, and scheduled into a
10899         PLAYING pipeline, as was intended.
10900         (add_to_group): Don't ref the group twice. I don't know when this
10901         double-ref got in here. Removing it has the potential to cause
10902         segfaults if other parts of the scheduler are buggy. If you find
10903         that the scheduler is segfaulting for you, put in an extra ref
10904         here and see if that hacks over the underlying issue. Of course,
10905         then find out what code is unreffing a group it doesn't own...
10906         (create_group): Make the extra refcount floating, and remove it
10907         after adding the element. This means that...
10908         (unref_group): Destroy when the refcount reaches 0, not 1, like
10909         every other refcounted object in the known universe.
10910         (remove_from_group): When a group becomes empty, set it to be not
10911         active, and remove it from its chain. Don't unref it again,
10912         there's no floating reference any more.
10913         (destroy_group): We have to remove the group from the chain in
10914         remove_from_group (rather than here) to break refcounting cycles
10915         (the chain always has a ref on the group). So assert that
10916         group->chain==NULL.
10917         (ref_group_by_count): Removed, it was commented out anyway.
10918         (merge_chains): Use the remove_from_chain and add_to_chain
10919         primitives to do the reparenting, instead of rolling our own
10920         implementation.
10921         (add_to_chain): The first non-disabled group in the chain's group
10922         list will be the entry point for the chain. Because buffers can
10923         accumulate in loop elements' peer bufpens, we preferentially
10924         schedule loop groups before get groups to avoid unnecessary
10925         execution of get-based groups when the bufpens are already full.
10926         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10927         (get_group_schedule_function): Ditto.
10928         (loop_group_schedule_function): Ditto.
10929         (gst_opt_scheduler_loop_wrapper): Ditto.
10930         (gst_opt_scheduler_iterate): Ditto.
10931
10932         I understand the opt scheduler now, yippee!
10933
10934         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10935         (gst_pad_get_name, gst_pad_set_chain_function) 
10936         (gst_pad_set_get_function, gst_pad_set_event_function) 
10937         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10938         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10939         (gst_pad_set_query_function, gst_pad_get_query_types) 
10940         (gst_pad_get_query_types_default) 
10941         (gst_pad_set_internal_link_function) 
10942         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10943         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10944         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10945         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10946         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10947         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10948         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10949         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10950         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10951         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10952         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10953         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10954         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10955         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10956         argument checks, and some doc fixes.
10957
10958         (gst_pad_custom_new_from_template): Um, does anyone
10959         use these functions? Actually make a custom pad instead of a
10960         normal one.
10961         (gst_pad_try_set_caps): Transpose some checks.
10962         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10963         the pad is in negotiation.
10964         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10965         
10966         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10967
10968         * gst/gstelement.h: 
10969         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10970         on the list.
10971
10972 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * gst/gstbin.c: (gst_bin_add):
10975           add error for not being able to add elements
10976
10977 2004-02-22  Julien MOUTTE <julien@moutte.net>
10978
10979         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10980         audio-codec and video-codec.
10981
10982 2004-02-22  Benjamin Otte  <otte@gnome.org>
10983
10984         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10985
10986         * autogen.sh:
10987           replace test -e with test -x for mkinstalldirs to be more portable.
10988           (fixes #134816)
10989
10990 2004-02-22  Benjamin Otte  <otte@gnome.org>
10991
10992         * gst/gstpad.c:
10993           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10994           too noisy
10995         * gst/gsttag.c: (_gst_tag_initialize):
10996         * gst/gsttag.h:
10997           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10998         * libs/gst/control/dparam.c: (gst_dparam_attach):
10999         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11000           check that types for attached dparams match
11001
11002 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11005         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11006         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11007           fix errors
11008
11009 2004-02-20  Andy Wingo  <wingo@pobox.com>
11010
11011         * gst/gstbin.c:
11012         * gst/gstbuffer.c:
11013         * gst/gstplugin.c:
11014         * gst/registries/gstxmlregistry.c: 
11015         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11016
11017         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11018         (gst_element_add_pad): DEBUG->INFO, some fixes.
11019         (gst_element_get_compatible_pad_template): Just see if the
11020         templates' caps intersect, not if one is a strict subset of the
11021         other. This conforms more to what gst_pad_link_intersect() does.
11022         (gst_element_class_add_pad_template): Don't memcpy the pad
11023         template, just ref it.
11024         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11025
11026         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11027         (gst_pad_link_filtered): Debug changes.
11028         (gst_pad_link_prepare): New function, consolidated from
11029         can_link_filtered and link_filtered.
11030
11031         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11032         look more like that of the functions in gstelement.c
11033
11034         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11035         object, and return the empty string if object is NULL.
11036
11037         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11038         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11039         LOG, not DEBUG. We still get flex info on debug.
11040
11041         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11042         debug string more verbose.
11043         (plugin_times_older_than): DEBUG->LOG.
11044
11045 2004-02-20  Julien MOUTTE <julien@moutte.net>
11046
11047         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11048         will emit found_tag for each stream they demux with the codec.
11049
11050 2004-02-20  Benjamin Otte  <otte@gnome.org>
11051
11052         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11053           copy navigation event correctly. Check freeing tag lists. 
11054         * gst/gstthread.c: (gst_thread_change_state):
11055           don't abort() on state changing mess - it might happen because of
11056           bugs.
11057         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11058           use boxed functions
11059         * gst/gstvalue.h:
11060           fix GST_VALUE_HOLDS_CAPS
11061
11062 2004-02-19  David Schleef  <ds@schleef.org>
11063
11064         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11065         and use it for GST_FUNCTION.  (bug #134750)
11066
11067 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * po/fr.po:
11070         * po/nl.po:
11071           updating translations
11072
11073 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11076
11077 2004-02-18  kost@imn.htwk-leipzig.de
11078
11079         reviewed by: David Schleef  <ds@schleef.org>
11080
11081         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11082         for libgstcontrol.
11083
11084 2004-02-18  David Schleef  <ds@schleef.org>
11085
11086         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11087         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11088         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11089         * tools/gst-inspect.c: (print_element_info): Support dumping of
11090         double dparam information.
11091
11092 2004-02-17  David Schleef  <ds@schleef.org>
11093
11094         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11095         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11096         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11097         Use GST_TYPE_CAPS in signal prototype.
11098         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11099         Convert GST_TYPE_CAPS to boxed.
11100         * gst/gstelement.c: (gst_element_class_init):
11101         Use GST_TYPE_TAG_LIST in signal prototype.
11102         * gst/gstindex.c: (gst_index_class_init):
11103         * gst/gstindex.h:
11104         Add GST_TYPE_INDEX_ENTRY type.
11105         * gst/gstmarshal.list:
11106         Add necessary marshal types.
11107         * gst/gstpad.c: (gst_real_pad_class_init),
11108         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11109         (gst_pad_recover_caps_error):
11110         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11111         * gst/gststructure.c: (_gst_structure_initialize),
11112         (gst_structure_copy), (_gst_structure_copy_conditional):
11113         * gst/gststructure.h:
11114         Convert GST_TYPE_STRUCTURE to boxed.
11115         * gst/gsttag.c: (gst_tag_list_get_type):
11116         * gst/gsttag.h:
11117         Add GST_TYPE_TAG_LIST type.
11118
11119 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11120
11121         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11122         to what we agreed with david.
11123         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11124
11125 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11126
11127         * po/nl.po: update translation
11128
11129 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11132           throw an error if spider is trying to play a mime type there is
11133           no decoder for
11134         * po/POTFILES.in:
11135           add gst/autoplug/gstspider.c for translation
11136
11137 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11138
11139         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11140         silently when the pad is negotiating.
11141
11142 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11143
11144         * docs/faq/Makefile.am:
11145           add script to run gstreamer uninstalled 
11146         * docs/faq/faq.xml:
11147         * docs/faq/developing.xml:
11148         * docs/faq/gst-uninstalled:
11149           extract script to run gstreamer uninstalled
11150         * docs/manuals.mak:
11151           add EXTRA_SOURCES variable for Makefile.am's to set to
11152           use additional SOURCE files for the doc build
11153
11154 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11155
11156         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11157
11158 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11159
11160         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11161         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11162         an error was thrown by osssink. Basically a state change failure for
11163         an element in a different scheduling group was considered as
11164         successful, which means that caps nego was going on and weird stuff
11165         happened. Like I wrote in the comment there, if someone wants to
11166         revert that please drop me a mail explaining why because I really see
11167         no point in keeping that broken behaviour there.
11168         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11169         be empty, we then return NULL which will trigger a nice error when 
11170         pulling from the pad.
11171
11172 2004-02-13  David Schleef  <ds@schleef.org>
11173
11174         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11175         (gst_dparam_get_property), (gst_dparam_set_property),
11176         (gst_dparam_do_update_default):
11177         * libs/gst/control/dparam.h:
11178         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11179         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11180         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11181         (gst_dpsmooth_do_update_double):
11182         * libs/gst/control/dparam_smooth.h:
11183         * libs/gst/control/dparammanager.c:
11184         (gst_dpman_inline_direct_update):
11185         Add support for double dparams.
11186
11187 2004-02-13  David Schleef  <ds@schleef.org>
11188
11189         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11190         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11191
11192 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11193
11194         reviewed by: David Schleef  <ds@schleef.org>
11195
11196         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11197         (gst_fdsrc_init), (gst_fdsrc_set_property),
11198         (gst_fdsrc_get_property), (gst_fdsrc_get):
11199         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11200         and sends an EOS event if file descriptor reading times out.
11201
11202 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11203
11204         * configure.ac:
11205           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11206
11207 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * configure.ac: pass required libxml version as argument
11210         (bug reported by Christophe Fergeau)
11211
11212 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11213   
11214         * docs/gst/gstreamer-docs.sgml:
11215         * docs/gst/tmpl/gstxml.sgml:
11216         * docs/libs/gstreamer-libs-docs.sgml:
11217           version API docs
11218
11219 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * gst/gstinfo.c:
11222         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11223         (gst_registry_pool_feature_filter):
11224         * gst/gstthread.c: (gst_thread_class_init):
11225         * gst/gstvalue.c:
11226           add includes exposed by building without libxml
11227         * gst/indexers/Makefile.am:
11228           do not build fileindex when LOADSAVE disabled; we should have
11229           a better libxml check later since fileindex depends on xml, not
11230           LOADSAVE or REGISTRY
11231         * libs/gst/control/Makefile.am:
11232           link with m
11233         * tools/Makefile.am:
11234           fix wrong source code for gst-xmlinspect
11235
11236 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * configure.ac:
11239           fix gcov help output
11240           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11241         * docs/random/release:
11242           some updated releasing notes
11243         * gstreamer.spec.in:
11244           more updates
11245
11246 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11247
11248         * docs/faq/faq.xml:
11249         * docs/manual/manual.xml:
11250         * docs/pwg/pwg.xml:
11251         * docs/pwg/titlepage.xml:
11252           put version in documentation
11253
11254 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11255
11256         * tools/Makefile.am: fix man page installation
11257
11258 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11259
11260         * configure.ac:
11261           don't check for libxml when load/save and registry disabled (#105844)
11262         * gstreamer.spec.in:
11263           sync with fedora candidate spec
11264
11265 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11266
11267         * po/fr.po:
11268         * po/nl.po:
11269           replace multidisksrc with multifilesrc
11270
11271 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11272
11273         * po/POTFILES.in:
11274           update to multidisksrc => multifilesrc file renaming (#134145)
11275
11276 2004-02-11  David Schleef  <ds@schleef.org>
11277
11278         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11279         * docs/gst/tmpl/gstpadtemplate.sgml: same
11280         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11281         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11282         fixing dance.
11283         * gst/gstutils.c: Remove disabled code that uses GstProps.
11284         * gst/registries/gstxmlregistry.h: same
11285         * docs/random/ds/0.9-suggested-changes: random notes
11286
11287 2004-02-11  kost@imn.htwk-leipzig.de
11288
11289         reviewed by: David Schleef  <ds@schleef.org>
11290
11291         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11292         initialisation of clock (bug #134128)
11293
11294 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11295
11296         * configure.ac:
11297         * gst/elements/Makefile.am:
11298         * gst/elements/gstelements.c:
11299         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11300         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11301         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11302         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11303         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11304         * gst/elements/gstmultifilesrc.h:
11305           rename multidisksrc to multifilesrc (part of #122200)
11306
11307 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11308
11309         * docs/manuals.mak:
11310           fix automake complaints
11311         * gst-element-check.m4:
11312           fix unquotedness
11313
11314 2004-02-11  David Schleef  <ds@schleef.org>
11315
11316         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11317         * gst/gstatomic_impl.h: Disable sparc implementation.
11318
11319 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11320
11321         * gst-element-check.m4:
11322           fix underquoted macros as reported by automake 1.8.x (#133800)
11323         * configure.ac:
11324           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11325           by autopoint (fixes #132996)
11326
11327 2004-02-10  Andy Wingo  <wingo@pobox.com>
11328
11329         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11330         way to do inheritance.
11331         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11332         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11333         Routine docs.
11334         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11335         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11336         doc.
11337         (gst_pad_unlink, gst_pad_is_linked): Docs.
11338         (gst_pad_renegotiate): A brief description of capsnego.
11339         (gst_pad_try_set_caps): Document.
11340         (gst_pad_try_set_caps_nonfixed): Document.
11341         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11342         (gst_pad_set_parent): Deprecated (although not out of the API).
11343         (gst_pad_get_parent): Deprecated, although many plugins use this.
11344         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11345         are private and will go away in 0.9.
11346         (gst_pad_perform_negotiate): Doc.
11347         (gst_pad_link_unnegotiate): I think this is meant to be static.
11348         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11349         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11350         (gst_pad_get_peer): Doc updates.
11351         (gst_pad_caps_change_notify): Doc.
11352         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11353         (gst_ghost_pad_new): Doc fixes.
11354
11355         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11356         (gst_object_check_uniqueness): 
11357
11358         * gst/gstelement.c (gst_element_add_pad) 
11359         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11360         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11361         (gst_element_get_static_pad, gst_element_get_pad_list) 
11362         (gst_element_class_get_pad_template_list) 
11363         (gst_element_class_get_pad_template): Work on the docs.
11364         (gst_element_get_pad_template_list): Uses the class method.
11365         (gst_element_get_compatible_pad_template): Docs, and consolidate
11366         some test conditions. 
11367         (gst_element_get_pad_from_template): New static function.
11368         (gst_element_request_compatible_pad): Docs, and work with
11369         non-request compatible templates. 
11370         (gst_element_get_compatible_pad_filtered): Docs and remove
11371         redundant checks.
11372         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11373         (gst_element_link_filtered, gst_element_link_many) 
11374         (gst_element_link, gst_element_link_pads) 
11375         (gst_element_unlink_many): Docs.
11376
11377 2004-02-05  Andy Wingo  <wingo@pobox.com>
11378
11379         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11380         s/pointer/boxed/.
11381
11382         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11383
11384         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11385         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11386         with the type=GST_TYPE_CAPS. This allows language bindings to know
11387         what kind of data they're dealing with.
11388
11389         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11390         to NULL when g_value_init is called. GstCaps, which rolls its own
11391         type implementation, now does the same instead of allocating empty
11392         caps.
11393         (_gst_caps_initialize, _gst_caps_collect_value,
11394         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11395         table methods. This allows G_VALUE_COLLECT to work.
11396
11397 2004-02-05  Andy Wingo  <wingo@pobox.com>
11398
11399         * configure.ac:
11400         * testsuite/Makefile.am (SUBDIRS): 
11401         * testsuite/ghostpads/Makefile.am: 
11402         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11403
11404         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11405         These two routines are the only ones that set
11406         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11407         pad template. They should be made static, depending on ABI needs.
11408         (gst_real_pad_dispose): Handle the case of ghost pads without a
11409         parent. Assert after dealing with ghost pads that the ghost pad
11410         list is empty.
11411         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11412         set after creation.
11413         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11414         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11415         functions. set_property will call add_ghost_pad/remove_ghost_pad
11416         as appropriate.
11417         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11418
11419         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11420         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11421         (gst_element_remove_pad): Handle ghost pads as well.
11422         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11423         depending on API-stability needs).
11424
11425 2004-02-05  Andy Wingo  <wingo@pobox.com>
11426
11427         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11428         of course they're const
11429
11430 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * tools/Makefile.am:
11433         * tools/gst-feedback:
11434         * tools/gst-feedback-0.7:
11435           make gst-feedback versioned too for consistency
11436
11437 2004-02-11  David Schleef  <ds@schleef.org>
11438
11439         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11440         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11441
11442 2004-02-10  Julien MOUTTE <julien@moutte.net>
11443
11444         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11445         the structure does not contain a valid tag list. Adding a safety check
11446         to remove a noisy warning in that case.
11447
11448 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11449
11450         * gst/gst.c: fix name to be in line with others
11451
11452 2004-02-09  Julien MOUTTE <julien@moutte.net>
11453
11454         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11455         not shout that loud when len is 0. Just return 0 silently.
11456
11457 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11458
11459         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11460         because data_unref has one and I prefer the debug to be symetric.
11461         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11462         were refed when added to the queue and unrefed only once when the queue
11463         was flushed. Now the flush handler unref the buffers two times : first
11464         unref for the ref added when pushing in the queue's tail and second
11465         unref to destroy the flushed buffer.
11466
11467 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11468
11469         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11470
11471 2004-02-06  David Schleef  <ds@schleef.org>
11472
11473         * docs/random/ds/0.9-suggested-changes: Random ramblings
11474         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11475         to int before printing.
11476         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11477         * gst/parse/parse.l: same.  See bug #129600
11478
11479 2004-02-06  David Schleef  <ds@schleef.org>
11480
11481         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11482         (gst_index_add_entry), (gst_index_add_associationv),
11483         (gst_index_add_association): Add gst_index_add_associationv()
11484         and clean up gst_index_add_association(). #127133
11485
11486 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11487
11488         * autogen.sh: check out common with right tag if CVS/Tag exists
11489
11490 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11491
11492         * testsuite/ghostpads/ghostpads.c: (main):
11493           fix testsuite from segfaulting
11494
11495 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11496
11497         * Makefile.am: add release target
11498         * configure.ac: bump nano to 1
11499         * docs/random/release:
11500
11501 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11502
11503         * gst/gstcaps.h:
11504         * gst/gstelement.c: (gst_element_base_class_init),
11505         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11506         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11507         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11508         (gst_real_pad_dispose):
11509         * gst/gststructure.c: (gst_structure_free),
11510         (gst_structure_from_string):
11511           put reverted patch back in
11512         * gst/gstelement.c: (gst_element_remove_pad):
11513           free explicit caps if they're set
11514         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11515           copy the structure when fixating
11516
11517 2004-02-05  David Schleef  <ds@schleef.org>
11518
11519         * gst/gstmarshal.list:
11520         * gst/gstpad.c: (gst_real_pad_class_init),
11521         (_gst_real_pad_fixate_accumulator):
11522         Revert POINTER->BOXED change in signal marshaller.
11523
11524 === release 0.7.4 ===
11525                                                                                 
11526 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11527                                                                                 
11528         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11529         * configure.ac: changed for release
11530
11531 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11532
11533         * gstreamer.spec.in:
11534           bump required version of gtk-doc
11535
11536 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11537
11538         * gst/gstcaps.h:
11539         * gst/gstelement.c: (gst_element_base_class_init),
11540         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11541         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11542         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11543         (gst_real_pad_dispose):
11544         * gst/gststructure.c: (gst_structure_free),
11545         (gst_structure_from_string):
11546           revert patch that breaks applications, reapply after release
11547           to get this fixed properly
11548
11549 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11550
11551         * gst/gsttag.c: (_gst_tag_initialize):
11552         * gst/gsttag.h:
11553           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11554
11555 2004-02-04  David Schleef  <ds@schleef.org>
11556
11557         Fix some memleaks:
11558         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11559         (gst_spider_plug_from_srcpad):
11560         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11561
11562 2004-02-04  David Schleef  <ds@schleef.org>
11563
11564         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11565         a GstRealPad before accessing its structure members.
11566
11567 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11568
11569         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11570         (gst_clock_get_speed):
11571         * gst/gstclock.h:
11572           reset padding, remove unused fields
11573
11574 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11575
11576         * gst/autoplug/gstspideridentity.c:
11577         (gst_spider_identity_sink_loop_type_finding):
11578           use get_allowed_caps, not get_caps (fixes #132519)
11579         * gst/elements/gsttypefind.c: (stop_typefinding):
11580           use correct order when sending buffers and seeking
11581
11582 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * configure.ac:
11585         * gst/gstelement.h:
11586         * gst/gstpad.h:
11587         * gst/gstqueue.h:
11588           upgrade libtool CURRENT, reset padding
11589
11590 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11591
11592         * configure.ac:
11593           bump to prerelease
11594           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11595
11596 2004-02-04  David Schleef  <ds@schleef.org>
11597
11598         * docs/random/ds/0.9-suggested-changes: random notes
11599         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11600         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11601         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11602         expansion.
11603         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11604         (gst_filesink_get_query_types): same
11605         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11606         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11607         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11608         to use new GST_PTR_FORMAT.
11609         * gst/gstelement.h: deprecate function factory macros
11610         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11611         These are our last variadic macros that can't be replaced with
11612         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11613         attempting to deprecate gst_element_clock_wait().
11614         * gst/gstevent.h: same
11615         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11616         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11617         * gst/gstpad.h: deprecate function factory macros similar to above.
11618
11619 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11620
11621         * configure.ac:
11622         * tools/Makefile.am:
11623         * tools/gst-run.c: (popt_callback), (hash_print_key),
11624         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11625         (get_candidates), (main):
11626           add new source file to generate non-versioned wrapper binaries
11627           for our tools.
11628
11629 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11630
11631         * gst/gstevent.c: (_gst_event_free):
11632           actually break; inside the switch statement
11633         * gst/parse/grammar.y:
11634           fix memleak where GValues weren't unset
11635
11636 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11637
11638         * gst/gststructure.c: (gst_structure_from_string):
11639           fix huge memleak
11640         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11641         (new_entry), (gst_type_find_element_chain):
11642         * gst/gstelement.c: (gst_element_base_class_init),
11643         (gst_element_class_set_details):
11644         * gst/gstpad.c: (gst_pad_can_link_filtered):
11645           fix smaller memleaks
11646         * gst/gstpad.c: (gst_real_pad_dispose):
11647           check that explicit caps are gone
11648         * gst/gststructure.c: (gst_structure_free):
11649           actually free the structure
11650         * gst/gstelement.c: (gst_element_clear_pad_caps):
11651           unset explicit caps
11652
11653 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11654
11655         * tools/Makefile.am:
11656           use AM_CFLAGS since all the CFLAGS are the same
11657           use AM_LDFAGS
11658
11659 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * docs/manual/gnome.xml:
11662           expand example a little
11663         * gst/gst.c: (gst_init_with_popt_table),
11664         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11665           make sure popt option displays are done with right textdomain
11666           use GstPoptOption type
11667         * gst/gst.h:
11668           create GstPoptOption type
11669
11670 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11671
11672         * gst/gsterror.c: (_gst_stream_errors_init):
11673         * gst/gsterror.h:
11674           adding error type for no codec
11675         * po/POTFILES.in:
11676           add gst-inspect
11677         * po/nl.po:
11678           update dutch translation
11679         * tools/gst-inspect.c: (print_element_list), (main):
11680           do proper internationalization
11681         * tools/gst-launch.c: (idle_func):
11682           remove commented out function call
11683
11684 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11685
11686         * docs/README:
11687           add some error fixing notes
11688         * docs/gst/gstreamer-sections.txt:
11689           remove double entries
11690         * docs/gst/tmpl/gstbin.sgml:
11691         * docs/gst/tmpl/gstclock.sgml:
11692           remove override
11693         * docs/gst/tmpl/gstelement.sgml:
11694         * docs/gst/tmpl/gstindex.sgml:
11695         * docs/gst/tmpl/gstobject.sgml:
11696         * docs/gst/tmpl/gstpadtemplate.sgml:
11697         * docs/gst/tmpl/gstreamer-unused.sgml:
11698         * docs/gst/tmpl/gsttag.sgml:
11699         * docs/gst/tmpl/gstthread.sgml:
11700         * docs/gst/tmpl/gstxml.sgml:
11701         * gst/gsttag.h:
11702           sync header prototypes with c decls
11703         * gst/gsttaginterface.c:
11704           fix doc headers
11705
11706 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11707
11708         * gst/parse/Makefile.am:
11709         * gst/gstobject.h:
11710           get rid of gstmarshal.h dependency. It's not needed.
11711         * gst/gst.h:
11712         * gst/elements/gstfakesink.c:
11713         * gst/elements/gstfakesrc.c:
11714         * gst/elements/gstidentity.c:
11715         * gst/gstbin.c:
11716         * gst/gstelement.c:
11717         * gst/gstindex.c:
11718         * gst/gstobject.c:
11719         * gst/gstpad.c:
11720         * gst/gstthread.c:
11721         * gst/gstxml.c:
11722         * libs/gst/control/dparam.c:
11723         * libs/gst/control/dparammanager.c:
11724           include gstmarshal.h.
11725         Fixes #132045
11726
11727 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11728
11729         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11730         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11731         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11732         * gst/elements/gstfilesrc.h:
11733           don't ref the filesrc when creating mmaped buffers. Don't keep a
11734           list of not-yet-destroyed buffers.
11735         * gst/gstbuffer.h:
11736           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11737
11738 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11739
11740         * gst/gst.c: (init_pre):
11741           remove textdomain
11742
11743 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11744
11745         * docs/pwg/advanced-events.xml:
11746         * docs/pwg/advanced-scheduling.xml:
11747         * docs/pwg/intro-basics.xml:
11748         * docs/pwg/other-manager.xml:
11749         * docs/pwg/other-nton.xml:
11750         * docs/pwg/other-ntoone.xml:
11751         * docs/pwg/other-oneton.xml:
11752         * docs/pwg/pwg.xml:
11753           All sort of documentation... Forgot what. Point is that I want this
11754           in before I leave. The 'other-*' will be the last section and will
11755           explain issues specific to these type of elements.
11756
11757 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11758
11759         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11760         (gst_filesrc_get_read):
11761           set all the values on buffers that we can
11762
11763 2004-02-02  David Schleef  <ds@schleef.org>
11764
11765         Change usage of isblah() to g_ascii_isblah() to be more locale
11766         independent.  (#133076)
11767         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11768         * gst/gstutils.c:
11769         * gst/parse/parse.l:
11770
11771 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11772
11773         reviewed by: David Schleef  <ds@schleef.org>
11774
11775         Fix memory leaks:
11776         * gst/gstcaps.c: (gst_caps_to_string):
11777         * gst/registries/gstxmlregistry.c:
11778         (gst_xml_registry_add_path_list_func),
11779         (gst_xml_registry_parse_padtemplate):
11780
11781 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11782
11783         * gst/gstelement.c: (gst_element_default_error):
11784           suffix error messages with period
11785
11786 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11789         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11790         * gst/gsterror.c: (gst_error_get_message):
11791           Suffix with dots
11792         * po/fr.po:
11793         * po/nl.po:
11794           Update translation files
11795
11796 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11797
11798         * gst/autoplug/gstspideridentity.c:
11799         (gst_spider_identity_sink_loop_type_finding):
11800         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11801         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11802         (gst_filesink_close_file), (gst_filesink_handle_event),
11803         (gst_filesink_chain):
11804         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11805         (gst_filesrc_get_read), (gst_filesrc_open_file):
11806         * gst/elements/gstidentity.c: (gst_identity_chain):
11807         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11808         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11809         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11810         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11811         * gst/gsterror.c: (_gst_core_errors_init),
11812         (_gst_library_errors_init), (_gst_resource_errors_init),
11813         (_gst_stream_errors_init), (gst_error_get_message):
11814         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11815         (gst_pad_recover_caps_error), (gst_pad_pull):
11816         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11817         * gst/schedulers/gstbasicscheduler.c:
11818         (gst_basic_scheduler_chainhandler_proxy),
11819         (gst_basic_scheduler_gethandler_proxy),
11820         (gst_basic_scheduler_cothreaded_chain):
11821           Suffix error messages with period.
11822           Use (NULL) instead of NULL
11823
11824 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11825
11826         * docs/gst/tmpl/gstelement.sgml:
11827         * docs/gst/tmpl/gstxml.sgml:
11828         * gst/gstelement.c: (gst_element_error_full):
11829           add element path to error
11830
11831 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11832
11833         * docs/random/mimetypes:
11834           update raw int/float info
11835         * gst/gsttag.c: (_gst_tag_initialize):
11836         * gst/gsttag.h:
11837           add GST_TAG_ENCODER
11838
11839 2004-01-30  David Schleef  <ds@schleef.org>
11840
11841         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11842           missing (#132991)
11843
11844 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11845
11846         reviewed by Benjamin Otte 
11847           parts of the patch submitted in bug #113913
11848
11849         * configure.ac:
11850           use AC_C_INLINE. Use = instead of == with test
11851         * examples/plugins/example.c:
11852         * gst/autoplug/gstspideridentity.c:
11853         * gst/elements/gstfdsrc.c:
11854         * gst/elements/gstfilesrc.c:
11855         * gst/elements/gstidentity.c:
11856         * gst/elements/gstmultidisksrc.c:
11857         * gst/elements/gststatistics.c:
11858         * gst/gstelement.c:
11859         * gst/gstobject.c:
11860         * gst/gstpad.c:
11861         * gst/gstpipeline.c:
11862         * gst/gstthread.c:
11863           don't end enums with a comma
11864         * gst/gstindex.c: (gst_index_compare_func):
11865           do explicit casting to gint
11866         * gst/gsttrace.c: (gst_trace_text_flush):
11867           #define strsize as a macro
11868
11869 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * docs/README:
11872         * docs/gst/gstreamer-docs.sgml:
11873         * docs/gst/gstreamer-sections.txt:
11874         * docs/gst/tmpl/gstelement.sgml:
11875         * docs/gst/tmpl/gsterror.sgml:
11876         * docs/gst/tmpl/gstinterface.sgml:
11877         * docs/gst/tmpl/gstreamer-unused.sgml:
11878         * docs/gst/tmpl/gststructure.sgml:
11879         * docs/gst/tmpl/gsttag.sgml:
11880         * docs/gst/tmpl/gsttaginterface.sgml:
11881         * docs/gst/tmpl/gstvalue.sgml:
11882         make sure all API ends up in the built docs
11883         * gst/gstinterface.c:
11884         * gst/gststructure.c: (gst_structure_id_set_value),
11885         (gst_structure_set_value), (gst_structure_id_get_value):
11886         * gst/gststructure.h:
11887         * gst/gstvalue.h:
11888         sync .h with .c declarations
11889
11890 2004-01-30  Julien Moutte  <julien@moutte.net>
11891
11892         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11893         Ronald will fix riffread.
11894
11895 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11896
11897         * docs/pwg/advanced-interfaces.xml:
11898           Added tuner interface docs.
11899
11900 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11901
11902         * docs/random/mimetypes:
11903           correct Theora information
11904         * gst/gstelement.h:
11905           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11906
11907 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * gst/gstelement.c: (gst_element_error_full):
11910         * gst/gstelement.h:
11911           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11912
11913 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11914
11915         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11916         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11917         again and even before DISCONT.
11918         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11919         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11920         bytestream so that it's not stopping to fill the bytestream if events
11921         different than EOS or DISCONT are received. Instead it process them so
11922         that they go downstream.
11923
11924 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11925
11926         * docs/gst/tmpl/gstelement.sgml:
11927         * docs/gst/tmpl/gstreamer-unused.sgml:
11928         * docs/gst/tmpl/gstxml.sgml:
11929         * gst/autoplug/gstspideridentity.c:
11930         (gst_spider_identity_sink_loop_type_finding):
11931         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11932         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11933         (gst_filesink_close_file), (gst_filesink_handle_event),
11934         (gst_filesink_chain):
11935         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11936         (gst_filesrc_get_read), (gst_filesrc_open_file):
11937         * gst/elements/gstidentity.c: (gst_identity_chain):
11938         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11939         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11940         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11941         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11942         * gst/gstelement.h:
11943         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11944         (gst_pad_recover_caps_error), (gst_pad_pull):
11945         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11946         * gst/schedulers/gstbasicscheduler.c:
11947         (gst_basic_scheduler_chainhandler_proxy),
11948         (gst_basic_scheduler_gethandler_proxy),
11949         (gst_basic_scheduler_cothreaded_chain):
11950           gst_element_error -> GST_ELEMENT_ERROR
11951
11952 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11953
11954         * docs/Makefile.am:
11955         * docs/gst/tmpl/gstelement.sgml:
11956         * docs/gst/tmpl/gstxml.sgml:
11957         * docs/manuals.mak:
11958         * docs/pwg/advanced-request.xml:
11959         * docs/pwg/advanced-scheduling.xml:
11960         * docs/pwg/advanced-tagging.xml:
11961           fix non-validating docbook using CDATA
11962           make sure make check-local gets run first to check if it validates
11963
11964 2004-01-29  Julien MOUTTE <julien@moutte.net>
11965
11966         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11967         handling (up and downstream).
11968         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11969         my_filter thing.
11970
11971 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11972
11973         * docs/pwg/advanced-tagging.xml:
11974           Add docs about tag writing.
11975
11976 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11977
11978         * docs/pwg/advanced-tagging.xml:
11979           Add a part about tag reading and application signalling... Tag
11980           writing still needs to be documented.
11981         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11982           We can set file locations in READY, too.
11983
11984 2004-01-29  Julien MOUTTE <julien@moutte.net>
11985
11986         * docs/random/ds/element-checklist: Adding some notes about src
11987         events.
11988
11989 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11990
11991         * docs/random/mimetypes:
11992           Update docs to point to correct elements for various mimetypes, and
11993           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11994           <stephane.loeuillet@tiscali.fr>.
11995
11996 2004-01-28  David Schleef  <ds@schleef.org>
11997
11998         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11999
12000 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12001
12002         * docs/random/mimetypes:
12003           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12004           undefined"
12005         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12006           make it only work in NULL.
12007         * gst/gstcaps.c:
12008           don't posion NULL caps
12009         * gst/gstelement.c: (gst_element_set_time):
12010           add debugging statement
12011         * gst/gstelement.c: (gst_element_emit_found_tag),
12012         (gst_element_found_tag_func), (gst_element_found_tags):
12013         * gst/gstelement.h:
12014           These functions take const taglists
12015         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12016           fix memleak
12017         * gst/gstpad.c: (gst_pad_event_default):
12018           make more effort on handling discont and clocks, g_warn if everything
12019           fails
12020         * gst/gststructure.c: (gst_structure_remove_fields),
12021         (gst_structure_remove_fields_valist):
12022         * gst/gststructure.h:
12023           add gst_structure_remove_fields(_valist)
12024         * gst/gsttag.c:
12025           fix doc glitch
12026
12027 2004-01-28  David Schleef  <ds@schleef.org>
12028
12029         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12030         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12031         Fix memory leakage of gst_caps_to_string().
12032
12033         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12034         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12035         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12036         (gst_spider_identity_sink_loop_type_finding):
12037         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12038         (find_suggest):
12039         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12040         (gst_pad_set_explicit_caps):
12041         * gst/parse/grammar.y:
12042
12043 2004-01-28  David Schleef  <ds@schleef.org>
12044
12045         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12046         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12047         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12048         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12049         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12050         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12051         (gst_debug_log_default), (_gst_info_printf_extension),
12052         (_gst_info_printf_extension_arginfo):  Add printf extension.
12053         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12054         * gst/gststructure.c: (gst_structure_to_string),
12055         (_gst_structure_parse_value): Use gst_value_deserialize() and
12056         remove old code.
12057         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12058         (gst_value_deserialize_boolean), (gst_strtoi),
12059         (gst_value_deserialize_int), (gst_value_deserialize_double),
12060         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12061         a bunch of deserialize functions and gst_value_deserialize.
12062         * gst/gstvalue.h: er, _de_serialize, not unserialize
12063         * testsuite/caps/string-conversions.c: (main): We don't currently
12064         handle (float) in caps, so convert these to (double).
12065         * testsuite/debug/Makefile.am: Add new test for the printf extension
12066         * testsuite/debug/printf_extension.c: (main): same
12067
12068 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12069
12070         * docs/random/company/time:
12071           Add some docs about clocking and time
12072
12073 2004-01-28  Julien MOUTTE <julien@moutte.net>
12074
12075         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12076
12077 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12078
12079         * docs/pwg/advanced-clock.xml:
12080         * docs/pwg/advanced-dparams.xml:
12081         * docs/pwg/advanced-events.xml:
12082         * docs/pwg/advanced-interfaces.xml:
12083         * docs/pwg/advanced-midi.xml:
12084         * docs/pwg/advanced-request.xml:
12085         * docs/pwg/advanced-scheduling.xml:
12086         * docs/pwg/advanced-tagging.xml:
12087         * docs/pwg/advanced-types.xml:
12088         * docs/pwg/appendix-checklist.xml:
12089         * docs/pwg/building-boiler.xml:
12090         * docs/pwg/building-chainfn.xml:
12091         * docs/pwg/building-filterfactory.xml:
12092         * docs/pwg/building-pads.xml:
12093         * docs/pwg/building-props.xml:
12094         * docs/pwg/building-signals.xml:
12095         * docs/pwg/building-state.xml:
12096         * docs/pwg/building-testapp.xml:
12097         * docs/pwg/intro-basics.xml:
12098         * docs/pwg/intro-preface.xml:
12099         * docs/pwg/other-autoplugger.xml:
12100         * docs/pwg/other-sink.xml:
12101         * docs/pwg/other-source.xml:
12102         * docs/pwg/titlepage.xml:
12103           fix up id's
12104
12105 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12106
12107         * docs/95NonPath:
12108         * docs/HACKING:
12109         * docs/README:
12110         * docs/building-the-docs-on-debian:
12111           collect relevant bits of doc info
12112
12113 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12114
12115         * docs/pwg/advanced_tagging.xml:
12116           Half-assed commit so Thomas can re-arrange document IDs here to be
12117           consistent, too.
12118
12119 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12120
12121         * docs/manual/autoplugging.xml:
12122         * docs/manual/bins-api.xml:
12123         * docs/manual/bins.xml:
12124         * docs/manual/buffers-api.xml:
12125         * docs/manual/buffers.xml:
12126         * docs/manual/clocks.xml:
12127         * docs/manual/components.xml:
12128         * docs/manual/cothreads.xml:
12129         * docs/manual/debugging.xml:
12130         * docs/manual/dparams-app.xml:
12131         * docs/manual/dynamic.xml:
12132         * docs/manual/elements-api.xml:
12133         * docs/manual/elements.xml:
12134         * docs/manual/factories.xml:
12135         * docs/manual/gnome.xml:
12136         * docs/manual/goals.xml:
12137         * docs/manual/helloworld.xml:
12138         * docs/manual/helloworld2.xml:
12139         * docs/manual/init-api.xml:
12140         * docs/manual/intro.xml:
12141         * docs/manual/links-api.xml:
12142         * docs/manual/links.xml:
12143         * docs/manual/manual.xml:
12144         * docs/manual/motivation.xml:
12145         * docs/manual/pads-api.xml:
12146         * docs/manual/pads.xml:
12147         * docs/manual/plugins-api.xml:
12148         * docs/manual/plugins.xml:
12149         * docs/manual/programs.xml:
12150         * docs/manual/queues.xml:
12151         * docs/manual/quotes.xml:
12152         * docs/manual/schedulers.xml:
12153         * docs/manual/states-api.xml:
12154         * docs/manual/states.xml:
12155         * docs/manual/threads.xml:
12156         * docs/manual/typedetection.xml:
12157         * docs/manual/xml.xml:
12158           use chapter, part, section or misc as id starts for all bits
12159
12160 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12161
12162         * docs/gst/gstreamer-sections.txt:
12163           Fix up TITLE of the sections
12164
12165 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12166
12167         * docs/pwg/advanced_interfaces.xml:
12168           Add documentation on propertyprobing.
12169         * docs/pwg/advanced_events.xml:
12170         * docs/pwg/advanced_tagging.xml:
12171         * docs/pwg/building_boiler.xml:
12172         * docs/pwg/building_filterfactory.xml:
12173         * docs/pwg/pwg.xml:
12174           Move filterfactory and tagging into their own chapter, add a chapter
12175           on events. all these are empty placeholders that will be filled in
12176           some day.
12177
12178 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12179
12180         * docs/pwg/advanced_interfaces.xml:
12181           Docs for mixer interface. Also a check for website uploading.
12182
12183 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12184
12185         * docs/HACKING:
12186         * docs/Makefile.am:
12187         * docs/faq/Makefile.am:
12188         * docs/gst/Makefile.am:
12189         * docs/gst/tmpl/gstelement.sgml:
12190         * docs/gst/tmpl/gstplugin.sgml:
12191         * docs/gst/tmpl/gstreamer-unused.sgml:
12192         * docs/libs/Makefile.am:
12193         * docs/manual/Makefile.am:
12194         * docs/manuals.mak:
12195         * docs/pwg/Makefile.am:
12196         * docs/upload.mak:
12197           Separate out upload target and make it similar for
12198           both docbook and gtk-doc docs
12199
12200 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12201
12202         * docs/manuals.mak:
12203           Fix upload target to work with freedesktop
12204
12205 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12206
12207         * docs/pwg/advanced_types.xml:
12208           Add notes on creating your own types.
12209         * docs/pwg/building_boiler.xml:
12210         * docs/pwg/building_pads.xml:
12211         * docs/pwg/building_state.xml:
12212           Add some stuff about how to retrieve values from structures, how
12213           that relates to types and change layout slightly again to be almost
12214           perfect.
12215
12216 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12217
12218         * docs/pwg/advanced_dparams.xml:
12219         * docs/pwg/advanced_scheduling.xml:
12220           Change index layout slightly.
12221
12222 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12223
12224         * docs/pwg/advanced_clock.xml:
12225         * docs/pwg/advanced_interfaces.xml:
12226         * docs/pwg/advanced_midi.xml:
12227           General placeholders for now.
12228         * docs/pwg/advanced_request.xml:
12229           Explanation about sometimes and request pads.
12230         * docs/pwg/advanced_scheduling.xml:
12231           Concept of bytestream, loopfunctions and schedulers.
12232         * docs/pwg/building_boiler.xml:
12233           Add something about plugin-init.
12234
12235 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12236
12237         * docs/pwg/building_pads.xml:
12238           Fix broken docbook
12239
12240 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12241
12242         * docs/pwg/advanced_interfaces.xml:
12243         * docs/pwg/pwg.xml:
12244           Add as a placeholder for future filling-in.
12245         * docs/pwg/basics_autoplugging.xml:
12246         * docs/pwg/basics_buffers.xml:
12247         * docs/pwg/basics_elements.xml:
12248         * docs/pwg/basics_events.xml:
12249         * docs/pwg/basics_plugins.xml:
12250         * docs/pwg/basics_types.xml:
12251           Remove, because unused (this is all in intro_basics.xml).
12252         * docs/pwg/building_signals.xml:
12253           Short intro to signals + reference to GObject docs - we really
12254           shouldn't go into these sort of things to deply because we don't
12255           use them that extensively anyway.
12256         * docs/pwg/building_state.xml:
12257           Explanation of states. Benjamin, please check.
12258         * docs/pwg/building_testapp.xml:
12259           Put everything in one page - putting only a few lines of content
12260           per page doesn't really make sense.
12261
12262           Time to get into the advanced topics. ;).
12263
12264 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12265
12266         * docs/pwg/advanced_types.xml:
12267           Finish documenting the current state of mimetypes.
12268         * docs/pwg/building_boiler.xml:
12269         * docs/pwg/building_chainfn.xml:
12270         * docs/pwg/building_pads.xml:
12271         * docs/pwg/building_props.xml:
12272         * docs/pwg/building_testapp.xml:
12273           Start documenting the "how to build a simple audio filter" part
12274           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12275           states and (maybe?) a short introduction to capsnego in the chapter
12276           on pads (building_pads.xml). Capsnego should probably be explained
12277           fully in advanced_capsnego.xml or so.
12278
12279 2004-01-26  David Schleef  <ds@schleef.org>
12280
12281         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12282         * gst/gstpad.h: Add new function to allow element to (somewhat)
12283         specify non-fixed caps on a pad.
12284         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12285         that I added a few weeks ago.
12286
12287 2004-01-26  David Schleef  <ds@schleef.org>
12288
12289         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12290           making try_set_caps() work with non-fixed caps.
12291
12292 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12293
12294         * docs/pwg/advanced_types.xml:
12295         * docs/pwg/intro_basics.xml:
12296         * docs/pwg/intro_preface.xml:
12297         * docs/pwg/pwg.xml:
12298         * docs/pwg/titlepage.xml:
12299           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12300           in here (docs/random/mimetypes), and will from there on work on both
12301           updating outdated parts and adding missing parts.
12302           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12303
12304 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12305
12306         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12307           policy is set
12308
12309 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12310
12311         * gst/gstelement.h:
12312           remove gst_element_factory_get_version. It doesn't exist anymore.
12313         * gst/gstplugin.c:
12314         * gst/gstplugin.h:
12315           remove gst_plugin_set_name and change gst_plugin_get_longname to
12316           gst_plugin_get_description to match code.
12317         * gst/gsterror.h:
12318           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12319         * gst/gstpad.c: (gst_pad_try_set_caps):
12320           make it work with nonfixed caps.
12321           Note that even in the nonfixed case the link function of the pad
12322           that tries to set caps isn't called.
12323
12324 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12325
12326         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12327           fix bug where buffer was not assembled correctly
12328         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12329           silence by default
12330         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12331           only seek if there's no more buffers that could work without seeking
12332
12333 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12334
12335         * gst/gsttag.c: (_gst_tag_initialize):
12336         * gst/gsttag.h:
12337           Add application tag (for encoding/muxing app).
12338
12339 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12340
12341         * autogen.sh:
12342           make autopoint force, and libtoolize not copy
12343         * common/m4/as-docbook.m4:
12344           added docbook xml catalog setup check
12345         * common/m4/gst-doc.m4:
12346           use docbook check
12347
12348 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12349
12350         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12351         * gst/gsttag.h:
12352           add GstTagFlag
12353
12354 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12355
12356         * docs/gst/gstreamer-sections.txt:
12357         * docs/gst/tmpl/gst.sgml:
12358         * docs/gst/tmpl/gstbuffer.sgml:
12359         * docs/gst/tmpl/gstclock.sgml:
12360         * docs/gst/tmpl/gstelement.sgml:
12361         * docs/gst/tmpl/gstreamer-unused.sgml:
12362         * docs/gst/tmpl/gstxml.sgml:
12363           sync latest API changes to docs
12364
12365 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12366
12367         * gst/gstpluginfeature.c:
12368           fix doc snippet
12369         * tools/gst-inspect.c: (print_element_list):
12370           fix output of typefind
12371           add GPL header
12372         * tools/gst-launch.c:
12373           add GPL header
12374
12375 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12376
12377         * gst/elements/Makefile.am:
12378         * gst/elements/gstelements.c:
12379         * gst/elements/gsttypefindelement.c:
12380         * gst/elements/gsttypefindelement.h:
12381         * po/POTFILES.in:
12382         * po/fr.po:
12383         * po/nl.po:
12384           renamed gsttypefindelement to gsttypefind, conserving CVS history
12385
12386 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12387
12388         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12389         * gst/gsttag.h:
12390           add some tags used in ogg as well
12391           fix _ in replaygain tags
12392
12393 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12394
12395         * gst/gsterror.h:
12396           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12397
12398 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12399
12400         * gst/gstelement.c: (gst_element_error_full):
12401         * gst/gstelement.h:
12402           change _extended to _full
12403
12404 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12405
12406         reviewed by: <delete if not using a buddy>
12407
12408         * docs/gst/tmpl/gst.sgml:
12409         * docs/gst/tmpl/gstbuffer.sgml:
12410         * docs/gst/tmpl/gstclock.sgml:
12411         * docs/gst/tmpl/gstelement.sgml:
12412         * docs/gst/tmpl/gstreamer-unused.sgml:
12413         * docs/gst/tmpl/gstxml.sgml:
12414         * gst/gstelement.c: (gst_element_error_full):
12415         * gst/gstelement.h:
12416
12417 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12418
12419         * gst/gstelement.h: fix _gst_element_error_printf prototype
12420
12421 2004-01-20  David Schleef  <ds@schleef.org>
12422
12423         * gst/gststructure.c: (gst_structure_to_string):
12424         Convert function to use gst_value_serialize().
12425         * gst/gstvalue.c: (gst_value_serialize_list),
12426         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12427         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12428         (gst_value_serialize_int), (gst_value_serialize_double),
12429         (gst_string_wrap), (gst_value_serialize_string),
12430         (gst_value_serialize), (gst_value_deserialize):
12431         * gst/gstvalue.h:
12432         Add implementations for serialize.
12433
12434 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12435
12436         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12437         we want to keep that one in the future or change xvidenc.c to use 
12438         another error.
12439
12440 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * gst/gstelement.c: (_gst_element_error_printf):
12443         * gst/gstelement.h:
12444           privatise function
12445
12446 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12447
12448         * docs/random/error:
12449           doc explaining error system
12450         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12451           cleanup
12452
12453 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12454
12455         * gst/gst-i18n-app.h:
12456         * gst/gst-i18n-lib.h:
12457           remove inclusion of config.h
12458         * po/POTFILES.in:
12459         * po/nl.po:
12460           add gst/gstelement.c
12461
12462 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12463
12464         * po/nl.po: updated Dutch translation
12465
12466 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12467
12468         * gst/gsterror.c: (_gst_core_errors_init),
12469         (_gst_library_errors_init), (_gst_resource_errors_init),
12470         (_gst_stream_errors_init):
12471         remove ending punctuation dots
12472
12473 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12474
12475         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12476         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12477         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12478         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12479         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12480         use GST_ERROR_SYSTEM
12481
12482 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12483
12484         * gst/gstelement.c: (gst_element_error_printf),
12485         (gst_element_error_extended):
12486         * gst/gstelement.h:
12487           add a helper printf function so we can have NULL values passed.
12488
12489 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12490
12491         * gst/gstelement.h:
12492           add G_STMT macros to gst_element_error, which isn't strictly
12493           necessary but people tell me to anyway.
12494
12495 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12496
12497         * gst/Makefile.am:
12498         * gst/autoplug/gstspideridentity.c:
12499         (gst_spider_identity_sink_loop_type_finding):
12500         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12501         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12502         (gst_filesink_close_file), (gst_filesink_handle_event),
12503         (gst_filesink_chain):
12504         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12505         (gst_filesrc_map_region), (gst_filesrc_get_read),
12506         (gst_filesrc_open_file):
12507         * gst/elements/gstidentity.c: (gst_identity_chain):
12508         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12509         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12510         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12511         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12512         * gst/gst.h:
12513         * gst/gst_private.h:
12514         * gst/gstelement.c: (gst_element_class_init),
12515         (gst_element_default_error), (gst_element_error_func),
12516         (gst_element_error_extended):
12517         * gst/gstelement.h:
12518         * gst/gsterror.c: (_gst_core_errors_init),
12519         (_gst_library_errors_init), (_gst_resource_errors_init),
12520         (_gst_stream_errors_init), (gst_error_get_message):
12521         * gst/gsterror.h:
12522         * gst/gstinfo.c: (_gst_debug_init):
12523         * gst/gstmarshal.list:
12524         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12525         (gst_pad_recover_caps_error), (gst_pad_pull):
12526         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12527         * gst/schedulers/gstbasicscheduler.c:
12528         (gst_basic_scheduler_chainhandler_proxy),
12529         (gst_basic_scheduler_gethandler_proxy),
12530         (gst_basic_scheduler_cothreaded_chain):
12531         * po/POTFILES.in:
12532         * po/fr.po:
12533         * po/nl.po:
12534           change error signal
12535           add error categories
12536
12537 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12538
12539         * gst/gsttag.c: (_gst_tag_initialize):
12540         * gst/gsttag.h:
12541         Add replaygain tag
12542
12543 2004-01-18  Colin Walters  <walters@verbum.org>
12544
12545         * examples/retag/retag.c: Call gst_init before processing
12546         program args.  Add g_assert to _link_many call.
12547
12548 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12549
12550         * gst/gstpad.c: (gst_pad_alloc_buffer):
12551           Return a newly allocated buffer when the pad has no peer.
12552
12553 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12554
12555         * gst/gstclock.c: (gst_clock_get_time):
12556           make it compile with gcc 2.95 again.
12557           Patch by Scott Wheeler
12558
12559 2004-01-15  David Schleef  <ds@schleef.org>
12560
12561         * gst/gstcaps.h:
12562         Added gst_caps_is_simple() macro.
12563         * testsuite/caps/caps.c: (test1):
12564         * testsuite/caps/intersect2.c: (main):
12565         * testsuite/caps/intersection.c: (main):
12566         Fixes to make 'make check' work again after removing
12567         gst_caps_is_chained().
12568
12569 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12570
12571         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12572         and additions to the MIDI document.
12573
12574 2004-01-15  David Schleef  <ds@schleef.org>
12575
12576         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12577         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12578         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12579
12580 2004-01-15  David Schleef  <ds@schleef.org>
12581
12582         * gst/gstqueue.c:
12583         * gst/gstqueue.h:
12584         Fix the spelling of "treshold" and make min_threshold actually
12585         affect the queue.
12586
12587 2004-01-15  David Schleef  <ds@schleef.org>
12588
12589         * gst/gstcaps.c:
12590         Add lots of documentation.
12591         * gst/gstcaps.h:
12592         Deprecate a few functions.
12593         * gst/gstpad.c:
12594         Removed use of deprecated functions.
12595
12596 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12597
12598         * gst/gstpad.c: (gst_pad_is_linked):
12599         * gst/gstpad.h:
12600           implement gst_pad_is_linked
12601         * gst/gstelement.h:
12602           reserve space for initiate_state_change
12603
12604 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12605
12606         * gst/autoplug/gstspideridentity.c:
12607         (gst_spider_identity_sink_loop_type_finding):
12608           break infinite loop by just returning instead of looping
12609         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12610           set event time difference correctly. Set it to 1 second instead
12611           of 100ms to be more tolerant
12612         * gst/gstelement.c: (gst_element_set_time):
12613           add debugging output
12614
12615 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12616
12617         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12618           query if buffers are inside the pool, ignore events
12619
12620 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12621
12622         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12623         (gst_clock_set_speed), (gst_clock_set_active),
12624         (gst_clock_is_active), (gst_clock_reset),
12625         (gst_clock_handle_discont):
12626         * gst/gstclock.h:
12627           deprecate old interface and disable functions that aren't in use
12628           anymore.
12629         * gst/gstelement.h:
12630         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12631         (gst_element_set_time), (gst_element_adjust_time):
12632           add concept of "element time" and functions to get/set this time.
12633         * gst/gstelement.c: (gst_element_change_state):
12634           update element time correctly.
12635         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12636           This is a debug message, not a g_critical.
12637         * gst/gstpad.c: (gst_pad_event_default):
12638           handle discontinuous events right with element time.
12639         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12640           update to clocking fixes.
12641           set clocks on elements in READY=>PAUSED. The old behaviour caused
12642           a wrong element time on the first element that started playing.
12643         * gst/schedulers/gstbasicscheduler.c:
12644         (gst_basic_scheduler_class_init):
12645         * gst/schedulers/gstoptimalscheduler.c:
12646         (gst_opt_scheduler_class_init):
12647           remove code that just implements the default behaviour.
12648         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12649           update to use new clocking functions
12650         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12651         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12652           update to test new element time.
12653         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12654           use _get_allowed_caps instead of _get_caps. This catches filtered
12655           caps correctly.
12656         * testsuite/debug/commandline.c:
12657           update for new GST_DEBUG syntax.
12658         * testsuite/threads/Makefile.am:
12659           disable a test that only works sometimes.
12660
12661 2004-01-13  Julien MOUTTE <julien@moutte.net>
12662
12663         * po/LINGUAS: Adding fr.
12664         * po/fr.po: Adding french translation.
12665
12666 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12667
12668         * gst/parse/grammar.y:
12669         * po/POTFILES.in:
12670         * po/nl.po:
12671         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12672           translate parsing error messages
12673
12674 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12675
12676         * po/POTFILES.in: adding gst-launch
12677         * po/nl.po: updated translation, all 99 strings translated
12678         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12679         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12680           fix strings for translation
12681
12682 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12683
12684         * gst/gst.c:
12685           - capitalize beginnings of popt options
12686           - fix strings for translation
12687           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12688
12689 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12690
12691         * po/README: add some notes on how to update translations
12692
12693 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12694
12695         * ABOUT-NLS: removed, is autogenerated from autopoint
12696         * autogen.sh: add autopoint stuff
12697         * configure.ac: fix up gettext stuff
12698         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12699         * gst/elements/gsttypefindelement.c: add header include
12700         * gst/gettext.h: add header, copy from system-installed header
12701         * gst/gst-i18n-app.h: to be included by each app having translations
12702         * gst/gst-i18n-lib.h: to be included by each lib having translations
12703         * gst/gst.c: (init_pre): fix up gettext calls
12704         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12705         * po/LINGUAS: the new way to specify translations present
12706         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12707         * po/Makevars: the variables filled in for GStreamer
12708         * po/POTFILES.in: added new files with translations
12709         * po/de.po: has new strings
12710         * po/nl.po: readded, has new strings
12711
12712 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12713
12714         * gst/gsttag.c: fix some strings marked for translation
12715
12716 2004-01-13  Iain <iain@prettypeople.org>
12717
12718         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12719         group when we add an element to it, cos we unref it when we remove one
12720
12721 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12722
12723         * testsuite/debug/commandline.c: (debug_not_reached):
12724         * testsuite/debug/output.c: (check_message):
12725           fix testsuite
12726
12727 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12728
12729         * examples/cutter/.cvsignore:
12730         * examples/helloworld/.cvsignore:
12731         * examples/launch/.cvsignore:
12732         * examples/manual/.cvsignore:
12733         * examples/mixer/.cvsignore:
12734         * examples/pingpong/.cvsignore:
12735         * examples/plugins/.cvsignore:
12736         * examples/queue/.cvsignore:
12737         * examples/queue2/.cvsignore:
12738         * examples/queue3/.cvsignore:
12739         * examples/queue4/.cvsignore:
12740         * examples/retag/.cvsignore:
12741         * examples/thread/.cvsignore:
12742         * examples/typefind/.cvsignore:
12743         * examples/xml/.cvsignore:
12744         * gst/.cvsignore:
12745         * gst/autoplug/.cvsignore:
12746         * gst/elements/.cvsignore:
12747         * gst/indexers/.cvsignore:
12748         * gst/parse/.cvsignore:
12749         * gst/registries/.cvsignore:
12750         * gst/schedulers/.cvsignore:
12751         * libs/gst/bytestream/.cvsignore:
12752         * libs/gst/control/.cvsignore:
12753         * libs/gst/getbits/.cvsignore:
12754         * tests/.cvsignore:
12755         * tests/bufspeed/.cvsignore:
12756         * tests/instantiate/.cvsignore:
12757         * tests/memchunk/.cvsignore:
12758         * tests/muxing/.cvsignore:
12759         * tests/sched/.cvsignore:
12760         * tests/seeking/.cvsignore:
12761         * tests/threadstate/.cvsignore:
12762         * testsuite/.cvsignore:
12763         * testsuite/caps/.cvsignore:
12764         * testsuite/cleanup/.cvsignore:
12765         * testsuite/dynparams/.cvsignore:
12766         * testsuite/plugin/.cvsignore:
12767         * tools/.cvsignore:
12768           update - this is huge, because it includes *.bb, *.bbg and *.da files
12769           which are generated for gcov.
12770
12771 2004-01-11  David Schleef  <ds@schleef.org>
12772
12773         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12774         a function to parse integers in ways that strto[u]l() does not.
12775
12776 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12777
12778         * tools/gst-inspect.c: (print_caps):
12779           improve output of caps a bit
12780
12781 2004-01-11  David Schleef  <ds@schleef.org>
12782
12783         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12784         inherit correct flags (READONLY and DONTKEEP).
12785
12786 2004-01-11  David Schleef  <ds@schleef.org>
12787
12788         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12789         (gst_filesrc_map_region):
12790         * gst/gstbuffer.c: (_gst_buffer_initialize),
12791         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12792         (gst_buffer_new), (gst_buffer_create_sub),
12793         (gst_buffer_is_span_fast), (gst_buffer_span):
12794         * gst/gstbuffer.h:
12795         Change GstBuffer private structure element names. (all files)
12796         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12797         (gst_queue_link):
12798         * gst/gstqueue.h:
12799         Implement getcaps/pad_link functions that handle the case where
12800         there are data in the queue.
12801
12802 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12803
12804         * gst/elements/gstbufferstore.c:
12805           initialize debugging structure correctly
12806         * gst/elements/gsttee.c: (gst_tee_set_property):
12807           g_object_notify when property was changed
12808         * gst/elements/gsttypefindelement.c:
12809         (gst_type_find_element_change_state):
12810           clear caps correctly
12811
12812 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12813
12814         * gst/gstqueue.c: (gst_queue_init):
12815           Use better defaults for when a queue should block. This
12816           gets rid of jerky playback for quite a few files.
12817           It takes more memory.
12818
12819 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         (gst_xml_registry_parse_padtemplate):
12822           make critical message slightly more useful
12823
12824 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12825
12826         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12827         (gst_debug_message_get), (gst_debug_log_default):
12828         * gst/gstinfo.h:
12829           Change gst_debug_log(_valist) to take a const format string.
12830           Change prototype of log function and functions using those to 
12831           take a GstDebugMessage instead of a string that requires using
12832           gst_debug_message_get.
12833
12834 2004-01-08  David Schleef  <ds@schleef.org>
12835
12836         * Makefile.am:
12837         * configure.ac:
12838         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12839         and -ftest-coverage, which allows gcov to show information about
12840         testsuite coverage.
12841
12842 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12843
12844         * gst/gstutils.h:
12845           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12846           GST_PARENT_CALL_WITH_DEFAULT
12847         * gst/elements/gstaggregator.c: 
12848         * gst/elements/gstbufferstore.c: 
12849         * gst/elements/gstfakesink.c: 
12850         * gst/elements/gstfakesrc.c: 
12851         * gst/elements/gstfdsink.c: 
12852         * gst/elements/gstfdsrc.c: 
12853         * gst/elements/gstfilesink.c: 
12854         * gst/elements/gstfilesrc.c: 
12855         * gst/elements/gstidentity.c: 
12856         * gst/elements/gstmd5sink.c: 
12857         * gst/elements/gstmultidisksrc.c:
12858         * gst/elements/gstpipefilter.c: 
12859         * gst/elements/gstshaper.c:
12860         * gst/elements/gststatistics.c:
12861         * gst/elements/gsttee.c:
12862         * gst/elements/gsttypefindelement.c:
12863           use them.
12864
12865 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12866
12867         * docs/gst/gstreamer-docs.sgml: remove props
12868         * docs/gst/gstreamer-sections.txt: remove props
12869         * docs/gst/tmpl/gst.sgml:
12870         * docs/gst/tmpl/gstbin.sgml:
12871         * docs/gst/tmpl/gstbuffer.sgml:
12872         * docs/gst/tmpl/gstcaps.sgml:
12873         * docs/gst/tmpl/gstclock.sgml:
12874         * docs/gst/tmpl/gstelement.sgml:
12875         * docs/gst/tmpl/gstindex.sgml:
12876         * docs/gst/tmpl/gstobject.sgml:
12877         * docs/gst/tmpl/gstpad.sgml:
12878         * docs/gst/tmpl/gstpadtemplate.sgml:
12879         * docs/gst/tmpl/gstreamer-unused.sgml:
12880         * docs/gst/tmpl/gstthread.sgml:
12881         * docs/gst/tmpl/gstxml.sgml:
12882           sync with code reorganization
12883
12884 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12885
12886         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12887         Make the 'Could not find compatible pad' message more informative.
12888
12889 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12890                                                                                 
12891         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12892           Fix for if we pass NULL as property to location.
12893         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12894         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12895           Fix for instantiate-test (see below).
12896         * gst/gststructure.c: (_gst_structure_parse_value):
12897           Fix compile error on gcc-2.96.
12898         * configure.ac:
12899         * tests/Makefile.am:
12900         * tests/instantiate/Makefile.am:
12901         * tests/instantiate/create.c: (create_all_elements), (main):
12902           Add a test that instantiates all elements. This makes it easy to
12903           track dead code for old API/design (like setting event functions
12904           on sink pads and so on).
12905
12906 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12907
12908         * gst/gstcaps.c: (gst_caps_append_structure):
12909           Move the poisoning to allow a NULL structure
12910         * gst/gstevent.c: (_gst_event_free):
12911           When freeing a navigation event, free the structure
12912           also
12913
12914 2004-01-04  David Schleef  <ds@schleef.org>
12915
12916         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12917         Remove usage of gst_pad_proxy_fixate.
12918         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12919         (gst_caps_split_one), (gst_caps_replace):
12920         Add poisoning code.
12921         * gst/gstmarshal.list:
12922         Add pointer__pointer for fixate signal
12923         * gst/gstpad.c: (gst_real_pad_class_init),
12924         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12925         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12926         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12927         Add poisoning code. Add fixate signal on RealPad. Change
12928         set_explicit_caps() to take const GstCaps, like try_set_caps().
12929         * gst/gstpad.h:
12930         * testsuite/caps/Makefile.am:
12931         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12932
12933 2004-01-03  David Schleef  <ds@schleef.org>
12934
12935         * gst/elements/gsttypefindelement.c:
12936         (gst_type_find_element_have_type), (gst_type_find_element_init):
12937         Use gst_pad_use_explicit_caps for src pad.
12938         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12939         before using it.
12940
12941 2004-01-03  David Schleef  <ds@schleef.org>
12942
12943         * gst/gstelement.c: (gst_element_link_pads_filtered),
12944         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12945         that linking was successful.
12946         * gst/gstpad.c: (gst_pad_link_free),
12947         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12948         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12949         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12950         GstPadLinkReturn correctly between functions, and don't fail
12951         when DELAYED is used (DELAYED is very important).  Better
12952         cleanup on unlinking and unnegotiation.  Should fix some spider
12953         bugs.
12954
12955 2004-01-02  David Schleef  <ds@schleef.org>
12956
12957         * gst/gstelement.c: (gst_element_class_init),
12958         (gst_element_base_class_init): ->padtemplates should be cleared
12959         in base_init, since we need to have a fresh list for every
12960         class.  (Alternately, we chould copy the list and share the
12961         actual pad templates (not the list), but that would require
12962         changing every plugin to move pad template registration from
12963         base_init to class_init.)
12964
12965 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12966
12967         * gst/gstelement.c: (gst_element_class_add_pad_template):
12968           Refuse registering a pad template if another pad template
12969           with the same name already exists (#114715).
12970
12971 2004-01-02  David Schleef  <ds@schleef.org>
12972
12973         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12974         (gst_caps_is_equal_fixed): Add new function.
12975         * gst/gstcaps.h: ditto.
12976         * gst/gstpad.c: (gst_real_pad_class_init),
12977         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12978         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12979         check new caps against existing caps -- if they're the same, return
12980         OK without renegotiating.  caps-nego-failed signal fixed so that
12981         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12982         to save an extra caps copy.  Don't complete negotiation if a pad
12983         link function returns DELAYED.
12984
12985 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12986
12987         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12988           Fix wrong g_return_if_fail
12989
12990 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12991
12992         * gst/gstbin.c: (gst_bin_class_init):
12993         Change the marshalling of element_added/element_removed
12994         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12995         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12996
12997 2004-01-01  David Schleef  <ds@schleef.org>
12998
12999         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13000         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13001         (gst_pad_use_explicit_caps):
13002         * gst/gstpad.h:
13003         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13004         to use an internal getcaps and link fuction so that negotiation
13005         always results in the explicitly set caps.
13006         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13007         are particularly useful for decoders.
13008
13009 2003-12-31  David Schleef  <ds@schleef.org>
13010
13011         * gst/elements/gstidentity.c: (gst_identity_class_init),
13012         (gst_identity_init), (gst_identity_chain),
13013         (gst_identity_set_property), (gst_identity_get_property):
13014         * gst/elements/gstidentity.h:
13015         * gst/gstqueue.c: (gst_queue_init):
13016           Negotiation fixes.
13017
13018 2003-12-31  David Schleef  <ds@schleef.org>
13019
13020         * gst/gstcaps.c: (gst_caps_intersect),
13021         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13022           Implement gst_caps_normalize().
13023         * testsuite/caps/normalisation.c: (main):
13024           Add an additional test
13025
13026 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13027
13028         * gst/gstqueue.c: (gst_queue_init):
13029           use gst_pad_proxy_getcaps()
13030
13031 2003-12-31  David Schleef  <ds@schleef.org>
13032
13033         * gst/elements/gstshaper.c: (gst_shaper_link):
13034         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13035         * gst/gstqueue.c: (gst_queue_link):
13036           Negotiation fixes.
13037
13038 2003-12-31  David Schleef  <ds@schleef.org>
13039
13040         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13041         * gst/gstpad.h: Add functions that are useful as default pad
13042         link and fixate functions for elements.
13043
13044 2003-12-30  David Schleef  <ds@schleef.org>
13045
13046         * gst/gstpad.c: (gst_pad_link_try):
13047           Fix segfault when attempting to return to old caps
13048
13049 2003-12-29  David Schleef  <ds@schleef.org>
13050
13051         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13052         (gst_caps_structure_simplify), (gst_caps_simplify):
13053         * gst/gstcaps.h:
13054           Add simplify function
13055         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13056         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13057         * gst/gstpad.h:
13058           Copy over srcnotify, sinknotify when calling old pad_link
13059           functions.  Add new is_negotiated() function.
13060         * gst/gststructure.c: (gst_structure_copy):
13061           Fix an incredibly stupid bug that should have been noticed
13062           weeks ago.  _copy() returned the argument, not the new copy.
13063
13064 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13065
13066         * gst/gstcaps.c: (gst_caps_append):
13067           add sanity checks
13068         * gst/gstcaps.h: (gst_caps_debug):
13069           remove, it doesn't exist anymore.
13070         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13071         (gst_element_threadsafe_properties_post_run):
13072           make debugging messages not clutter up THREAD debug category
13073         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13074         (gst_element_change_state):
13075           update to new caps API
13076         * gst/gstinterface.c: (gst_implements_interface_cast):
13077           don't put vital code in g_return_if_fail
13078         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13079         (gst_pad_link_filtered):
13080           add pst_pad_try_link and use it.
13081         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13082           implement correctly, deprecate first one.
13083         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13084           add and implement.
13085         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13086           implement.
13087         (gst_pad_get_negotiated_caps):
13088           add and implement. Make GST_PAD_CAPS call this function.
13089         (gst_pad_get_caps):
13090           remove unneeded check..
13091         (gst_pad_recover_caps_error):
13092           disable, always return FALSE.
13093         (gst_real_pad_dispose):
13094           don't free caps and appfilter anymore, they're unused.
13095         * gst/gstpad.h:
13096           Reflect changes mentioned above.
13097         * gst/gstsystemclock.c: (gst_system_clock_wait):
13098           Make 'clock is way behind' a debugging message.
13099         * gst/gstthread.c: (gst_thread_change_state):
13100           Fix debugging message
13101
13102 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13103
13104         * gst/gstinfo.h:
13105           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13106         * docs/gst/tmpl/gstreamer-unused.sgml:
13107           removed all traces of cvs conflicts
13108
13109 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13110
13111         * configure.ac:
13112         * gst/schedulers/cothreads_compat.h:
13113         * libs/Makefile.am:
13114           remove last instances of wingo cothread usage
13115
13116 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13117
13118         * gst/gstplugin.c:
13119         * gst/gstversion.h.in:
13120         * gst/parse/grammar.y:
13121           change comment block from /** to /* when not gtk-doc comments
13122
13123 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13124
13125         * gst/gst.c: whitespace and doc style fixes
13126
13127 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13128
13129         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13130
13131 2003-12-24  Colin Walters  <walters@verbum.org>
13132
13133         * gst/elements/gsttypefindelement.c:
13134           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13135           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13136           Don't double-free caps.
13137
13138 2003-12-23  David Schleef  <ds@schleef.org>
13139
13140         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13141           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13142           Many little fixes and additions of debug statements to
13143           get rhythmbox working.
13144
13145 2003-12-23  Colin Walters  <walters@verbum.org>
13146
13147         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13148         Use GST_PAD_LINK_SUCCESSFUL.
13149
13150 2003-12-23  David Schleef  <ds@schleef.org>
13151
13152         * gst/elements/gstaggregator.c:
13153         * gst/elements/gsttee.c:
13154           Use gst_pad_proxy_getcaps().
13155         * gst/gstpad.c:
13156         * gst/gstpad.h:
13157           Add gst_pad_proxy_getcaps(), which filter elements can use
13158           as a generic getcaps implementation.
13159           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13160           was advertised.
13161
13162 2003-12-23  David Schleef  <ds@schleef.org>
13163
13164         * gst/gstpad.c:
13165           Rearrange/rewrite much of the pad negotiation code, since it
13166           resembled pasta.  This actually changes the way some
13167           negotiation works, since the previous code was inconsistent
13168           depending on how it was invoked.  Add (internal) structure
13169           GstPadLink, which is used to hold some information (more in
13170           the future) about the link between two pads.  Fixes a number
13171           of bugs, including random lossage of filter caps when the
13172           initial negotiation is delayed.  A few functions are still
13173           unimplemented.
13174         * gst/gstpad.h:
13175           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13176           these when testing GstPadLinkReturn values instead of comparing
13177           directly.
13178
13179 2003-12-23  David Schleef  <ds@schleef.org>
13180
13181         * gst/gstvalue.c: 
13182         * gst/gstvalue.h:
13183           Rearrange lots of code.  Change registration of compare function
13184           into registration of compare/serialize/deserialize functions.
13185           Doesn't include implementation of gst_value_[de]serialize(),
13186           but that should be easy.
13187
13188 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13189
13190         * docs/gst/gstreamer-sections.txt:
13191         * docs/gst/tmpl/gstprops.sgml: removed
13192         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13193           David removed props and caps code, so let's remove their docs as well.
13194           Removed all no longer existing symbols from gstreamer-sections.txt
13195           
13196 2003-12-22  Colin Walters  <walters@verbum.org>
13197
13198         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13199           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13200           of tags directly.
13201
13202 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13203
13204         * gst/elements/gstelements.c:
13205           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13206         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13207           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13208           gst_caps (peer).
13209
13210 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13211
13212         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13213         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13214         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13215         (gst_spider_identity_sink_loop_type_finding):
13216         * gst/autoplug/gstspideridentity.h:
13217           Fix autoplugging in spider element, so it works with new caps.
13218           This was mainly caused by identifying empty caps incorrectly.
13219
13220 2003-12-22  David Schleef  <ds@schleef.org>
13221
13222         * gststructure.c, gstvalue.c, gstvalue.h: Add
13223           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13224           using g_value_copy()
13225
13226 2003-12-21  David Schleef  <ds@schleef.org>
13227
13228         * many, many files: Merge CAPS branch.  This includes:
13229           - implemention of GstValue and several GstValue types
13230           - implemention of GstStructure
13231           - entire rewrite of GstCaps
13232           - removal of GstProps
13233           - many changes to GstPad to compensate for new caps paradigm
13234           - removal of GstBufferpool
13235         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13236         gstvalue.h, gst/gstcaps[2]*.[ch]:
13237           - rename gstcaps2.[ch] to gstcaps.[ch]
13238
13239 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13240
13241         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13242         (gst_queue_chain), (gst_queue_handle_src_event):
13243           implement timeout for sending events. Workaround for if the
13244           pipeline on this queue is not passing any data.
13245
13246 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13247                                                                                 
13248         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13249         * moved CVS to freedesktop.org
13250