docs/: Document new-pad/state-change signal renames and the FixedList type rename.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * docs/manual/appendix-porting.xml:
4         * docs/pwg/appendix-porting.xml:
5           Document new-pad/state-change signal renames and the FixedList
6           type rename.
7
8 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9
10         * docs/manual/advanced-autoplugging.xml:
11         * docs/manual/basics-helloworld.xml:
12         * docs/manual/basics-pads.xml:
13         * docs/random/ds/0.9-suggested-changes:
14         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15         * gst/gstelement.h:
16         * gst/gstevent.h:
17         * gst/gstformat.h:
18         * gst/gstquery.h:
19         * gst/gststructure.c: (gst_structure_value_get_generic_type),
20         (gst_structure_parse_array), (gst_structure_parse_value):
21         * gst/gstvalue.c: (gst_type_is_fixed),
22         (gst_value_list_prepend_value), (gst_value_list_append_value),
23         (gst_value_list_get_size), (gst_value_list_get_value),
24         (gst_value_transform_array_string), (gst_value_serialize_array),
25         (gst_value_deserialize_array), (gst_value_intersect_array),
26         (gst_value_is_fixed), (_gst_value_initialize):
27         * gst/gstvalue.h:
28           GstElement::new-pad -> pad-added, GstElement::state-change ->
29           state-changed, GstValueFixedList -> GstValueArray, add format and
30           flags as their own arguments in gst_element_seek() (should improve
31           "bindeability"), remove function generators since they don't work
32           under a whole bunch of compilers (they were deprecated already
33           anyway).
34
35 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
36
37         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
38         (_gst_debug_register_funcptr):
39         * gst/gstinfo.h:
40           Fix illegal cast on some platforms (#309253).
41
42 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
43
44         * gst/gstmessage.c: (gst_message_new_custom):
45         * gst/gstmessage.h:
46           Add _new_custom, make _new_application a macro to _new_custom.
47
48 2005-07-20  Wim Taymans  <wim@fluendo.com>
49
50         * gst/base/gstbasesrc.c: (gst_base_src_init),
51         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
52         * gst/base/gstbasesrc.h:
53         Add a gboolean to decide when to push out a discont.
54
55         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
56         (gst_queue_loop), (gst_queue_handle_src_query),
57         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
58         (gst_queue_set_property), (gst_queue_get_property):
59         Some cleanups.
60
61         * tests/threadstate/threadstate1.c: (main):
62         Make a thread test compile and run... very silly..
63
64
65 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
66
67         * docs/manual/appendix-porting.xml:
68           Mention removal of libgstgconf-0.9.la and existence of gconf
69           elements.
70
71 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
72
73         * docs/pwg/advanced-clock.xml:
74         * docs/pwg/appendix-porting.xml:
75         * docs/pwg/intro-preface.xml:
76         * docs/pwg/other-base.xml:
77         * docs/pwg/other-manager.xml:
78         * docs/pwg/other-nton.xml:
79         * docs/pwg/other-ntoone.xml:
80         * docs/pwg/other-oneton.xml:
81         * docs/pwg/pwg.xml:
82           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
83           demuxer), remove n-to-n (was never written), fix some code examples
84           and links and update the porting section to include all this.
85
86 2005-07-19  Wim Taymans  <wim@fluendo.com>
87
88         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
89         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
90         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
91         (gst_queue_src_activate_push), (gst_queue_change_state),
92         (gst_queue_get_property):
93         * gst/gstqueue.h:
94         Propagate GstFlowReturn more intelligently upstream and output
95         an ERROR/EOS when streaming stopped due to fatal error.
96
97 2005-07-19  Wim Taymans  <wim@fluendo.com>
98
99         * tools/gst-launch.c: (check_intr), (event_loop), (main):
100         Don't block forever for the state change to complete, the
101         pipeline already did with a sensible timeout.
102
103 2005-07-19  Wim Taymans  <wim@fluendo.com>
104
105         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
106         Make sure we never call the create function is we
107         got deactivated.
108
109 2005-07-19  Andy Wingo  <wingo@pobox.com>
110
111         * gst/parse/parse.l: Attempt to solve bug #172815.
112
113 2005-07-19  Wim Taymans  <wim@fluendo.com>
114
115         * docs/design/part-clocks.txt:
116         * docs/design/part-events.txt:
117         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
118         Small docs updates.
119         Only update the seeking values when we are not
120         busy streaming.
121
122 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
123
124         * gst/base/gstbasesrc.c: (gst_base_src_loop):
125           Oops, ignore the result of gst_pad_push_event here.
126
127 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
128
129         * gst/base/gstbasesrc.c: (gst_base_src_loop),
130         (gst_base_src_activate_push):
131           Send discont event from the loop function, as pads
132           aren't activated yet in the activate_push handler.
133
134         * gst/gstbin.c: (bin_bus_handler):
135           Don't leak element name.
136
137 2005-07-18  Andy Wingo  <wingo@pobox.com>
138
139         * configure.ac: Use AS_LIBTOOL_TAGS.
140
141 2005-07-18  Wim Taymans  <wim@fluendo.com>
142
143         * docs/gst/gstreamer.types:
144         Remove deleted types.
145
146 2005-07-18  Wim Taymans  <wim@fluendo.com>
147
148         * check/elements/gstfakesrc.c: (GST_START_TEST):
149         * configure.ac:
150         * gst/Makefile.am:
151         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
152         (init_popt_callback):
153         * gst/gst.h:
154         * gst/gst_private.h:
155         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
156         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
157         * gst/gstbin.h:
158         * gst/gstbus.h:
159         * gst/gstconfig.h.in:
160         * gst/gstelement.c: (gst_element_class_init),
161         (gst_element_set_base_time), (gst_element_get_base_time),
162         (iterator_fold_with_resync), (gst_element_change_state),
163         (gst_element_dispose), (gst_element_get_bus):
164         * gst/gstelement.h:
165         * gst/gstelementfactory.h:
166         * gst/gsterror.c: (_gst_core_errors_init):
167         * gst/gsterror.h:
168         * gst/gstevent.h:
169         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
170         * gst/gstindex.c:
171         * gst/gstinfo.c: (_gst_debug_init):
172         * gst/gstmessage.c: (_gst_message_copy):
173         * gst/gstmessage.h:
174         * gst/gstminiobject.h:
175         * gst/gstobject.c:
176         * gst/gstobject.h:
177         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
178         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
179         * gst/gstpad.h:
180         * gst/gstparse.h:
181         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
182         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
183         (gst_pipeline_get_last_stream_time):
184         * gst/gstpipeline.h:
185         * gst/gstpluginfeature.h:
186         * gst/gstquery.h:
187         * gst/gstscheduler.c:
188         * gst/gstscheduler.h:
189         * gst/gststructure.h:
190         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
191         (gst_task_finalize), (gst_task_func), (gst_task_create),
192         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
193         (gst_task_stop), (gst_task_pause):
194         * gst/gsttask.h:
195         * gst/gsttypefind.h:
196         * gst/gsttypes.h:
197         * gst/registries/gstlibxmlregistry.c: (load_feature),
198         (gst_xml_registry_load), (gst_xml_registry_save_feature):
199         * gst/registries/gstxmlregistry.c:
200         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
201         * gst/schedulers/threadscheduler.c:
202         * libs/gst/control/dparammanager.h:
203         * tools/gst-inspect.c: (print_element_list),
204         (print_plugin_features), (print_element_features):
205         * tools/gst-xmlinspect.c: (print_element_list),
206         (print_plugin_info), (main):
207         Removed plugable schedulers.
208         Removed Scheduler/Manager from elements.
209         Removed gsttypes.h, rearranged includes.
210         Removed dependency pad<->element, element<>pipeline, and
211         various others,  fix includes.
212         implement gst_pad_get_parent() with gst_object_get_parent()
213         Make GstTask sefcontained.
214         Fix _get_state() on GstBin, it did not return ASYNC with a 0
215         timeout.
216         Fix endless loop in iterator_fold_with_resync.
217
218
219 2005-07-18  Wim Taymans  <wim@fluendo.com>
220
221         * gst/Makefile.am:
222         * gst/gstarch.h:
223         Remove old file.
224
225 2005-07-18  Wim Taymans  <wim@fluendo.com>
226
227         * gst/Makefile.am:
228         No more cothreads.h
229
230 2005-07-18  Wim Taymans  <wim@fluendo.com>
231
232         * gst/cothreads.c:
233         * gst/cothreads.h:
234         Let's remove these.
235
236 2005-07-18  Wim Taymans  <wim@fluendo.com>
237
238         * docs/design/part-dynamic.txt:
239         * docs/design/part-events.txt:
240         * docs/design/part-seeking.txt:
241         Some more docs in the works.
242
243         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
244         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
245         (gst_base_transform_setcaps), (gst_base_transform_get_size),
246         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
247         (gst_base_transform_handle_buffer),
248         (gst_base_transform_sink_activate_push),
249         (gst_base_transform_src_activate_pull),
250         (gst_base_transform_set_passthrough),
251         (gst_base_transform_is_passthrough):
252         Refcounting fixes.
253
254         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
255         Cleanups.
256
257         * gst/gstevent.c: (gst_event_finalize):
258         Set SRC to NULL.
259
260         * gst/gstutils.c: (gst_element_unlink),
261         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
262         (gst_pad_proxy_setcaps):
263         * gst/gstutils.h:
264         Add _get_parent_element() to get a pads parent as an element.
265
266 2005-07-18  Wim Taymans  <wim@fluendo.com>
267
268         * check/gst/gstbin.c: (GST_START_TEST):
269         Remove bogus test.
270
271 2005-07-18  Wim Taymans  <wim@fluendo.com>
272
273         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
274         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
275         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
276         (gst_base_sink_event), (gst_base_sink_do_sync),
277         (gst_base_sink_chain), (gst_base_sink_loop),
278         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
279         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
280         Refcounting fixes.
281         Fix logic for returning ASYNC when not prerolled.
282
283 2005-07-18  Wim Taymans  <wim@fluendo.com>
284
285         * gst/gstqueue.c: (gst_queue_handle_sink_event):
286         Fix nasty refcount bug.
287
288 2005-07-16 Philippe Khalaf <burger@speedy.org>
289         * gst/elements/gstfdsrc.c:
290         * gst/elements/gstfdsrc.h:
291         * gst/elements/gstelements.c:
292         * gst/elements/Makefile.am:
293         Ported fdsrc to 0.9.
294
295 2005-07-16  Wim Taymans  <wim@fluendo.com>
296
297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
298         (gst_base_sink_do_sync):
299         Fix compile error.
300
301 2005-07-16  Wim Taymans  <wim@fluendo.com>
302
303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
304         (gst_base_sink_event), (gst_base_sink_get_times),
305         (gst_base_sink_do_sync), (gst_base_sink_change_state):
306         * gst/base/gstbasesink.h:
307         Store and use discont values when syncing buffers as described
308         in design docs.
309         
310         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
311         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
312         (gst_base_src_activate_push):
313         Push discont event when starting.
314
315         * gst/elements/gstidentity.c: (gst_identity_transform):
316         Small cleanups.
317
318         * gst/gstbin.c: (gst_bin_change_state):
319         Small cleanups in base_time  distribution.
320
321         * gst/gstelement.c: (gst_element_set_base_time),
322         (gst_element_get_base_time), (gst_element_change_state):
323         * gst/gstelement.h:
324         Added methods for the base_time of the element.
325         Some MT fixes.
326
327         * gst/gstpipeline.c: (gst_pipeline_send_event),
328         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
329         (gst_pipeline_get_last_stream_time):
330         * gst/gstpipeline.h:
331         MT fixes.
332         Handle seeking as described in design doc, remove stream_time
333         hack.
334         Cleanups clock and stream_time selection code. Added accessors
335         for the stream_time.
336         
337
338 2005-07-16  Andy Wingo  <wingo@pobox.com>
339
340         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
341         (#305291).
342
343 2005-07-16  Wim Taymans  <wim@fluendo.com>
344
345         * check/gst/gstbin.c: (GST_START_TEST):
346         Make elements silent as the deep_notify refs the
347         parent, which might make the test fail.
348
349         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
350         Don't hold the lock for too long.
351
352 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
353
354         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
355           Don't unref the caps we passed to gst_caps_make_writable() after
356           passing them. gst_caps_make_writable() will do that for us.
357
358 2005-07-15  Andy Wingo  <wingo@pobox.com>
359
360         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
361         (#157311).
362
363         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
364         own marshalling function for the handoff signal. Properly type the
365         buffer as a buffer. Fixes some warnings. Should do a more general
366         solution.
367         (gst_identity_class_init): Plug into the right marshaller.
368
369 2005-07-15  Wim Taymans  <wim@fluendo.com>
370
371         * docs/design/part-TODO.txt:
372         * docs/design/part-clocks.txt:
373         * docs/design/part-element-sink.txt:
374         * docs/design/part-events.txt:
375         * docs/design/part-gstpipeline.txt:
376         Updated docs, mostly DISCONT related.
377
378 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
379
380         * docs/pwg/building-pads.xml:
381           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
382
383 2005-07-15  Andy Wingo  <wingo@pobox.com>
384
385         * tools/gst-typefind.c: Update, add copyright block.
386
387         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
388         Normalize and truncate caps before fixation.
389
390         * gst/gstcaps.h:
391         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
392         discards all but the first structure from its argument.
393
394 2005-07-15  Wim Taymans  <wim@fluendo.com>
395
396         * gst/base/gstbasetransform.c: (gst_base_transform_init),
397         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
398         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
399         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
400         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
401         (gst_base_transform_chain), (gst_base_transform_change_state),
402         (gst_base_transform_set_passthrough),
403         (gst_base_transform_is_passthrough):
404         * gst/base/gstbasetransform.h:
405         Make passthrough work using the bufferpools.
406         Changed API a bit, subclasses have to write into a buffer
407         provided by the base class.
408         More debug info in nego functions.
409         
410         * gst/elements/gstidentity.c: (gst_identity_init),
411         (gst_identity_transform):
412         Port to new base class.
413
414 2005-07-15  Wim Taymans  <wim@fluendo.com>
415
416         * gst/gstmessage.c: (gst_message_new_state_changed):
417         * tools/gst-launch.c: (event_loop), (main):
418         Totally dump messages in -launch with the -m option.
419         Fix message name for State messages,
420
421 2005-07-14  Wim Taymans  <wim@fluendo.com>
422
423         * gst/base/gstbasesrc.c: (gst_base_src_loop):
424         Post error messages on errors.
425
426 2005-07-14  Wim Taymans  <wim@fluendo.com>
427
428         * gst/gstcaps.c: (gst_caps_do_simplify):
429         Remove debug info.
430
431         * gst/gsterror.h:
432         Define error for stream stopped.
433
434         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
435         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
436         Do proper return values.
437
438         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
439         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
440         (gst_pad_get_range):
441         Better return values.
442
443         * gst/gstpad.h:
444         Reorganise return values, add macro to check for fatal errors.
445
446         * gst/gstqueue.c: (gst_queue_chain):
447         Return proper GstFlowReturn values,
448
449 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
450
451         * docs/gst/gstreamer-sections.txt:
452         * docs/gst/gstreamer.types:
453         * docs/gst/tmpl/gst.sgml:
454         * docs/gst/tmpl/gstbasesink.sgml:
455         * docs/gst/tmpl/gstbasesrc.sgml:
456         * docs/gst/tmpl/gstbasetransform.sgml:
457         * docs/gst/tmpl/gstbin.sgml:
458         * docs/gst/tmpl/gstbuffer.sgml:
459         * docs/gst/tmpl/gstcaps.sgml:
460         * docs/gst/tmpl/gstclock.sgml:
461         * docs/gst/tmpl/gstcompat.sgml:
462         * docs/gst/tmpl/gstconfig.sgml:
463         * docs/gst/tmpl/gstelement.sgml:
464         * docs/gst/tmpl/gstelementdetails.sgml:
465         * docs/gst/tmpl/gstelementfactory.sgml:
466         * docs/gst/tmpl/gstenumtypes.sgml:
467         * docs/gst/tmpl/gsterror.sgml:
468         * docs/gst/tmpl/gstevent.sgml:
469         * docs/gst/tmpl/gstfakesink.sgml:
470         * docs/gst/tmpl/gstfakesrc.sgml:
471         * docs/gst/tmpl/gstfilesink.sgml:
472         * docs/gst/tmpl/gstfilesrc.sgml:
473         * docs/gst/tmpl/gstfilter.sgml:
474         * docs/gst/tmpl/gstformat.sgml:
475         * docs/gst/tmpl/gstghostpad.sgml:
476         * docs/gst/tmpl/gstimplementsinterface.sgml:
477         * docs/gst/tmpl/gstindex.sgml:
478         * docs/gst/tmpl/gstindexfactory.sgml:
479         * docs/gst/tmpl/gstinfo.sgml:
480         * docs/gst/tmpl/gstiterator.sgml:
481         * docs/gst/tmpl/gstmacros.sgml:
482         * docs/gst/tmpl/gstmemchunk.sgml:
483         * docs/gst/tmpl/gstminiobject.sgml:
484         * docs/gst/tmpl/gstobject.sgml:
485         * docs/gst/tmpl/gstpad.sgml:
486         * docs/gst/tmpl/gstpadtemplate.sgml:
487         * docs/gst/tmpl/gstparse.sgml:
488         * docs/gst/tmpl/gstpipeline.sgml:
489         * docs/gst/tmpl/gstplugin.sgml:
490         * docs/gst/tmpl/gstpluginfeature.sgml:
491         * docs/gst/tmpl/gstquery.sgml:
492         * docs/gst/tmpl/gstqueue.sgml:
493         * docs/gst/tmpl/gstregistry.sgml:
494         * docs/gst/tmpl/gstregistrypool.sgml:
495         * docs/gst/tmpl/gstscheduler.sgml:
496         * docs/gst/tmpl/gstschedulerfactory.sgml:
497         * docs/gst/tmpl/gststructure.sgml:
498         * docs/gst/tmpl/gstsystemclock.sgml:
499         * docs/gst/tmpl/gsttaglist.sgml:
500         * docs/gst/tmpl/gsttagsetter.sgml:
501         * docs/gst/tmpl/gsttrace.sgml:
502         * docs/gst/tmpl/gsttrashstack.sgml:
503         * docs/gst/tmpl/gsttypefind.sgml:
504         * docs/gst/tmpl/gsttypefindfactory.sgml:
505         * docs/gst/tmpl/gsttypes.sgml:
506         * docs/gst/tmpl/gsturihandler.sgml:
507         * docs/gst/tmpl/gsturitype.sgml:
508         * docs/gst/tmpl/gstutils.sgml:
509         * docs/gst/tmpl/gstvalue.sgml:
510         * docs/gst/tmpl/gstversion.sgml:
511         * docs/gst/tmpl/gstxml.sgml:
512         * docs/libs/tmpl/gstcontrol.sgml:
513         * docs/libs/tmpl/gstdataprotocol.sgml:
514         * docs/libs/tmpl/gstdparam.sgml:
515         * docs/libs/tmpl/gstdplinint.sgml:
516         * docs/libs/tmpl/gstdpman.sgml:
517         * docs/libs/tmpl/gstdpsmooth.sgml:
518         * docs/libs/tmpl/gstgetbits.sgml:
519         * docs/libs/tmpl/gstunitconvert.sgml:
520         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
521         (gst_push_src_base_init), (gst_push_src_class_init),
522         (gst_push_src_init), (gst_push_src_create):
523         * gst/base/gstpushsrc.h:
524         * gst/elements/gstelements.c:
525         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
526         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
527         (gst_fake_sink_init), (gst_fake_sink_set_property),
528         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
529         (gst_fake_sink_event), (gst_fake_sink_preroll),
530         (gst_fake_sink_render), (gst_fake_sink_change_state):
531         * gst/elements/gstfakesink.h:
532         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
533         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
534         (gst_fake_src_base_init), (gst_fake_src_class_init),
535         (gst_fake_src_init), (gst_fake_src_event_handler),
536         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
537         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
538         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
539         (gst_fake_src_create_buffer), (gst_fake_src_create),
540         (gst_fake_src_start), (gst_fake_src_stop):
541         * gst/elements/gstfakesrc.h:
542         * gst/elements/gstfilesink.c: (_do_init),
543         (gst_file_sink_base_init), (gst_file_sink_class_init),
544         (gst_file_sink_init), (gst_file_sink_dispose),
545         (gst_file_sink_set_location), (gst_file_sink_set_property),
546         (gst_file_sink_get_property), (gst_file_sink_open_file),
547         (gst_file_sink_close_file), (gst_file_sink_query),
548         (gst_file_sink_event), (gst_file_sink_render),
549         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
550         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
551         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
552         * gst/elements/gstfilesink.h:
553         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
554         (gst_file_src_class_init), (gst_file_src_init),
555         (gst_file_src_finalize), (gst_file_src_set_location),
556         (gst_file_src_set_property), (gst_file_src_get_property),
557         (gst_file_src_map_region), (gst_file_src_map_small_region),
558         (gst_file_src_create_mmap), (gst_file_src_create_read),
559         (gst_file_src_create), (gst_file_src_is_seekable),
560         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
561         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
562         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
563         (gst_file_src_uri_handler_init):
564         * gst/elements/gstfilesrc.h:
565           more autistic cleanliness in functions/names/defines
566
567 2005-07-13  Andy Wingo  <wingo@pobox.com>
568
569         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
570         source couldn't negotiate.
571
572         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
573         connections again.
574
575         * gst/gstutils.h:
576         * gst/gstutils.c (gst_element_link_pads_filtered): New old
577         function. I am channeling Hades. Put your boots on suckers!!!
578
579 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * testsuite/caps/Makefile.am:
582         * testsuite/caps/value_compare.c:
583         * testsuite/caps/value_intersect.c:
584         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
585           move two testsuite apps over to the check dir
586
587 2005-07-12  Wim Taymans  <wim@fluendo.com>
588
589         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
590         Added more debug info in the negotiate process.
591
592         * gst/gstmessage.h:
593         Prepare for segment playback.
594
595         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
596         Better debugging.
597
598         * gst/gstutils.c:
599         Some more docs.
600
601         * tools/gst-launch.c: (main):
602         NULL pipeline on errors.
603
604 2005-07-12  Andy Wingo  <wingo@pobox.com>
605
606         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
607         not it comes from a malloc region. Make sure our copy gets freed.
608
609 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
610
611         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
612         * check/gst/gstmessage.c: (GST_START_TEST):
613         * check/gst/gststructure.c: (GST_START_TEST),
614         (gst_structure_suite), (main):
615           more testing
616         * gst/gstelement.c: (gst_element_message_full):
617           clean up GError and debug string now that they get copied
618         * gst/gstmessage.c: (gst_message_new_error),
619         (gst_message_new_warning), (gst_message_parse_error),
620         (gst_message_parse_warning):
621           use GST_TYPE_G_ERROR for structure_new, and take copies of
622           arguments, so that we don't mess up refcounting
623
624 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
625
626         * check/Makefile.am:
627           add per-test valgrind targets
628         * check/gst-libs/gdp.c: (GST_START_TEST),
629         (gst_data_protocol_suite), (main):
630           clean up
631
632 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
633
634         * check/Makefile.am:
635           instate more valgrindable tests
636         * check/elements/gstfakesrc.c: (chain_func), (event_func),
637         (GST_START_TEST), (fakesrc_suite):
638         * check/gst/gstpad.c: (GST_START_TEST):
639         * check/gst/gststructure.c: (GST_START_TEST):
640           fix test leaks
641         * docs/gst/tmpl/gstminiobject.sgml:
642         * gst/gstpad.c: (gst_pad_finalize):
643           fix the static mutex leak
644
645 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
646
647         * check/Makefile.am:
648           add two more tests for valgrinding
649         * check/gst/gstvalue.c: (GST_START_TEST):
650           test refcount of deserialized buffer, found a leak
651         * docs/gst/gstreamer-docs.sgml:
652         * docs/gst/gstreamer-sections.txt:
653         * docs/gst/gstreamer.types:
654         * docs/gst/tmpl/gstminiobject.sgml:
655           add miniobject to docs
656         * gst/gstminiobject.c:
657           add some docs
658         * gst/gstvalue.c: (gst_value_deserialize_buffer),
659         (gst_string_unwrap):
660           fix a hard-to-find invalid write for one of the tests
661           fix a leak for deserialized buffers
662
663 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
664
665         * docs/pwg/advanced-events.xml:
666         * docs/pwg/advanced-request.xml:
667         * docs/pwg/advanced-scheduling.xml:
668         * docs/pwg/appendix-porting.xml:
669         * docs/pwg/building-boiler.xml:
670         * docs/pwg/intro-preface.xml:
671         * docs/pwg/other-ntoone.xml:
672           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
673           of example code and explanation for pad activation, loop() and
674           getrange() functions and a bit more. Remove old comments pointing
675           to loop-functions.
676         * examples/pwg/Makefile.am:
677           Add loop/getrange examples.
678
679 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
680
681         * configure.ac:
682           check for valgrind binary + some fixes
683         * check/gst.supp:
684           valgrind suppressions for the tests
685         * check/Makefile.am:
686           add a valgrind: target that valgrinds the unit tests
687         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
688         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
689         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
690         * check/gst/gstghostpad.c:
691           added some cleanup
692         * check/gst/gstdata.c:
693           removed
694         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
695         (thread_unref), (gst_mini_object_suite), (main):
696           added
697         * gst/gst.c: (gst_deinit):
698         * gst/gst.h:
699           add a method to clean up.
700         * gst/gstsystemclock.c: (gst_system_clock_dispose),
701         (gst_system_clock_obtain):
702           allow for disposing the system clock.
703         * tools/gst-launch.c: (main):
704           deinit
705
706 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
707
708         * docs/gst/tmpl/gstbasesrc.sgml:
709         * docs/gst/tmpl/gstfakesrc.sgml:
710         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
711         (gst_base_src_init), (gst_base_src_set_property),
712         (gst_base_src_get_property), (gst_base_src_get_range),
713         (gst_base_src_start):
714         * gst/base/gstbasesrc.h:
715           add num-buffers property
716         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
717         (gst_fakesrc_init), (gst_fakesrc_set_property),
718         (gst_fakesrc_get_property), (gst_fakesrc_create),
719         (gst_fakesrc_start):
720           remove num-buffers property
721
722 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
723
724         * docs/gst/gstreamer-sections.txt:
725         * docs/gst/tmpl/gstbasesink.sgml:
726         * docs/gst/tmpl/gstbasesrc.sgml:
727         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
728         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
729         (gst_base_sink_finalize), (gst_base_sink_set_clock),
730         (gst_base_sink_set_property), (gst_base_sink_get_property),
731         (gst_base_sink_handle_object), (gst_base_sink_event),
732         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
733         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
734         (gst_base_sink_loop), (gst_base_sink_deactivate),
735         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
736         (gst_base_sink_change_state):
737         * gst/base/gstbasesink.h:
738         * gst/base/gstbasesrc.h:
739         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
740         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
741         (gst_filesink_init):
742           more macro splitting
743
744 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
745
746         * gst/gstelement.c: (gst_element_get_bus):
747           add debug
748         * tools/gst-launch.c: (check_intr), (event_loop):
749           fix bus leaks
750
751 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
752
753         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
754           fix a caps leak
755
756 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
757
758         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
759         (gst_base_src_finalize):
760           add finalize method and clean up properly
761         * gst/gstpipeline.c: (gst_pipeline_dispose):
762           add debug
763
764 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
765
766         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
767         (gst_bin_suite):
768           add more things to check
769         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
770         * gst/gstelement.c:
771           more debug
772
773 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
774
775         * check/elements/gstfakesrc.c: (chain_func), (event_func),
776         (GST_START_TEST), (fakesrc_suite):
777         * check/gst-libs/gdp.c: (GST_START_TEST):
778         * check/gst/gst.c: (GST_START_TEST):
779         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
780         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
781         * check/gst/gstbus.c: (GST_START_TEST):
782         * check/gst/gstcaps.c: (GST_START_TEST):
783         * check/gst/gstdata.c: (GST_START_TEST):
784         * check/gst/gstelement.c: (GST_START_TEST):
785         * check/gst/gstghostpad.c: (GST_START_TEST):
786         * check/gst/gstiterator.c: (GST_START_TEST):
787         * check/gst/gstmessage.c: (GST_START_TEST):
788         * check/gst/gstobject.c: (GST_START_TEST):
789         * check/gst/gstpad.c: (GST_START_TEST):
790         * check/gst/gststructure.c: (GST_START_TEST):
791         * check/gst/gstsystemclock.c: (GST_START_TEST),
792         (gst_systemclock_suite):
793         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
794         * check/gst/gstvalue.c: (GST_START_TEST):
795         * check/pipelines/cleanup.c: (GST_START_TEST):
796         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
797         * check/states/sinks.c: (GST_START_TEST):
798         * check/gstcheck.c: (gst_check_init):
799         * check/gstcheck.h:
800           add debugging category
801           use GST_START_TEST now, so we add a debug line
802
803 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
804
805         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
806           add test for state change message on a bin
807         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
808           add another test
809         * gst/gstbin.c: (gst_bin_init):
810         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
811         * gst/gstelement.c: (gst_element_post_message),
812         (gst_element_set_state):
813         * gst/gstelementfactory.c: (gst_element_factory_create):
814         * gst/gstmessage.c: (gst_message_new):
815         * gst/gstscheduler.c:
816           various debugging additions and cleanups
817
818 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
819
820         * check/Makefile.am:
821         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
822         (main):
823           adding tests for elements
824         * gst/gstelement.c: (gst_element_dispose):
825
826 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
827
828         * gst/registries/gstlibxmlregistry.c: (load_feature):
829           plug more leaks.  A simple gst_init() now is leakfree, yay.
830
831 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
832
833         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
834         (gst_xml_registry_load):
835           plug another memleak
836
837 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
838
839         * configure.ac:
840           use GST_SET_ERROR_CFLAGS
841         * docs/faq/cvs.xml:
842           change to ERROR_CFLAGS
843
844 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
845
846         * configure.ac:
847           make GST_ERROR_CFLAGS overridable and re-enable Werror
848         * docs/faq/cvs.xml:
849           add a note about error CFLAGS
850         * docs/gst/tmpl/gstfakesrc.sgml:
851         * gst/elements/gstfakesrc.c:
852           comment out some unused code
853         * gst/gst.c: (split_and_iterate):
854         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
855         (load_feature):
856           plug some memleaks
857
858 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * common/Makefile.am:
861         * common/gtk-doc.mak:
862         * docs/gst/Makefile.am:
863           factor out gtk-doc.mak
864
865 2005-07-07  Wim Taymans  <wim@fluendo.com>
866
867         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
868         (gst_thread_scheduler_dispose):
869         Unlock the STREAM_LOCK completely.
870
871 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
872
873         * check/Makefile.am:
874         * check/elements/.cvsignore:
875         * check/elements/gstfakesrc.c: (chain_func), (event_func),
876         (START_TEST), (fakesrc_suite), (main):
877         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
878         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
879         (gst_fakesrc_create), (gst_fakesrc_start):
880         * gst/elements/gstfakesrc.h:
881           adding a first element test
882
883 2005-07-07  Andy Wingo  <wingo@pobox.com>
884
885         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
886         debug message.
887
888 2005-07-07  Wim Taymans  <wim@fluendo.com>
889
890         * gst/gstquery.c:
891         * gst/gstquery.h:
892         Remove old types
893
894 2005-07-07  Wim Taymans  <wim@fluendo.com>
895
896         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
897         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
898         Allow subclasses to implement their own negotiation.
899
900 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
901
902         * docs/design/part-gstbin.txt:
903         * docs/design/part-gstpipeline.txt:
904           Update design notes to reflect the movement of
905           responsibility for bus handling from GstPipeline to
906           GstBin
907
908 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
909
910         * configure.ac:
911           Remove unnecessary queue2/3/4 examples.
912
913 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
914
915         * examples/Makefile.am:
916         * examples/helloworld/helloworld.c: (event_loop), (main):
917         * examples/queue/queue.c: (event_loop), (main):
918         * examples/queue2/queue2.c: (main):
919           Update a couple of the examples to work again.
920
921         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
922         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
923          Spelling corrections and extra debug.
924         
925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
926         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
927         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
928         * gst/gstbin.h:
929         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
930         (gst_pipeline_change_state):
931         * gst/gstpipeline.h:
932           Move the bus handler for children to the GstBin, and create a
933           separate bus for receiving messages from children to the one the
934           bus sends 'upwards' on.
935
936 2005-07-06  Wim Taymans  <wim@fluendo.com>
937
938         * gst/base/README:
939         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
940         (gst_base_sink_handle_object), (gst_base_sink_loop),
941         (gst_base_sink_change_state):
942         * gst/base/gstbasesink.h:
943         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
944         (gst_base_src_init), (gst_base_src_setcaps),
945         (gst_base_src_getcaps), (gst_base_src_loop),
946         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
947         (gst_base_src_start), (gst_base_src_change_state):
948         * gst/base/gstbasesrc.h:
949         Make basesrc negotiate.
950         Handle the case where preroll fails in basesink.
951         Update README.
952
953 2005-07-06  Wim Taymans  <wim@fluendo.com>
954
955         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
956         Implement the fixate function.
957         Clean up acceptcaps.
958
959 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
960
961         * docs/pwg/building-filterfactory.xml:
962         * docs/pwg/pwg.xml:
963           Remove never-written filter-factory chapter; I'll add the various
964           base classes to part 4 ("other element types") later on.
965
966 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
967
968         * docs/pwg/advanced-negotiation.xml:
969         * docs/pwg/building-boiler.xml:
970         * docs/pwg/building-pads.xml:
971         * docs/pwg/pwg.xml:
972         * examples/pwg/Makefile.am:
973           Add a chapter on caps negotiation, simplify the original code
974           samples a bit w.r.t. caps negotiation, add link to the advanced
975           section. Add a bunch of examples showing different use cases of
976           different types of caps negotiation. Upstream renegotiation isn't
977           fully documented yet since nobody knows how that works.
978
979 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
980
981         * check/gst/gstpad.c:
982         * check/gstcheck.c:
983         * gst/gstpad.c: (gst_pad_get_internal_links_default):
984           if pad has no parent, return NULL as list of internal links
985
986 2005-07-05  Andy Wingo  <wingo@pobox.com>
987
988         * gst/elements/gstfilesrc.c:
989         * gst/elements/gstfakesrc.c: 
990         * gst/base/gstpushsrc.c:
991         * gst/base/gstbasesrc.h: 
992         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
993         
994 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
995
996         * Makefile.am:
997           better report generation target (lcov needs a patch)
998
999 2005-07-05  Andy Wingo  <wingo@pobox.com>
1000
1001         * gst/elements, testsuite: Null if we got it...
1002
1003 2005-07-05  Wim Taymans  <wim@fluendo.com>
1004
1005         * configure.ac:
1006         * libs/gst/dataprotocol/Makefile.am:
1007         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1008         * libs/gst/dataprotocol/dataprotocol.h:
1009         * pkgconfig/Makefile.am:
1010         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1011         * pkgconfig/gstreamer-dataprotocol.pc.in:
1012         Ported dataprotol to 0.9. 
1013         Added pkgconfig files.
1014
1015 2005-07-05  Andy Wingo  <wingo@pobox.com>
1016
1017         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1018         Default to returning TRUE for the case when tranform_caps returns
1019         a fixed caps, like for identity or volume.
1020
1021         * check/gst/gstbus.c (pound_bus_with_messages): 
1022         * check/gst/gstmessage.c (START_TEST): 
1023         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1024         message API change.
1025
1026         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1027         logic weaks here: always run transform_caps, trying passthrough
1028         operation only if the original caps intersects with the transform.
1029
1030         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1031         source and sink caps.
1032
1033         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1034         Intersect the peer caps with the pad template before going into
1035         transform_caps.
1036         (gst_base_transform_transform_caps): More debugging.
1037
1038         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1039         src argument.
1040
1041 2005-07-04  Edward Hervey  <edward@fluendo.com>
1042
1043         * gst/gstutils.c:
1044         * gst/gstutils.h:
1045         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1046         in bindings.
1047
1048 2005-07-04  Andy Wingo  <wingo@pobox.com>
1049
1050         * check/gst/gstpad.c: Only set explicit caps on pads.
1051
1052 2005-07-01  Andy Wingo  <wingo@pobox.com>
1053
1054         * tests/network-clock.scm: Commentary update.
1055
1056         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1057         Didn't really make sense, not implementable with basetransform,
1058         etc.
1059         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1060         attempt at implementing the sync property, needs an unlock method.
1061
1062         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1063         New func, by default returns the same caps (the identity
1064         transformation).
1065         (gst_base_transform_getcaps): Uses transform_caps to return
1066         something sensible.
1067         (gst_base_transform_setcaps): Complicated logic to get caps on
1068         both pads, even if they are different, and to call set_caps once
1069         for every time both pads get their caps set.
1070         (gst_base_transform_handle_buffer): Give the ref to the transform
1071         function. Allows in-place modification of the buffer.
1072
1073         * gst/base/gstbasetransform.h (transform_caps): New class method.
1074         Given caps on one side, what can I do on the other.
1075         (set_caps): Take two caps, one for each side of the element.
1076
1077         * gst/gstpad.h:
1078         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1079         caps in place. This is safe because we can check the mutability of
1080         the caps, and a good idea because fixate functions are just called
1081         as a matter of last resort. (Not actually implemented.)
1082         (gst_pad_set_caps): If the caps we're setting is actually the same
1083         as the existing pad caps, just update the pointer without calling
1084         setcaps. Assert that caps is either NULL or fixed, as per the
1085         docs.
1086
1087         * gst/gstghostpad.c: Update for fixate changes.
1088
1089 2005-07-02  Andy Wingo  <wingo@pobox.com>
1090
1091         * gst/gstcaps.c:
1092         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1093         two refcounts makes it immutable, which is enough. Doc more.
1094
1095 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1096
1097         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1098           Put the mini_object into GValue as a mini_object,
1099           not a gpointer, since that's how we declared
1100           the signal.
1101
1102 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1103
1104         * examples/pwg/Makefile.am:
1105           Fix buildbot again.
1106
1107 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1108
1109         * docs/pwg/building-testapp.xml:
1110           Add extra check.
1111         * examples/pwg/Makefile.am:
1112           Fix buildbot.
1113
1114 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1115
1116         * configure.ac:
1117         * examples/Makefile.am:
1118         * examples/pwg/Makefile.am:
1119         * examples/pwg/extract.pl:
1120           Enable building the PWG examples.
1121         * docs/pwg/advanced-interfaces.xml:
1122           Add URI interface stub.
1123         * docs/pwg/advanced-types.xml:
1124         * docs/pwg/other-autoplugger.xml:
1125         * docs/pwg/appendix-porting.xml:
1126         * docs/pwg/pwg.xml:
1127           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1128         * docs/pwg/building-boiler.xml:
1129         * docs/pwg/building-chainfn.xml:
1130         * docs/pwg/building-pads.xml:
1131         * docs/pwg/building-props.xml:
1132         * docs/pwg/building-state.xml:
1133         * docs/pwg/building-testapp.xml:
1134           Update the building-*.xml parts for 0.9 changes. All examples
1135           code blocks compile in examples/pwg/*.
1136
1137 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1138
1139         * docs/manual/advanced-autoplugging.xml:
1140         * docs/manual/appendix-checklist.xml:
1141         * docs/manual/appendix-integration.xml:
1142         * docs/manual/highlevel-components.xml:
1143           Fix playbin/decodebin examples, update docs a bit, mention bus
1144           instead of signals in various places, mention kmplayer and
1145           kaffeine since they have a working GStreamer backend in the KDE
1146           section.
1147
1148 2005-06-30  Wim Taymans  <wim@fluendo.com>
1149
1150         * CHANGES-0.9:
1151         * docs/design/draft-ghostpads.txt:
1152         * docs/design/draft-push-pull.txt:
1153         * docs/design/draft-query.txt:
1154         * docs/design/part-TODO.txt:
1155         * docs/design/part-query.txt:
1156         Added CHANGES-0.9 doc, updated status of other docs.
1157         
1158         * gst/gstquery.h:
1159         Remove "hmm" macro
1160
1161 2005-06-30  Wim Taymans  <wim@fluendo.com>
1162
1163         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1164         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1165         (gst_base_sink_change_state):
1166         * gst/base/gstbasesink.h:
1167         Some tweaks, only EOS and a buffer complete a preroll.
1168
1169 2005-06-30  Andy Wingo  <wingo@pobox.com>
1170
1171         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1172         activate_push down to the internal pad as well.
1173
1174 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1175
1176         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1177
1178         * gst/gsttaginterface.c:
1179           Some documentation fixes (#307394 and #307397).
1180
1181 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1182
1183         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1184
1185         * gst/gstvalue.c: (gst_value_intersect_list):
1186           Fix memleak (#309125).
1187
1188 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1189
1190         * docs/manual/advanced-dataaccess.xml:
1191           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1192         * docs/manual/basics-pads.xml:
1193           Add reference for filtered caps to above chapter.
1194
1195 2005-06-30  Wim Taymans  <wim@fluendo.com>
1196
1197         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1198         (gst_bin_change_state):
1199         Probes are gone.
1200         Lame attempt at making the state change function a bit
1201         more readable.
1202
1203 2005-06-30  Wim Taymans  <wim@fluendo.com>
1204
1205         * docs/design/part-clocks.txt:
1206         * docs/design/part-element-sink.txt:
1207         * docs/design/part-events.txt:
1208         * docs/design/part-preroll.txt:
1209         * docs/design/part-states.txt:
1210         Some more tweeks and additions to the docs.
1211
1212 2005-06-30  Wim Taymans  <wim@fluendo.com>
1213
1214         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1215         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1216         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1217         (gst_pad_check_pull_range), (gst_pad_get_range),
1218         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1219         * gst/gstpad.h:
1220         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1221         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1222         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1223         (gst_pad_remove_buffer_probe):
1224         Removed atomic operations, use existing LOCK.
1225         Move exception handling out of main code path.
1226
1227 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1228
1229         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1230         (silly_return_true_function), (gst_pad_class_init),
1231         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1232         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1233         (gst_pad_send_event):
1234           Fix accumulator, add default value by using _emitv() instead
1235           of _emit() for signal emission.
1236
1237 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1238
1239         * docs/manual/advanced-dataaccess.xml:
1240         * examples/manual/Makefile.am:
1241           Add probe example.
1242         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1243           Make work (??).
1244
1245 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1246
1247         * gst/elements/gstfilesink.c: (gst_filesink_render):
1248           Simplify code so that we don't have to handle short
1249           writes and return GST_FLOW_ERROR if an error occured.
1250
1251 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1252
1253         * docs/gst/gstreamer-docs.sgml:
1254           Remove probes more.
1255
1256 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1257
1258         * docs/gst/gstreamer-sections.txt:
1259         * docs/gst/tmpl/gstpad.sgml:
1260         * docs/gst/tmpl/gstprobe.sgml:
1261         * gst/Makefile.am:
1262         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1263         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1264         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1265         (gst_pad_push_event), (gst_pad_send_event):
1266         * gst/gstpad.h:
1267         * gst/gstutils.c: (gst_pad_add_data_probe),
1268         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1269         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1270         (gst_pad_remove_buffer_probe):
1271         * gst/gstutils.h:
1272           Remove old probes, add new g-signal-based probes and some utility
1273           functions.
1274
1275 2005-06-29  Edward Hervey  <edward@fluendo.com>
1276
1277         * gst/gstelementfactory.c:
1278         * gst/gstutils.h:
1279         * gst/gstutils.c:
1280         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1281         the definition to the header file.
1282
1283 2005-06-29  Andy Wingo  <wingo@pobox.com>
1284
1285         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1286         plugins from the source directory.
1287
1288 2005-06-29  Wim Taymans  <wim@fluendo.com>
1289
1290         * docs/gst/tmpl/gstbuffer.sgml:
1291         * docs/gst/tmpl/gstclock.sgml:
1292         Some fixings for blantently wrong text.
1293
1294 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1295
1296         * check/Makefile.am:
1297         * gst/gst.c: (add_path_func), (init_pre):
1298         * gst/gstregistry.c: (gst_registry_add_path):
1299           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1300           only scan the GST_PLUGIN_PATH locations, and not add
1301           system locations
1302
1303 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1304
1305         * docs/gst/gstreamer-sections.txt:
1306         * docs/gst/tmpl/gstbasesrc.sgml:
1307         * gst/gstelement.c:
1308         * gst/gstelement.h:
1309         * gst/gstevent.c:
1310         * gst/gstutils.c:
1311           doc fixes
1312
1313 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1314
1315         * docs/manual/advanced-autoplugging.xml:
1316           Fix autoplugging example.
1317
1318 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1319
1320         * docs/manual/advanced-autoplugging.xml:
1321         * docs/manual/mime-world.fig:
1322           Try to get autoplugging working, fix type detection. Fix text
1323           in hello-world image.
1324
1325 2005-06-29  Wim Taymans  <wim@fluendo.com>
1326
1327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1328         (gst_base_sink_change_state):
1329         Small debug line.
1330
1331         * gst/gstclock.h:
1332         map SIGNAL and BROADCAST to the right function.
1333
1334         * gst/gstobject.h:
1335         Remove redundant braces.
1336
1337         * gst/gstpad.c: (gst_pad_set_caps):
1338         Don't call setcaps function when reseting caps to NULL.
1339
1340         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1341         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1342         (gst_system_clock_id_unschedule):
1343         Use BROADCAST as this is what we do.
1344
1345 2005-06-29  Wim Taymans  <wim@fluendo.com>
1346
1347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1348         We are actually prerolling before commiting the state
1349         change. 
1350
1351 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1352
1353         * docs/manual/advanced-clocks.xml:
1354         * docs/manual/advanced-interfaces.xml:
1355         * docs/manual/advanced-metadata.xml:
1356         * docs/manual/advanced-position.xml:
1357         * docs/manual/advanced-schedulers.xml:
1358         * docs/manual/advanced-threads.xml:
1359         * docs/manual/appendix-porting.xml:
1360         * docs/manual/basics-bins.xml:
1361         * docs/manual/basics-bus.xml:
1362         * docs/manual/basics-elements.xml:
1363         * docs/manual/basics-helloworld.xml:
1364         * docs/manual/basics-pads.xml:
1365         * docs/manual/highlevel-components.xml:
1366         * docs/manual/manual.xml:
1367         * docs/manual/thread.fig:
1368           Update (until threads/scheduling) Application Development Manual;
1369           remove GstThread, add GstBus, add simple porting checklist, add
1370           documentation for tag writing, clocks, make all examples until this
1371           part compile and run.
1372         * examples/manual/Makefile.am:
1373           Update from changes to Application Development Manual; add bus
1374           example, remove thread example.
1375
1376 2005-06-28  Wim Taymans  <wim@fluendo.com>
1377
1378         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1379         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1380         (gst_bus_source_dispatch):
1381         Add debugging messages.
1382         Make internal methods static.
1383         Handle the case where the bus is flushed in the handler.
1384         
1385         * gst/gstelement.c: (gst_element_get_bus):
1386         Fix refcount in _get_bus();
1387
1388         * gst/gstpipeline.c: (gst_pipeline_change_state),
1389         (gst_pipeline_get_clock_func):
1390         Clock refcounting fixes.
1391         Handle the case where preroll timed out more gracefully.
1392         
1393         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1394         Clean up the internal thread in dispose. This is needed
1395         for subclasses that actually get disposed.
1396         
1397         * gst/schedulers/threadscheduler.c:
1398         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1399         (gst_thread_scheduler_dispose):
1400         Free thread pool in dispose.
1401
1402 2005-06-28  Andy Wingo  <wingo@pobox.com>
1403
1404         * tests/network-clock-utils.scm (debug, print-event): New utils.
1405
1406         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1407         (*packet-loss*): Unified loss probability.
1408         (network-time): Report out-of-band events.
1409
1410         * tests/plot-data: Add support for out-of-band events. Hack it
1411         into this script instead of passing it down the pipe; should fix
1412         this later.
1413
1414 2005-06-28  Wim Taymans  <wim@fluendo.com>
1415
1416         * docs/gst/gstreamer.types:
1417         * docs/gst/tmpl/gstbasesrc.sgml:
1418         * docs/gst/tmpl/gstpad.sgml:
1419         Docs fixes.
1420
1421 2005-06-28  Wim Taymans  <wim@fluendo.com>
1422
1423         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1424         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1425         (gst_proxy_pad_do_fixatecaps):
1426         Correctly proxy the check_pull_range function.
1427
1428 2005-06-28  Andy Wingo  <wingo@pobox.com>
1429
1430         * tests/network-clock.scm: Removed need for slib.
1431         
1432 2005-06-28  Wim Taymans  <wim@fluendo.com>
1433
1434         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1435         (gst_basesink_preroll_queue_flush):
1436         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1437         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1438         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1439         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1440         (gst_proxy_pad_set_property):
1441         * gst/gstpad.c:
1442         * gst/gstpad.h:
1443         * gst/gstqueue.c: (gst_queue_init):
1444         The deprecated pad loop function is removed now.
1445
1446 2005-06-28  Andy Wingo  <wingo@pobox.com>
1447
1448         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1449         New parameters, simulate network packet loss.
1450
1451         * tests/network-clock-utils.scm: Initialize the RNG.
1452
1453 2005-06-28  Wim Taymans  <wim@fluendo.com>
1454
1455         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1456         (gst_basesink_event), (gst_basesink_deactivate):
1457         Flushing the preroll queue always needs to unlock the waiters.
1458
1459 2005-06-28  Edward Hervey  <edward@fluendo.com>
1460
1461         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1462         Wheen a seek was successful on a pipeline, set the stream_time to the
1463         seek offset in order to have a synchronized stream_time.
1464
1465 2005-06-28  Wim Taymans  <wim@fluendo.com>
1466
1467         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1468         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1469         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1470         (gst_proxy_pad_do_fixatecaps):
1471         Call wrapper function instead of just calling the function
1472         pointers. This takes care of any locking and whatmore.
1473
1474 2005-06-28  Wim Taymans  <wim@fluendo.com>
1475
1476         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1477         (gst_pad_pull_range):
1478         * gst/gstpad.h:
1479         CONNECTED -> LINKED.
1480
1481 2005-06-28  Andy Wingo  <wingo@pobox.com>
1482
1483         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1484         source-munging commit!!!
1485
1486         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1487         (gst_object_sink): Take gpointer arguments, not GstObject --
1488         avoids casts. Like GLib.
1489
1490         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1491         activate.
1492
1493 2005-06-27  Andy Wingo  <wingo@pobox.com>
1494
1495         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1496         remaining buffer.
1497
1498         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1499         returns a sorted copy of the trace list.
1500         (gst_alloc_trace_print_live): New API, only prints traces with
1501         live objects. Sort the list.
1502         (gst_alloc_trace_print_all): Sort the list.
1503         (gst_alloc_trace_print): Align columns.
1504
1505         * gst/elements/gstttypefindelement.c:
1506         * gst/elements/gsttee.c:
1507         * gst/base/gstbasesrc.c:
1508         * gst/base/gstbasesink.c:
1509         * gst/base/gstbasetransform.c:
1510         * gst/gstqueue.c: Adapt for pad activation changes.
1511
1512         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1513         sched.
1514         (gst_pipeline_dispose): Drop ref on sched.
1515
1516         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1517         (gst_pad_activate_default): Push mode by default.
1518         (pre_activate_switch, post_activate_switch): New stubs, things to
1519         do before and after switching activation modes on pads.
1520         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1521         the pad's activate function to choose which mode to activate.
1522         Shortcut on deactivation and call the right function directly.
1523         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1524         mode.
1525         (gst_pad_activate_push): New API, same for push mode.
1526         (gst_pad_set_activate_function) 
1527         (gst_pad_set_activatepull_function) 
1528         (gst_pad_set_activatepush_function): Setters for new API.
1529
1530         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1531         Trace all miniobjects.
1532         (gst_mini_object_make_writable): Unref the arg if we copy, like
1533         gst_caps_make_writable.
1534
1535         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1536
1537         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1538         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1539         Adapt for new pad API.
1540
1541         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1542
1543         * gst/gstelement.h:
1544         * gst/gstelement.c (gst_element_iterate_src_pads) 
1545         (gst_element_iterate_sink_pads): New API functions.
1546         
1547         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1548         should fold into gstiterator.c in some form.
1549         (gst_element_pads_activate): Simplified via use of fold and
1550         delegation of decisions to gstpad->activate.
1551
1552         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1553         help in debugging.
1554
1555         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1556         class once in init, like gstmessage. Didn't run into this issue
1557         but it seems correct. Don't initialize a trace, gstminiobject does
1558         that.
1559
1560         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1561         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1562         to the bus.
1563         (assert_live_count): New util function, uses alloc traces to check
1564         cleanup.
1565
1566         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1567         To be modified when unlink drops the internal pad.
1568
1569 2005-06-27  Wim Taymans  <wim@fluendo.com>
1570
1571         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1572         (gst_bin_change_state):
1573         Cleanup the get_state() function a little, make sure it
1574         iterates the same set of elements.
1575         Added stub iterate_state_order().
1576
1577 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1578
1579         * docs/gst/gstreamer-docs.sgml:
1580         * docs/gst/gstreamer-sections.txt:
1581         * docs/gst/gstreamer.types:
1582         * docs/gst/tmpl/gstbasesink.sgml:
1583         * docs/gst/tmpl/gstbasesrc.sgml:
1584         * docs/gst/tmpl/gstbasetransform.sgml:
1585         * docs/gst/tmpl/gstelement.sgml:
1586         * docs/gst/tmpl/gstiterator.sgml:
1587         * gst/base/gstbasesrc.c:
1588         * gst/base/gstbasesrc.h:
1589         * gst/base/gstbasetransform.h:
1590         * gst/gstelement.c:
1591         * gst/gstiterator.h:
1592           adding basetransform and iterator docs
1593
1594 2005-06-27  Andy Wingo  <wingo@pobox.com>
1595
1596         * docs/design/part-activation.txt: Notes on how activation should
1597         work -- not quite implemented yet.
1598
1599 2005-06-25  Wim Taymans  <wim@fluendo.com>
1600
1601         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1602         At least get the chain function correct, needs more
1603         fixing.
1604
1605 2005-06-25  Wim Taymans  <wim@fluendo.com>
1606
1607         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1608         (gst_basesink_handle_object), (gst_basesink_event),
1609         (gst_basesink_do_sync), (gst_basesink_handle_event),
1610         (gst_basesink_change_state):
1611         * gst/gsttask.h:
1612         Right, two problems here: ghostpads don't take locks and
1613         glib _rec_mutex_lock_full() with depth==0 still locks.
1614         Catch illegal locking and g_warn them.
1615
1616 2005-06-25  Wim Taymans  <wim@fluendo.com>
1617
1618         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1619         Have to check for completion now...
1620
1621 2005-06-25  Wim Taymans  <wim@fluendo.com>
1622
1623         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1624         (gst_basesink_handle_object), (gst_basesink_event),
1625         (gst_basesink_do_sync), (gst_basesink_handle_event),
1626         (gst_basesink_change_state):
1627         * gst/gstpad.h:
1628         Unlock STREAM_LOCK whatever the recursion was.
1629
1630 2005-06-25  Wim Taymans  <wim@fluendo.com>
1631
1632         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1633         (gst_basesink_preroll_queue_empty),
1634         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1635         (gst_basesink_event), (gst_basesink_do_sync),
1636         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1637         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1638         (gst_basesink_change_state):
1639         Reworked the base sink, handle event and buffer serialisation
1640         correctly and removed possible deadlock.
1641         Handle EOS correctly.
1642
1643 2005-06-25  Wim Taymans  <wim@fluendo.com>
1644
1645         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1646         (gst_pipeline_change_state):
1647         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1648         Allow elements to post EOS in the state change function.
1649         Fix up -launch, make it exit the poll loop when the
1650         pipeline actually changed state.
1651         Fix up warning parsing in -launch.
1652
1653 2005-06-25  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1656         (gst_tee_sink_activate):
1657         Core takes STREAM_LOCK for us now.
1658
1659 2005-06-25  Wim Taymans  <wim@fluendo.com>
1660
1661         * gst/gstelement.c: (gst_element_get_state_func),
1662         (gst_element_set_state):
1663         * gst/gstelement.h:
1664         * gst/gstmessage.c: (gst_message_parse_error),
1665         (gst_message_parse_warning):
1666         Keep track of current target state while performing a state
1667         change so that subclasses can do something interesting.
1668         Fix parsing of warning/error messages when GError is NULL.
1669
1670 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1671
1672         * docs/gst/Makefile.am:
1673         * docs/gst/gstreamer-docs.sgml:
1674         * docs/gst/gstreamer-sections.txt:
1675         * docs/gst/gstreamer.types:
1676         * docs/gst/tmpl/gstbasesink.sgml:
1677         * docs/gst/tmpl/gstbasesrc.sgml:
1678         * docs/gst/tmpl/gstbin.sgml:
1679         * docs/gst/tmpl/gstcompat.sgml:
1680         * docs/gst/tmpl/gstfakesink.sgml:
1681         * docs/gst/tmpl/gstfakesrc.sgml:
1682         * docs/gst/tmpl/gstfilesink.sgml:
1683         * docs/gst/tmpl/gstfilesrc.sgml:
1684         * docs/gst/tmpl/gstindex.sgml:
1685         * docs/manual/appendix-quotes.xml:
1686         * gst/base/gstbasesrc.h:
1687         * gst/elements/gstfakesrc.h:
1688         * gst/gstmessage.h:
1689           start pulling in base classes and elements in our docs
1690
1691 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1692
1693         * docs/gst/Makefile.am:
1694         * docs/libs/Makefile.am:
1695           fixed make distcheck with gtk-doc 1.3
1696
1697 2005-06-23  Wim Taymans  <wim@fluendo.com>
1698
1699         * gst/gstelement.c: (gst_element_get_state_func),
1700         (gst_element_set_state), (gst_element_change_state):
1701         When the state did not change, also report NO_PREROLL
1702         when it matters.
1703
1704 2005-06-23  Wim Taymans  <wim@fluendo.com>
1705
1706         * gst/gstpad.c: (gst_pad_event_default):
1707         * gst/gstqueue.c: (gst_queue_loop):
1708         No unsafe task pausing please.
1709
1710 2005-06-23  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/schedulers/threadscheduler.c:
1713         (gst_thread_scheduler_task_start),
1714         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1715         Ref the task before pushing it on the threadpool. This
1716         makes sure that we have a ref when the threadfunction is
1717         actually called.
1718
1719 2005-06-23  Andy Wingo  <wingo@pobox.com>
1720
1721         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1722         offset is greater than the file's size.
1723
1724         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1725         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1726         * gst/gstobject.c (gst_object_class_init): Make the class lock
1727         recursive. Wim won't let me drop deep_notify. Decodebin works
1728         again, whoopdy doo.
1729
1730         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1731         internal pad, and hacks accordingly. Doesn't do it on the target
1732         pad because we change its caps. Probably catches all cases of
1733         interest tho.
1734         (gst_ghost_pad_set_property): Connect to notify::caps as
1735         appropritate.
1736
1737         * tests/network-clock.scm (plot-simulation): Pipe data to the
1738         elite python skript.
1739
1740         * tests/network-clock-utils.scm (define-parameter): New macro,
1741         defines a parameter that can be set via the command line.
1742         (set-parameter!, parse-parameter-arguments): Command line args
1743         parser.
1744
1745         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1746         stdin.
1747
1748 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1749
1750         * gst/elements/gsttypefindelement.c:
1751         (gst_type_find_element_handle_event):
1752           Don't restart typefinding on a discont.
1753         * gst/gstelement.c: (gst_element_set_state):
1754           Debug spelling fix.
1755         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1756           Allow changing mode of an active pad.
1757           Debug output fixes.
1758         * gst/registries/gstlibxmlregistry.c: (load_feature):
1759           Don't cast a static pad template to a normal pad template.
1760
1761 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1762
1763         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1764         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1765           remove gst_strtoll completely, since it didn't actually do
1766           anything more than what g_ascii_strtoull already does.
1767           check for range errors when deserializing
1768           do a cast for the unsigned cases; but further fixing needs
1769           a decision on what the interpretation of "(int)" and
1770           deserialization should be for values that fall outside the
1771           type's boundaries (ie, refuse, or interpret as casting)
1772
1773 2005-06-23  Wim Taymans  <wim@fluendo.com>
1774
1775         * check/Makefile.am:
1776         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1777         * docs/design/part-live-source.txt:
1778         * docs/design/part-states.txt:
1779         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1780         (gst_basesrc_set_live), (gst_basesrc_is_live),
1781         (gst_basesrc_get_range), (gst_basesrc_activate),
1782         (gst_basesrc_change_state):
1783         * gst/base/gstbasesrc.h:
1784         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1785         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1786         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1787         * gst/gstelement.c: (gst_element_get_state_func),
1788         (gst_element_set_state):
1789         * gst/gstelement.h:
1790         * gst/gsttypes.h:
1791         * tools/gst-launch.c: (event_loop), (main):
1792         Added support for live sources and other elements that
1793         cannot do preroll.
1794         Updated design docs, added live-source design doc.
1795         Implemented live source functionality in basesrc
1796         Fix error condition in _bin_get_state()
1797         Implement live source handling in -launch.
1798         Added check for live sources.
1799         Fixed case in GstBin where elements were changed state
1800         multiple times.
1801
1802
1803 2005-06-23  Andy Wingo  <wingo@pobox.com>
1804
1805         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1806         borken refcounting.
1807
1808         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1809         gst_caps_replace takes care of this for us.
1810
1811         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1812         gst_pad_set_caps on the target, not just its setcaps() function.
1813
1814         * tests/network-clock.scm: 
1815         * tests/network-clock-utils.scm: A network clock simulator.
1816         Something of an algorithmic testbed before doing something in C.
1817
1818 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1819
1820         * check/Makefile.am:
1821         * check/gst/capslist.h:
1822           copy over from 0.8, and add two with bitmasks specified with
1823           (int) 0xFF...
1824         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1825           add test to parse everything from capslist.h
1826         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1827         (main):
1828           add test for structure deserialization
1829         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1830           add tests for deserialization of strings to int types
1831         * gst/gststructure.c: (gst_structure_nth_field_name):
1832         * gst/gststructure.h:
1833           add a way to get the name of a field referenced by index
1834         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1835           instead of checking if the resulting long long lies between
1836           min and max, we check if the long long would fit into
1837           a number of bytes for the final type.
1838           This fixes cases where a string represents 2^32 - 1, which
1839           when cast to int would be the (valid) -1, but is bigger than
1840           G_MAXINT
1841
1842 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1843
1844         * gst/parse/grammar.y:
1845           add a log line for type deserialization
1846
1847 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1848
1849         * check/gst/gstvalue.c: (START_TEST):
1850         * gst/gstvalue.c: (gst_value_deserialize):
1851           return long long, not int, so gint64 deserialization actually
1852           works.  Is there any flag that makes the compiler check this ?
1853           Fixes #308559
1854
1855 2005-06-22  Wim Taymans  <wim@fluendo.com>
1856
1857         * gst/gstbuffer.h:
1858         Added convenience macros for setting buffers in GValue.
1859
1860 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1861
1862         * check/gst/.cvsignore:
1863         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1864           add a test deserializing int64, and comment part out because
1865           it fails, yay !
1866
1867 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1868
1869         * check/Makefile.am:
1870         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1871         * testsuite/Makefile.am:
1872         * testsuite/caps/Makefile.am:
1873         * testsuite/caps/value_serialize.c:
1874         * testsuite/test_gst_init.c:
1875           move a value_serialize test over
1876
1877 2005-06-20  Wim Taymans  <wim@fluendo.com>
1878
1879         * gst/gstpad.c:
1880         Small doc updates.
1881         
1882         * gst/gstvalue.c: (gst_value_compare_buffer),
1883         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1884         (gst_value_compare_flags), (gst_value_serialize_flags),
1885         (gst_value_deserialize_flags), (_gst_value_initialize):
1886         Fix serialisation of buffers, they are not boxed types anymore
1887
1888 2005-06-20  Wim Taymans  <wim@fluendo.com>
1889
1890         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1891         Testcase to show error in buffer-on-caps serialisation.
1892
1893 2005-06-20  Andy Wingo  <wingo@pobox.com>
1894
1895         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1896         will be adding to later.
1897
1898         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1899         if its socks fill with rocks.
1900         (gst_system_clock_obtain): Set the name on object construction.
1901         Avoid double-checked locking.
1902
1903 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1904
1905         * gst/gsturi.c: (gst_element_make_from_uri):
1906           Fix potential endless loop.
1907
1908 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1909
1910         * check/Makefile.am:
1911           add gsttag
1912         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1913         (main):
1914           move over from testsuite dir and clean up
1915         * configure.ac:
1916         * gst/gsttag.c:
1917         * testsuite/Makefile.am:
1918         * testsuite/tags/.cvsignore:
1919         * testsuite/tags/Makefile.am:
1920         * testsuite/tags/merge.c:
1921           remove testsuite/tags
1922
1923 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1924
1925         * docs/gst/gstreamer-sections.txt:
1926         * docs/gst/tmpl/gstenumtypes.sgml:
1927         * win32/gstenumtypes.c:
1928           clean up documentation build a little
1929
1930 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1931
1932         * check/gstcheck.h:
1933           add macros for checking refcounts on objects and caps
1934         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1935           add some more unit tests
1936         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1937         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1938           fix leaked refcounts (I hope :)) so unittest works
1939         * gst/gstpad.h:
1940           whitespace removal
1941
1942 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1943
1944         * configure.ac: back to HEAD
1945
1946 === release 0.9.1 ===
1947
1948 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1949
1950         * NEWS:
1951         * RELEASE:
1952           updated
1953
1954 2005-06-17  Andy Wingo  <wingo@pobox.com>
1955
1956         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1957         assert; it's always possible that the pad gets deactivated in
1958         between the checks in gstpad.c and the implementation. Rely on
1959         finish_preroll() to return a FLUSHING or similar instead of on the
1960         assert.
1961         
1962         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1963         clock and post an EOS message if we come out of finish_preroll in
1964         the playing state.
1965
1966 2005-06-16  David Schleef  <ds@schleef.org>
1967
1968         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1969         (gst_capsfilter_set_property): Allow NULL as possible value
1970         for filter_caps property, indicating GST_CAPS_ANY.
1971
1972 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1973
1974         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1975           fix debug output
1976         * gst/schedulers/Makefile.am:
1977           use libgst prefix
1978         * gstreamer.spec.in:
1979           fix spec for it
1980
1981 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1982
1983         * gstreamer.spec.in:
1984           clean up
1985
1986 2005-06-08  Andy Wingo  <wingo@pobox.com>
1987
1988         * gst/gstutils.c: RPAD fixes all around.
1989         (gst_element_link_pads): Refcounting fixes.
1990
1991         * tools/gst-inspect.c:
1992         * tools/gst-xmlinspect.c:
1993         * parse/grammar.y:
1994         * gst/base/gsttypefindhelper.c:
1995         * gst/base/gstbasesink.c:
1996         * gst/gstqueue.c: RPAD fixes.
1997
1998         * gst/gstghostpad.h:
1999         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2000         pads. The tricky thing is they provide both source and sink
2001         interfaces, since they proxy the internal pad for the external
2002         pad, and vice versa. Implement with lower-level ProxyPad objects,
2003         with the interior proxy pad as a child of the exterior ghost pad.
2004         Should write a doc on this.
2005         
2006         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2007         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2008         gst_object API.
2009         
2010         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2011         pads are real pads. No ghost pads in this file. Not documenting
2012         the myriad s/RPAD/PAD/ and REALIZE fixes.
2013         (gst_pad_class_init): Add properties for "direction" and
2014         "template". Both are construct-only, so they can't change during
2015         the life of the pad. Fixes properly deriving from GstPad.
2016         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2017         derived objects, just set properties when creating the objects via
2018         g_object_new.
2019         (gst_pad_get_parent): Implement as a function, return NULL if the
2020         parent is not an element.
2021         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2022         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2023         
2024         * gst/gstobject.c (gst_object_class_init): Make name a construct
2025         property. Don't set it in the object init.
2026
2027         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2028         with UNKNOWN direction.
2029         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2030         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2031         (gst_element_remove_pad): Remove ghost-pad special cases.
2032         (gst_element_pads_activate): Remove rpad cruft.
2033
2034         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2035         catch the pad's-parent-not-an-element case.
2036
2037         * gst/gst.h: Include gstghostpad.h.
2038
2039         * gst/gst.c (init_post): No more real, ghost pads.
2040
2041         * gst/Makefile.am: Add gstghostpad.[ch].
2042
2043         * check/Makefile.am:
2044         * check/gst/gstbin.c:
2045         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2046         into a bin creates ghost pads, and that the refcounts are right.
2047         Partly moved from gstbin.c.
2048
2049 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2050
2051         * check/gst-libs/.cvsignore:
2052         * check/gst/.cvsignore:
2053         * check/pipelines/.cvsignore:
2054           ignore more
2055         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2056         (START_TEST), (cleanup_suite), (main):
2057           add some tests related to cleanup after running pipelines
2058
2059 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2060
2061         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2062           add a testsuite for GstBuffer
2063
2064 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2065
2066         * gst/gstminiobject.h:
2067           add defines for accessing the refcount
2068
2069 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2070
2071         * Makefile.am: added support for html unit test coverage reports
2072
2073 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2074
2075         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2076           Free existing caps if the capsfilter changes. Add a FIXME about
2077           setting those caps on the pads.
2078
2079         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2080           Before adding a ghost pad to a parent bin, check that there isn't
2081           already one for the element on the bin. Prevents infinite recursion
2082           when using decodebin in parse pipelines. Andy says he'll rewrite the
2083           way this works anyway, so ignore the hack.
2084
2085 2005-06-02  Andy Wingo  <wingo@pobox.com>
2086
2087         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2088         file size, pass it on to the type find helper.
2089
2090         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2091         segment_start and segment_end properly according to the seek
2092         method. Segment_end is still a bit flaky because offset can be
2093         negative for CUR and END cases, but it takes -1 as an "unset"
2094         value.
2095
2096 2005-06-02  Wim Taymans  <wim@fluendo.com>
2097
2098         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2099         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2100         (gst_basesink_activate):
2101         * gst/base/gstbasesink.h:
2102         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2103         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2104         (gst_pad_query), (gst_pad_start_task):
2105         * gst/gstpad.h:
2106         * gst/gstqueue.c: (gst_queue_bufferalloc),
2107         (gst_queue_handle_sink_event), (gst_queue_chain):
2108         Bufferalloc: return GstFlowReturn to more accuratly report
2109         why allocation failed.
2110
2111 2005-06-02  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gstpipeline.c: (gst_pipeline_send_event):
2114         Take snapshot of state without blocking.
2115
2116 2005-06-02  Wim Taymans  <wim@fluendo.com>
2117
2118         * docs/design/part-TODO.txt:
2119         * docs/design/part-caps.txt:
2120         * docs/design/part-clocks.txt:
2121         * docs/design/part-negotiation.txt:
2122         * docs/design/part-preroll.txt:
2123         Small doc updates 
2124
2125 2005-05-30  Wim Taymans  <wim@fluendo.com>
2126
2127         * gst/elements/gstidentity.c: (gst_identity_event),
2128         (gst_identity_transform), (gst_identity_get_property):
2129         Protect last_message property as it is accessed from
2130         multiple threads.
2131
2132 2005-05-30  Wim Taymans  <wim@fluendo.com>
2133
2134         * gst/gstelement.c: (gst_element_init),
2135         (gst_element_pads_activate), (gst_element_change_state):
2136         Slicker pad activation code.
2137
2138 2005-05-30  Wim Taymans  <wim@fluendo.com>
2139
2140         * gst/Makefile.am:
2141         * gst/gstelement.h:
2142         * gst/gstelementfactory.h:
2143         * gst/gsttypes.h:
2144         Move elementfactory methods to separate .h file.
2145
2146 2005-05-30  Wim Taymans  <wim@fluendo.com>
2147
2148         * docs/design/part-overview.txt:
2149         * gst/gstsystemclock.h:
2150         Small typo fixes, doc updates.
2151
2152 2005-05-30  Wim Taymans  <wim@fluendo.com>
2153
2154         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2155         (init_popt_callback):
2156         Remove cpu-opt flag.
2157
2158 2005-05-30  Wim Taymans  <wim@fluendo.com>
2159
2160         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2161         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2162         * gst/gstbuffer.h:
2163         Avoid typechecking in places where not needed.
2164         Added accessor for malloc_data.
2165
2166 2005-05-30  Wim Taymans  <wim@fluendo.com>
2167
2168         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2169         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2170         (gst_pad_configure_sink), (gst_pad_configure_src),
2171         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2172         (gst_pad_start_task):
2173         Propagate errors from _set_caps() in configure_src/sink
2174         functions instead of returning TRUE.
2175         FLUSH events can travel up and downstream
2176
2177
2178 2005-05-30  Wim Taymans  <wim@fluendo.com>
2179
2180         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2181         (gst_basesink_activate):
2182         Handle EOS in preroll.
2183
2184 2005-05-30  Wim Taymans  <wim@fluendo.com>
2185
2186         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2187         (gst_queue_loop), (gst_queue_handle_src_event):
2188         Remove old pieces of code
2189         Flushing the queue in an upstream event is a very bad idea.
2190
2191 2005-05-26  Andy Wingo  <wingo@pobox.com>
2192
2193         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2194         gst_value_set_mini_object so as to add a ref on the object (which
2195         will be removed when the value is unset).
2196
2197         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2198         arg type in ::handoff.
2199
2200         * gst/gstelement.c (gst_element_change_state): Also deactivate
2201         pads in READY->NULL, just in case the element didn't make it to
2202         PAUSED. Wingo tested, Wim approved.
2203
2204 2005-05-26  Wim Taymans  <wim@fluendo.com>
2205
2206         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2207         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2208         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2209         A flushing pad cannot be used to alloc_buffer from.
2210
2211 2005-05-26  Wim Taymans  <wim@fluendo.com>
2212
2213         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2214         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2215         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2216         (gst_bus_create_watch), (gst_bus_add_watch_full):
2217         * gst/gstbus.h:
2218         Implement a real GSource and use g_main_context_wakeup() to
2219         signal new messages instead of the socketpair.
2220
2221 2005-05-25  Wim Taymans  <wim@fluendo.com>
2222
2223         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2224         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2225         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2226         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2227         (gst_pad_send_event), (gst_pad_start_task):
2228         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2229         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2230         (gst_queue_sink_activate), (gst_queue_src_activate),
2231         (gst_queue_change_state):
2232         * gst/gstqueue.h:
2233         Fix state changes for non sinks. We now change sinks, then elements
2234         with unconnected srcpads, then the rest.
2235         More efficient queue unlocking in flush and state changes.
2236         Set the pad activate mode even if it does not have an activate
2237         function.
2238
2239 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2240
2241         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2242           Don't go in pull mode for non-seekable sources.
2243         * gst/elements/gsttypefindelement.h:
2244         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2245         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2246         (free_entry), (stop_typefinding),
2247         (gst_type_find_element_handle_event), (find_peek),
2248         (gst_type_find_element_chain), (do_pull_typefind),
2249         (gst_type_find_element_change_state):
2250           Allow typefinding (w/o seeking) in push-mode, simplified version
2251           of what was in 0.8.
2252         * gst/gstutils.c: (gst_buffer_join):
2253         * gst/gstutils.h:
2254           gst_buffer_join() from 0.8.
2255
2256 2005-05-25  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2259         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2260         (gst_pad_send_event), (gst_pad_start_task):
2261         Disable attempt at mode switching until it is figured out.
2262
2263 2005-05-25  Wim Taymans  <wim@fluendo.com>
2264
2265         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2266         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2267         (gst_basesink_finish_preroll), (gst_basesink_chain),
2268         (gst_basesink_loop), (gst_basesink_activate),
2269         (gst_basesink_change_state):
2270         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2271         (gst_basesrc_get_range), (gst_basesrc_loop),
2272         (gst_basesrc_activate):
2273         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2274         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2275         (gst_real_pad_init), (gst_real_pad_set_property),
2276         (gst_real_pad_get_property), (gst_pad_set_active),
2277         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2278         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2279         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2280         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2281         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2282         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2283         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2284         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2285         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2286         (gst_pad_stop_task):
2287         * gst/gstpad.h:
2288         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2289         (gst_queue_loop), (gst_queue_src_activate):
2290         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2291         (gst_task_get_state):
2292         * gst/gsttask.h:
2293         * gst/schedulers/threadscheduler.c:
2294         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2295         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2296         in task function.
2297         Remove ACTIVE pad flag, use FLUSHING everywhere
2298         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2299         functions.
2300         Add locks around IS_FLUSHING when reading.
2301         Take STREAM lock in chain(), get_range() functions so plugins
2302         don't need to take it anymore.
2303         
2304
2305
2306 2005-05-25  Wim Taymans  <wim@fluendo.com>
2307
2308         * tools/gst-launch.c: (event_loop):
2309         Unref message after using its contents instead of
2310         before.
2311
2312 2005-05-24  Wim Taymans  <wim@fluendo.com>
2313
2314         * docs/design/draft-ghostpads.txt:
2315         * docs/design/draft-push-pull.txt:
2316         * docs/design/draft-query.txt:
2317         * docs/design/part-overview.txt:
2318         Docs updates, added general overview doc.
2319
2320 2005-05-21  David Schleef  <ds@schleef.org>
2321
2322         * docs/gst/tmpl/old/GstBin.sgml:
2323         * docs/gst/tmpl/old/GstBuffer.sgml:
2324         * docs/gst/tmpl/old/GstCaps.sgml:
2325         * docs/gst/tmpl/old/GstClock.sgml:
2326         * docs/gst/tmpl/old/GstCompat.sgml:
2327         * docs/gst/tmpl/old/GstData.sgml:
2328         * docs/gst/tmpl/old/GstElement.sgml:
2329         * docs/gst/tmpl/old/GstEvent.sgml:
2330         * docs/gst/tmpl/old/GstIndex.sgml:
2331         * docs/gst/tmpl/old/GstStructure.sgml:
2332         * docs/gst/tmpl/old/GstTag.sgml:
2333         * docs/gst/tmpl/old/cothreads.sgml:
2334         * docs/gst/tmpl/old/cothreads_compat.sgml:
2335         * docs/gst/tmpl/old/gettext.sgml:
2336         * docs/gst/tmpl/old/gobject2gtk.sgml:
2337         * docs/gst/tmpl/old/grammar.tab.sgml:
2338         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2339         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2340         * docs/gst/tmpl/old/gst_private.sgml:
2341         * docs/gst/tmpl/old/gstaggregator.sgml:
2342         * docs/gst/tmpl/old/gstarch.sgml:
2343         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2344         * docs/gst/tmpl/old/gstbufferstore.sgml:
2345         * docs/gst/tmpl/old/gstdata_private.sgml:
2346         * docs/gst/tmpl/old/gstdisksink.sgml:
2347         * docs/gst/tmpl/old/gstdisksrc.sgml:
2348         * docs/gst/tmpl/old/gstelementfactory.sgml:
2349         * docs/gst/tmpl/old/gstextratypes.sgml:
2350         * docs/gst/tmpl/old/gstfakesink.sgml:
2351         * docs/gst/tmpl/old/gstfakesrc.sgml:
2352         * docs/gst/tmpl/old/gstfdsink.sgml:
2353         * docs/gst/tmpl/old/gstfdsrc.sgml:
2354         * docs/gst/tmpl/old/gstfilesink.sgml:
2355         * docs/gst/tmpl/old/gstfilesrc.sgml:
2356         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2357         * docs/gst/tmpl/old/gstidentity.sgml:
2358         * docs/gst/tmpl/old/gstindexfactory.sgml:
2359         * docs/gst/tmpl/old/gstmarshal.sgml:
2360         * docs/gst/tmpl/old/gstmd5sink.sgml:
2361         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2362         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2363         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2364         * docs/gst/tmpl/old/gstpipefilter.sgml:
2365         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2366         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2367         * docs/gst/tmpl/old/gstshaper.sgml:
2368         * docs/gst/tmpl/old/gstspider.sgml:
2369         * docs/gst/tmpl/old/gstspideridentity.sgml:
2370         * docs/gst/tmpl/old/gststatistics.sgml:
2371         * docs/gst/tmpl/old/gsttee.sgml:
2372         * docs/gst/tmpl/old/gsttimecache.sgml:
2373         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2374         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2375         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2376         * docs/gst/tmpl/old/types.sgml:
2377           I didn't intend to add these or check them in.
2378
2379 2005-05-19  David Schleef  <ds@schleef.org>
2380
2381         * configure.ac: Use -no-common everywhere.  In a sane world, it
2382           would be the default in libtool, because without it, you can't
2383           build DLLs on Windows.
2384         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2385         * docs/gst/gstreamer-sections.txt:
2386         * docs/gst/tmpl/gstcpu.sgml:
2387         * docs/gst/tmpl/gstdata.sgml:
2388         * docs/gst/tmpl/gstthread.sgml:
2389
2390 2005-05-19  David Schleef  <ds@schleef.org>
2391
2392         * gst/gstminiobject.c: (gst_value_set_mini_object),
2393         (gst_value_take_mini_object), (gst_value_get_mini_object):
2394         * gst/gstminiobject.h: Add GValue set/get functions.
2395
2396 2005-05-19  Wim Taymans  <wim@fluendo.com>
2397
2398         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2399         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2400         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2401         * gst/gstbuffer.h:
2402         * gst/gstbus.c: (gst_bus_post):
2403         * gst/gstelement.c: (gst_element_get_random_pad):
2404         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2405         Make subbufer unref the parent in finalize.
2406         some more debugging info.
2407
2408
2409 2005-05-19  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2412         (gst_basesink_init), (gst_basesink_finalize),
2413         (gst_basesink_activate), (gst_basesink_change_state):
2414         Don't free preroll queue too early.
2415
2416 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2417
2418         * gst/Makefile.am:
2419         * gst/ROADMAP:
2420           Hi, I'm outdated. Please shoot me.
2421
2422 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2423
2424         * gst/gstpipeline.c: (gst_pipeline_send_event):
2425           Do not access variables after they have been deleted.
2426
2427 2005-05-19  Wim Taymans  <wim@fluendo.com>
2428
2429         * tools/gst-inspect.c: (print_plugin_features):
2430         A plugin feature does unfortunatly not use the
2431         object name yet...
2432
2433 2005-05-18  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2436         Port _span() functions to new subbuffers.
2437
2438 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2439
2440         * gst/gstbin.c: (gst_bin_add_func):
2441           Fix clock settery in bins when adding kids after the clock has
2442           been selected.
2443
2444 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2445
2446         * gst/elements/gstidentity.c: (gst_identity_class_init):
2447           Workaround until signals support GstMiniObject.
2448
2449 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2450
2451         * gst/gstbuffer.c:
2452         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2453
2454 2005-05-18  Wim Taymans  <wim@fluendo.com>
2455
2456         * gst/base/Makefile.am:
2457         * gst/base/gstadapter.c: (gst_adapter_base_init),
2458         (gst_adapter_class_init), (gst_adapter_init),
2459         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2460         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2461         (gst_adapter_flush), (gst_adapter_available),
2462         (gst_adapter_available_fast):
2463         * gst/base/gstadapter.h:
2464         Ported and added adapter to the base classes.
2465
2466 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2467
2468         * gst/gst.c:
2469         * gst/gstmessage.c:
2470           Make sure the class is reffed/unreffed once before threads can be
2471           used.  Fixes #304551.
2472
2473 2005-05-17  Wim Taymans  <wim@fluendo.com>
2474
2475         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2476         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2477         * gst/gstminiobject.c: (gst_mini_object_get_type),
2478         (gst_mini_object_free):
2479         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2480         (gst_pad_push), (gst_pad_push_event):
2481         * gst/gstqueue.c: (gst_queue_change_state):
2482         Don't queue buffers in basesink when we are flushing.
2483         Unref buffer when flushing in basesink.
2484         Flush queue when going to READY
2485         Unref buffer when _push() returns an error.
2486         Don't free MiniObject instance when refcount is incremented
2487         in _finalize() so that we can recover objects.
2488
2489 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2490
2491         * docs/manual/advanced-schedulers.xml:
2492         * docs/manual/appendix-checklist.xml:
2493         * docs/pwg/advanced-clock.xml:
2494         * docs/pwg/advanced-interfaces.xml:
2495         * docs/pwg/advanced-request.xml:
2496         * docs/pwg/advanced-types.xml:
2497         * docs/pwg/intro-preface.xml:
2498         * examples/plugins/example.c: (gst_example_get_type),
2499         (gst_example_class_init), (gst_example_chain),
2500         (gst_example_set_property), (gst_example_get_property),
2501         (gst_example_change_state), (plugin_init):
2502         * examples/plugins/example.h:
2503           small doc fixes
2504
2505 2005-05-17  Wim Taymans  <wim@fluendo.com>
2506
2507         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2508         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2509         * gst/gstqueue.c: (gst_queue_change_state):
2510         Clear queue when going to READY.
2511         Remove IN_SETCAPS flag too.
2512
2513 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2514
2515         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2516           Remove implicit cast from gboolean to GstElementStateReturn;
2517           make sure we still return failure in paused => ready case if
2518           the parent class fails to change state and our own stop 
2519           vfunc succeeds.
2520
2521 2005-05-17  Wim Taymans  <wim@fluendo.com>
2522
2523         * tools/gst-launch.c: (event_loop):
2524         Message was unreffed too soon.
2525
2526 2005-05-16  Andy Wingo  <wingo@pobox.com>
2527
2528         * gst/gstbin.c (sink_iterator_filter): Err... um...
2529
2530         * check/gst/gstbin.c (test_ghost_pads): New test for the
2531         ghosting-if-elements-not-in-same-bin behavior.
2532
2533 2005-05-16  David Schleef  <ds@schleef.org>
2534
2535         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2536         accessing refcount directly.
2537
2538 2005-05-15  David Schleef  <ds@schleef.org>
2539
2540         * check/Makefile.am: remove GstData checks
2541         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2542         * gst/Makefile.am: add miniobject, remove data
2543         * gst/gst.h: add miniobject, remove data
2544         * gst/gstdata.c: remove
2545         * gst/gstdata.h: remove
2546         * gst/gstdata_private.h: remove
2547         * gst/gsttypes.h: remove GstEvent and GstMessage
2548         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2549         * gst/gstmarshal.list: change BOXED -> OBJECT
2550
2551         Implement GstMiniObject.
2552         * gst/gstminiobject.c:
2553         * gst/gstminiobject.h:
2554
2555         Modify to be subclasses of GstMiniObject.
2556         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2557         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2558         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2559         (gst_subbuffer_get_type), (gst_subbuffer_init),
2560         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2561         (gst_buffer_span):
2562         * gst/gstbuffer.h:
2563         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2564         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2565         (_gst_event_copy), (gst_event_new):
2566         * gst/gstevent.h:
2567         * gst/gstmessage.c: (_gst_message_initialize),
2568         (gst_message_get_type), (gst_message_class_init),
2569         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2570         (gst_message_new), (gst_message_new_error),
2571         (gst_message_new_warning), (gst_message_new_tag),
2572         (gst_message_new_state_changed), (gst_message_new_application):
2573         * gst/gstmessage.h:
2574         * gst/gstprobe.c: (gst_probe_perform),
2575         (gst_probe_dispatcher_dispatch):
2576         * gst/gstprobe.h:
2577         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2578         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2579         (_gst_query_copy), (gst_query_new):
2580
2581         Update elements for GstData -> GstMiniObject changes
2582         * gst/gstquery.h:
2583         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2584         (gst_queue_chain), (gst_queue_loop):
2585         * gst/elements/gstbufferstore.c:
2586         (gst_buffer_store_add_buffer_func),
2587         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2588         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2589         (gst_fakesink_render):
2590         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2591         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2592         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2593         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2594         (gst_filesrc_create_read):
2595         * gst/elements/gstidentity.c: (gst_identity_class_init):
2596         * gst/elements/gsttypefindelement.c:
2597         (gst_type_find_element_src_event), (free_entry_buffers),
2598         (gst_type_find_element_handle_event):
2599         * libs/gst/dataprotocol/dataprotocol.c:
2600         (gst_dp_header_from_buffer):
2601         * libs/gst/dataprotocol/dataprotocol.h:
2602         * libs/gst/dataprotocol/dp-private.h:
2603
2604 2005-05-15  David Schleef  <ds@schleef.org>
2605
2606         * gst/elements/gstelements.c: Don't include headers that were
2607         just removed.
2608
2609 2005-05-15  David Schleef  <ds@schleef.org>
2610
2611         * gst/elements/Makefile.am: Remove some elements that don't
2612         need to be in the core (or even exist at all).
2613         * gst/elements/gstaggregator.c:
2614         * gst/elements/gstaggregator.h:
2615         * gst/elements/gstmd5sink.c:
2616         * gst/elements/gstmd5sink.h:
2617         * gst/elements/gstmultifilesrc.c:
2618         * gst/elements/gstmultifilesrc.h:
2619         * gst/elements/gstpipefilter.c:
2620         * gst/elements/gstpipefilter.h:
2621         * gst/elements/gstshaper.c:
2622         * gst/elements/gstshaper.h:
2623         * gst/elements/gststatistics.c:
2624         * gst/elements/gststatistics.h:
2625         * po/POTFILES.in: Remove above files.
2626
2627 2005-05-14  Andy Wingo  <wingo@pobox.com>
2628
2629         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2630         so as to get the refs right.
2631         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2632         unreffing objects that don't pass the filter.
2633
2634         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2635         gst_element_set_bus.
2636         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2637         normal cases, this will destroy the bus.
2638
2639         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2640         object.
2641
2642         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2643         has no sinks.
2644
2645 2005-05-13  Andy Wingo  <wingo@pobox.com>
2646
2647         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2648         gst_pad_link, call pad_link_maybe_ghosting,
2649         (pad_link_maybe_ghosting): Links pads, making sure that the
2650         elements being linked are in the same bin.
2651         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2652         Helpers for pad_link_maybe_ghosting.
2653
2654 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * configure.ac:
2657           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2658
2659 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2660
2661         * docs/design/part-element-source.txt:
2662           Mention GstPushSrc
2663
2664 2005-05-12  Wim Taymans  <wim@fluendo.com>
2665
2666         * gst/base/gstbasesink.c: (gst_basesink_init),
2667         (gst_basesink_activate):
2668         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2669         (gst_basesrc_is_seekable):
2670         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2671         (bin_element_is_sink), (gst_bin_change_state):
2672         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2673         * gst/gstelement.h:
2674         Identify sinks by their flag to avoid overly complicated
2675         checks (fow now).
2676         Do state changes even for elements not reachable from the
2677         sinks.
2678         BaseSink is a sink now :)
2679         Some more debugging info in the basesrc.
2680
2681
2682 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2683
2684         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2685           Implement _query on a bin, similar to _send_event.
2686
2687 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2688
2689         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2690           Discont event offset format should be GST_FORMAT_BYTES,
2691           not GST_FORMAT_TIME.
2692
2693 2005-05-12  Wim Taymans  <wim@fluendo.com>
2694
2695         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2696         Same fix as Ronald's but without the signal. 
2697
2698 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2699
2700         * gst/gstutils.c: (gst_element_query_position):
2701           No, an element is not a pad.
2702
2703 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2704
2705         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2706         (gst_bin_get_state):
2707           If a child is removed from a bin while we remove the child from
2708           the bin and while we're retrieving its state, signal this to the
2709           get_state function so we abort the wait (instead of waiting for
2710           a timeout) and can immediately re-iterate over all other elements.
2711
2712 2005-05-12  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/base/Makefile.am:
2715         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2716         (gst_basesrc_start):
2717         * gst/base/gstbasesrc.h:
2718         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2719         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2720         (gst_pushsrc_init), (gst_pushsrc_create):
2721         * gst/base/gstpushsrc.h:
2722         Added is_seekable to BaseSrc
2723         Added simple PushSrc.
2724
2725 2005-05-11  Wim Taymans  <wim@fluendo.com>
2726
2727         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2728         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2729         (gst_element_link_pads), (gst_element_query_position),
2730         (gst_element_query_convert), (intersect_caps_func),
2731         (gst_pad_query_position), (gst_pad_query_convert):
2732         Fix refcounting in utils function.
2733         No point in trying to activate a pad when it's added, it could
2734         be added from the state change function and then we deadlock, the
2735         element has to decide what to do.
2736
2737 2005-05-10  Andy Wingo  <wingo@pobox.com>
2738
2739         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2740         *all* the arguments.
2741
2742         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2743         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2744         lock (according to the docs -- if this is wrong change the docs).
2745
2746         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2747         flush messages in the NULL state.
2748
2749         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2750         message immediately and return.
2751         (gst_bus_set_flushing): New function. If a bus is flushing, it
2752         flushes out any queued messages and immediately unrefs new
2753         messages. This is so when an element goes to NULL, all of the
2754         unhandled messages coming from it can be freed, and their
2755         references to the element dropped. In other words: message source
2756         ref considered harmful :P
2757
2758         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2759         we're finished with it.
2760
2761         * gst/gstmessage.c (gst_message_new_state_changed): 
2762
2763 2005-05-10  Wim Taymans  <wim@fluendo.com>
2764
2765         * gst/gstvalue.c: (gst_value_compare_flags),
2766         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2767         (_gst_value_initialize):
2768         Added flags serialize/deserialize/compare code.
2769
2770 2005-05-09  Andy Wingo  <wingo@pobox.com>
2771
2772         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2773         Intersect the peer's caps with our caps.
2774
2775 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2776
2777         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2778         * gst/elements/gsttypefindelement.c: (find_peek):
2779           Handle negative offsets better. Fixes decodebin.
2780
2781 2005-05-09  Wim Taymans  <wim@fluendo.com>
2782
2783         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2784         (gst_base_transform_event):
2785         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2786         Implement accept_caps.
2787         Fix silly lock/unlock mismatch in base class.
2788
2789 2005-05-09  Wim Taymans  <wim@fluendo.com>
2790
2791         * docs/design/draft-push-pull.txt:
2792         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2793         * gst/elements/gstfilesink.c: (gst_filesink_init),
2794         (gst_filesink_query):
2795         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2796         (gst_type_find_handle_src_query), (find_element_get_length):
2797         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2798         * gst/gstelement.h:
2799         * gst/gstmessage.c:
2800         * gst/gstmessage.h:
2801         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2802         (gst_real_pad_get_caps_unlocked),
2803         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2804         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2805         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2806         (gst_real_pad_dispose), (gst_real_pad_finalize),
2807         (gst_pad_load_and_link), (gst_pad_save_thyself),
2808         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2809         (gst_pad_check_pull_range), (gst_pad_pull_range),
2810         (gst_pad_template_get_type), (gst_pad_template_class_init),
2811         (gst_pad_template_init), (gst_pad_template_dispose),
2812         (name_is_valid), (gst_static_pad_template_get),
2813         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2814         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2815         (gst_pad_get_element_private), (gst_pad_start_task),
2816         (gst_pad_pause_task), (gst_pad_stop_task),
2817         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2818         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2819         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2820         (gst_ghost_pad_new):
2821         * gst/gstpad.h:
2822         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2823         (gst_query_new_position), (gst_query_set_position),
2824         (gst_query_parse_position), (gst_query_new_convert),
2825         (gst_query_set_convert), (gst_query_parse_convert):
2826         * gst/gstquery.h:
2827         * gst/gstqueryutils.c:
2828         * gst/gstqueryutils.h:
2829         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2830         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2831         (gst_queue_handle_src_query):
2832         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2833         (gst_element_query_position), (gst_element_query_convert),
2834         (intersect_caps_func), (gst_pad_query_position),
2835         (gst_pad_query_convert):
2836         * gst/gstutils.h:
2837         * tools/gst-inspect.c: (print_pad_info):
2838         * tools/gst-xmlinspect.c: (print_element_info):
2839         Remove old query functions. Ported old code.
2840         Added position/convert helper functions to gstutils.
2841         Reordered gstpad.c code, grouping relevant things.
2842         Remove gst_message_new(), always need to speficy a specific
2843         message.
2844
2845
2846 2005-05-09  Andy Wingo  <wingo@pobox.com>
2847
2848         * gst/gstiterator.h: Add some includes.
2849
2850         * gst/gstqueryutils.h: Include more headers.
2851
2852         * gst/gstpad.h:
2853         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2854         some uses of gst_pad_query.
2855
2856         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2857         NULL out parameters.
2858         (gst_query_new_position): New proc, allocates a new position
2859         query.
2860
2861         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2862         gstqueryutils.c to the build.
2863
2864         * gst/gststructure.c (gst_structure_set_valist): Implement with
2865         the generic G_VALUE_COLLECT.
2866         
2867 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2868
2869         * gst/Makefile.am: (gst_headers):
2870         Added gstqueryutils.h to the list of headers to install, that was
2871         a 'nachty' move wingo :)
2872
2873 2005-05-06  Andy Wingo  <wingo@pobox.com>
2874
2875         * gst/gstquery.h
2876         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2877         GstData, init a memchunk.
2878         (standard_definitions): Add a few query types, deprecate a few.
2879         (gst_query_get_type): New proc.
2880         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2881         implementation.
2882         (gst_query_new_application, gst_query_get_structure): New public
2883         procs.
2884
2885         * docs/design/draft-query.txt: Removed LINKS from the query types,
2886         because all the rest can be dispatched to other pads -- seemed
2887         ugly to have a query that couldn't be dispatched. internal_links
2888         is fine as a pad method.
2889
2890         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2891         in gstpad.c, but maintain binary compatibility for the moment.
2892         Will fix before 0.9 is out.
2893
2894         * gst/gstqueryutils.c: 
2895         * gst/gstqueryutils.h: New files, implement 3 methods for each
2896         query type: parse_query, parse_response, and set. Probably need an
2897         allocator as well.
2898
2899         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2900
2901         * gst/elements/gstfilesink.c (gst_filesink_query2):
2902         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2903         query_types, and formats methods.
2904
2905         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2906         (gst_pad_set_query2_function): New functions.
2907         (gst_real_pad_init): Set query2_default as the default query2
2908         function. Basically just dispatches to internally linked pads.
2909
2910         Needs review!
2911         
2912         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2913         without using the atomic operations. Only one thread can possibly
2914         be accessing the data at this point. Changed so as to avoid
2915         gst_atomic operations.
2916
2917 2005-05-06  Wim Taymans  <wim@fluendo.com>
2918
2919         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2920         Also set caps if we use the fallback buffer alloc.
2921
2922 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2923
2924         * docs/gst/Makefile.am:
2925         * docs/gst/gstreamer-docs.sgml:
2926         * docs/gst/gstreamer-sections.txt:
2927         * docs/gst/tmpl/gstatomic.sgml:
2928         * docs/gst/tmpl/gstmemchunk.sgml:
2929         * testsuite/elements/struct_i386.h:
2930         * win32/GStreamer.vcproj:
2931         * win32/Makefile:
2932           Purge GstAtomic stuff from docs and win32 makefiles as well
2933
2934 2005-05-06  Wim Taymans  <wim@fluendo.com>
2935
2936         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2937         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2938         * gst/gstpad.c: (gst_pad_peer_get_caps):
2939         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2940         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2941         (gst_queue_src_activate), (gst_queue_change_state):
2942         * gst/gstqueue.h:
2943         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2944         (intersect_caps_func):
2945         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2946         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2947         Some fixes for the peer_get_caps() change.
2948
2949 2005-05-06  Wim Taymans  <wim@fluendo.com>
2950
2951         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2952         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2953         (gst_basesink_activate):
2954         Actually do something with error codes returned from the push
2955         functions.
2956
2957 2005-05-06  Wim Taymans  <wim@fluendo.com>
2958
2959         * docs/design/part-element-sink.txt:
2960         * docs/design/part-element-source.txt:
2961         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2962         (gst_basesink_event), (gst_basesink_activate):
2963         * gst/base/gstbasesink.h:
2964         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2965         (gst_basesrc_activate):
2966         * gst/base/gstbasesrc.h:
2967         * gst/gstelement.c: (gst_element_pads_activate):
2968         Some more documentation.
2969         Fixed scheduling decision in _pads_activate().
2970
2971 2005-05-05  Andy Wingo  <wingo@pobox.com>
2972
2973         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2974         the test suite.
2975
2976 2005-05-05  Wim Taymans  <wim@fluendo.com>
2977
2978         * gst/base/Makefile.am:
2979         * gst/base/gstbasesink.h:
2980         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2981         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2982         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2983         (gst_collectpads_class_init), (gst_collectpads_init),
2984         (gst_collectpads_finalize), (gst_collectpads_new),
2985         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2986         (find_pad), (gst_collectpads_remove_pad),
2987         (gst_collectpads_is_active), (gst_collectpads_collect),
2988         (gst_collectpads_collect_range), (gst_collectpads_start),
2989         (gst_collectpads_stop), (gst_collectpads_peek),
2990         (gst_collectpads_pop), (gst_collectpads_available),
2991         (gst_collectpads_read), (gst_collectpads_flush),
2992         (gst_collectpads_chain):
2993         * gst/base/gstcollectpads.h:
2994         * gst/elements/Makefile.am:
2995         * gst/elements/gstelements.c:
2996         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2997         (gst_fakesink_get_times), (gst_fakesink_event),
2998         (gst_fakesink_preroll), (gst_fakesink_render):
2999         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3000         (gst_filesink_init), (gst_filesink_set_location),
3001         (gst_filesink_open_file), (gst_filesink_close_file),
3002         (gst_filesink_pad_query), (gst_filesink_event),
3003         (gst_filesink_render), (gst_filesink_change_state):
3004         * gst/elements/gstfilesink.h:
3005         Added object to help in making collect pad based elements.
3006         Ported filesink.
3007         Make event function in sink baseclass return gboolean.
3008
3009 2005-05-05  Wim Taymans  <wim@fluendo.com>
3010
3011         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3012         (gst_bin_get_by_name):
3013         * gst/gstbuffer.h:
3014         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3015         (gst_clock_finalize):
3016         * gst/gstdata.c: (gst_data_replace):
3017         * gst/gstdata.h:
3018         * gst/gstelement.c: (gst_element_request_pad),
3019         (gst_element_pads_activate):
3020         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3021         (gst_object_unref):
3022         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3023         (gst_pad_set_checkgetrange_function),
3024         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3025         (gst_pad_check_pull_range), (gst_pad_pull_range),
3026         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3027         (gst_pad_pause_task), (gst_pad_stop_task):
3028         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3029         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3030         Fix name lookup in GstBin.
3031         Added _data_replace() function and _buffer_replace()
3032         Use finalize method to clean up clock.
3033         Fix refcounting on request pads.
3034         Fix pad schedule mode error.
3035         Some more object refcounting debug info,
3036
3037
3038 2005-05-04  Andy Wingo <wingo@pobox.com>
3039
3040         * check/Makefile.am:
3041         * docs/gst/tmpl/gstatomic.sgml:
3042         * docs/gst/tmpl/gstplugin.sgml:
3043         * gst/base/gstbasesink.c: (gst_basesink_activate):
3044         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3045         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3046         (gst_basesrc_query), (gst_basesrc_set_property),
3047         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3048         (gst_basesrc_activate):
3049         * gst/base/gstbasesrc.h:
3050         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3051         (gst_base_transform_src_activate):
3052         * gst/elements/gstelements.c:
3053         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3054         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3055         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3056         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3057         (gst_type_find_element_checkgetrange),
3058         (gst_type_find_element_activate):
3059         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3060         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3061         (gst_caps_load_thyself):
3062         * gst/gstelement.c: (gst_element_pads_activate),
3063         (gst_element_save_thyself), (gst_element_restore_thyself):
3064         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3065         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3066         * gst/gstpad.h:
3067         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3068         (gst_xml_parse_file), (gst_xml_parse_memory),
3069         (gst_xml_get_element), (gst_xml_make_element):
3070         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3071         (_file_index_id_save_xml), (gst_file_index_commit):
3072         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3073         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3074         (load_paths):
3075         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3076         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3077         * tools/gst-complete.c: (main):
3078         * tools/gst-compprep.c: (main):
3079         * tools/gst-inspect.c: (print_element_properties_info):
3080         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3081         * tools/gst-xmlinspect.c: (print_element_properties):
3082         GCC 4 fixen.
3083         
3084 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * gst/gstplugin.c: (gst_plugin_check_module),
3087         (gst_plugin_check_file), (gst_plugin_load_file):
3088             apply patch from #172526 to make register work on MacOSX
3089
3090 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3091
3092         * docs/gst/tmpl/gstconfig.sgml:
3093         * gst/gstconfig.h.in:
3094           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3095         * testsuite/debug/printf_extension.c: (main):
3096           Do not use GST_PTR_FORMAT on pointers to types with
3097           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3098         * testsuite/elements/property.h:
3099           use correct printf format
3100
3101 2005-05-02  Wim Taymans  <wim@fluendo.com>
3102
3103         * docs/design/draft-push-pull.txt:
3104         * docs/design/draft-query.txt:
3105         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3106         (gst_basesrc_start):
3107         Added draft for new query API.
3108         Added draft for better selecting scheduling methods.
3109         Make basesrc ignore length if the subclass does not support
3110         it.
3111
3112 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3113
3114         * gst/Makefile.am:
3115           possible fixes for automake-1.5 - _LIBADD is reserved
3116
3117 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3118
3119         * docs/faq/Makefile.am:
3120         * docs/manual/Makefile.am:
3121         * docs/manuals.mak:
3122         * docs/pwg/Makefile.am:
3123         * gst/Makefile.am:
3124           possible fixes for automake-1.5
3125
3126 2005-04-28  Wim Taymans  <wim@fluendo.com>
3127
3128         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3129         (gst_basesink_pad_getcaps), (gst_basesink_init),
3130         (gst_basesink_do_sync):
3131         * gst/gstclock.c: (gst_clock_entry_new):
3132         * gst/gstevent.c: (gst_event_discont_get_value):
3133         * gst/gstpipeline.c: (pipeline_bus_handler),
3134         (gst_pipeline_change_state):
3135         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3136         Better debugging of clocking info.
3137         Allow NULL values when getting discont values.
3138
3139 2005-04-27  Wim Taymans  <wim@fluendo.com>
3140
3141         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3142         * check/gst/gstpad.c: (gst_pad_suite):
3143         Increase timeout for checks.
3144
3145 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3146
3147         * check/Makefile.am:
3148           fix the broken rule for cleanup.  Apparently this rule is
3149           only needed on FC2, so maybe this warrants further autotool
3150           inspection.
3151
3152 2005-04-26  Wim Taymans  <wim@fluendo.com>
3153
3154         * gst/gsttrashstack.h:
3155         Ooohh. a nasty one! After having a failed pop() from the stack,
3156         it's possible that the stack is empty. In that case, don't
3157         follow the NULL pointer.
3158
3159 2005-04-25  Wim Taymans  <wim@fluendo.com>
3160
3161         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3162         (gst_pad_set_checkgetrange_function),
3163         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3164         (gst_pad_check_pull_range), (gst_pad_pull_range),
3165         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3166         (gst_pad_pause_task), (gst_pad_stop_task):
3167         * gst/gstplugin.c: (gst_plugin_load):
3168         * gst/gstplugin.h:
3169         Remove gst_library_load as it does more harm than good with
3170         the new g_module flags.
3171         Revert bogus caps template check in pad linking, pad caps
3172         are important when linking not the template, which is more
3173         general than the current caps.
3174
3175 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3176
3177         * gst/autoplug/.cvsignore:
3178         * gst/autoplug/Makefile.am:
3179         * gst/autoplug/gstsearchfuncs.c:
3180         * gst/autoplug/gstsearchfuncs.h:
3181         * gst/autoplug/gstspider.c:
3182         * gst/autoplug/gstspider.h:
3183         * gst/autoplug/gstspideridentity.c:
3184         * gst/autoplug/gstspideridentity.h:
3185         * gst/autoplug/spidertest.c:
3186           Die, spider, die.
3187
3188 2005-04-25  Wim Taymans  <wim@fluendo.com>
3189
3190         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3191         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3192         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3193         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3194         * gst/gstpad.h:
3195         Added stubs for unimplemented functions. 
3196
3197 2005-04-24  David Schleef  <ds@schleef.org>
3198
3199         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3200         please fix.
3201
3202 2005-04-24  David Schleef  <ds@schleef.org>
3203
3204         Convert everything from GstAtomicInt to g_atomic_int_*, and
3205         remove gstatomic.
3206         * gst/Makefile.am:
3207         * gst/gstatomic.c:
3208         * gst/gstatomic.h:
3209         * gst/gstatomic_impl.h:
3210         * gst/gstbuffer.c:
3211         * gst/gstcaps.c:
3212         * gst/gstcaps.h:
3213         * gst/gstclock.c:
3214         * gst/gstclock.h:
3215         * gst/gstdata.c:
3216         * gst/gstdata.h:
3217         * gst/gstdata_private.h:
3218         * gst/gstevent.c:
3219         * gst/gstinfo.c:
3220         * gst/gstinfo.h:
3221         * gst/gstmessage.c:
3222         * gst/gstobject.c:
3223         * gst/gstobject.h:
3224         * gst/gststructure.c:
3225         * gst/gststructure.h:
3226         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3227         * gst/gstutils.h:
3228
3229 2005-04-24  David Schleef  <ds@schleef.org>
3230
3231         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3232         make the regressions tests work.  Remove some code that is no
3233         longer true.
3234         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3235         Disable warning for pads without templates.
3236
3237 2005-04-24  David Schleef  <ds@schleef.org>
3238
3239         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3240         functions that handle filtered links.
3241         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3242         removed functions.
3243         * gst/gstutils.c: Fix/remove utility functions that handle
3244         filtered caps.
3245         * gst/gstutils.h:
3246         * gst/gstvalue.c: Add serialization/deserialization of caps
3247         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3248         requires fixing so that the filter caps notation creates
3249         a capsfilter element and sets the filter_caps property.  I
3250         think everyone probably wants to keep the shorthand notation.
3251         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3252         * docs/gst/tmpl/gstpad.sgml:
3253
3254         * gst/elements/gstelements.c: Register capsfilter element.
3255         * gst/Makefile.am: fix spacing
3256         * docs/random/ds/0.9-suggested-changes: random
3257
3258 2005-04-23  David Schleef  <ds@schleef.org>
3259
3260         * gst/elements/Makefile.am:
3261         * gst/elements/gstcapsfilter.c: New element that acts like an
3262         identity, but filters caps.  Will eventually replace filtered
3263         caps in pad linking.
3264         * gst/gstutils.c: (gst_element_create_all_pads): New function
3265         to create all the ALWAYS pads that are registered with an
3266         element class.  This functionality should eventually be
3267         merged in with GstElement initialization.
3268         * gst/gstutils.h:
3269         * testsuite/trigger/README: part of trigger test code that should
3270         have been checked in a long time ago.
3271
3272 2005-04-23  David Schleef  <ds@schleef.org>
3273
3274         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3275         needed with new versions of libtool (nobody will confirm this),
3276         and hard to carry around.
3277         * gst/autoplug/Makefile.am:
3278         * gst/base/Makefile.am:
3279         * gst/elements/Makefile.am:
3280         * gst/indexers/Makefile.am:
3281         * gst/schedulers/Makefile.am:
3282         * libs/gst/bytestream/Makefile.am:
3283         * libs/gst/control/Makefile.am:
3284         * libs/gst/dataprotocol/Makefile.am:
3285         * libs/gst/getbits/Makefile.am:
3286
3287 2005-04-21  Wim Taymans  <wim@fluendo.com>
3288
3289         * docs/design/draft-push-pull.txt:
3290         * docs/design/part-MT-refcounting.txt:
3291         * docs/design/part-TODO.txt:
3292         * docs/design/part-caps.txt:
3293         * docs/design/part-events.txt:
3294         * docs/design/part-gstbus.txt:
3295         * docs/design/part-gstpipeline.txt:
3296         * docs/design/part-messages.txt:
3297         * docs/design/part-push-pull.txt:
3298         * docs/design/part-query.txt:
3299         Some more docs.
3300
3301 2005-04-21  Wim Taymans  <wim@fluendo.com>
3302
3303         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3304         (gst_message_new), (gst_message_new_error),
3305         (gst_message_new_warning), (gst_message_new_tag),
3306         (gst_message_new_state_changed), (gst_message_new_application),
3307         (gst_message_get_structure):
3308         * gst/gstmessage.h:
3309         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3310         (gst_structure_copy_conditional):
3311         Use parent refcount in GstMessage to ensure GstStructure
3312         consistency.
3313         Cleaned up headers a bit.
3314         
3315
3316 2005-04-20  Wim Taymans  <wim@fluendo.com>
3317
3318         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3319         (gst_basesink_pad_getcaps), (gst_basesink_init),
3320         (gst_basesink_chain_unlocked):
3321         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3322         (gst_type_find_helper):
3323         * gst/elements/gsttypefindelement.c:
3324         (gst_type_find_element_have_type), (gst_type_find_element_init),
3325         (stop_typefinding), (gst_type_find_element_handle_event),
3326         (find_suggest), (gst_type_find_element_chain),
3327         (gst_type_find_element_checkgetrange),
3328         (gst_type_find_element_getrange), (do_typefind),
3329         (gst_type_find_element_activate):
3330         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3331         (gst_buffer_default_free), (gst_buffer_default_copy),
3332         (gst_buffer_set_caps):
3333         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3334         (gst_caps_replace):
3335         * gst/gstmessage.c: (gst_message_new),
3336         (gst_message_new_state_changed):
3337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3338         (gst_pad_set_checkgetrange_function),
3339         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3340         (gst_pad_set_caps), (gst_pad_check_pull_range),
3341         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3342         * gst/gstpad.h:
3343         * gst/gsttypefind.c: (gst_type_find_register):
3344         Make gst_caps_replace() work like other _replace() functions.
3345         Use _caps_replace() where possible.
3346         Make sure _message_new() initialises its field.
3347         Add gst_static_pad_template_get_caps()
3348
3349
3350 2005-04-18  Andy Wingo  <wingo@pobox.com>
3351
3352         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3353         on the peer, not the pad. I think that was a typo. Pass an extra
3354         arg to see if random access is possible. Activate the pads as
3355         PULL_RANGE if possible.
3356
3357         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3358
3359         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3360         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3361         to PROP_....
3362
3363 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3364
3365         * docs/faq/using.xml:
3366           Add note on gstreamer-properties (#154996).
3367
3368 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3369
3370         * docs/random/bbb/optional-properties:
3371           Some analysis on optional properties.
3372
3373 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3374
3375         * docs/gst/tmpl/gstelementfactory.sgml:
3376         * gst/gstelement.h:
3377         * gst/gstelementfactory.c: (gst_element_factory_init),
3378         (gst_element_factory_cleanup), (gst_element_register),
3379         (__gst_element_factory_add_static_pad_template),
3380         (gst_element_factory_get_static_pad_templates),
3381         (gst_element_factory_can_src_caps),
3382         (gst_element_factory_can_sink_caps):
3383         * gst/registries/Makefile.am:
3384         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3385         (gst_xml_registry_class_init), (gst_xml_registry_init),
3386         (gst_xml_registry_new), (gst_xml_registry_set_property),
3387         (gst_xml_registry_get_property), (get_time), (make_dir),
3388         (gst_xml_registry_get_perms_func),
3389         (plugin_times_older_than_recurse), (plugin_times_older_than),
3390         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3391         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3392         (add_to_char_array), (read_string), (read_uint), (read_enum),
3393         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3394         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3395         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3396         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3397         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3398         (gst_xml_registry_rebuild):
3399         * gst/registries/gstlibxmlregistry.h:
3400         * tools/gst-compprep.c: (main):
3401         * tools/gst-inspect.c: (print_pad_templates_info):
3402         * tools/gst-xmlinspect.c: (print_element_info):
3403           Use libxml2 for registry parsing, use staticpadtemplates in
3404           elementfactories. Makes gst_init() +/- 10x faster.
3405
3406 2005-04-12  Wim Taymans  <wim@fluendo.com>
3407
3408         * gst/base/Makefile.am:
3409         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3410         (gst_basesink_pad_getcaps), (gst_basesink_init),
3411         (gst_basesink_event), (gst_basesink_change_state):
3412         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3413         (gst_basesrc_init), (gst_basesrc_query),
3414         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3415         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3416         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3417         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3418         (gst_basesrc_stop), (gst_basesrc_activate),
3419         (gst_basesrc_change_state):
3420         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3421         (helper_find_suggest), (gst_type_find_helper):
3422         * gst/base/gsttypefindhelper.h:
3423         * gst/elements/Makefile.am:
3424         * gst/elements/gstelements.c:
3425         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3426         (gst_fakesink_get_times), (gst_fakesink_event),
3427         (gst_fakesink_preroll), (gst_fakesink_render):
3428         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3429         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3430         (gst_fakesrc_get_property), (gst_fakesrc_create),
3431         (gst_fakesrc_start), (gst_fakesrc_stop):
3432         * gst/elements/gstfakesrc.h:
3433         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3434         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3435         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3436         (gst_filesrc_create_read), (gst_filesrc_create),
3437         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3438         (gst_filesrc_start):
3439         * gst/elements/gsttypefindelement.c:
3440         (gst_type_find_element_have_type), (gst_type_find_element_init),
3441         (start_typefinding), (stop_typefinding), (push_buffer_store),
3442         (gst_type_find_element_handle_event),
3443         (gst_type_find_element_chain),
3444         (gst_type_find_element_checkgetrange),
3445         (gst_type_find_element_getrange), (do_typefind),
3446         (gst_type_find_element_activate),
3447         (gst_type_find_element_change_state):
3448         * gst/elements/gsttypefindelement.h:
3449         * gst/gstpipeline.c: (pipeline_bus_handler):
3450         Added typefind helper.
3451         Small preroll fix in the base sink.
3452         Disable typefind code in basesrc.
3453         Crude port of typefindelement.
3454         Fakesrc cleanups.
3455
3456
3457 2005-04-11  Wim Taymans  <wim@fluendo.com>
3458
3459         * check/gst/gstbus.c: (gstbus_suite):
3460         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3461         * check/gstcheck.h:
3462           Fix up the timeout so that the test does not fail.
3463
3464 2005-04-06  Wim Taymans  <wim@fluendo.com>
3465
3466         * gst/base/README:
3467         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3468         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3469         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3470         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3471         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3472         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3473         (gst_basesrc_stop), (gst_basesrc_activate),
3474         (gst_basesrc_change_state), (basesrc_find_peek),
3475         (basesrc_find_suggest), (gst_basesrc_type_find):
3476         * gst/base/gstbasesrc.h:
3477         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3478         (gst_filesrc_class_init), (gst_filesrc_init),
3479         (gst_filesrc_finalize), (gst_filesrc_set_location),
3480         (gst_filesrc_set_property), (gst_filesrc_get_property),
3481         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3482         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3483         (gst_filesrc_create_read), (gst_filesrc_create),
3484         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3485         * gst/elements/gstfilesrc.h:
3486         * gst/gstelement.c: (gst_element_get_state_func),
3487         (gst_element_lost_state), (gst_element_pads_activate):
3488         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3489         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3490         (gst_pad_pull_range):
3491         * gst/gstpad.h:
3492         More work on the generic source base class, implement seeking,
3493         query.
3494         Make filesrc extend the base source class.
3495         Added gst_pad_set_checkgetrange_function to GstPad.
3496
3497 2005-04-06  Andy Wingo  <wingo@pobox.com>
3498
3499         * pkgconfig/gstreamer-base.pc.in:
3500         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3501
3502         * pkgconfig/Makefile.am:
3503         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3504
3505 2005-04-04  Wim Taymans  <wim@fluendo.com>
3506
3507         * gst/base/Makefile.am:
3508         * gst/base/README:
3509         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3510         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3511         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3512         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3513         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3514         (gst_basesrc_base_init), (gst_basesrc_class_init),
3515         (gst_basesrc_init), (gst_basesrc_get_formats),
3516         (gst_basesrc_get_query_types), (gst_basesrc_query),
3517         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3518         (gst_basesrc_set_property), (gst_basesrc_get_property),
3519         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3520         (gst_basesrc_loop), (gst_basesrc_activate),
3521         (gst_basesrc_change_state):
3522         * gst/base/gstbasesrc.h:
3523         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3524         (gst_fakesrc_class_init), (gst_fakesrc_init),
3525         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3526         (gst_fakesrc_get_property), (gst_fakesrc_create):
3527         * gst/elements/gstfakesrc.h:
3528         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3529         (gst_filesrc_open_file), (gst_filesrc_loop),
3530         (gst_filesrc_activate), (filesrc_find_peek),
3531         (gst_filesrc_type_find):
3532         Made base source class, make fakesrc extend it.
3533         Add comments to basesink class.
3534         Some filesrc cleanup.
3535
3536 2005-03-31  David Schleef  <ds@schleef.org>
3537
3538         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3539         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3540         expected to link against libgstreamer.
3541         * gst/base/Makefile.am: link against libgstreamer
3542         * gst/elements/Makefile.am: same
3543
3544 2005-03-31  Andy Wingo  <wingo@pobox.com>
3545
3546         * tests/instantiate/Makefile.am:
3547         * tests/instantiate/caps.c: Add test to test speed of caps copy
3548         and free.
3549
3550         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3551         GMemChunk to be fair.
3552
3553         * gst/gsttrashstack.h: Remove warning about using the fallback
3554         trash stack implementation, it's still faster than malloc.
3555
3556 2005-03-30  Andy Wingo  <wingo@pobox.com>
3557
3558         * tests/complexity.c: Add a copyright.
3559
3560 2005-03-31  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3563         (gst_base_transform_class_init), (gst_base_transform_init),
3564         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3565         (gst_base_transform_get_property),
3566         (gst_base_transform_sink_activate),
3567         (gst_base_transform_src_activate),
3568         (gst_base_transform_change_state):
3569         * gst/base/gstbasetransform.h:
3570         * gst/elements/gstidentity.c: (gst_identity_class_init),
3571         (gst_identity_event), (gst_identity_check_perfect),
3572         (gst_identity_transform), (gst_identity_start),
3573         (gst_identity_stop):
3574         Added start/stop methods to transform base class so subclasses 
3575         don't need to deal with state changes even.
3576
3577 2005-03-31  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3580         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3581         * gst/gstevent.h:
3582         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3583         (gst_pad_pull_range):
3584         Added rate to the discont event to prepare for variable speed
3585         and reverse playback.
3586
3587 2005-03-29  David Schleef  <ds@schleef.org>
3588
3589         * configure.ac:
3590         * testsuite/trigger/Makefile.am:
3591         * testsuite/trigger/trigger.c: A little example program to show
3592         how trigger-based elements can work.
3593
3594 2005-03-29  Wim Taymans  <wim@fluendo.com>
3595
3596         * gst/base/Makefile.am:
3597         * gst/base/README:
3598         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3599         (gst_basesink_base_init), (gst_basesink_class_init),
3600         (gst_basesink_pad_getcaps), (gst_basesink_init),
3601         (gst_basesink_activate), (gst_basesink_change_state):
3602         * gst/base/gstbasesink.h:
3603         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3604         (gst_base_transform_base_init), (gst_base_transform_finalize),
3605         (gst_base_transform_class_init), (gst_base_transform_init),
3606         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3607         (gst_base_transform_event), (gst_base_transform_getrange),
3608         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3609         (gst_base_transform_set_property),
3610         (gst_base_transform_get_property),
3611         (gst_base_transform_sink_activate),
3612         (gst_base_transform_src_activate),
3613         (gst_base_transform_change_state):
3614         * gst/base/gstbasetransform.h:
3615         * gst/elements/gstidentity.c: (gst_identity_finalize),
3616         (gst_identity_class_init), (gst_identity_init),
3617         (gst_identity_event), (gst_identity_check_perfect),
3618         (gst_identity_transform), (gst_identity_set_property),
3619         (gst_identity_get_property), (gst_identity_change_state):
3620         * gst/elements/gstidentity.h:
3621         * gst/gstelement.c: (gst_element_get_state_func),
3622         (gst_element_lost_state), (gst_element_pads_activate):
3623         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3624         (gst_pad_check_pull_range), (gst_pad_pull_range):
3625         * gst/gstpad.h:
3626         Simplify pad activation.
3627         Added function to check if pull_range can be performed.
3628         Error out when pulling inactive or flushing pads.
3629         Removed const from refcounted types as it does not make sense.
3630         Simplify pad templates in basesink
3631         Added base class for simple 1-to-1 transforms.
3632         Make identity subclass the base transform.
3633
3634 2005-03-29  Andy Wingo  <wingo@pobox.com>
3635
3636         * docs/libs/gstreamer-libs-overrides.txt: 
3637         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3638         really don't understand what's going on, but like whatever. I want
3639         green buildbot!
3640
3641         * docs/gst/Makefile.am:
3642         * docs/libs/Makefile.am: Dist the overrides files.
3643
3644         * check/Makefile.am (clean-local): Remove .libs directories.
3645
3646         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3647         elements to EXTRA_DIST, so po/ files are happy.
3648
3649         * po/POTFILES.in: Er, remove it here.
3650
3651         * po/POTFILES: Remove gstspider.c.
3652
3653         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3654
3655         * docs/libs/gstreamer-libs-docs.sgml: 
3656         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3657         bytestream.
3658
3659         * tests/complexity.c (main): Set the length of the preroll queue
3660         on the sinks to prevent a lockup.
3661
3662         * libs/gst/dataprotocol/Makefile.am: 
3663         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3664         the same as the one in check/gst-libs/gdp.c.
3665
3666         * po/, docs/gst/: Commit automatic changes to docs and po files.
3667
3668         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3669         the versioned libgstbase.
3670
3671         * check/Makefile.am: Depend on an unversioned gst-register, seems
3672         to make autoconf happier.
3673
3674         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3675
3676 2005-03-28  Wim Taymans  <wim@fluendo.com>
3677
3678         * configure.ac:
3679         * docs/design/part-gstelement.txt:
3680         * docs/design/part-negotiation.txt:
3681         * docs/design/part-preroll.txt:
3682         * docs/design/part-scheduling.txt:
3683         * docs/design/part-states.txt:
3684         * gst/Makefile.am:
3685         * gst/base/Makefile.am:
3686         * gst/base/README:
3687         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3688         (gst_basesink_base_init), (gst_basesink_class_init),
3689         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3690         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3691         (gst_basesink_set_pad_functions),
3692         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3693         (gst_basesink_set_property), (gst_basesink_get_property),
3694         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3695         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3696         (gst_basesink_preroll_queue_push),
3697         (gst_basesink_preroll_queue_empty),
3698         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3699         (gst_basesink_event), (gst_basesink_get_times),
3700         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3701         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3702         (gst_basesink_loop), (gst_basesink_activate),
3703         (gst_basesink_change_state):
3704         * gst/base/gstbasesink.h:
3705         * gst/elements/Makefile.am:
3706         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3707         (gst_fakesink_class_init), (gst_fakesink_init),
3708         (gst_fakesink_set_property), (gst_fakesink_get_property),
3709         (gst_fakesink_get_times), (gst_fakesink_event),
3710         (gst_fakesink_preroll), (gst_fakesink_render),
3711         (gst_fakesink_change_state):
3712         * gst/elements/gstfakesink.h:
3713         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3714         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3715         * gst/gstelement.c: (gst_element_add_pad),
3716         (gst_element_get_state_func), (gst_element_abort_state),
3717         (gst_element_commit_state), (gst_element_lost_state),
3718         (gst_element_set_state), (gst_element_pads_activate):
3719         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3720         * gst/gstpipeline.c: (gst_pipeline_send_event),
3721         (gst_pipeline_change_state):
3722         Added state change code.
3723         Added/updated docs.
3724         Added sink base class, make fakesink extend the base class.
3725         Small cleanups in GstPipeline.
3726
3727 2005-03-26  David Schleef  <ds@schleef.org>
3728
3729         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3730         is broken and should be implemented in a different library.
3731         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3732         * gst/gst.h: remove gstcpu.h
3733         * gst/gstcpu.c: remove
3734         * gst/gstcpu.h: remove
3735         * gst/Makefile.am.future: Remove this file.  It's ancient.
3736
3737 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3738
3739         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3740         (gst_bin_send_event):
3741           Add default event/set_manager handlers. The set_manager handler
3742           takes care that the manager is distributed over kids that were
3743           already in the bin before the manager was set. The event handler
3744           is a utility virtual function that sends the event over all sinks,
3745           so that gst_element_send_event (bin, event); has the expected
3746           behaviour.
3747         * gst/gstpad.c: (gst_pad_event_default):
3748           Re-install default event handling for discontinuities, so that
3749           seeking works without requiring hacks in applications or extra
3750           code in sinks.
3751         * gst/gstpipeline.c: (gst_pipeline_class_init),
3752         (gst_pipeline_send_event):
3753           Half hack, half utility: set a pipeline to PAUSED for seek events,
3754           since that is the only way we can guarantee a/v sync. Means that
3755           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3756           and it "just works".
3757
3758 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3759
3760         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3761           Lock/unlock mismatch.
3762
3763 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3764
3765         * docs/faq/gst-uninstalled:
3766           add gst-plugins-base
3767         * docs/gst/Makefile.am:
3768           don't error out until docs are fixed
3769         * docs/gst/gstreamer.types:
3770           remove thread
3771
3772 2005-03-22  Wim Taymans  <wim@fluendo.com>
3773
3774         * check/Makefile.am:
3775         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3776         * gst/gststructure.c: (gst_structure_set_valist),
3777         (gst_structure_copy_conditional):
3778         Activated more tests.
3779         Added message test.
3780         Added G_TYPE_POINTER to GstStructure.
3781         
3782
3783 2005-03-22  Wim Taymans  <wim@fluendo.com>
3784
3785         * docs/design/part-TODO.txt:
3786         * docs/design/part-events.txt:
3787         * docs/design/part-gstbin.txt:
3788         * docs/design/part-gstbus.txt:
3789         * docs/design/part-gstpipeline.txt:
3790         * docs/design/part-messages.txt:
3791         * gst/gstbus.c:
3792         * gst/gstmessage.c:
3793         Docs updates
3794
3795 2005-03-21  Wim Taymans  <wim@fluendo.com>
3796
3797         * gst/gstbus.c: (gst_bus_post):
3798         Fix copy-and-paste error.
3799
3800 2005-03-21  Wim Taymans  <wim@fluendo.com>
3801
3802         * check/Makefile.am:
3803         * gst/Makefile.am:
3804         * gst/elements/Makefile.am:
3805         * gst/elements/gstelements.c:
3806         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3807         (gst_fakesink_event), (gst_fakesink_chain):
3808         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3809         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3810         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3811         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3812         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3813         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3814         (gst_fakesrc_loop), (gst_fakesrc_activate),
3815         (gst_fakesrc_change_state):
3816         * gst/elements/gstfakesrc.h:
3817         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3818         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3819         (gst_filesrc_open_file), (gst_filesrc_loop),
3820         (gst_filesrc_activate), (gst_filesrc_change_state),
3821         (filesrc_find_peek), (filesrc_find_suggest),
3822         (gst_filesrc_type_find):
3823         * gst/elements/gstidentity.c: (gst_identity_finalize),
3824         (gst_identity_class_init), (gst_identity_init),
3825         (gst_identity_proxy_getcaps), (identity_queue_push),
3826         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3827         (gst_identity_getrange), (gst_identity_chain),
3828         (gst_identity_sink_loop), (gst_identity_src_loop),
3829         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3830         (gst_identity_set_property), (gst_identity_get_property),
3831         (gst_identity_change_state):
3832         * gst/elements/gstidentity.h:
3833         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3834         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3835         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3836         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3837         (gst_tee_sink_activate):
3838         * gst/elements/gsttee.h:
3839         * gst/gst.c: (gst_register_core_elements), (init_post):
3840         * gst/gst.h:
3841         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3842         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3843         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3844         (gst_bin_change_state):
3845         * gst/gstbin.h:
3846         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3847         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3848         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3849         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3850         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3851         (bus_watch_callback), (bus_watch_destroy),
3852         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3853         (poll_timeout), (gst_bus_poll):
3854         * gst/gstbus.h:
3855         * gst/gstcaps.h:
3856         * gst/gstdata.h:
3857         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3858         (gst_element_post_message), (gst_element_message_full),
3859         (gst_element_get_state_func), (gst_element_get_state),
3860         (gst_element_abort_state), (gst_element_commit_state),
3861         (gst_element_lost_state), (gst_element_set_state),
3862         (gst_element_pads_activate), (gst_element_change_state),
3863         (gst_element_dispose), (gst_element_set_manager_func),
3864         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3865         (gst_element_set_manager), (gst_element_get_manager),
3866         (gst_element_set_bus), (gst_element_get_bus),
3867         (gst_element_set_scheduler), (gst_element_get_scheduler):
3868         * gst/gstelement.h:
3869         * gst/gstevent.c: (gst_event_new_segment_seek),
3870         (gst_event_new_flush):
3871         * gst/gstevent.h:
3872         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3873         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3874         (gst_message_new_eos), (gst_message_new_error),
3875         (gst_message_new_warning), (gst_message_new_tag),
3876         (gst_message_new_state_changed), (gst_message_new_application),
3877         (gst_message_get_structure), (gst_message_parse_tag),
3878         (gst_message_parse_state_changed), (gst_message_parse_error),
3879         (gst_message_parse_warning):
3880         * gst/gstmessage.h:
3881         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3882         (gst_real_pad_set_property), (gst_pad_set_active),
3883         (gst_pad_is_active), (gst_pad_set_blocked_async),
3884         (gst_pad_set_blocked), (gst_pad_is_blocked),
3885         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3886         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3887         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3888         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3889         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3890         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3891         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3892         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3893         (gst_pad_set_caps), (gst_pad_configure_sink),
3894         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3895         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3896         (gst_real_pad_dispose), (gst_real_pad_finalize),
3897         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3898         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3899         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3900         * gst/gstpad.h:
3901         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3902         (pipeline_bus_handler), (gst_pipeline_change_state),
3903         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3904         * gst/gstpipeline.h:
3905         * gst/gstprobe.h:
3906         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3907         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3908         (gst_queue_link_src), (gst_queue_bufferalloc),
3909         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3910         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3911         (gst_queue_loop), (gst_queue_handle_src_event),
3912         (gst_queue_handle_src_query), (gst_queue_src_activate),
3913         (gst_queue_change_state):
3914         * gst/gstqueue.h:
3915         * gst/gstscheduler.c: (gst_scheduler_init),
3916         (gst_scheduler_dispose), (gst_scheduler_create_task),
3917         (gst_scheduler_factory_create):
3918         * gst/gstscheduler.h:
3919         * gst/gststructure.c: (gst_structure_get_type),
3920         (gst_structure_copy_conditional):
3921         * gst/gststructure.h:
3922         * gst/gsttaginterface.h:
3923         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3924         (gst_task_init), (gst_task_dispose), (gst_task_create),
3925         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3926         (gst_task_pause):
3927         * gst/gsttask.h:
3928         * gst/gstthread.c:
3929         * gst/gstthread.h:
3930         * gst/gsttypes.h:
3931         * gst/schedulers/Makefile.am:
3932         * gst/schedulers/cothreads_compat.h:
3933         * gst/schedulers/entryscheduler.c:
3934         * gst/schedulers/faircothreads.c:
3935         * gst/schedulers/faircothreads.h:
3936         * gst/schedulers/fairscheduler.c:
3937         * gst/schedulers/gstbasicscheduler.c:
3938         * gst/schedulers/gstoptimalscheduler.c:
3939         * gst/schedulers/gthread-cothreads.h:
3940         * gst/schedulers/threadscheduler.c:
3941         (gst_thread_scheduler_task_get_type),
3942         (gst_thread_scheduler_task_class_init),
3943         (gst_thread_scheduler_task_init),
3944         (gst_thread_scheduler_task_start),
3945         (gst_thread_scheduler_task_stop),
3946         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3947         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3948         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3949         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3950         (plugin_init):
3951         * libs/gst/Makefile.am:
3952         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3953         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3954         (gst_file_pad_parent_set):
3955         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3956         (gst_dp_event_from_packet):
3957         * tests/complexity.c: (main):
3958         * tests/mass_elements.c: (main):
3959         * testsuite/states/locked.c: (message_received), (main):
3960         * testsuite/states/parent.c: (main):
3961         * tools/gst-inspect.c: (print_element_flag_info),
3962         (print_implementation_info), (print_pad_info):
3963         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3964         (main):
3965         * tools/gst-md5sum.c: (event_loop), (main):
3966         * tools/gst-typefind.c: (main):
3967         * tools/gst-xmlinspect.c: (print_element_info):
3968         Next big merge.
3969         Added GstBus for mainloop integration.
3970         Added GstMessage for sending notifications on the bus.
3971         Added GstTask as an abstraction for pipeline entry points.
3972         Removed GstThread.
3973         Removed Schedulers.
3974         Simplified GstQueue for multithreaded core.
3975         Made _link threadsafe, removed old capsnego.
3976         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3977         Added pad blocking functions.
3978         Reworked scheduling functions in GstPad to prepare for
3979         scheduling updates soon.
3980         Moved events out of data stream.
3981         Simplified GstEvent types.
3982         Added return values to push/pull.
3983         Removed clocking from GstElement.
3984         Added prototypes for state change function for next merge.
3985         Removed iterate from bins and state change management.
3986         Fixed some elements, disabled others for now.
3987         Fixed -inspect and -launch.
3988         Added check for GstBus.
3989
3990 2005-03-10  Wim Taymans  <wim@fluendo.com>
3991
3992         * docs/design/part-MT-refcounting.txt:
3993         * docs/design/part-clocks.txt:
3994         * docs/design/part-gstelement.txt:
3995         * docs/design/part-gstobject.txt:
3996         * docs/design/part-standards.txt:
3997         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3998         (gst_bin_remove_func), (gst_bin_remove):
3999         * gst/gstbin.h:
4000         * gst/gstbuffer.c:
4001         * gst/gstcaps.h:
4002         * testsuite/clock/clock1.c: (main):
4003         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4004         (main):
4005         * testsuite/dlopen/loadgst.c: (do_test):
4006         * testsuite/refcounting/bin.c: (add_remove_test1),
4007         (add_remove_test2), (main):
4008         * testsuite/refcounting/element.c: (main):
4009         * testsuite/refcounting/element_pad.c: (main):
4010         * testsuite/refcounting/pad.c: (main):
4011         * tools/gst-launch.c: (sigint_handler_sighandler):
4012         * tools/gst-typefind.c: (main):
4013         Doc updates.
4014         Added doc about clock.
4015         removed gst_bin_iterate_recurse_up(), marked methods
4016         for removal.
4017         Fix more testsuites.
4018
4019 2005-03-09  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/gstpad.c: (gst_pad_get_direction),
4022         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4023         (gst_pad_collect_valist):
4024         * testsuite/bins/interface.c: (main):
4025         * testsuite/caps/audioscale.c: (test_caps):
4026         * testsuite/caps/caps.c: (test1), (test2), (test3):
4027         * testsuite/caps/deserialize.c: (main):
4028         * testsuite/caps/enumcaps.c: (main):
4029         * testsuite/caps/filtercaps.c: (main):
4030         * testsuite/caps/intersect2.c: (main):
4031         * testsuite/caps/random.c: (main):
4032         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4033         * testsuite/caps/sets.c: (check_caps):
4034         * testsuite/caps/simplify.c: (check_caps), (main):
4035         * testsuite/caps/subtract.c: (check_caps):
4036         Fix _pad_get_direction wrt ghostpads.
4037         Fix caps testsuite.
4038
4039 2005-03-09  Wim Taymans  <wim@fluendo.com>
4040
4041         * check/Makefile.am:
4042         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4043         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4044         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4045         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4046         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4047         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4048         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4049         (bin_element_is_sink), (gst_bin_iterate_sinks),
4050         (gst_bin_iterate_all_by_interface):
4051         * gst/gstbin.h:
4052         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4053         (gst_element_change_state), (gst_element_dispose),
4054         (gst_element_finalize), (gst_element_set_loop_function):
4055         * gst/gstelement.h:
4056         * gst/gstiterator.c: (find_custom_fold_func):
4057         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4058         (gst_pad_collectv), (gst_pad_collect_valist),
4059         (gst_pad_template_new):
4060         * gst/gstpipeline.c: (gst_pipeline_class_init),
4061         (gst_pipeline_dispose), (gst_pipeline_set_property),
4062         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4063         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4064         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4065         * gst/gstutils.h:
4066         * gst/schedulers/entryscheduler.c:
4067         * gst/schedulers/gstbasicscheduler.c:
4068         (gst_basic_scheduler_cothreaded_chain),
4069         (gst_basic_scheduler_chain_add_element):
4070         * testsuite/bins/interface.c: (main):
4071         Added GstBin test.
4072         Added GstSystemClock test.
4073         Implemented clock distribution code in GstBin.
4074         Implemented iterate sinks method for future use.
4075         Rearranged gstelement.h
4076         Fix GstIterator comparison bug.
4077         Moved some code to GstPipeline, mostly clocking related.
4078
4079 2005-03-09  Wim Taymans  <wim@fluendo.com>
4080
4081         * configure.ac:
4082         * gst/gst_private.h:
4083         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4084         (gst_bin_remove_func), (gst_bin_remove),
4085         (gst_bin_get_by_name_recurse_up):
4086         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4087         (gst_clock_id_compare_func), (gst_clock_id_wait),
4088         (gst_clock_id_wait_async), (gst_clock_init),
4089         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4090         * gst/gstelement.h:
4091         * gst/gstinfo.c: (_gst_debug_init):
4092         * gst/gstobject.h:
4093         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4094         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4095         * gst/gstpad.h:
4096         Bump version number, we're now 0.9.0
4097         Add future debugging category.
4098         Fix NULL _unref() in _get_by_name_recurse_up
4099         Rearrange gstpad.h.
4100         Update some docs.
4101
4102 2005-03-08  Wim Taymans  <wim@fluendo.com>
4103
4104         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4105         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4106         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4107         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4108         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4109         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4110         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4111         * gst/elements/gstidentity.c: (gst_identity_class_init):
4112         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4113         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4114         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4115         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4116         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4117         (gst_tee_link):
4118         * gst/gstelement.c: (gst_element_class_init),
4119         (gst_element_base_class_init), (gst_element_init),
4120         (gst_element_get_random_pad), (gst_element_wait_state_change),
4121         (gst_element_change_state), (gst_element_dispose),
4122         (gst_element_finalize), (gst_element_set_loop_function):
4123         * gst/gstelement.h:
4124         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4125         * gst/gstthread.c: (gst_thread_class_init),
4126         (gst_thread_release_children_locks), (gst_thread_change_state):
4127         * gst/schedulers/gstbasicscheduler.c:
4128         (gst_basic_scheduler_loopfunc_wrapper),
4129         (gst_basic_scheduler_chain_wrapper),
4130         (gst_basic_scheduler_src_wrapper),
4131         (gst_basic_scheduler_remove_element):
4132         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4133         Remove threadsafe properties. Fix elements because GObject
4134         complains when installing a property before declaring a
4135         set/get_property handler.
4136         Rearrange gstelement.h file, use STATE macros for state locks.
4137         Free mutexes in the finalize method instead of dispose.
4138
4139 2005-03-08  Wim Taymans  <wim@fluendo.com>
4140
4141         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4142         * gst/gstthread.c: (gst_thread_release_children_locks):
4143         Added parentage check.
4144         Fix build og GstThread again.
4145
4146 2005-03-08  Wim Taymans  <wim@fluendo.com>
4147
4148         * docs/design/part-MT-refcounting.txt:
4149         * docs/design/part-conventions.txt:
4150         * docs/design/part-gstobject.txt:
4151         * docs/design/part-relations.txt:
4152         * docs/design/part-standards.txt:
4153         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4154         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4155         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4156         (gst_bin_iterate_all_by_interface):
4157         * gst/gstbuffer.h:
4158         * gst/gstclock.h:
4159         * gst/gstelement.c: (gst_element_class_init),
4160         (gst_element_change_state), (gst_element_set_loop_function):
4161         * gst/gstelement.h:
4162         * gst/gstiterator.c:
4163         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4164         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4165         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4166         (gst_object_set_parent), (gst_object_unparent),
4167         (gst_object_check_uniqueness):
4168         * gst/gstobject.h:
4169         Docs updates, clean up some headers.
4170
4171 2005-03-07  Wim Taymans  <wim@fluendo.com>
4172
4173         * check/.cvsignore:
4174         * check/Makefile.am:
4175         * check/gst-libs/.cvsignore:
4176         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4177         * check/gst/.cvsignore:
4178         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4179         (START_TEST), (gstbus_suite), (main):
4180         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4181         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4182         (gst_data_suite), (main):
4183         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4184         (add_fold_func), (gstiterator_suite), (main):
4185         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4186         (thread_name_object), (thread_name_object_default),
4187         (gst_object_name_compare), (gst_object_suite), (main):
4188         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4189         (gst_pad_suite), (main):
4190         * check/gstcheck.c: (gst_check_log_message_func),
4191         (gst_check_log_critical_func), (gst_check_init):
4192         * check/gstcheck.h:
4193         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4194         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4195         Added checks.
4196
4197 2005-03-07  Wim Taymans  <wim@fluendo.com>
4198
4199         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4200         (gst_list_iterator_next), (gst_list_iterator_resync),
4201         (gst_list_iterator_free), (gst_iterator_new_list),
4202         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4203         (gst_iterator_free), (gst_iterator_push), (filter_next),
4204         (filter_resync), (filter_uninit), (filter_free),
4205         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4206         (gst_iterator_foreach), (find_custom_fold_func),
4207         (gst_iterator_find_custom):
4208         * gst/gstiterator.h:
4209         Added missing files.
4210
4211 2005-03-07  Wim Taymans  <wim@fluendo.com>
4212
4213         * Makefile.am:
4214         * configure.ac:
4215         * docs/design/part-MT-refcounting.txt:
4216         * docs/design/part-conventions.txt:
4217         * docs/design/part-gstobject.txt:
4218         * docs/design/part-relations.txt:
4219         * examples/mixer/mixer.c: (main):
4220         * examples/thread/thread.c: (eos), (main):
4221         * gst/Makefile.am:
4222         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4223         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4224         (gst_spider_plug_from_srcpad):
4225         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4226         (gst_spider_identity_change_state),
4227         (gst_spider_identity_sink_loop_type_finding):
4228         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4229         * gst/elements/gstidentity.c: (gst_identity_init):
4230         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4231         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4232         * gst/elements/gsttypefindelement.c: (free_entry):
4233         * gst/gst.c:
4234         * gst/gst.h:
4235         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4236         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4237         (gst_bin_set_index), (gst_bin_set_element_sched),
4238         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4239         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4240         (gst_bin_iterate_elements), (iterate_child_recurse),
4241         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4242         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4243         (compare_interface), (gst_bin_get_by_interface),
4244         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4245         * gst/gstbin.h:
4246         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4247         (gst_buffer_default_free), (gst_buffer_default_copy),
4248         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4249         (gst_buffer_create_sub):
4250         * gst/gstbuffer.h:
4251         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4252         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4253         (gst_caps_unref), (gst_static_caps_get),
4254         (gst_caps_remove_and_get_structure), (gst_caps_append),
4255         (gst_caps_append_structure), (gst_caps_remove_structure),
4256         (gst_caps_copy_nth), (gst_caps_set_simple),
4257         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4258         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4259         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4260         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4261         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4262         (gst_caps_structure_figure_out_union),
4263         (gst_caps_switch_structures), (gst_caps_do_simplify),
4264         (gst_caps_replace), (gst_caps_from_string),
4265         (gst_caps_copy_conditional):
4266         * gst/gstcaps.h:
4267         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4268         (_gst_clock_id_free), (gst_clock_id_unref),
4269         (gst_clock_id_compare_func), (gst_clock_id_wait),
4270         (gst_clock_id_wait_async), (gst_clock_class_init),
4271         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4272         (gst_clock_get_time), (gst_clock_set_time_adjust),
4273         (gst_clock_set_property), (gst_clock_get_property):
4274         * gst/gstclock.h:
4275         * gst/gstcompat.h:
4276         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4277         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4278         * gst/gstdata.h:
4279         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4280         (gst_element_requires_clock), (gst_element_provides_clock),
4281         (gst_element_set_clock), (gst_element_clock_wait),
4282         (gst_element_wait), (gst_element_set_time_delay),
4283         (gst_element_is_indexable), (gst_element_add_pad),
4284         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4285         (pad_compare_name), (gst_element_get_static_pad),
4286         (gst_element_request_pad), (gst_element_get_request_pad),
4287         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4288         (gst_element_class_get_pad_template_list),
4289         (gst_element_class_get_pad_template), (gst_element_error_func),
4290         (gst_element_get_random_pad), (gst_element_get_event_masks),
4291         (gst_element_send_event), (gst_element_seek),
4292         (gst_element_get_query_types), (gst_element_query),
4293         (gst_element_get_formats), (gst_element_convert),
4294         (gst_element_is_locked_state), (gst_element_set_locked_state),
4295         (gst_element_sync_state_with_parent), (gst_element_change_state),
4296         (gst_element_finalize), (gst_element_yield),
4297         (gst_element_interrupt), (gst_element_set_scheduler),
4298         (gst_element_get_scheduler), (gst_element_set_loop_function):
4299         * gst/gstelement.h:
4300         * gst/gstevent.h:
4301         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4302         (gst_format_get_by_nick), (gst_format_get_details),
4303         (gst_format_iterate_definitions):
4304         * gst/gstformat.h:
4305         * gst/gstindex.c: (gst_index_gtype_resolver):
4306         * gst/gstinfo.c:
4307         * gst/gstinfo.h:
4308         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4309         (gst_mem_chunk_free):
4310         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4311         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4312         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4313         (gst_object_dispatch_properties_changed),
4314         (gst_object_set_name_default), (gst_object_set_name),
4315         (gst_object_get_name), (gst_object_set_name_prefix),
4316         (gst_object_get_name_prefix), (gst_object_set_parent),
4317         (gst_object_get_parent), (gst_object_unparent),
4318         (gst_object_check_uniqueness), (gst_object_save_thyself),
4319         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4320         (gst_object_set_property), (gst_object_get_property),
4321         (gst_object_get_path_string):
4322         * gst/gstobject.h:
4323         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4324         (gst_real_pad_init), (gst_real_pad_get_property),
4325         (gst_pad_custom_new), (gst_pad_get_direction),
4326         (gst_pad_set_active), (gst_pad_is_active),
4327         (gst_pad_set_event_function), (gst_pad_is_linked),
4328         (gst_pad_link_free), (gst_pad_link_intersect),
4329         (gst_pad_link_fixate), (gst_pad_set_caps),
4330         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4331         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4332         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4333         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4334         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4335         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4336         (gst_pad_realize), (gst_pad_get_allowed_caps),
4337         (gst_real_pad_dispose), (gst_real_pad_finalize),
4338         (gst_pad_collectv), (gst_pad_collect_valist),
4339         (gst_pad_template_dispose), (gst_pad_template_new),
4340         (gst_pad_get_internal_links):
4341         * gst/gstpad.h:
4342         * gst/gstpipeline.c: (gst_pipeline_dispose),
4343         (gst_pipeline_change_state):
4344         * gst/gstpipeline.h:
4345         * gst/gstplugin.c:
4346         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4347         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4348         * gst/gstpluginfeature.h:
4349         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4350         * gst/gstquery.c: (_gst_query_type_initialize),
4351         (gst_query_type_register), (gst_query_type_get_by_nick),
4352         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4353         * gst/gstquery.h:
4354         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4355         * gst/gstscheduler.c: (gst_scheduler_add_element),
4356         (gst_scheduler_factory_create):
4357         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4358         (gst_structure_free), (gst_structure_set_name),
4359         (gst_structure_id_set_value), (gst_structure_set_value),
4360         (gst_structure_set_valist), (gst_structure_remove_field),
4361         (gst_structure_remove_fields),
4362         (gst_structure_remove_fields_valist),
4363         (gst_structure_remove_all_fields), (gst_structure_foreach),
4364         (gst_structure_map_in_place),
4365         (gst_caps_structure_fixate_field_nearest_int),
4366         (gst_caps_structure_fixate_field_nearest_double):
4367         * gst/gststructure.h:
4368         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4369         (gst_system_clock_init), (gst_system_clock_dispose),
4370         (gst_system_clock_async_thread),
4371         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4372         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4373         * gst/gstsystemclock.h:
4374         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4375         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4376         * gst/gsttaginterface.c:
4377         * gst/gstthread.c: (gst_thread_dispose),
4378         (gst_thread_release_children_locks), (gst_thread_change_state),
4379         (gst_thread_main_loop):
4380         * gst/gsttrashstack.h:
4381         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4382         * gst/gsttypes.h:
4383         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4384         (gst_element_request_pad), (gst_element_get_pad_from_template),
4385         (gst_element_request_compatible_pad),
4386         (gst_element_get_compatible_pad_filtered),
4387         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4388         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4389         (gst_element_link_many), (gst_element_link),
4390         (gst_element_link_pads), (gst_element_unlink_pads),
4391         (gst_element_unlink_many), (gst_element_unlink),
4392         (gst_pad_can_link_filtered), (gst_pad_can_link),
4393         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4394         (gst_object_default_error), (gst_bin_add_many),
4395         (gst_bin_remove_many), (gst_element_populate_std_props),
4396         (gst_element_class_install_std_props), (gst_buffer_merge),
4397         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4398         (link_fold_func), (gst_pad_proxy_setcaps):
4399         * gst/gstutils.h:
4400         * gst/gstvalue.c: (gst_value_deserialize_string):
4401         * gst/parse/grammar.y:
4402         * gst/schedulers/gstbasicscheduler.c:
4403         (gst_basic_scheduler_cothreaded_chain),
4404         (gst_basic_scheduler_chain_recursive_add),
4405         (gst_basic_scheduler_pad_link):
4406         * gst/schedulers/gstoptimalscheduler.c:
4407         (get_group_schedule_function),
4408         (gst_opt_scheduler_state_transition),
4409         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4410         * libs/gst/bytestream/bytestream.c:
4411         * libs/gst/dataprotocol/dataprotocol.c:
4412         (gst_dp_header_from_buffer):
4413         * po/nb.po:
4414         * po/ru.po:
4415         * tests/threadstate/threadstate2.c: (eos):
4416         * tools/gst-compprep.c: (main):
4417         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4418         (print_pad_info), (print_children_info):
4419         * tools/gst-launch.c: (idle_func), (main):
4420         * tools/gst-md5sum.c: (idle_func), (main):
4421         * tools/gst-xmlinspect.c: (print_element_info):
4422         First THREADED backport attempt, focusing on adding locks and
4423         making sure the API is threadsafe. Needs more work. More docs
4424         follow this week.
4425
4426 2005-02-24  Andy Wingo  <wingo@pobox.com>
4427
4428         * tests/bench-complexity.scm:
4429         * tests/complexity.gnuplot: New files, good for running complexity
4430         benchmarks.
4431
4432         * tests/Makefile.am:
4433         * tests/complexity.c: New test, sets up N elements, at each level
4434         teeing into M streams per element. Eeeenteresting.
4435
4436         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4437         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4438         running bench-mass_elements.scm.
4439
4440         * tests/bench-mass_elements.scm: New script, runs mass_elements
4441         for various numbers of identities, outputting the results to a
4442         file. Requires guile 1.6. Just for testing.
4443
4444 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * gst/schedulers/fairscheduler.c:
4447           compile with debug disabled
4448
4449 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4450
4451         * configure.ac:
4452           hunting season on 0.9 is now OPEN
4453
4454 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4455
4456         * docs/libs/tmpl/gstcontrol.sgml:
4457         * docs/libs/tmpl/gstdparam.sgml:
4458         * docs/libs/tmpl/gstdplinint.sgml:
4459         * docs/libs/tmpl/gstdpman.sgml:
4460         * docs/libs/tmpl/gstdpsmooth.sgml:
4461         * docs/libs/tmpl/gstunitconvert.sgml:
4462           more docs for the state of dparams
4463
4464 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4465
4466         * gst/gstelementfactory.c: (gst_element_factory_create):
4467         * gst/gstobject.c: (gst_object_init),
4468         (gst_object_set_name_default), (gst_object_set_name):
4469           name objects by default, not in gst_element_factory_create. Allows
4470           using elements created with g_object_new. (fixes #167283)
4471
4472 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4473
4474         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4475           make the time that debugging functions print relative to when
4476           gst_init was called
4477
4478 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * gst/gsttaginterface.c:
4481           Fix inline docs: tag setter vararg functions are NULL-terminated,
4482           GST_TAG_INVALID doesn't exist any more.
4483
4484 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4485
4486         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4487         Allocate the 1 byte more memory that was forgotten!!!!!
4488         fixes memory corruption on 64bit platforms
4489
4490 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4491
4492         * docs/pwg/building-pads.xml:
4493         * docs/pwg/intro-basics.xml:
4494           fixed a few typos, relabeled introductionary list of types
4495         * docs/random/ensonic/dparams.txt:
4496           more notes abut dparam changes
4497         * libs/gst/control/dparam.c: (gst_dparam_attach):
4498         * libs/gst/control/dparammanager.c:
4499         * libs/gst/control/dparammanager.h:
4500           - many comments and notes on dparam implementation
4501           - new dparams are were not initialized to the default value
4502             from param spec
4503
4504 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         submitted by: Peter Astakhov
4507
4508         * po/LINGUAS:
4509         * po/ru.po:
4510           adding Russian translation
4511
4512 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         * configure.ac:
4515         * docs/gst/Makefile.am:
4516         * docs/libs/Makefile.am:
4517           make sure popt is added to gtk-doc flags.  Fixes #147782.
4518
4519 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4520
4521         * docs/faq/using.xml:
4522           Fix typo in FAQ (artssink => artsdsink)
4523
4524 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4525
4526         * tools/gst-launch.1.in:
4527           Fix typo (#166699).
4528
4529 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4530
4531         * docs/faq/using.xml:
4532           Add -v argument to fakesrc/fakesink gst-launch line,
4533           so that the promised output will actually show up.
4534
4535 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4536
4537         * gst/gstthread.c: (gst_thread_change_state):
4538           Implement state-change error handling (#166073).
4539
4540 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4541
4542         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4543           Release interrupt after handling (#166250).
4544
4545 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4546
4547         * configure.ac:
4548           back to HEAD
4549
4550 === release 0.8.9 ===
4551
4552 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4553
4554         * NEWS:
4555         * RELEASE:
4556         * configure.ac:
4557           releasing 0.8.9, "Like Eating Glass"
4558
4559 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4560
4561         submitted by: Clytie Siddall
4562
4563         * po/vi.po: Added Vietnamese translation
4564
4565 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4566
4567         patch by: Tim Philipp-Müller
4568
4569         * configure.ac:
4570         * gst/gstpad.c:
4571           unref data when probe function returns FALSE.  Fixes #166362
4572
4573 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4574
4575         * gst/gst.c: (gst_init_get_popt_table):
4576           Fix typo (#166269).
4577
4578 2005-02-04  Andy Wingo  <wingo@pobox.com>
4579
4580         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4581         the debugging on whether the caps are compatible.
4582
4583 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4584
4585         * docs/manual/basics-elements.xml:
4586           Fix two typos.
4587
4588 2005-02-02  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4591         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4592         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4593         Remove some FIXMEs after analysing and commenting why they
4594         are not issues.
4595
4596 2005-02-02  Wim Taymans  <wim@fluendo.com>
4597
4598         * gst/schedulers/gstoptimalscheduler.c:
4599         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4600         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4601         (get_invalid_call), (chain_invalid_call),
4602         (get_group_schedule_function), (loop_group_schedule_function),
4603         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4604         (gst_opt_scheduler_state_transition),
4605         (gst_opt_scheduler_add_element),
4606         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4607         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4608         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4609         (gst_opt_scheduler_show):
4610         Added lock to protect scheduler data structures.
4611
4612 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4613
4614         * testsuite/threads/threadi.c: (cb_data):
4615           Fix buglet in test.
4616
4617 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4618
4619         * testsuite/threads/Makefile.am:
4620         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4621           On Wim's request, split the test in three separately-compiled
4622           tests that each test a very specific bug. Two of them still fail,
4623           will create bugs for those. threadi.c indicates why they fail.
4624
4625 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4626
4627         * gst/schedulers/gstoptimalscheduler.c:
4628         (get_group_schedule_function):
4629           Try to work with the threading mess that queue_link is.
4630
4631 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4632
4633         * gst/gstbin.c: (gst_bin_remove_func):
4634           Explicitely make an element release locks in a group when being
4635           remove from a bin.
4636         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4637           If there's no scheduler, always return immediately (similar to
4638           gst_element_interrupt).
4639
4640 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4641
4642         * gst/gstbin.c: (gst_bin_child_state_change_func):
4643           Remove a piece of code that could never be reached.
4644         * docs/gst/gstreamer-sections.txt:
4645         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4646         (gst_pad_call_get_function):
4647         * gst/gstpad.h:
4648         * testsuite/pad/Makefile.am:
4649           Fix #150546, enable tests.
4650
4651 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4652
4653         * docs/pwg/advanced-types.xml:
4654           Fix description for buffer-frames=0.
4655         * docs/gst/tmpl/gstbin.sgml:
4656         * gst/gstbin.c: (gst_bin_child_state_change_func),
4657         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4658         * gst/gstbin.h:
4659         * testsuite/threads/Makefile.am:
4660         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4661         (cb_state), (cb_play), (main):
4662           Fix non-recursive state changes to *really* change the state
4663           of the object, and not just call parent_class->state_change.
4664           Fix a lot of lockups caused by this. Fixes #132775. Add test
4665           for the problem. Also enable test to show #142588 (fixed).
4666         * gst/gstthread.c: (gst_thread_change_state),
4667         (gst_thread_child_state_change):
4668           Don't exit the thread if we go to NULL and are inside thread
4669           context. Instead, return control to the main thread context
4670           and exit from there.
4671         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4672           Don't unset virtual functions, since those may still be used.
4673           That's not necessarily correct, but suffices for now.
4674         * configure.ac:
4675         * testsuite/Makefile.am:
4676         * testsuite/pad/Makefile.am:
4677         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4678         (gst_test_sink_base_init), (gst_test_sink_chain),
4679         (gst_test_sink_init), (main):
4680         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4681         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4682         (main):
4683         * testsuite/pad/link.c: (gst_test_element_class_init),
4684         (gst_test_element_base_init), (gst_test_src_get),
4685         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4686         (gst_test_filter_loop), (gst_test_filter_init),
4687         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4688         (cb_error), (main):
4689           Add tests to show #150546. Pass, but should fail (currently
4690           disabled from the testsuite).
4691         * gst/gstscheduler.c: (gst_scheduler_dispose):
4692           Dereference child schedulers on dispose (#94464).
4693         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4694           Fix typo.
4695         * testsuite/threads/thread.c: (main):
4696           Add more debug.
4697
4698 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4699
4700         * gst/gstpad.c: (gst_pad_push):
4701           Oops, revert previous commit, broke testsuite...
4702
4703 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4704
4705         * gst/gstpad.c: (gst_pad_push):
4706           Add check that the pad on which the push is performed is not a
4707           get-based pad (#150546).
4708
4709 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4710
4711         * gst/elements/gsttypefindelement.c:
4712         (gst_type_find_element_handle_event):
4713           Fix buffer pushing if stream EOSes during typefinding.
4714
4715 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4716
4717         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4718
4719         * gst/gstvalue.c: (gst_string_wrap):
4720           Allow NULL-strings as argument (#165365).
4721
4722 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4723
4724         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4725
4726         * gst/schedulers/faircothreads.c:
4727         (gst_fair_scheduler_cothread_queue_show):
4728           Fix build without debug enabled.
4729
4730 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4731
4732         * docs/gst/gstreamer-sections.txt:
4733         * docs/libs/gstreamer-libs-docs.sgml:
4734         * docs/libs/gstreamer-libs-sections.txt:
4735         * docs/libs/tmpl/gstcontrol.sgml:
4736         * docs/libs/tmpl/gstdparam.sgml:
4737         * docs/libs/tmpl/gstdplinint.sgml:
4738         * docs/libs/tmpl/gstdpman.sgml:
4739         * docs/libs/tmpl/gstdpsmooth.sgml:
4740         * docs/libs/tmpl/gstputbits.sgml:
4741         * docs/libs/tmpl/gstunitconvert.sgml:
4742         * libs/gst/control/dparam.c:
4743         * libs/gst/control/dparam.h:
4744         * libs/gst/control/dparammanager.c:
4745         (gst_dpman_add_required_dparam_callback),
4746         (gst_dpman_add_required_dparam_direct),
4747         (gst_dpman_add_required_dparam_array),
4748         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4749         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4750         (gst_dpman_get_manager)
4751           restructured DParam docs
4752
4753 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4754
4755         * gst-element-check.m4:
4756           Only check for gst-inspect if we haven't already
4757           found it in previous element check runs
4758
4759 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4760
4761         * docs/gst/Makefile.am:
4762         * docs/libs/Makefile.am:
4763           fixed install rules to treat style.css as optional
4764
4765 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4766
4767         * docs/gst/Makefile.am:
4768         * docs/libs/Makefile.am:
4769           install style.css along with docs
4770         * docs/gst/tmpl/gstbin.sgml:
4771         * docs/gst/tmpl/gstclock.sgml:
4772         * docs/gst/tmpl/gstdata.sgml:
4773         * docs/gst/tmpl/gstelement.sgml:
4774         * gst/gstbin.h:
4775         * gst/gstelement.c: (gst_element_class_init):
4776         * gst/gstelement.h:
4777           fixing incomplete docs
4778
4779 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4780
4781         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4782           Don't unref seek event twice when fflush() fails
4783           
4784 2005-01-22  David Schleef  <ds@schleef.org>
4785
4786         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4787
4788 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4789
4790         * docs/gst/Makefile.am:
4791         * docs/libs/Makefile.am:
4792           added params for deprecation guards
4793         * gst/gst.c:
4794         * gst/gst.h:
4795         * gst/gsterror.c: (_gst_resource_errors_init),
4796         (_gst_stream_errors_init):
4797         * gst/gsterror.h:
4798           documented some more enums
4799
4800 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4801         * gst/autoplug/gstspideridentity.c:
4802         Cosmetic fix - spider_find_peek should be static
4803         * gst/parse/parse.l:
4804         Applying fix for #164261
4805
4806 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4807
4808         * docs/gst/gstreamer-sections.txt:
4809         * docs/gst/tmpl/gstplugin.sgml:
4810         * docs/libs/gstreamer-libs-sections.txt:
4811         * docs/libs/tmpl/gstcontrol.sgml:
4812         * gst/gstbuffer.h:
4813         * gst/gsttag.h:
4814         * gst/gstvalue.c:
4815           added docs for the TAG defines
4816
4817 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4818
4819         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4820           Only unref entry if there is an entry.
4821
4822 2005-01-17  Wim Taymans  <wim@fluendo.com>
4823
4824         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4825         (remove_from_group), (schedule_group), (normalize_group),
4826         (gst_opt_scheduler_iterate):
4827         Also ref/unref decoupled elements before iterating the
4828         group since they are not added to the list of elements.
4829
4830 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4831
4832         * docs/manual/highlevel-components.xml:
4833           Add subtitle/streamselection as new features to playbin.
4834
4835 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4836
4837         * docs/manual/manual.xml:
4838           Re-enable dataaccess docs (oops).
4839
4840 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4841
4842         * docs/pwg/advanced-types.xml:
4843         * docs/random/mimetypes:
4844           Add documentation on libsndfile types (#163309), by Steve Baker
4845           <steve@stevebaker.org>.
4846         * gst/gstelement.c: (gst_element_release_request_pad):
4847           If an element has no explicit function, just remove the pad.
4848
4849 2005-01-17  Luca Ognibene  <luogni@tin.it>
4850
4851         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4852
4853         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4854           Fix memleak (#163801).
4855
4856 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4857
4858         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4859           I think this is actually more correct...
4860
4861 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4862
4863         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4864           Another workaround for memory access while destroyed in callback.
4865           Please, someone with refcount knowledge, have a look at this.
4866
4867 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4868
4869         * docs/faq/faq.xml:
4870         * docs/faq/legal.xml:
4871           move the legal Q&A here
4872
4873 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4874
4875         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4876         (gst_tee_request_new_pad):
4877           Fix negotiation.
4878
4879 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4880
4881         * docs/random/omega/caps2:
4882         * testsuite/caps/caps_strings:
4883           replace framerate aproximations by their real value
4884           (24000/1001, 30000/1001, 60000/1001)
4885           Partially fixes bug #164049
4886
4887 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4888
4889         * docs/gst/Makefile.am:
4890           don't fail on the stupid GstPoptOption
4891
4892 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4893
4894         * gst/gstpad.h:
4895         * gst/gstprobe.c:
4896           allow probes to work on ghost pads by realizing the pad
4897           probe debugging
4898
4899 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4900
4901         * docs/gst/gstreamer-sections.txt:
4902         * docs/gst/tmpl/gstpad.sgml:
4903         * gst/gstpad.c: (gst_pad_set_active_recursive):
4904         * gst/gstpad.h:
4905           Add gst_pad_set_active_recursive().
4906
4907 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4908
4909         * docs/random/release:
4910           updates
4911         * gst/gst_private.h:
4912         * gst/gstinfo.c:
4913         * gst/gstobject.c:
4914           move deep_notify logging to a new category
4915         * gst/gstprobe.c:
4916         * gst/gstprobe.h:
4917           add stuff so bindings can wrap probes
4918
4919 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4920
4921         * gst/gstplugin.c: (gst_plugin_load):
4922           Fix plugin loading if plugin/lib was already loaded. Fixes
4923           #163383
4924
4925 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4926
4927         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4928
4929         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4930           Protect plugin loading by a mutex so it's threadsafe. Fixes
4931           #163234.
4932
4933 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4934
4935         * gst/gstevent.c: (_gst_event_copy):
4936           Reference source object when copying events, since it'll be
4937           dereferenced on event dereferencing as well.
4938
4939 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4940
4941         * docs/gst/gstreamer-sections.txt:
4942         * docs/gst/tmpl/gstevent.sgml:
4943         * gst/gstevent.c: (gst_event_new_filler_stamped),
4944         (gst_event_filler_get_duration):
4945         * gst/gstevent.h:
4946           Add two new functions for filler events (which are used to
4947           synchronize streams if one of them is not having any data
4948           for a while) without interrupting the actual data-stream.
4949           Basically a no-op.
4950         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4951         (gst_queue_link_sink), (gst_queue_link_src),
4952         (gst_queue_change_state):
4953           Allow for renegotiation while filled. Required for stream
4954           switching while playing.
4955
4956 2005-01-08  Benjamin Otte  <otte@gnome.org>
4957
4958         * gst/gstelement.c: (gst_element_link_many):
4959           fix up g_return_if_fail's
4960         * po/LINGUAS:
4961         * po/de.po:
4962           add German translation, that was somehow not included
4963
4964 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4965
4966         * docs/random/mimetypes:
4967           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4968           do not add them to riff-lib as they are not common
4969
4970 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4971
4972         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4973           Check for existence of probe after performing the probe before
4974           re-accessing it to prevent segfaults caused by removal of the
4975           probe in the callback.
4976
4977 2005-01-05  David Schleef  <ds@schleef.org>
4978
4979         * testsuite/registry/Makefile.am:
4980         * testsuite/registry/gst-print-formats.c:
4981         (print_pad_templates_info), (print_element_list),
4982         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4983         (g_list_uniqify), (get_pad_templates_info),
4984         (get_element_mime_list), (print_mime_list), (main): A little
4985         program that looks through the registry to find elements of
4986         a given type.  Not particularly interesting as a test, except
4987         that there's no other test covering the same area.
4988
4989 2005-01-05  David Schleef  <ds@schleef.org>
4990
4991         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4992         (fault_handler_sigaction), (fault_spin),
4993         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4994         in signal.h-type signal handlers by not calling forbidden functions,
4995         including gst_element_set_state().
4996
4997 2005-01-05  David Schleef  <ds@schleef.org>
4998
4999         * gst/gstvalue.h: Mark _gst_reserved[] as private
5000
5001 2005-01-05  David Schleef  <ds@schleef.org>
5002
5003         * gst/gstvalue.c: Fix doc build problem.
5004
5005 2005-01-05  David Schleef  <ds@schleef.org>
5006
5007         * gst/gstvalue.c: Add some documentation
5008
5009 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5010
5011         * docs/README:
5012           another shell oneliner for empty return value docs
5013         * gst/gstcaps.c:
5014         * gst/gstvalue.c:
5015         * libs/gst/control/dparam.c:
5016           more doc fixes (parameters and return values)
5017
5018 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5019
5020         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5021
5022         * gst/gstregistry.h:
5023         * gst/registries/gstxmlregistry.c:
5024           Fix macro's for Mingw (fixes #162276).
5025
5026 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5027
5028         * docs/README:
5029           quick shell oneliner to find undocumented members
5030         * docs/gst/tmpl/gstplugin.sgml:
5031         * docs/gst/tmpl/gstscheduler.sgml:
5032         * docs/gst/tmpl/gstthread.sgml:
5033           more enumtypes cleanup
5034         * gst/gsterror.h:
5035           activated documentation comments, now someone needs to document
5036           the enums :(
5037
5038 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5039
5040         * docs/manual/manual.xml:
5041           Add dataaccess part (doh!).
5042
5043 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5044
5045         * docs/manual/advanced-autoplugging.xml:
5046           Fix typo (intiate -> initiate).
5047
5048 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5049
5050         * docs/random/bbb/streamselection:
5051           Add some notes on how to handle multi-subtitle/-audio streams.
5052
5053 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5054
5055         * docs/gst/gstreamer-docs.sgml:
5056         * docs/gst/gstreamer-sections.txt:
5057         * docs/gst/tmpl/gstenumtypes.sgml:
5058         * docs/gst/tmpl/gsterror.sgml:
5059         * docs/gst/tmpl/gstevent.sgml:
5060         * docs/gst/tmpl/gstpad.sgml:
5061         * docs/gst/tmpl/gstpadtemplate.sgml:
5062         * docs/gst/tmpl/gstthread.sgml:
5063           removed gstenumtypes section from docs and put all the enums into
5064           their sections
5065
5066 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5067
5068         * gst/gstplugin.c:
5069           document gst_library_load a bit more (riff special case + return
5070           value if already loaded)
5071         * testsuite/bytestream/filepadsink.c:
5072           plugin name is 'gstbytestream', not 'bytestream'
5073
5074 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5075
5076         * docs/random/bbb/subtitles:
5077           Add some first mind rumblings on proper subtitle support.
5078
5079 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5080
5081         * po/ca.po:
5082         * po/sv.po:
5083           updated translations
5084
5085 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5086
5087         * docs/manual/advanced-dataaccess.xml:
5088           Add section on how to use fakesrc/fakesink/identity in your
5089           application, plus section on how to embed plugins. Also mention
5090           probes.
5091         * docs/manual/appendix-checklist.xml:
5092         * docs/manual/appendix-debugging.xml:
5093         * docs/manual/appendix-gnome.xml:
5094         * docs/manual/appendix-integration.xml:
5095           Debug -> checklist, GNOME -> integration, add sections on Linux,
5096           KDE integration and add other things useful for application
5097           development.
5098         * docs/manual/manual.xml:
5099           Remove some fixmes, update some file pointers.
5100         * docs/pwg/appendix-checklist.xml:
5101           Fix typo.
5102         * docs/pwg/building-boiler.xml:
5103           Remove ugly header and add commented fixme.
5104         * docs/pwg/pwg.xml:
5105           Add fixme.
5106         * examples/manual/Makefile.am:
5107           Add example for added docs.
5108
5109 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5110
5111         * configure.ac:
5112           back to HEAD
5113
5114 === release 0.8.8 ===
5115
5116 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * NEWS:
5119         * RELEASE:
5120         * configure.ac:
5121           Releasing 0.8.8, "I'll Take Care Of You"
5122
5123 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5124
5125         * configure.ac:
5126           second prerelease
5127
5128 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         patch by: Wim Taymans
5131
5132         * gst/gstbin.c:
5133           Fix for #159852 - make iterate emission threadsafe
5134
5135 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5136
5137         * docs/faq/cvs.xml:
5138           notes about new fdo account request
5139
5140 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5141
5142         * docs/gst/gstreamer-docs.sgml:
5143         * docs/gst/tmpl/gstenumtypes.sgml:
5144         * docs/gst/tmpl/gstplugin.sgml:
5145         * docs/libs/gstreamer-libs-docs.sgml:
5146           Added missing short docs. Added ids for navigation.
5147
5148 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5149
5150         * docs/manual/advanced-autoplugging.xml:
5151         * docs/manual/advanced-schedulers.xml:
5152         * docs/manual/advanced-threads.xml:
5153           Rewrites. Remove cothreads, go a bit into opt specifically,
5154           document threads and their gotchas, and do some technical stuff
5155           on autoplugging plus add some working examples. Fixes #157395.
5156         * examples/manual/Makefile.am:
5157           Add typefind/autoplugger example (one that actually works).
5158           Remove queue example since it's a duplicate of the thread one.
5159
5160 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5161
5162         * gst/gstvalue.c: (gst_value_deserialize_string):
5163           use deprecated g_value_set_string_take_ownership to keep compatible
5164           with glib 2.2
5165
5166 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5167
5168         * gst/gstvalue.c: (gst_value_deserialize_string):
5169           revert last patch, only dom a g_utf8_validate now before accepting
5170           the string - caps parsing strips " from strings so we can't rely on
5171           them
5172         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5173           disable a test that tested the above and comment it
5174
5175 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5176
5177         Patch reviewed by David Schleef  <ds@schleef.org>
5178
5179         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5180         bug #153882)
5181         * win32/gstenumtypes.h: same
5182
5183 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5184
5185         * gst/gstpad.c: (gst_pad_query):
5186           Do query on realized pad, similar to how convert/send_event handle
5187           this. Also makes sense, since this pad belongs to the function to
5188           which this query will be sent. Fixes #158163.
5189
5190 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5191
5192         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5193
5194 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5195
5196         * docs/faq/general.xml: fix pipeline to actually work
5197
5198 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5199
5200         * gst/gstvalue.c: (gst_value_deserialize_string):
5201           check that a simple string that gets deserialized does not contain
5202           invalid characters
5203         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5204           remove a test that tested a wring behaviour
5205
5206 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5207
5208         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5209
5210         * docs/manual/intro-motivation.xml:
5211           Fix typos.
5212
5213 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5214
5215         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5216
5217         * docs/gst/tmpl/gstprobe.sgml:
5218           Fix documentation of probe callback - it is supposed to return
5219           FALSE, not TRUE, to remove data from the stream (#159087).
5220
5221 2004-12-16  Daniel Gazard  <dany42@free.fr>
5222
5223         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5224
5225         * gst/gstelementfactory.c: (gst_element_factory_create):
5226           Fix compile failure if compiling without libxml2 support (#149936).
5227
5228 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5229
5230         * docs/manual/advanced-autoplugging.xml:
5231         * docs/manual/highlevel-components.xml:
5232           Move spider from autoplugging to components. Autoplugging is for
5233           internals, not for solutions. ;-).
5234
5235 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5236
5237         * docs/random/ds/0.9-suggested-changes:
5238           Make note on device/location/uri property names.
5239
5240 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5241
5242         * docs/manual/advanced-autoplugging.xml:
5243         * docs/manual/advanced-clocks.xml:
5244         * docs/manual/advanced-interfaces.xml:
5245         * docs/manual/advanced-metadata.xml:
5246         * docs/manual/advanced-position.xml:
5247         * docs/manual/advanced-schedulers.xml:
5248         * docs/manual/advanced-threads.xml:
5249         * docs/manual/appendix-gnome.xml:
5250         * docs/manual/appendix-programs.xml:
5251         * docs/manual/appendix-quotes.xml:
5252         * docs/manual/autoplugging.xml:
5253         * docs/manual/basics-bins.xml:
5254         * docs/manual/basics-data.xml:
5255         * docs/manual/basics-elements.xml:
5256         * docs/manual/basics-helloworld.xml:
5257         * docs/manual/basics-init.xml:
5258         * docs/manual/basics-pads.xml:
5259         * docs/manual/basics-plugins.xml:
5260         * docs/manual/bins-api.xml:
5261         * docs/manual/bins.xml:
5262         * docs/manual/buffers-api.xml:
5263         * docs/manual/buffers.xml:
5264         * docs/manual/clocks.xml:
5265         * docs/manual/components.xml:
5266         * docs/manual/cothreads.xml:
5267         * docs/manual/debugging.xml:
5268         * docs/manual/dparams-app.xml:
5269         * docs/manual/dynamic.xml:
5270         * docs/manual/elements-api.xml:
5271         * docs/manual/elements.xml:
5272         * docs/manual/factories.xml:
5273         * docs/manual/gnome.xml:
5274         * docs/manual/goals.xml:
5275         * docs/manual/helloworld.xml:
5276         * docs/manual/helloworld2.xml:
5277         * docs/manual/highlevel-components.xml:
5278         * docs/manual/highlevel-xml.xml:
5279         * docs/manual/init-api.xml:
5280         * docs/manual/intro-basics.xml:
5281         * docs/manual/intro-motivation.xml:
5282         * docs/manual/intro-preface.xml:
5283         * docs/manual/intro.xml:
5284         * docs/manual/links-api.xml:
5285         * docs/manual/links.xml:
5286         * docs/manual/manual.xml:
5287         * docs/manual/motivation.xml:
5288         * docs/manual/pads-api.xml:
5289         * docs/manual/pads.xml:
5290         * docs/manual/plugins-api.xml:
5291         * docs/manual/plugins.xml:
5292         * docs/manual/programs.xml:
5293         * docs/manual/queues.xml:
5294         * docs/manual/quotes.xml:
5295         * docs/manual/schedulers.xml:
5296         * docs/manual/states-api.xml:
5297         * docs/manual/states.xml:
5298         * docs/manual/threads.xml:
5299         * docs/manual/typedetection.xml:
5300         * docs/manual/win32.xml:
5301         * docs/manual/xml.xml:
5302           Try 2. This time, include a short preface as a "general
5303           introduction", also add code blocks around all code samples
5304           so they get compiled. We still need a way to tell readers
5305           the filename of the code sample. In some cases, don't show
5306           all code in the documentation, but do include it in the generated
5307           code. This allows for focussing on specific bits in the docs,
5308           while still having a full test application available.
5309         * examples/manual/Makefile.am:
5310           Fix up examples for new ADM. Add several of the new examples that
5311           were either added or were missing from the build system.
5312         * examples/manual/extract.pl:
5313           Allow nameless blocks.
5314
5315 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * docs/manual/elements-api.xml:
5318         * docs/manual/helloworld.xml:
5319         * examples/manual/extract.pl:
5320           fix last example.  Add example of adding code blocks that are not
5321           shown in docbook output.
5322
5323 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5324
5325         * docs/manual/dynamic.xml:
5326         * docs/manual/elements-api.xml:
5327         * docs/manual/gnome.xml:
5328         * docs/manual/helloworld2.xml:
5329         * docs/manual/init-api.xml:
5330         * docs/manual/queues.xml:
5331         * docs/manual/threads.xml:
5332         * docs/manual/xml.xml:
5333         * examples/manual/extract.pl:
5334           Make it possible to extract example code from separate blocks.
5335           Should make Ronald happy.
5336
5337 2004-12-15  Wim Taymans  <wim@fluendo.com>
5338
5339         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5340         (remove_from_group), (group_elements_set_visited),
5341         (normalize_group), (gst_opt_scheduler_iterate):
5342         Fix bug where a flag was not updated on a decoupled entry point 
5343         because we were just checking the group element list and decoupled
5344         elements are not in that list..
5345
5346 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5347
5348         * docs/manual/advanced-autoplugging.xml:
5349         * docs/manual/advanced-clocks.xml:
5350         * docs/manual/advanced-dparams.xml:
5351         * docs/manual/advanced-interfaces.xml:
5352         * docs/manual/advanced-metadata.xml:
5353         * docs/manual/advanced-position.xml:
5354         * docs/manual/advanced-schedulers.xml:
5355         * docs/manual/advanced-threads.xml:
5356         * docs/manual/appendix-debugging.xml:
5357         * docs/manual/appendix-gnome.xml:
5358         * docs/manual/appendix-programs.xml:
5359         * docs/manual/appendix-quotes.xml:
5360         * docs/manual/appendix-win32.xml:
5361         * docs/manual/autoplugging.xml:
5362         * docs/manual/basics-bins.xml:
5363         * docs/manual/basics-data.xml:
5364         * docs/manual/basics-elements.xml:
5365         * docs/manual/basics-helloworld.xml:
5366         * docs/manual/basics-init.xml:
5367         * docs/manual/basics-pads.xml:
5368         * docs/manual/basics-plugins.xml:
5369         * docs/manual/bins-api.xml:
5370         * docs/manual/bins.xml:
5371         * docs/manual/buffers-api.xml:
5372         * docs/manual/buffers.xml:
5373         * docs/manual/clocks.xml:
5374         * docs/manual/components.xml:
5375         * docs/manual/cothreads.xml:
5376         * docs/manual/debugging.xml:
5377         * docs/manual/dparams-app.xml:
5378         * docs/manual/dynamic.xml:
5379         * docs/manual/elements-api.xml:
5380         * docs/manual/elements.xml:
5381         * docs/manual/factories.xml:
5382         * docs/manual/gnome.xml:
5383         * docs/manual/goals.xml:
5384         * docs/manual/helloworld.xml:
5385         * docs/manual/helloworld2.xml:
5386         * docs/manual/highlevel-components.xml:
5387         * docs/manual/highlevel-xml.xml:
5388         * docs/manual/init-api.xml:
5389         * docs/manual/intro-motivation.xml:
5390         * docs/manual/intro-preface.xml:
5391         * docs/manual/intro.xml:
5392         * docs/manual/links-api.xml:
5393         * docs/manual/links.xml:
5394         * docs/manual/manual.xml:
5395         * docs/manual/motivation.xml:
5396         * docs/manual/pads-api.xml:
5397         * docs/manual/pads.xml:
5398         * docs/manual/plugins-api.xml:
5399         * docs/manual/plugins.xml:
5400         * docs/manual/programs.xml:
5401         * docs/manual/queues.xml:
5402         * docs/manual/quotes.xml:
5403         * docs/manual/schedulers.xml:
5404         * docs/manual/states-api.xml:
5405         * docs/manual/states.xml:
5406         * docs/manual/threads.xml:
5407         * docs/manual/typedetection.xml:
5408         * docs/manual/win32.xml:
5409         * docs/manual/xml.xml:
5410           First try at rewriting the ADM. Needs lotsamore work, but some
5411           parts might already be somewhat useful.
5412         * docs/pwg/advanced-interfaces.xml:
5413           Remove properties interface, it never actually existed (except for
5414           on my HD...).
5415
5416 2004-12-13  David Schleef  <ds@schleef.org>
5417
5418         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5419         be NULL (bug #160220).
5420
5421 2004-12-13  David Schleef  <ds@schleef.org>
5422
5423         * configure.ac: remove all mmx stuff, because it's not used.
5424         * docs/random/ds/0.9-suggested-changes: additional notes
5425         * include/Makefile.am: we don't use these anymore
5426         * include/mmx.h: remove
5427         * include/sse.h: remove
5428
5429 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5430
5431         * docs/random/mimetypes:
5432           Add FOURCC code for h264 codec (VSSH)
5433           Add alternate FOURCC codes for h263 related codecs
5434
5435 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5436
5437         * docs/manual/programs.xml:
5438           Added more gst-launch examples.
5439
5440 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5441
5442         * gst/gstqueue.c: (gst_queue_handle_src_query):
5443           Check for availability again.
5444
5445 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5446
5447         * gst/gstcaps.c: (gst_caps_compare_structures):
5448           Simple caps go first. This has the nice side-effect of fixing an
5449           obscure warning.
5450
5451 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5452
5453         * gst/gstversion.h.in:
5454           Protect header.
5455
5456 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5457
5458         * gst/schedulers/gstoptimalscheduler.c:
5459         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5460         (gst_opt_scheduler_get_wrapper):
5461           When we're recursing into a chain run, only run the directly
5462           related group, not all queued ones. This will fix a possible
5463           deadlock in chains with more than two groups.
5464
5465 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * autogen.sh:
5468           remove patch if autopoint fails
5469
5470 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5471
5472         * docs/gst/gstreamer-sections.txt:
5473           Document Thomas' addition, fix build, make Luis the sheriff happy.
5474
5475 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5476
5477         * gst/gstplugin.c:
5478         * gst/gstplugin.h:
5479           add accessor for version field
5480
5481 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         submitted by: Luca Ferretti <elle.uca@infinito.it>
5484
5485         * po/LINGUAS:
5486         * po/it.po:
5487           New tranlation added: Italian
5488
5489 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5490
5491         * gst/gstpad.c: (gst_pad_is_negotiated),
5492         (gst_pad_get_negotiated_caps):
5493           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5494           it doesn't actually check the contents), so be sure to hand it
5495           a RealPad else we'll crash.
5496
5497 2004-12-03  Wim Taymans  <wim@fluendo.com>
5498
5499         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5500         (gst_queue_link), (gst_queue_handle_src_query):
5501         Reverted to 1.110 until this makes the testsuite and various
5502         apps work.
5503
5504 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5505
5506         * docs/upload.mak: fix included CVS conflict strings
5507
5508 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5509
5510         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5511
5512         * gst/gstelement.c: (gst_element_error_full):
5513           Use g_error_new_literal because error text may have
5514           percentage signs in it. Fixes #160019.
5515
5516 2004-12-01  Benjamin Otte  <otte@gnome.org>
5517
5518         * gst/elements/gstbufferstore.c:
5519         (gst_buffer_store_add_buffer_func):
5520           don't try to make subbuffers bigger than they can be. (fixes
5521           #159970)
5522
5523 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5524
5525         * docs/gst/gstreamer-sections.txt:
5526         * docs/gst/tmpl/gstvalue.sgml:
5527           Add new function to docs to fix build.
5528
5529 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5530
5531         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5532         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5533         (_gst_pad_default_fixate_foreach):
5534         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5535         * gst/gstvalue.h:
5536           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5537           in some cases (arrays), the fixedness depends on the content.
5538         * gst/gstqueue.c: (gst_queue_handle_src_query):
5539           Check for availability before doing something.
5540
5541 2004-11-29  Wim Taymans  <wim@fluendo.com>
5542
5543         * testsuite/threads/Makefile.am:
5544         * testsuite/threads/signals.c: (gst_test_get_type),
5545         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5546         (gst_test_set_property), (gst_test_get_property),
5547         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5548         (gst_test_do_prop), (run_thread), (main):
5549         Added a bunch of testcases that show threadsafety bugs in glib.
5550
5551 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5552
5553         * docs/manual/programs.xml:
5554           Added a first batch of gst-launch examples, as provided by Ronald
5555           and others from the devel-mlist
5556
5557 2004-11-28  Benjamin Otte  <otte@gnome.org>
5558
5559         * gst/gstelement.c: (gst_element_negotiate_pads):
5560           simplify
5561         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5562         (gst_value_serialize_string), (gst_value_deserialize_string):
5563           add unwrapping of previously wrapped strings. Fix bug in wrapping
5564           while at it.
5565         * testsuite/caps/value_serialize.c: (test1),
5566         (test_string_serialization), (test_string_deserialization), (main):
5567           add tests for string (de)serialization
5568
5569 2004-11-26  Wim Taymans  <wim@fluendo.com>
5570
5571         * testsuite/threads/159566.c: (object_deep_notify), (main):
5572         * testsuite/threads/Makefile.am:
5573         Added testsuite to show bug #159566
5574
5575 2004-11-25  Wim Taymans  <wim@fluendo.com>
5576
5577         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5578         (gst_thread_child_state_change), (gst_thread_main_loop):
5579         Ref the thread object in the GThread mainloop. Break out of the
5580         thread mainloop if it holds the last ref. This properly exits
5581         the threads when disposing the thread from its own context. It
5582         also avoids possible deadlocks in the dispose function.
5583
5584 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5585
5586         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5587         it is necessary to wait.
5588
5589 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5590
5591         * docs/pwg/building-boiler.xml:
5592           Make description somewhat clearer.
5593
5594 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5595
5596         * docs/upload.mak:
5597           Apparently docs changed location on FDO's server.
5598
5599 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5600
5601         * docs/pwg/appendix-checklist.xml:
5602           Add some random notes on things to check when writing an element.
5603           This list can be extended as people see fit.
5604
5605 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5606
5607         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5608         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5609         pad. The queue will now wait until it is empty and forward the new
5610         caps to the source.
5611         * gst/gstbin.c (gst_bin_set_element_sched)
5612         (gst_bin_unset_element_sched): Make sure that all elements and
5613         links are registered and unregistered with the scheduler exactly
5614         once. This elaborates on a fix by Benjamin Otte, but
5615         guarantees that decoupled elements are also registered.
5616
5617 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5618
5619         * docs/manual/quotes.xml:
5620           add a quote
5621         * configure.ac:
5622         * gst/gst.c:
5623         * gst/gstinfo.c:
5624           add LIBDIR and move init message higher up so it's at the start
5625
5626 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5627
5628         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5629         * gstreamer.spec.in: add fair
5630
5631 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5632
5633         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5634         * gst/elements/gstidentity.c: (gst_identity_class_init):
5635           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5636           <teuf@gnome.org> (#157263).
5637         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5638         (gst_type_find_handle_src_query):
5639           Subtract size of internally stored data from position queries.
5640
5641 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5642
5643         * gst/schedulers/fairscheduler.c:
5644         * gst/schedulers/faircothreads.c:
5645         * gst/schedulers/faircothreads.h:
5646         New cothread based scheduler: Fair scheduler.
5647         * gst/schedulers/gthread-cothreads.h: 
5648         Add the standard #if around the whole file.
5649         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5650         compilation of the functions defined in this file. This is
5651         necessary to be able to use this file as a normal header.
5652         * gst/schedulers/Makefile.am: Add compiling support for fair
5653         scheduler.
5654         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5655         scheduler cothreads layer from documentation generation.
5656
5657 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5658
5659         * gst/autoplug/gstspideridentity.c:
5660         (gst_spider_identity_sink_loop_type_finding):
5661           Don't crash if that function is not implemented.
5662
5663 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5664
5665         * docs/pwg/advanced-types.xml:
5666           Another typo.
5667
5668 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5669
5670         * docs/pwg/intro-preface.xml:
5671           Hm, ok, so the brackets weren't really useful...
5672         * docs/pwg/other-ntoone.xml:
5673           Fix embarassing typo.
5674
5675 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5676
5677         * docs/pwg/intro-preface.xml:
5678           Rewrite preface.
5679
5680 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5681
5682         * docs/pwg/advanced-scheduling.xml:
5683         * docs/pwg/advanced-tagging.xml:
5684         * docs/pwg/advanced-types.xml:
5685         * docs/pwg/building-boiler.xml:
5686         * docs/pwg/building-chainfn.xml:
5687         * docs/pwg/building-signals.xml:
5688         * docs/pwg/building-state.xml:
5689         * docs/pwg/building-testapp.xml:
5690         * docs/pwg/intro-basics.xml:
5691         * docs/pwg/other-manager.xml:
5692         * docs/pwg/other-source.xml:
5693           Typo fixes.
5694         * docs/pwg/other-manager.xml:
5695           Add some first content. No example code yet.
5696         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5697           Remove double newlines.
5698
5699 2004-11-04  Wim Taymans  <wim@fluendo.com>
5700
5701         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5702         (remove_from_group), (normalize_group), (group_migrate_connected),
5703         (gst_opt_scheduler_iterate):
5704         * testsuite/schedulers/.cvsignore:
5705         * testsuite/schedulers/Makefile.am:
5706         * testsuite/schedulers/queue_link.c: (main):
5707         Added testcase for scheduler segfault.
5708         Fix scheduler segfault when removing a decoupled
5709         entry point as the last element from a group.
5710
5711 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5712
5713         * gst/gstmarshal.list: add missing marshaller, fixes build
5714
5715 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5716
5717         * docs/random/signal: added notes about using BOXED for GstBuffer
5718         signal marshallers, not POINTER
5719
5720 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5721
5722         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5723         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5724         POINTER=>BOXED changes to marshal GstBuffers
5725
5726 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5727
5728         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5729         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5730
5731 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * docs/gst/gstreamer-sections.txt:
5734         * docs/gst/tmpl/gstcaps.sgml:
5735         * docs/gst/tmpl/gsterror.sgml:
5736         * docs/gst/tmpl/gstinfo.sgml:
5737         * docs/gst/tmpl/gstmacros.sgml:
5738         * docs/gst/tmpl/gstutils.sgml:
5739         * docs/random/ensonic/interfaces.txt:
5740         * gst/gstinfo.h:
5741           added some more docs, removed two obsolete defines
5742
5743 2004-11-02  Kjartan Maraas <as at gnome.org>
5744
5745         reviewed by: Wim Taymans, Ronald Bultje.
5746
5747         * gst/cothreads.c: (cothread_create):
5748         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5749         (gst_bin_child_state_change_func):
5750         * gst/gstbuffer.c: (gst_buffer_span):
5751         * gst/gstelement.c: (gst_element_get_index),
5752         (gst_element_get_event_masks), (gst_element_get_query_types),
5753         (gst_element_get_formats):
5754         * gst/gsterror.c: (_gst_core_errors_init),
5755         (_gst_library_errors_init), (_gst_resource_errors_init),
5756         (_gst_stream_errors_init):
5757         * gst/gstobject.c: (gst_object_default_deep_notify):
5758         * gst/gstpad.c: (gst_pad_get_event_masks),
5759         (gst_pad_get_internal_links_default):
5760         * gst/gstplugin.c: (gst_plugin_register_func),
5761         (gst_plugin_get_module):
5762         * gst/gststructure.c: (gst_structure_get_string),
5763         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5764         (gst_structure_to_abbr):
5765         * gst/gstutils.c: (gst_print_element_args):
5766         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5767         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5768         Aplied part of patch #157127: Cleanup of issues reported by 
5769         sparse.
5770         Also do not try to use cothreads when there is no cothread
5771         context yet.
5772
5773 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5774
5775         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5776         (gst_opt_scheduler_iterate):
5777         Applied patch #154061. Running a pipeline in which an element 
5778         calls GST_ELEMENT_ERROR in the chain function, the opt 
5779         scheduler doesn't unref the chain so it never gets freed.
5780
5781 2004-11-02  Wim Taymans  <wim@fluendo.com>
5782
5783         * gst/gststructure.c: (gst_structure_get_abbrs),
5784         (gst_structure_from_abbr), (gst_structure_to_abbr):
5785         Remove that ugly if-then thing in the code that converts
5786         between strings and types.
5787
5788 2004-11-02  Wim Taymans  <wim@fluendo.com>
5789
5790         * gst/gstscheduler.c: (gst_scheduler_add_element),
5791         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5792         Aplied clock distribution patch, this should fix bug
5793         #148787.
5794
5795 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5796
5797         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5798
5799         * po/LINGUAS:
5800         * po/nb.po:
5801           Added Norwegian Bokmaal translation
5802
5803 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5804
5805         * tools/gst-inspect.c: (print_signal_info):
5806           print signal arguments as pointers if they are
5807
5808 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5809
5810         * docs/pwg/building-boiler.xml:
5811           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5812
5813 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5814
5815         * gst/parse/parse.l:
5816         * testsuite/parse/parse1.c: (main):
5817         Since parse can do 'element name=a:b' make 'a:b.' work as
5818         well. 
5819         Added testcase to verify fix.
5820
5821 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5822
5823         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5824         Use the realpad when printing the direction.
5825         Add extra \n when printing extensions of typefind factories.
5826
5827 2004-10-13  David Schleef  <ds@schleef.org>
5828
5829         * examples/manual/Makefile.am: $< isn't portable in Makefile
5830         rules.
5831
5832 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5833
5834         * docs/gst/tmpl/gstobject.sgml:
5835         * docs/gst/tmpl/gstplugin.sgml:
5836         * docs/gst/tmpl/gstpluginfeature.sgml:
5837         * docs/gst/tmpl/gstregistry.sgml:
5838         * docs/gst/tmpl/gstversion.sgml:
5839         * gst/gstbin.c:
5840           more api documentation
5841         * gst/gstplugin.c: (gst_plugin_register_func),
5842         (gst_plugin_check_file), (gst_plugin_load_file):
5843           better error signaling and logging
5844
5845 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5846
5847         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5848           Subtract current queue contents from position queries.
5849
5850 2004-10-11  Johan Dahlin  <johan@gnome.org>
5851
5852         * gst/gsturi.c (gst_uri_get_location): unescape string
5853         (gst_uri_construct): escape string.
5854
5855 2004-10-11  Benjamin Otte  <otte@gnome.org>
5856
5857         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5858         (gst_pad_try_set_caps_nonfixed):
5859           allow renegotiation of unconnected pads (as inside spider). Simply
5860           return OK if unconnected - mimic try_set_caps there.
5861
5862 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5863
5864         * gst/gstbin.c: (gst_bin_sync_children_state):
5865           Add missing break.
5866
5867 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5868
5869         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5870         Set element to EOS before sending EOS event
5871
5872 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5873
5874         * gst/elements/gsttypefindelement.c:
5875         (gst_type_find_element_handle_event):
5876         Handle EOS events when doing the transition from
5877         typefind to data passing. This should fix the
5878         infinite loops in short files.
5879
5880 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5881
5882         * gst/gstthread.c: (gst_thread_change_state),
5883         (gst_thread_child_state_change):
5884         Make sure no iteration happens while performing
5885         the state change as it could mess up the internal
5886         consistency of the thread state.
5887
5888 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5889
5890         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5891         (gst_thread_change_state), (gst_thread_child_state_change):
5892         Do not try to grab the iterate lock in the state change method
5893         when we are in the same thread as the iterate or else we
5894         could deadlock. Some other cleanups.
5895
5896 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5897
5898         * configure.ac:
5899           bump nano to cvs
5900
5901 === release 0.8.7 ===
5902
5903 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5904
5905         * configure.ac:
5906         * NEWS:
5907         * RELEASE:
5908         * configure.ac:
5909           releasing 0.8.7, "A Cruise"
5910
5911 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5912
5913         * docs/random/mimetypes:
5914         Add an entry for Sony ATRAC3 audio format with mime-type
5915         used by rmdemux et riff-read
5916
5917 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5918
5919         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5920         Push the buffer store instead of clearing it in case that
5921         the stream is not seekable.
5922
5923 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5924
5925         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5926         (gst_thread_main_loop):
5927         Lock the iteration and the state change so that automatic
5928         negotiation and fixation does not happen at the same time
5929         as the in stream negotiation.
5930
5931 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * configure.ac:
5934           bump nano to cvs
5935
5936 === release 0.8.6 ===
5937
5938 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         * configure.ac:
5941         * NEWS:
5942         * RELEASE:
5943         * configure.ac:
5944           releasing 0.8.6, "Narc"
5945
5946 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * configure.ac:
5949           prerel bump
5950
5951 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         patch by: Steve Lhomme
5954
5955         * gst/elements/gstfakesrc.c:
5956         * gst/elements/gstidentity.c:
5957         * gst/gstthread.c:
5958           Fix for #153881
5959
5960 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5961
5962         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5963         Fix threadsafety of the crc checking function.
5964
5965 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5966
5967         patch by: Ronald Bultje
5968
5969         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5970         (gst_type_find_element_handle_event),
5971         (gst_type_find_element_chain):
5972         * gst/elements/gsttypefindelement.h:
5973          #153657.
5974          Filter out discont event from seekable sources when typefind
5975          asks them to seek.  Fixes typefind with demuxers for
5976          avi, asf and matroska.
5977
5978 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5979
5980         * docs/gst/gstreamer-sections.txt:
5981         * gst/gstcaps.c:
5982         * gst/gstcaps.h:
5983         * gst/gstpad.c:
5984           Revert preferred caps: (#147789)
5985
5986 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5987
5988         * win32/dirent.c:
5989           fix a memory leak
5990
5991 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * configure.ac:
5994           bump for prerelease
5995
5996 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5997
5998         * docs/Makefile.am:
5999         * docs/manual/elements-api.xml:
6000           restructure so that common stuff is shown first
6001         * docs/manual/init-api.xml:
6002           convert to examples
6003         * docs/manual/manual.xml:
6004         * docs/manuals.mak:
6005         * docs/url.entities:
6006           link to API on the website, possibly override later in build
6007         * examples/manual/.cvsignore:
6008           ignore more
6009         * examples/manual/Makefile.am:
6010           add more examples
6011         * examples/manual/extract.pl:
6012           error out on failure
6013
6014 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6015
6016         * docs/gst/tmpl/gstthread.sgml:
6017         * docs/manual/init-api.xml:
6018         * examples/manual/Makefile.am:
6019           convert two code bits to examples
6020
6021 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6022
6023         * gst/gstelement.c: (gst_element_change_state):
6024           Well, actually, I was about to remove this insane assert when
6025           I noticed Wim already did that. A warning is nice so we can
6026           fix actual ugs (using --g-fatal-warnings and backtraces), so
6027           I added that instead.
6028
6029 2004-09-06  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6032         (gst_element_threadsafe_properties_post_run),
6033         (gst_element_set_state), (gst_element_change_state):
6034         Added extra refcounting around various places. 
6035
6036 2004-09-06  Wim Taymans  <wim@fluendo.com>
6037
6038         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6039         Fix debug info.
6040
6041 2004-09-06  Wim Taymans  <wim@fluendo.com>
6042
6043         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6044         (remove_from_group):
6045         Some more debug info.
6046
6047 2004-09-03  Wim Taymans  <wim@fluendo.com>
6048
6049         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6050         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6051         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6052         (gst_fakesrc_get), (gst_fakesrc_change_state):
6053         * gst/elements/gstfakesrc.h:
6054         * gst/elements/gstidentity.c: (gst_identity_class_init),
6055         (gst_identity_init), (gst_identity_chain),
6056         (gst_identity_set_property), (gst_identity_get_property),
6057         (gst_identity_change_state):
6058         * gst/elements/gstidentity.h:
6059         Added datarate properties to limit the datarate.
6060
6061 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6062
6063         * gst/autoplug/gstspider.c: (plugin_init):
6064           don't set a rank. We don't want to autoplug by inserting spiders.
6065
6066 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6067
6068         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6069         (gst_spider_identity_plug):
6070           add a template for spider's sink
6071         * gst/gst.c: (gst_register_core_elements):
6072           queue's rank should be NULL, we don't want spider to add it.
6073
6074 2004-08-18  David Schleef  <ds@schleef.org>
6075
6076         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6077         * docs/libs/Makefile.am: same
6078         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6079         * docs/random/ds/0.9-planning: random additions
6080         * docs/random/ds/0.9-suggested-changes: same
6081         * gst/gstxml.h: remove vestigal GstXMLNs definition
6082
6083         Preferred caps: (#147789)
6084         * docs/gst/gstreamer-sections.txt: Add symbols
6085         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6086         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6087         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6088         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6089         (gst_caps_get_preferred), (gst_caps_set_preferred),
6090         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6091         (gst_caps_use_preferred): Handle caps preferences
6092         * gst/gstcaps.h: Add caps preferences
6093         * gst/gstpad.c: (gst_pad_link_get_preferred),
6094         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6095         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6096         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6097         negotiation.
6098
6099 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6100
6101         * gst/autoplug/gstspideridentity.c:
6102         (gst_spider_identity_request_new_pad):
6103         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6104         (gst_aggregator_init):
6105         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6106         (gst_fakesink_init):
6107         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6108         (gst_fakesrc_init):
6109         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6110         (gst_fdsink_init):
6111         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6112         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6113         (gst_filesink_init):
6114         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6115         (gst_filesrc_init):
6116         * gst/elements/gstidentity.c: (gst_identity_base_init),
6117         (gst_identity_init):
6118         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6119         (gst_multifilesrc_init):
6120         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6121         (gst_pipefilter_init):
6122         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6123         (gst_statistics_init):
6124         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6125         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6126           s/gst_pad_new/&_from_template/
6127           register pad templates in the base_init function
6128           add static pad template definitions
6129
6130 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6131
6132         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6133         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6134         * testsuite/refcounting/pad.c: (main):
6135         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6136           s/gst_pad_new/&_from_template/
6137           prepare deprecation of gst_pad_new
6138
6139 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6140
6141         patch by: Luca Ognibene <skaboy81@virgilio.it>
6142
6143         * gst/gstcaps.c:
6144         * gst/gstelement.c:
6145         * gst/gstpad.c:
6146         * gst/gstxml.c:
6147           fix memleaks.  Fixes #150001
6148
6149 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6150
6151         * docs/random/ds/0.9-suggested-changes:
6152           add notes - mostly about pad templates
6153
6154 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6155
6156         * win32/GStreamer.vcproj:
6157           temporary locale files are .gmo not .mo
6158
6159 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6160
6161         * configure.ac: bump nano to cvs
6162
6163 === release 0.8.5 ===
6164
6165 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6166
6167         * configure.ac:
6168           releasing 0.8.5, "Stuttgart"
6169         * NEWS:
6170         * RELEASE:
6171         * configure.ac:
6172         * docs/random/release:
6173           updates for release
6174
6175 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6176
6177         patch by: Wim Taymans (wim@fluendo.com)
6178
6179         * gst/gstbuffer.c:
6180         * gst/gstindex.h:
6181         * libs/gst/dataprotocol/dataprotocol.c:
6182           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6183
6184 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6185
6186         * Makefile.am:
6187         * win32/MANIFEST:
6188           add win32 dir to the build.  Fixes #149981.
6189
6190 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6191
6192         * configure.ac:
6193           bump libtool versioning
6194         * gst/gststructure.c:
6195           mark function as static
6196         * po/af.po:
6197         * po/az.po:
6198         * po/ca.po:
6199         * po/cs.po:
6200         * po/en_GB.po:
6201         * po/fr.po:
6202         * po/nl.po:
6203         * po/sq.po:
6204         * po/sr.po:
6205         * po/sv.po:
6206         * po/tr.po:
6207         * po/uk.po:
6208           translations update
6209         * win32/README.txt:
6210           trademark protection
6211
6212 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6213
6214         * configure.ac:
6215           fix GST_ORIGIN
6216           set GST_PACKAGE to source, and distinguish between release and other
6217         * tools/gst-inspect.c:
6218           print out plugin an element factory is part of so we see this info
6219
6220 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6221
6222         * docs/gst/gstreamer-sections.txt:
6223         * docs/gst/tmpl/gstbuffer.sgml:
6224         * docs/gst/tmpl/gstschedulerfactory.sgml:
6225           reorder docs a little, make GstBuffer's more sensible.
6226         * gst/gstbuffer.h:
6227           API: added GST_BUFFER_FLAG_DELTA_UNIT
6228         * gst/gstscheduler.c:
6229           comment API addition
6230
6231 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6232
6233         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6234           work with non-regular files that can be mmapped (like /dev/zero)
6235         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6236           get rid of typefinds that require a seek when we can't seek instead
6237           of trying them over and over again
6238         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6239           return non-zero failure value when the pipeline was interrupted or
6240           an error occurred
6241
6242 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6243
6244         * win32/config.h:
6245         * win32/GStreamer.vcproj:
6246           compile and install the locales
6247
6248 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6249
6250         * gst/gstvalue.c:
6251           fix a possible memory leak under Windows
6252
6253 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6254
6255         * win32/GStreamer.vcproj:
6256           fix a memory leak that occured under Windows
6257         * win32/gstreamer.def:
6258           add gst_scheduler_register
6259
6260 2004-08-11  Benjamin Otte  <otte@gnome.org>
6261
6262         * docs/gst/gstreamer-sections.txt:
6263         * gst/gstscheduler.c: (gst_scheduler_register):
6264         * gst/gstscheduler.h:
6265           API:
6266           add gst_scheduler_register shortcut similar to gst_element_register
6267         * gst/schedulers/entryscheduler.c: (plugin_init):
6268         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6269         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6270           use it
6271
6272 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6273
6274         * gst/gstvalue.h:
6275           fix a memory leak that occured under Windows
6276
6277 2004-08-10  Colin Walters  <walters@redhat.com>
6278
6279         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6280         Don't use O_EXCL to open temporary registry.  It will prevent
6281         registry creation if a temporary one already exists, which
6282         is unnecessary.
6283
6284 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6285
6286         * docs/gst/gstreamer-sections.txt:
6287         * docs/gst/tmpl/gstvalue.sgml:
6288           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6289
6290 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6291
6292         * win32/gstbytestream.vcproj:
6293         * win32/gstelements.vcproj:
6294         * win32/gstgetbits.vcproj:
6295         * win32/gst-inspect.vcproj:
6296         * win32/gst-launch.vcproj:
6297         * win32/gstoptimalscheduler.vcproj:
6298         * win32/GStreamer.vcproj:
6299         * win32/gst-register.vcproj:
6300         * win32/gstspider.vcproj:
6301           update the include and lib dirs to fit standard libraries as
6302           described in the Win32 manual
6303
6304 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6305
6306         * win32/config.h:
6307         * win32/gstversion.h:
6308           enable NLS again, push the version number for the coming 0.8.5 release
6309
6310 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6311
6312         * gst/gstvalue.h:
6313           export gst_type_XXX for windows DLLs
6314
6315 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * docs/faq/gst-uninstalled:
6318           fix PKG_CONFIG_PATH and PYTHONPATH
6319         * gst/schedulers/Makefile.am:
6320           cleanup
6321         * libs/gst/bytestream/bytestream.c:
6322           remove newline
6323         * po/LINGUAS:
6324         * po/sq.po:
6325           adding Albanian translation (Laurent Dhima)
6326         * po/cs.po:
6327           updated
6328
6329 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6330
6331         * po/ca.po:
6332         * po/sv.po:
6333           updated translations
6334
6335 2004-08-04  Benjamin Otte  <otte@gnome.org>
6336
6337         * tests/mass_elements.c: (main):
6338           allow specifying src and sink element explicitly, so I can test
6339           videotestsrc instead of fakesrc
6340
6341 2004-08-04  Benjamin Otte  <otte@gnome.org>
6342
6343         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6344         (gst_structure_id_empty_new), (gst_structure_empty_new),
6345         (gst_structure_copy):
6346           add gst_structure_id_empty_new_with_size to allow preallocating
6347           value array sizes. Use this in gst_structure_copy to get rid of
6348           reallocs.
6349           don't do quark=>string=>quark when copying structures
6350
6351 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6352
6353         * docs/manual/win32.xml:
6354         * win32/README.txt:
6355           update documentation with the clean version of dependencies
6356
6357 2004-08-03  Benjamin Otte  <otte@gnome.org>
6358
6359         * gst/schedulers/entryscheduler.c:
6360         (gst_entry_scheduler_remove_element):
6361           fix for GST_DISABLE_DEBUG
6362         * tools/gst-launch.c: (print_tag):
6363           fixes for G_DISABLE_ASSERT
6364
6365 2004-08-03  Benjamin Otte  <otte@gnome.org>
6366
6367         * gst/gst.c: (gst_register_core_elements):
6368           fix for G_DISABLE_ASSERT
6369         * gst/gstinfo.c: (__gst_in_valgrind):
6370           add for GST_DISABLE_DEBUG
6371
6372 2004-08-03  Benjamin Otte  <otte@gnome.org>
6373
6374         * gst/parse/parse.l:
6375           fix for G_DISABLE_ASSERT
6376
6377 2004-08-03  Wim Taymans  <wim@fluendo.com>
6378
6379         * gst/gstbin.c: (gst_bin_get_type),
6380         (gst_bin_child_state_change_func):
6381         * gst/gstthread.c: (gst_thread_change_state):
6382         Backported some debug logging from a reverted patch
6383         Don't try to destroy the thread twice. Added some more
6384         debugging in GstThread. Unlock and signal even if we
6385         are in the thread context.
6386
6387 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6388
6389         * po/uk.po:
6390           updated translation
6391
6392 2004-07-30  David Schleef  <ds@schleef.org>
6393
6394         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6395
6396 2004-07-29  David Schleef  <ds@schleef.org>
6397
6398         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6399         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6400
6401 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6404         (gst_bin_add_func), (gst_bin_remove_func),
6405         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6406         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6407         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6408         (gst_bin_sync_children_state):
6409         * gst/gstbin.h:
6410         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6411         (gst_thread_change_state):
6412         * testsuite/states/Makefile.am:
6413           revert state change patches as agreed so we can rework them
6414           gradually
6415
6416 2004-07-29  Benjamin Otte  <otte@gnome.org>
6417
6418         * libs/gst/control/Makefile.am:
6419           link to libgstreamer (fixes Debian bug 262019, see
6420           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6421
6422 2004-07-29  Wim Taymans  <wim@fluendo.com>
6423
6424         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6425         (check_from_fraction_convert), (transform_test), (main):
6426         Make the test less pedantic about float roundoff errors.
6427
6428 2004-07-29  Benjamin Otte  <otte@gnome.org>
6429
6430         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6431         (gst_filesrc_srcpad_event):
6432           make seek events to before start/after end of file not fail, but
6433           seek to start/end instead
6434         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6435           add more output
6436
6437 2004-07-29  Benjamin Otte  <otte@gnome.org>
6438
6439         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6440           check that caps are fixed
6441         * gst/gstpad.c: (gst_pad_template_new):
6442           don't try to simplify caps, costs too much time on gst_init
6443         * gst/gstplugin.c: (gst_plugin_add_feature):
6444           G_ERROR if features are added twice
6445         * gst/gsttypefind.c: (gst_type_find_register):
6446         * gst/gstelementfactory.c: (gst_element_register):
6447           don't add features twice
6448         * docs/random/ds/0.9-suggested-changes:
6449           add note about possible gst_init optimization
6450
6451 2004-07-28  David Schleef  <ds@schleef.org>
6452
6453         * testsuite/elements/Makefile.am:
6454         * testsuite/elements/struct_i386.h:
6455         * testsuite/elements/struct_size.c: (main):  A little test
6456         to keep distcheck from working if someone changes a structure
6457         size accidentally.
6458
6459 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6460
6461         * docs/libs/Makefile.am:
6462         * docs/libs/gstreamer-libs-docs.sgml:
6463         * docs/libs/gstreamer-libs-sections.txt:
6464         * docs/libs/tmpl/gstbytestream.sgml:
6465         * docs/libs/tmpl/gstcontrol.sgml:
6466         * docs/libs/tmpl/gstdataprotocol.sgml:
6467         * docs/libs/tmpl/gstgetbits.sgml:
6468         * libs/gst/bytestream/Makefile.am:
6469         * libs/gst/bytestream/bytestream.c:
6470         * libs/gst/bytestream/bytestream.h:
6471         * libs/gst/control/Makefile.am:
6472         * libs/gst/dataprotocol/Makefile.am:
6473         * libs/gst/getbits/Makefile.am:
6474         * libs/gst/getbits/getbits.h:
6475           various doc and style fixes, adding bytestream to libs docs.
6476
6477 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * docs/gst/gstreamer-docs.sgml:
6480         * docs/libs/Makefile.am:
6481         * docs/libs/gstreamer-libs-docs.sgml:
6482         * docs/libs/gstreamer-libs-sections.txt:
6483         * libs/gst/control/dparam.c:
6484           more doc fixes.  gst-libs docs now build the same way as gst.
6485
6486 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6487
6488         * configure.ac:
6489         * testsuite/Makefile.am:
6490         * testsuite/bins/Makefile.am:
6491         * testsuite/caps/Makefile.am:
6492         * testsuite/cleanup/Makefile.am:
6493         * testsuite/clock/Makefile.am:
6494         * testsuite/debug/Makefile.am:
6495         * testsuite/dlopen/Makefile.am:
6496         * testsuite/dynparams/Makefile.am:
6497         * testsuite/elements/.cvsignore:
6498         * testsuite/elements/Makefile.am:
6499         * testsuite/enumcaps/Makefile.am:
6500         * testsuite/enumcaps/enumcaps.c:
6501         * testsuite/ghostpads/Makefile.am:
6502         * testsuite/indexers/Makefile.am:
6503         * testsuite/negotiation/Makefile.am:
6504         * testsuite/parse/Makefile.am:
6505         * testsuite/plugin/Makefile.am:
6506         * testsuite/refcounting/Makefile.am:
6507         * testsuite/schedulers/.cvsignore:
6508         * testsuite/states/Makefile.am:
6509         * testsuite/tags/Makefile.am:
6510         * testsuite/threads/Makefile.am:
6511           fold enumcaps into caps dir
6512           clean up Makefile.am's for testsuite
6513
6514 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6515
6516         * docs/gst/Makefile.am:
6517         * docs/libs/Makefile.am:
6518           clean up docs build.  Fixes needless rebuilding of template files.
6519
6520 2004-07-28  Wim Taymans  <wim@fluendo.com>
6521
6522         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6523         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6524         Make sure that a bin state change tries to keep the children
6525         in sync. 
6526         Added debug logging to the thread.
6527
6528 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6529
6530         * win32/GStreamer.vcproj:
6531         * win32/gstreamer.def:
6532           more exports for the plugins
6533
6534 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6535
6536         * win32/gstgetbits.vcproj:
6537         * win32/gstgetbits.def:
6538         * win32/msvc71.sln:
6539           add support for the getbits plugin
6540
6541 2004-07-27  Wim Taymans  <wim@fluendo.com>
6542
6543         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6544         (gst_value_transform_fraction_double), (_gst_value_initialize):
6545         * testsuite/caps/Makefile.am:
6546         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6547         (check_from_fraction_convert), (transform_test), (main):
6548         Added transform functions between double and fraction.
6549         Added testcase to verify transforms
6550
6551 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6552
6553         * win32/GStreamer.vcproj:
6554           rename GStreamer-0.8.lib to libgstreamer.lib
6555
6556 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6557
6558         * win32/gstelements.vcproj:
6559         * win32/gstoptimalscheduler.vcproj:
6560           fixes for the Release build
6561
6562 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6563
6564         * win32/config.h:
6565           update the version number
6566
6567 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6568
6569         * win32/GStreamer.vcproj:
6570           add gstinterface to the build
6571
6572 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6573
6574         * win32/gstreamer.def:
6575           add many definitions needed by plugins,
6576           GST_CAT_DEFAULT only available in the Debug build ?
6577
6578 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6579
6580         * gst/gstelement.c: (gst_element_set_eos_recursive):
6581           various whitespace fixes.
6582           doc fix, fixes #148497
6583
6584 2004-07-25  Benjamin Otte  <otte@gnome.org>
6585
6586         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6587           don't delay links on the sink elements, it causes unnegotiated
6588           links.
6589         * gst/elements/gsttypefindelement.c:
6590         (gst_type_find_element_base_init):
6591           add our padtemplates, we indeed do have some.
6592         * gst/elements/gsttypefindelement.c:
6593         (gst_type_find_element_handle_event),
6594         (gst_type_find_element_chain):
6595           don't push data when typefinding failed.
6596         * gst/gstpad.c: (gst_pad_link_fixate):
6597           check that no fixate function returns empty caps.
6598         * gst/gstpad.c: (gst_pad_push):
6599           check that the link is negotiated before data gets pushed.
6600         * tools/gst-register.c: (main):
6601           don't assert (fixes #148283)
6602
6603 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6604
6605         * docs/gst/gstreamer-sections.txt:
6606         * docs/gst/tmpl/gstconfig.sgml:
6607           add GST_PLUGIN_EXPORT definition
6608
6609 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6610
6611         * gst/gstplugin.h:
6612         * gst/gstconfig.h.in:
6613         * win32/gstconfig.h:
6614         * win32/gstelements.def:
6615         * win32/gstelements.vcproj:
6616         * win32/gstoptimalscheduler.def:
6617         * win32/gstoptimalscheduler.vcproj:
6618         * win32/gstspider.def:
6619         * win32/gstspider.vcproj:
6620           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6621
6622 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6623
6624         * docs/gst/gstreamer-sections.txt:
6625           remove GST_CAT_DEFAULT because the type has changed
6626
6627 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6628
6629         * win32/gstbytestream.vcproj:
6630         * win32/gstelements.vcproj:
6631         * win32/gst-inspect.vcproj:
6632         * win32/gst-launch.vcproj:
6633         * win32/gstoptimalscheduler.vcproj:
6634         * win32/GStreamer.vcproj:
6635         * win32/gst-register.vcproj:
6636         * win32/gstspider.vcproj:
6637         * win32/msvc71.sln:
6638           Copy the files where needed after building, The testsuite will be
6639           built separately
6640
6641 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6642
6643         * win32/config.h:
6644         * win32/README.txt:
6645         * docs/manual/win32.xml:
6646         Fixed the plugin and GStreamer location
6647
6648 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6649
6650         * win32/gstreamer.def:
6651         More exports for the plugins
6652
6653 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6654
6655         * gst/gstinfo.h:
6656         Marc was right, we need to export literally GST_CAT_DEFAULT
6657
6658 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6659
6660         * win32/config.h:
6661         NLS crashes in gettext, disabled until this is solved
6662
6663 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6664
6665         * win32/gst-inspect.vcproj:
6666         * win32/gst-launch.vcproj:
6667         Should use NLS when available
6668
6669 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6670
6671         * gst/registries/gstxmlregistry.c:
6672         removing the file doesn't seem to be a good idea on Linux
6673
6674 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6675
6676         * gst/registries/gstxmlregistry.c:
6677         Remove the registry before renaming the tempfile (needed for Windows)
6678
6679 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6680
6681         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6682         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6683         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6684         * gst/elements/gstmultifilesrc.h:
6685         Added newmedia property so it generates newmedia events between each
6686         file when property is set, as well as fixed eos handling
6687
6688 2004-07-22  David Schleef  <ds@schleef.org>
6689
6690         * gst/gststructure.c: (gst_structure_id_empty_new),
6691         (gst_structure_empty_new):  Set type field correctly.
6692         * gst/gststructure.h: Check type field correctly.
6693         * testsuite/caps/Makefile.am:
6694         * testsuite/caps/structure.c: (test1), (main): Add a very small
6695         test for structures.
6696
6697 2004-07-22  David Schleef  <ds@schleef.org>
6698
6699         * docs/random/ds/0.9-suggested-changes: more comments
6700         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6701
6702 2004-07-22  Benjamin Otte  <otte@gnome.org>
6703
6704         * gst/gstelementfactory.c: (gst_element_register):
6705           set the factory in the class struct, so gst_element_get_factory
6706           actually works
6707         * gst/parse/grammar.y:
6708           set element to playing when it gets unlocked as we can't rely on the
6709           bin state - all elements in the bin state might still be locked in
6710           NULL)
6711
6712 2004-07-22  Benjamin Otte  <otte@gnome.org>
6713
6714         * gst/gstelement.c: (gst_element_set_state_func):
6715           make this a static function
6716
6717 2004-07-22  Wim Taymans  <wim@fluendo.com>
6718
6719         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6720         (gst_opt_scheduler_pad_link):
6721         fix 147894-2 and the group_link problem.
6722
6723 2004-07-22  Wim Taymans  <wim@fluendo.com>
6724
6725         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6726         (handoff_identity), (main):
6727         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6728         (handoff_identity), (main):
6729         * testsuite/schedulers/Makefile.am:
6730         * testsuite/schedulers/group_link.c: (main):
6731         Show bug in scheduler when linking chain and loop based element 
6732         where the chain based element was not yet in a group.
6733
6734 2004-07-21  Benjamin Otte  <otte@gnome.org>
6735
6736         * gst/.cvsignore:
6737         * gst/autoplug/.cvsignore:
6738         * gst/elements/.cvsignore:
6739         * gst/indexers/.cvsignore:
6740         * libs/gst/bytestream/.cvsignore:
6741         * libs/gst/control/.cvsignore:
6742         * libs/gst/getbits/.cvsignore:
6743         * testsuite/states/.cvsignore:
6744         * testsuite/threads/.cvsignore:
6745           keep this up to date, since I seem to be the only one who cares
6746           about not missing files on commits (editor's note: no you don't,
6747           but feel free to change them at the time you add stuff instead
6748           of later on)
6749
6750 2004-07-21  Benjamin Otte  <otte@gnome.org>
6751
6752         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6753         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6754         (gst_bin_child_state_change_func), (set_kid_state_func),
6755         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6756           make state changes work correctly and reentrant (so removing
6757           elements from bins during state changes of bins doesn't cause
6758           segfaults or even wrong states)
6759           add debugging category and debugging output to print children states
6760         * gst/gstbin.c: (gst_bin_dispose): 
6761           add some assertion checks
6762         * gst/gstbin.h:
6763         * gst/gstbin.c: (gst_bin_sync_children_state):
6764           deprecate this function - it just does gst_bin_set_state (bin,
6765           GST_STATE (bin)) 
6766         * testsuite/threads/queue.c: (main):
6767           don't use gst_bin_sync_children_state anymore
6768         * testsuite/states/Makefile.am:
6769         * testsuite/states/bin.c:
6770           test that the state changes of bins work as expected
6771         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6772           some adjustments to change states correctly, too
6773         * gst/gstthread.c: (gst_thread_change_state):
6774           don't enable/disable "threadsafe" properties, they're unused and
6775           cause random segfaults
6776         * testsuite/threads/Makefile.am:
6777           the queue check randomly passes now, ignore it
6778
6779 2004-07-21  Benjamin Otte  <otte@gnome.org>
6780
6781         * gst/gstpad.c:
6782           check if data is NULL before outputting debug info. (fixes #145100)
6783
6784 2004-07-21  Benjamin Otte  <otte@gnome.org>
6785
6786         * gst/schedulers/entryscheduler.c:
6787         (gst_entry_scheduler_loop_wrapper),
6788         (gst_entry_scheduler_chain_wrapper),
6789         (gst_entry_scheduler_get_wrapper):
6790           reset the state when the cothread starts, so we don't get assertion
6791           failures on restarting of cothreads
6792
6793 2004-07-20  Benjamin Otte  <otte@gnome.org>
6794
6795         * gst/gstelement.c: (gst_element_link_pads_filtered):
6796           use correct sinkpad, if only sinkpad is specified, but not srcpad
6797           (fixes #147889)
6798         * gst/gstelement.c: (gst_element_set_state_func),
6799         (gst_element_change_state): ref/unref the element, signal handlers
6800         could get rid of the element otherwise
6801
6802 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6803
6804         * docs/random/ds/0.9-suggested-changes:
6805           Make note about renaming fixed-list to array.
6806         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6807         (_gst_value_initialize):
6808           Add array intersections.
6809         * testsuite/caps/intersect2.c: (main):
6810           Add test for array intersections.
6811
6812 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6813
6814         * configure.ac: back to cvs
6815
6816 === release 0.8.4 ===
6817
6818 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6819
6820         * configure.ac:
6821           releasing 0.8.4, "Paella"
6822           bump libtool versioning
6823
6824 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6825
6826         * po/LINGUAS:
6827         * po/ca.po:
6828           adding Catalan translation (Jordi Mallach)
6829
6830 2004-07-20  Wim Taymans  <wim@fluendo.com>
6831
6832         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6833         (handoff_identity), (main):
6834         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6835         (handoff_identity), (main):
6836         * testsuite/schedulers/Makefile.am:
6837         Added failing testcase for variant of #147894
6838
6839 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6840
6841         patch by: David Moore
6842
6843         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6844         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6845         (group_migrate_connected):
6846         * testsuite/schedulers/Makefile.am:
6847           fix for #142813 (Deadlock in optimal scheduler)
6848
6849 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6850
6851         patch by: Wim Taymans
6852
6853         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6854         (gst_opt_scheduler_schedule_run_queue),
6855         (gst_opt_scheduler_get_wrapper), (get_group),
6856         (group_migrate_connected):
6857         * testsuite/schedulers/Makefile.am:
6858           fix for #147819 (Add some checks in the opt scheduler)
6859
6860 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6861
6862         patch by: Benjamin Otte
6863
6864         * gst/gstelementfactory.c: (__gst_element_details_set):
6865           fix for #147929: running gst-register in non-utf8 locale can cause
6866           invalid registry
6867
6868 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6869
6870         patch by: Wim Taymans
6871
6872         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6873         (group_has_element), (element_get_reachables_func),
6874         (group_migrate_connected):
6875           fix for #147894 (opt scheduler decoupled elements mismanagement)
6876         * testsuite/schedulers/Makefile.am:
6877           testsuite app now passes
6878
6879 2004-07-19  Wim Taymans  <wim@fluendo.com>
6880
6881         * testsuite/schedulers/147819.c: (handoff_identity1),
6882         (handoff_identity2), (main):
6883         * testsuite/schedulers/Makefile.am:
6884         Added testcase for bug 147819
6885
6886 2004-07-19  Wim Taymans  <wim@fluendo.com>
6887
6888         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6889         (handoff_identity), (main):
6890         * testsuite/schedulers/Makefile.am:
6891         Added testcase for bug 147894
6892
6893 2004-07-16  Wim Taymans  <wim@fluendo.com>
6894
6895         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6896         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6897         * testsuite/schedulers/Makefile.am:
6898         Added testsuite for bug 142183 in its two incarnations. Refcount
6899         is not increased for scheduled elements and threadsafe properties
6900         mutexes are not properly unlocked.
6901
6902 2004-07-16  Wim Taymans  <wim@fluendo.com>
6903
6904         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6905         (create_chain), (destroy_chain), (create_group), (destroy_group),
6906         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6907         (group_dec_link), (gst_opt_scheduler_pad_link),
6908         (group_inc_links_for_element), (group_migrate_connected):
6909         Call group_inc_link with the proper src->sink ordering -- 
6910         break this, and we break sort_chain. patch from wingo for bug
6911         147713.
6912         Partially revert patch 1.89. When adding a loop based element to 
6913         the scheduler, the links to other groups are automatically followed
6914         and incremented. This should not happen because the bin will call
6915         pad_link explicitly for those connection, resulting in them counted 
6916         twice. Results in assertion failure on pipeline cleanup.
6917
6918 2004-07-16  Wim Taymans  <wim@fluendo.com>
6919
6920         * testsuite/schedulers/143777-2.c: (main):
6921         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6922         (main):
6923         * testsuite/schedulers/Makefile.am:
6924         Added cleanup code to testcase 143777-2.
6925         Added testcase to show bug 147713, does not really show the
6926         deadlock as I can't figure out how to trigger it, but it does
6927         demonstrate bad ordering in the scheduler.
6928
6929 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6932           change strndup to g_strndup.  Fixes #147707
6933
6934 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6935
6936         * po/af.po:
6937         * po/az.po:
6938         * po/cs.po:
6939         * po/en_GB.po:
6940         * po/fr.po:
6941         * po/nl.po:
6942         * po/sr.po:
6943         * po/sv.po:
6944         * po/tr.po:
6945         * po/uk.po:
6946           updated translations
6947
6948 2004-07-16  Benjamin Otte  <otte@gnome.org>
6949
6950         * gst/gstvalue.c: (gst_greatest_common_divisor):
6951           use ints and return ints, fractions only use ints, too, so this
6952           avoids accidently casting multiplications to unsigned
6953         (gst_value_lcopy_fraction): it's ints, not uint32
6954         (gst_value_set_fraction): disallow minint, multiplying and negation
6955           are broken with it
6956         (gst_value_fraction_multiply): fix to make large numbers work and get
6957         rid of the assumption that the multiplication of two ints fits an
6958         int64 - dunno if that's true for all systems
6959         * testsuite/caps/Makefile.am:
6960         * testsuite/caps/fraction-multiply-and-zero.c:
6961         (check_multiplication), (check_equal), (zero_test), (main):
6962           add tests for all the stuff above
6963         * testsuite/caps/value_compare.c: (test1):
6964           fix comment
6965         * tests/.cvsignore:
6966         * testsuite/caps/.cvsignore:
6967         * testsuite/debug/.cvsignore:
6968         * testsuite/dlopen/.cvsignore:
6969         * testsuite/states/.cvsignore:
6970           get up to date
6971
6972 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6973
6974         * docs/manual/bins-api.xml:
6975         * docs/manual/factories.xml:
6976         * docs/manual/helloworld.xml:
6977         * docs/manual/links-api.xml: 
6978           fixes for out of date info, incorrect info and grammar
6979
6980 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6981
6982         * docs/manual/pads.xml:
6983         * docs/manual/pads-api.xml: grammar fix
6984
6985 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6986
6987         * docs/manual/pads-api.xml: typo + grammar fix
6988
6989 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6990
6991         * docs/gst/gstreamer-sections.txt:
6992           add new symbols
6993         * docs/gst/tmpl/gstelement.sgml:
6994         * docs/gst/tmpl/gstpad.sgml:
6995         * docs/gst/tmpl/gsttypes.sgml:
6996         * docs/gst/tmpl/gstvalue.sgml:
6997           update docs
6998         * gst/gststructure.c: (gst_structure_set_valist),
6999         (gst_structure_from_abbr), (gst_structure_to_abbr):
7000         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7001         (gst_greatest_common_divisor), (gst_value_init_fraction),
7002         (gst_value_copy_fraction), (gst_value_collect_fraction),
7003         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7004         (gst_value_get_fraction_numerator),
7005         (gst_value_get_fraction_denominator),
7006         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7007         (gst_value_deserialize_fraction),
7008         (gst_value_transform_fraction_string),
7009         (gst_value_transform_string_fraction),
7010         (gst_value_compare_fraction), (_gst_value_initialize):
7011         * gst/gstvalue.h:
7012           adding GstFraction GValue type, get/set, and multiply
7013         * testsuite/caps/Makefile.am:
7014         * testsuite/caps/fraction.c: (test), (main):
7015         * testsuite/caps/string-conversions.c: (main):
7016         * testsuite/caps/value_compare.c: (test1), (main):
7017           add regression tests for GstFraction
7018
7019 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7020         
7021         * docs/manual/init-api.xml: Grammar fix
7022
7023 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7024
7025         * docs/manual/states.xml: Fix inconsistent information
7026
7027 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7028
7029         * gst/gstelement.c: (gst_element_set_state):
7030         * gst/gstpad.c: (gst_pad_try_set_caps):
7031         * gst/gststructure.c:
7032         * gst/gstthread.c: (gst_thread_child_state_change):
7033         * gst/gstvalue.c: (gst_value_compare_double):
7034         * gst/gstvalue.h:
7035         * testsuite/parse/parse1.c: (main):
7036           debugging additions and style cleanups
7037
7038 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7039
7040         * docs/manual/states.xml: Grammar fix
7041
7042 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7043
7044         * docs/manual/pads.xml: Grammar fix
7045
7046 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7047
7048         * docs/manual/elements.xml: Fixed image reference
7049
7050 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7051
7052         * docs/manual/goals.xml: Grammar fix
7053
7054 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7055
7056         * docs/manual/motivation.xml:
7057         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7058
7059 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7060
7061         * docs/manual/motivation.xml: Fix spelling
7062
7063 2004-07-15  Benjamin Otte  <otte@gnome.org>
7064
7065         * gst/gstelement.h: 
7066           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7067           strings.
7068         * gst/gstelement.c (gst_element_class_init):
7069           GError's are boxed, not objects
7070         * gst/gstmarshal.list:
7071           update list for the fixed error signal
7072
7073 2004-07-14  Andy Wingo  <wingo@pobox.com>
7074
7075         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7076         there all along, but the function wasn't. (guile-gstreamer's build
7077         system uses the address of the function -- I wasn't actually
7078         trying to use this.)
7079
7080 2004-07-14  Andy Wingo  <wingo@pobox.com>
7081
7082         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7083         as gst_pad_proxy_pad_link) just link to every other pad when they
7084         are called. In the case where the graph has cycles, this will mean
7085         that a call to try_set_caps will recurse. Allow this recursion
7086         and return OK, while we wait for the first try_set_caps to give a
7087         proper return value.
7088         (gst_pad_link_call_link_functions): Since this function is the
7089         only one to set the NEGOTIATING flag on a pad, if the flag is set
7090         it means that the link functions have indirectly recursed. If this
7091         happens, error out to avoid infinite recursion and an eventual
7092         SEGV.
7093         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7094         (gst_pad_proxy_getcaps): Intersect the result with the template
7095         caps to ensure that the return value is valid.
7096
7097 2004-07-14  Andy Wingo  <wingo@pobox.com>
7098
7099         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7100         one refcount, the calling function is the owner of the buffer.
7101
7102 2004-07-14  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7105         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7106         Fix stupid warning when an element is to be migrated but
7107         is already migrated.
7108
7109 2004-07-14  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7112         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7113         Make sure that a single non-loop-based element does not 
7114         end up in a group. This fixes the testsuite again.
7115
7116 2004-07-14  Wim Taymans  <wim@fluendo.com>
7117
7118         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7119         (add_to_group), (merge_groups), (schedule_group),
7120         (gst_opt_scheduler_get_wrapper), (group_elements),
7121         (group_dec_link), (gst_opt_scheduler_pad_link),
7122         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7123         (gst_opt_scheduler_iterate):
7124         move isolated groups to a new chain.
7125         Emit a warning instead of segfaulting in some error cases.
7126         Fix a bug where the link count between groups was not calculated 
7127         correctly. Fixes #144510.
7128
7129 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7130         * gst/elements/gstfilesrc.c:
7131           Binary files support under Windows now OK
7132       
7133 2004-07-13  Benjamin Otte  <otte@gnome.org>
7134
7135           compatibility fixes for Solaris 8/gcc 2.95
7136         * configure.ac:
7137           include libintl libs in LDFLAGS
7138         * gstvalue.c (gst_value_deserialize_buffer):
7139           cast isxdigit stuff to int to silence compiler warning
7140
7141 2004-07-12  Benjamin Otte  <otte@gnome.org>
7142
7143         * gst/gsttypes.h:
7144           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7145           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7146           just causes support madness
7147         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7148           make it work without this
7149         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7150         (gst_file_index_commit):
7151           glib IO channels don't want binary mode
7152         * testsuite/bytestream/filepadsink.c: (main):
7153         * testsuite/bytestream/test1.c: (read_param_file):
7154           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7155
7156 2004-07-12  Benjamin Otte  <otte@gnome.org>
7157
7158         * gst/gstelement.c: (gst_element_class_init),
7159         (gst_element_set_state), (gst_element_set_state_func):
7160           virutalize gst_element_set_state, use set_state member in class
7161           struct that was already added in 0.7 for this.
7162         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7163         (gst_bin_change_state):
7164           make gst_bin_foreach works similar to other foreach functions, plug
7165           memleaks in it. Make functions using it work with the new approach.
7166           Document gst_bin_foreach, so it can be exported if we want to
7167         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7168           use virtualized set_state to make set_state on bins set the state of
7169           all its children.
7170
7171 2004-07-12  Benjamin Otte  <otte@gnome.org>
7172
7173         * configure.ac:
7174           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7175           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7176         * gst/gstpad.c: (gst_pad_alloc_buffer):
7177           allow buffer_alloc functions to return NULL and allocate a normal
7178           buffer in that case
7179
7180 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7181         * gst/elements/gstfilesink.c:
7182         * gst/elements/gstfilesrc.c:
7183         * gst/indexers/gstfileindex.c:
7184         * gst/gsttypes.h:
7185         * testsuite/bytestream/filepadsink.c:
7186         * testsuite/bytestream/test1.c:
7187           Handle binary files under Windows
7188
7189 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7190         * docs/manual/win32.xml:
7191         * win32/config.h:
7192         * win32/gst-register.vcproj:
7193         * win32/gstreamer.def:
7194           Update to another gettext public build
7195
7196 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7197         * gst/gstplugin.c:
7198           Fix an impossible C syntax
7199         * win32/config.h:
7200           Disable i18n under Windows for the moment
7201         * win32/gst-register.vcproj:
7202           Use this configuration
7203
7204 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7205         * docs/manual/quotes.xml:
7206           Keep the quotes file alive
7207         * docs/random/ds/0.9-suggested-changes:
7208           Add the suggestion of including a 'rowstride' as part of video
7209           format caps
7210
7211 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7212
7213         * gst/gstelement.c: (gst_element_set_state),
7214         (gst_element_change_state):
7215           d'oh.  Set PENDING state correctly before forcing bin to change.
7216         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7217         (gst_structure_parse_fixed_list):
7218         * gst/schedulers/gstoptimalscheduler.c:
7219         (gst_opt_scheduler_state_transition):
7220         * testsuite/states/parent.c: (main):
7221           remove comment now that it's fixed.
7222
7223 2004-07-11  Benjamin Otte  <otte@gnome.org>
7224
7225         * gst/gstclock.h:
7226           GST_SECOND shouldn't cause a conversion to unsigned.
7227         * testsuite/clock/.cvsignore:
7228         * testsuite/clock/Makefile.am:
7229         * testsuite/clock/signedness.c: (main):
7230           make sure it never will again
7231
7232 2004-07-11  Andy Wingo  <wingo@pobox.com>
7233
7234         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7235         whose state is higher than the bin state, raise the bin state to
7236         ensure that bin state := highest child state.
7237         
7238 2004-07-11  Andy Wingo  <wingo@pobox.com>
7239
7240         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7241         procedure on the children of a bin. Assumes that the procedure can
7242         change the set of children.
7243         (set_kid_state_func): New static function.
7244         (gst_bin_change_state): Use gst_bin_foreach to call
7245         set_kid_state_func. Fixes a bug: if a child had a state-change
7246         handler that removes it from the bin, there would be a segfault.
7247         Hopefully it should also work in the case where the state-change
7248         handler on one child adds or removes other children. In any case,
7249         fixes should go to gst_bin_foreach.
7250
7251 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7252
7253         * gst/gstelement.c: (gst_element_set_state):
7254           compatibility fix for latest plugins release.  Change loop back
7255           to while {}
7256
7257 2004-07-09  Wim Taymans  <wim@fluendo.com>
7258
7259         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7260         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7261         (gst_thread_main_loop):
7262         Since remove is virtual in GstBin we must not assume the 
7263         elements GList to have anothing useful.
7264         Add some more logging to GstThread and be a bit more paranoid
7265         when resetting the scheduler.
7266         Set the state of the bin to NULL before removing the children.
7267
7268 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7269
7270         * testsuite/threads/Makefile.am:
7271         * testsuite/threads/threadg.c:
7272           added test to check if problem when removing all elements from a
7273           GstThread before setting GstThread state to NULL
7274
7275 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7276
7277         * docs/gst/tmpl/gstelement.sgml:
7278         * docs/gst/tmpl/gsttypes.sgml:
7279         * gst/gstbin.c: (gst_bin_change_state):
7280         * gst/gstelement.c: (gst_element_set_state),
7281         (gst_element_change_state):
7282           rework so that for bins we try to set the state on all children
7283           as well even if the bin is in the correct state already.
7284           change while to do so at least one iteration is done.
7285           For regular elements, we fall back to the previous behaviour for
7286           now since we first need a new plugins release.
7287         * testsuite/states/parent.c: (main):
7288           test for this case
7289           Fixes #123774
7290
7291 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7292
7293         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7294         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7295         (gst_queue_release_locks), (gst_queue_change_state),
7296         (gst_queue_set_property):
7297           add proper lock debugging.  Change dispose to finalize, since
7298           we're freeing mutexes and other stuff which should happen only once.
7299
7300 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7301
7302         * docs/gst/tmpl/gstelement.sgml:
7303         * docs/gst/tmpl/gstplugin.sgml:
7304         * docs/gst/tmpl/gsttypes.sgml:
7305         * docs/pwg/building-state.xml:
7306         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7307         * gst/gstelement.c: (gst_element_change_state):
7308         * gst/gstthread.c: (gst_thread_change_state):
7309           catch wrong state changes in element base class.
7310
7311 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7312
7313         * gst/gstinfo.h:
7314           clean up layout a little.
7315
7316 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7317
7318         * configure.ac:
7319         * testsuite/Makefile.am:
7320         * testsuite/states/Makefile.am:
7321         * testsuite/states/parent.c: (main):
7322           re-enable states testsuite dir.  Add test for state changes and
7323           parent behaviour
7324
7325 2004-07-09  Wim Taymans  <wim@fluendo.com>
7326
7327         * gst/schedulers/gstoptimalscheduler.c:
7328         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7329         (element_get_reachables_func), (element_get_reachables),
7330         (debug_element), (rechain_group), (group_migrate_connected),
7331         (gst_opt_scheduler_pad_unlink):
7332         Do not try to migrate decoupled elements to a new group since
7333         they are not added to groups.
7334
7335 2004-07-08  Benjamin Otte  <otte@gnome.org>
7336
7337         * gst/gstelement.c: (gst_element_error_func):
7338           make reentrant (= allow removing elements in error handler)
7339
7340 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7341
7342         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7343         (gst_pad_send_event), (gst_pad_call_chain_function):
7344           events sent to elements below PAUSED cannot be handled, so
7345           don't try to
7346
7347 2004-07-08  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/schedulers/gstoptimalscheduler.c:
7350         (chain_recursively_migrate_group), (create_group),
7351         (schedule_group), (gst_opt_scheduler_pad_link),
7352         (group_elements_set_visited), (element_get_reachables_func),
7353         (element_get_reachables), (group_can_reach_group), (debug_element),
7354         (rechain_group), (group_migrate_connected),
7355         (gst_opt_scheduler_pad_unlink):
7356         * testsuite/schedulers/Makefile.am:
7357         Implemented group splitting and rechaining.
7358         Fixes 143777 and 143777-2 in the testsuite.
7359
7360 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7361
7362         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7363           extra debugging
7364         * gst/gstevent.h:
7365         * gst/gstinfo.c: (gst_debug_log_default):
7366           print time nicely.  add thread pointer until someone figures out
7367           a completely portable way of getting at thread id's.
7368         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7369         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7370         (gst_pad_call_chain_function):
7371           extra debugging
7372         * gst/schedulers/gstoptimalscheduler.c:
7373         (get_group_schedule_function), (loop_group_schedule_function),
7374         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7375         (pad_clear_queued), (gst_opt_scheduler_iterate):
7376           rename BUFPEN and friends to DATAPEN since that's what they are.
7377
7378 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7379
7380         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7381         * gst/gstbuffer.h:
7382         * gst/gstpad.c:
7383           cleanups and debugging
7384
7385 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7386
7387         * configure.ac:
7388         * gst/gstvalue.c: (gst_value_compare_enum),
7389         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7390         (gst_value_can_compare), (gst_value_compare):
7391         * testsuite/Makefile.am:
7392         * testsuite/enumcaps/Makefile.am:
7393         * testsuite/enumcaps/enumcaps.c:
7394           Fix enum serialization, deserialization, comparison in caps, add
7395           a test to ensure that this continues working in the future.
7396
7397 2004-07-06  David Schleef  <ds@schleef.org>
7398
7399         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7400         Fix memleak.
7401
7402 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7403
7404         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7405         * gst/gstplugin.h:
7406         * gst/registries/gstxmlregistry.c:
7407         (plugin_times_older_than_recurse), (plugin_times_older_than),
7408         (gst_xml_registry_parse_padtemplate):
7409           only rebuild registry when actual plugins have a newer time than
7410           the registry.  Fixes #145520
7411
7412 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7413
7414         * docs/manual/manual.xml:
7415         * docs/manual/win32.xml:
7416           add chapter on win32 building.  fixes #142422
7417
7418 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7419
7420         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7421
7422         * gst/autoplug/gstspider.c: (gst_spider_init),
7423         (gst_spider_dispose):
7424           fix spider memleaks.  fixes #137863
7425
7426 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7429
7430         * gst/schedulers/gstoptimalscheduler.c:
7431         (gst_opt_scheduler_pad_unlink):
7432           fix SIGBUS error, fixes #145338
7433
7434 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * gst/gstobject.c: (gst_object_replace):
7437         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7438         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7439           clean up clock lifecycle.  Fixes #109831
7440
7441 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7442
7443         * po/LINGUAS:
7444         * po/cs.po:
7445           added Czech translation (Miloslav Trmac)
7446
7447 2004-07-04  David Schleef  <ds@schleef.org>
7448
7449         * tools/Makefile.am:
7450         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7451
7452 2004-07-04  David Schleef  <ds@schleef.org>
7453
7454         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7455
7456 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7457
7458         * gst/gstbin.c: (gst_bin_restore_thyself):
7459           chain to parent restore so the bins get restored correctly
7460           in the editor
7461
7462 2004-07-03  David Schleef  <ds@schleef.org>
7463
7464         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7465         Actually do something in these functions, like before the big
7466         caps change.  (bug #145137)
7467
7468 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7469
7470         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7471         (gst_element_get_compatible_pad_filtered):
7472         * gst/gstthread.c: (gst_thread_main_loop):
7473           more debugging
7474
7475 2004-07-02  David Schleef  <ds@schleef.org>
7476
7477         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7478         * gst/gstobject.h:
7479         * gst/gstparse.h:
7480         * gst/gsttrace.h:
7481         * gst/gstxml.h:
7482
7483 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7484
7485         * gst/gstpad.c: (gst_pad_check_schedulers),
7486         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7487         (gst_pad_link_prepare):
7488           revert until testsuite is fixed
7489
7490 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7491
7492         * testsuite/Makefile.am:
7493         * testsuite/caps/filtercaps.c: (main):
7494         * testsuite/clock/clock1.c: (main):
7495         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7496           fix some more tests
7497
7498 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7501         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7502         * testsuite/cleanup/cleanup4.c: (main):
7503           fix testsuite
7504
7505 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7506
7507         * libs/gst/control/control.c:
7508         * libs/gst/control/dparam.c:
7509         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7510         * libs/gst/control/dparammanager.c:
7511         * libs/gst/control/dparammanager.h:
7512         * testsuite/dynparams/Makefile.am:
7513         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7514         (gst_dptest_change_state), (gst_dptest_chain), (main):
7515           fix testcase for dparams
7516           add debugging category
7517
7518 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7519
7520         * testsuite/Rules:
7521           change path
7522
7523 2004-07-02  Benjamin Otte  <otte@gnome.org>
7524
7525         * tests/.cvsignore:
7526         * tests/Makefile.am:
7527         * tests/mass_elements.c: (gst_get_current_time), (main):
7528           add simple benchmark to test various speeds of fakesrc ! identity !
7529           identity ! ... ! fakesink.
7530           Usage: mass_elements [num_identities] [num_buffers]
7531           If not specified they default to 1000.
7532
7533 2004-07-02  Benjamin Otte  <otte@gnome.org>
7534
7535         * gst/gstpad.c: (gst_pad_check_schedulers),
7536         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7537         (gst_pad_link_prepare):
7538           check that pads that get linked belong to the same manager. The old
7539           code allowed linking elements before putting them into bins, so it
7540           worked to link them and then put them in different threads, which
7541           lead to weird behaviour.
7542           Since this effectively disallows linking elements before putting
7543           them in a bin, some applications might not work after this and error
7544           out. If these applications are too critical, we might need to revert
7545           that patch. Please test this before the next release...
7546
7547 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7548
7549         * gst/gstpad.c: (gst_pad_get_caps):
7550           throw an error if the getcaps function does not return a subset of
7551           the template caps.
7552         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7553           make disconts without position info an error in debugging
7554         * tests/spidey_bench.c: (handoff), (main):
7555           don't count first try when averaging
7556
7557 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7558
7559         * gst/gstplugin.c: (gst_plugin_load_file):
7560           figure out problem with dynamic test
7561
7562 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7563
7564         * docs/gst/Makefile.am:
7565           fix docs build
7566
7567 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7568
7569         * po/POTFILES.in:
7570         * po/af.po:
7571         * po/az.po:
7572         * po/en_GB.po:
7573         * po/fr.po:
7574         * po/nl.po:
7575         * po/sr.po:
7576         * po/sv.po:
7577         * po/tr.po:
7578         * po/uk.po:
7579         * tools/gst-register.c: (plugin_added_func), (main):
7580           i18n-ize -register, fix plural
7581
7582 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7583
7584         * gst/elements/gstidentity.c: (gst_identity_class_init),
7585         (gst_identity_init), (gst_identity_chain),
7586         (gst_identity_set_property), (gst_identity_get_property):
7587         * gst/elements/gstidentity.h:
7588           check for perfect stream
7589
7590 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7591
7592         * gst/elements/gstidentity.c: (gst_identity_chain):
7593           print offset_end
7594
7595 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * docs/gst/Makefile.am:
7598         * docs/gst/gstreamer-docs.sgml:
7599           doc fixes
7600
7601 2004-06-24  David Schleef  <ds@schleef.org>
7602
7603         * autogen.sh:  Remove call to env, since the buildbot isn't
7604         broken anymore.
7605
7606 2004-06-24  Wim Taymans  <wim@fluendo.com>
7607
7608         * gst/elements/Makefile.am:
7609         * gst/elements/gstelements.c:
7610         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7611         (gst_multifdsink_class_init), (gst_multifdsink_init),
7612         (gst_multifdsink_add), (gst_multifdsink_remove),
7613         (gst_multifdsink_clear), (gst_multifdsink_chain),
7614         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7615         * gst/elements/gstmultifdsink.h:
7616         Added an element that writes to multiple filedescriptors at once.
7617
7618 2004-06-24  Benjamin Otte  <otte@gnome.org>
7619
7620         * gst/parse/grammar.y:
7621           don't try to link elements before they have been added to bins
7622
7623 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7624
7625         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7626         (gst_file_pad_get_length):
7627         * libs/gst/bytestream/filepad.h:
7628           add 2 new functions
7629
7630 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7631
7632         * docs/gst/gstreamer-sections.txt:
7633         remove from docs, the define that Benjamin removed from gstelement.h
7634
7635 2004-06-22  Benjamin Otte  <otte@gnome.org>
7636
7637         * gst/gstelement.h:
7638           remove define that referenced a nonexisting GstElement struct member
7639
7640 2004-06-20  Benjamin Otte  <otte@gnome.org>
7641
7642         * gst/gstdata.c: (gst_data_is_writable):
7643           whoops, return values were wrong, so writable data was marked as
7644           non-writable and vice versa. (fixes #143953, spotted by Francis
7645           Labonte)
7646           Shows how rarely we need to copy data ;)
7647
7648 2004-06-20  Benjamin Otte  <otte@gnome.org>
7649
7650         * testsuite/schedulers/.cvsignore:
7651         * testsuite/schedulers/Makefile.am:
7652         * testsuite/schedulers/143777-2.c: (main):
7653           add test for opt breakage in bug #143777
7654
7655 2004-06-20  Benjamin Otte  <otte@gnome.org>
7656
7657         * gst/gstpad.c: (gst_pad_call_chain_function):
7658           check for if we were unlinked while inside the chainfunction (fixes
7659           entrygthread having issues with #143777)
7660         * testsuite/schedulers/143777.c: (main):
7661         * testsuite/schedulers/Makefile.am:
7662           add a test for that fix
7663
7664 2004-06-20  Benjamin Otte  <otte@gnome.org>
7665
7666         * gst/gstvalue.c: (gst_value_set_int_range):
7667           test that start is smaller then end
7668         * libs/gst/bytestream/Makefile.am:
7669         * libs/gst/bytestream/filepad.c: 
7670         * libs/gst/bytestream/filepad.h:
7671           add GstFilePad - a pad that behaves like a FILE*
7672         * testsuite/bytestream/.cvsignore:
7673         * testsuite/bytestream/Makefile.am:
7674         * testsuite/bytestream/filepadsink.c: 
7675           test for the GstFilePad
7676
7677 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7678
7679         * gst/elements/gstidentity.c: (gst_identity_class_init),
7680         (gst_identity_init), (gst_identity_set_clock),
7681         (gst_identity_chain), (gst_identity_set_property),
7682         (gst_identity_get_property):
7683         * gst/elements/gstidentity.h:
7684         * gst/gstclock.c: (gst_clock_id_wait):
7685           add a "sync" property to sync to the clock
7686
7687 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7688
7689         * gst/gstelementfactory.c: (gst_element_factory_create):
7690           make the freakin "elementfactory bla has no type" message more
7691           useful. So we actually can do something when someone shows up
7692           complaining about it.
7693
7694 2004-06-15  Johan Dahlin  <johan@gnome.org>
7695
7696         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7697         found. This matches the old behavior better. Thanks to Thomas for
7698         pointing out.
7699
7700 2004-06-14  David Schleef  <ds@schleef.org>
7701
7702         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7703         -fomit-frame-pointer.  Appears to generate correct code in
7704         other cases as well.
7705
7706 2004-06-14  Johan Dahlin  <johan@gnome.org>
7707
7708         * tools/gst-inspect.c (main): Add two new command line options: -a
7709         to print all elements and -n to print the name on each line. Also
7710         fix some error reporting.
7711         (main): Simplify, remove -n and always print names if -a is specified
7712
7713 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7714
7715         * win32/gstconfig.h:
7716         * win32/GSTreamer.vcproj:
7717         * win32/Makefile:
7718         * gst/gstconfig.h.in:
7719         * gst/gst.h:
7720         * gst/gstbin.h:
7721         * gst/gstelement.h:
7722         * gst/gstevent.h:
7723         * gst/gstobject.h:
7724         * gst/gstpad.h:
7725         * docs/gst/gstreamer-sections.txt:
7726         * docs/gst/tmpl/gstconfig.sgml:
7727           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7728
7729 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7730         * docs/gst/gstreamer-sections.txt:
7731         * docs/gst/tmpl/gstconfig.sgml:
7732         Add the GSTREAMER_EXPORT macro to the docs
7733
7734 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7735
7736         * tools/gst-compprep.c: (handle_xmlerror), (main):
7737         Add a check for the version that introduced SetStructuredError to fix
7738         the build on FC1
7739
7740 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7741
7742         * win32/msvc71.sln:
7743         * win32/testsuite/:
7744           prepare to compile the testsuite with MSVC
7745
7746 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7747
7748         * docs/manual/win32.xml:
7749           attempt to transform the Win32 README into an XML doc
7750
7751 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7752
7753         * gst/gst.c:
7754         * gst/gstbin.*:
7755         * gst/config.h.in:
7756         * gst/gstelement.*:
7757         * gst/gstevent.h:
7758         * gst/gstobject.*:
7759         * gst/gstpad.h:
7760         * tools/gst-register.c:
7761         * win32/gstreamer.def:
7762           extern symbols are now exported for the Windows DLL
7763
7764 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7765
7766         * gst/gstinfo.h:
7767           fix a problem to enable/disable DEBUG under MSVC
7768
7769 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7770
7771         * win32/:
7772           enable more debug code in DEBUG build
7773
7774 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7775
7776         * win32/config.h:
7777         * gst/gst-i18n-app.h:
7778           enable NLS under Windows
7779
7780 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7781         * tools/gst-compprep.c: (handle_xmlerror), (main):
7782           Make an error that baffled me a bit clearer
7783
7784 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7785
7786         * gst/gstqueue.c:
7787           don't use g_queue_get_length () because it's 2.4, use ->length
7788
7789 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7790
7791         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7792
7793         * tools/gst-inspect.c: (print_signal_info):
7794           don't free random data twice. (fixes #144185)
7795
7796 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         * gst/gstqueue.c:
7799         * gst/gstqueue.h:
7800           fix removing from the wrong queue on event timeout
7801           fix disposing of the event queue by casting correctly
7802           add mutexes for handling the event queue
7803           someone was sleeping when fixing queue last time around :)
7804
7805 2004-06-10  Johan Dahlin  <johan@gnome.org>
7806
7807         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7808         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7809
7810 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7811
7812         * docs/random/gdp:
7813         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7814         * libs/gst/dataprotocol/dataprotocol.c:
7815         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7816         (gst_dp_buffer_from_header):
7817         * libs/gst/dataprotocol/dataprotocol.h:
7818         * libs/gst/dataprotocol/dp-private.h:
7819           rev version to 0.1, add buffer flags and copy them
7820
7821 2004-06-09  Johan Dahlin  <johan@gnome.org>
7822
7823         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7824         the flags from the buffer we're copying.
7825
7826 2004-06-09  Wim Taymans  <wim@fluendo.com>
7827
7828         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7829         * gst/elements/gstidentity.c: (gst_identity_init),
7830         (gst_identity_chain):
7831         Print more buffer info in fakesink.
7832         Make identity output similar to fakesink.
7833
7834 2004-06-07  Daniel Gazard  <dany42@free.fr>
7835
7836         reviewed by Benjamin Otte  <otte@gnome.org>
7837
7838         * configure.ac:
7839           fix cross compiling not working. (fixes #143741)
7840
7841 2004-06-07  Benjamin Otte  <otte@gnome.org>
7842
7843         * gst/gstelement.c: (gst_element_set_time_delay):
7844           add failure check
7845         * gst/gstinfo.h:
7846           put brackets around macro arguments of GST_TIME_ARGS, add note to
7847           move it to correct header in 0.9
7848
7849 2004-06-07  Benjamin Otte  <otte@gnome.org>
7850
7851         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7852         (gst_file_index_load), (_file_index_id_save_entries),
7853         (gst_file_index_commit), (gst_file_index_add_association),
7854         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7855         (gst_file_index_plugin_init):
7856           make debugging use a default category
7857
7858 2004-06-06  David Moore  <dcm@acm.org>
7859
7860         reviewed by Benjamin Otte  <otte@gnome.org>
7861
7862         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7863         (gst_fdsrc_change_state):
7864           reset offset counter when going READY => PAUSED. (fixes #142903)
7865
7866 2004-06-06  ed@catmur.co.uk
7867
7868         reviewed by Benjamin Otte  <otte@gnome.org>
7869
7870         * gst/registries/gstxmlregistry.c:
7871         (gst_xml_registry_rebuild_recurse):
7872           don't rely on g_dir_open to figure out if a file is a directory, use
7873           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7874           directories. (fixes #142850)
7875
7876 2004-06-06  Benjamin Otte  <otte@gnome.org>
7877
7878         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7879           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7880         * libs/gst/bytestream/adapter.c:
7881         * libs/gst/bytestream/adapter.h:
7882           fix copyright in header and typo in debugging category name
7883
7884 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7885
7886         * configure.ac:
7887           bump nano to cvs
7888
7889 === release 0.8.3 ===
7890
7891 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7892
7893         * configure.ac:
7894           update libtool versioning
7895           do a new release
7896         * docs/gst/tmpl/gstelement.sgml:
7897         * docs/gst/tmpl/gsttypes.sgml:
7898         * gst/gstinfo.c: (_gst_debug_init):
7899           put back GST_CAT_DATAFLOW to fix API breakage
7900
7901 2004-06-04  David Schleef  <ds@schleef.org>
7902
7903         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7904
7905 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7906
7907         * configure.ac:
7908           bump nano to cvs
7909
7910 === release 0.8.2 ===
7911
7912 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7915           check GST_DEBUG environment variable which is parsed the same way
7916           as --gst-debug=
7917
7918 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7919
7920         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7921                             gstmd5sink.c gstshaper.c gsttee.c
7922                             gsttypefindelement.c
7923         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7924
7925           - removing trailing commas at end of enums
7926             it is correct C99 code but C90 compilers would complain
7927             (AIX, Forte, ...)
7928             ('should' fix #143290, at least partially)
7929
7930 2004-05-27  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7933         (chain_group_set_enabled), (create_group), (add_to_group),
7934         (merge_groups), (setup_group_scheduler), (group_elements),
7935         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7936         Don't try to follow the pad connections with other groups
7937         when a loop based element is added to the scheduler because
7938         the bin will inform the scheduler about the pad links a little
7939         later.
7940
7941 2004-05-27  Wim Taymans  <wim@fluendo.com>
7942
7943         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7944         (remove_from_chain), (chain_group_set_enabled),
7945         (setup_group_scheduler), (group_element_set_enabled),
7946         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7947         (gst_opt_scheduler_show):
7948         Elements without a group can do a state change as well, just wait
7949         with the setup of the scheduling function when it is added to a
7950         chain.
7951
7952 2004-05-27  Wim Taymans  <wim@fluendo.com>
7953
7954         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7955         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7956         (merge_groups), (setup_group_scheduler),
7957         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7958         (gst_opt_scheduler_show):
7959         Fixes to maintain internal consistency of the scheduler data
7960         structures. 
7961          - adding an enabled group to a chain should increment the
7962            number of enabled elements in that chain.
7963          - removing an enabled group from a chain could disable the
7964            chain.
7965          - removing a disabled group from a chain could enable the
7966            chain.
7967          - add g_assert when internal inconsistency is detected.
7968          - adding an element to a group could increase the number of
7969            links this group has with other groups.
7970          - merging two groups also merges the chains.
7971          - also show group links in the _show method.
7972            
7973
7974 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7975
7976         * gst/gstcaps.c: (gst_caps_structure_simplify):
7977           don't print error messages when there is no error
7978         * gst/gstvalue.c: (gst_value_compare_int_range):
7979           compare the second value, too
7980         * testsuite/caps/Makefile.am:
7981         * testsuite/caps/random.c: (assert_on_error), (main):
7982           add tests to make sure the two things above are checked for
7983
7984 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         * configure.ac:
7987         * libs/gst/dataprotocol/Makefile.am:
7988         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7989         * libs/gst/dataprotocol/dataprotocol.h:
7990           wrap header in GST_ENABLE_NEW.  make code use it
7991
7992 2004-05-23  Johan Dahlin  <johan@gnome.org>
7993
7994         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7995         so verbose and print GstElement signal names all the time.
7996
7997 2004-05-22  David Schleef  <ds@schleef.org>
7998
7999         * gst/registries/gstxmlregistry.c:
8000         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8001         (bug #142957)
8002
8003 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8004
8005         * configure.ac:
8006           scrub cflags for glib2 so gcc doesn't complain when glib is in
8007           /usr/local
8008
8009 2004-05-21  Johan Dahlin  <johan@gnome.org>
8010
8011         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8012         __GNUC__, patch from Brian Cameron, fixes bug #142804
8013
8014 2004-05-20  David Schleef  <ds@schleef.org>
8015
8016         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8017         comparison code.  (bug #142819)
8018
8019 2004-05-20  Wim Taymans  <wim@fluendo.com>
8020
8021         * gst/gstbuffer.c: (gst_buffer_default_copy):
8022         * gst/gstbuffer.h:
8023         Added Comment to a flag.
8024         copy relevant flags in _buffer_copy.
8025
8026 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8027
8028         reviewed by: Wim Taymans <wim at fluendo dot com>
8029
8030         * gst/gstbuffer.h:
8031           add GST_BUFFER_IN_CAPS buffer flag
8032         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8033         (gst_structure_parse_any_list), (gst_structure_parse_list),
8034         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8035         * gst/gstvalue.c: (gst_value_serialize_any_list),
8036         (gst_value_transform_any_list_string),
8037         (gst_value_list_prepend_value), (gst_value_list_append_value),
8038         (gst_value_list_get_size), (gst_value_list_get_value),
8039         (gst_value_transform_list_string),
8040         (gst_value_transform_fixed_list_string),
8041         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8042         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8043         (_gst_value_initialize):
8044         * gst/gstvalue.h:
8045           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8046           < , > as a format.
8047         * testsuite/caps/string-conversions.c: (main):
8048           add regression tests for < >
8049
8050 2004-05-20  Johan Dahlin  <johan@gnome.org>
8051
8052         * docs/gst/Makefile.am (all-local): Re-add
8053
8054 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8055
8056         * docs/gst/Makefile.am:
8057         * docs/gst/gstreamer-docs.sgml:
8058         * docs/libs/Makefile.am:
8059         * docs/libs/gstreamer-libs-docs.sgml:
8060           fix distcheck issues
8061
8062 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8063
8064         * libs/gst/dataprotocol/Makefile.am:
8065           add to autotest
8066
8067 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8068
8069         * libs/gst/dataprotocol/Makefile.am:
8070         * libs/gst/dataprotocol/dataprotocol.c:
8071         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8072         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8073         * libs/gst/dataprotocol/dp-private.h:
8074           use GST macros to read/write fixed length ints
8075           add some more asserts
8076
8077 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8078
8079         * docs/libs/gstreamer-libs-docs.sgml:
8080         * docs/libs/gstreamer-libs-sections.txt:
8081           remove idct and putbits
8082         * configure.ac:
8083         * docs/libs/tmpl/gstdataprotocol.sgml:
8084         * libs/gst/Makefile.am:
8085         * libs/gst/dataprotocol/Makefile.am:
8086         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8087         (buffer_test), (caps_test), (event_test), (main):
8088         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8089         (gst_dp_dump_byte_array), (gst_dp_init),
8090         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8091         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8092         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8093         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8094         (gst_dp_validate_header), (gst_dp_validate_payload),
8095         (gst_dp_validate_packet), (plugin_init):
8096         * libs/gst/dataprotocol/dataprotocol.h:
8097         * libs/gst/dataprotocol/dp-private.h:
8098           add dataprotocol
8099
8100 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8101
8102         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8103           fix int variable deserialization and add a helper so we can actually
8104           debug this.
8105
8106 2004-05-18  David Schleef  <ds@schleef.org>
8107
8108         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8109           argv[0].  Calling yourself is probably not the best way to
8110           construct a test like this, btw.
8111
8112 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8113
8114         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8115           don't claim to be more intelligent than a scheduler when the
8116           scheduler claims the pipeline is stopped
8117         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8118         (safe_cothread_destroy),
8119         (gst_entry_scheduler_remove_all_cothreads),
8120         (gst_entry_scheduler_reset), (_remove_cothread),
8121         (gst_entry_scheduler_state_transition):
8122           hold off cothread destruction if we're not in main cothread
8123         * configure.ac:
8124         * testsuite/Makefile.am:
8125           add new test dir
8126         * testsuite/schedulers/.cvsignore:
8127         * testsuite/schedulers/Makefile.am:
8128           add tests
8129         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8130           check relinking and adding/removing elements from a running pipeline
8131         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8132           check unlinking in a running pipeline
8133         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8134           check unreffing a running pipeline
8135         * testsuite/schedulers/useless_iteration.c: (main):
8136           check iterating a pipeline that contains running threads works
8137
8138 2004-05-18  David Schleef  <ds@schleef.org>
8139
8140         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8141           is false.
8142
8143 2004-05-18  Wim Taymans  <wim@fluendo.com>
8144
8145         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8146         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8147         Fixed an error introduced with patch for 1.63. When setting
8148         a get based element as the entry point in a group, make sure
8149         to mark the group as GET based.
8150
8151 2004-05-18  Wim Taymans  <wim@fluendo.com>
8152
8153         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8154         (setup_group_scheduler), (loop_group_schedule_function),
8155         (gst_opt_scheduler_pad_link):
8156         Added some more debug info and fixed a bug where the group
8157         type was set to LOOP but it was in fact unknown.
8158
8159 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8160
8161         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8162           make resetting scheduler work twice in a row
8163
8164 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8165
8166         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8167         (CREATE_USERIALIZATION), (_gst_value_initialize),
8168         (gst_value_compare_float), (gst_value_serialize_float),
8169         (gst_value_deserialize_float), (gst_value_compare_enum),
8170         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8171           add serialization and comparison functions for long, int64, enum and
8172           float values
8173         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8174           use best serialization function in type hierarchy instead of only a
8175           matching one. This is required for enums to work.
8176         * gst/parse/grammar.y:
8177           use gst_caps_deserialize
8178         * testsuite/parse/Makefile.am:
8179           parse1 now works
8180         * testsuite/parse/parse1.c: (main):
8181           remove aggregator check, aggregator is broken, this test works now
8182           but fails because of bug #138012
8183         * testsuite/parse/parse2.c: (main):
8184           s/xvideosink/xvimagesink - this test looks a lot like we should
8185           disable it
8186
8187 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8188
8189         * gst/gstelement.c: (gst_element_class_init):
8190           whoops, store the signal id correctly
8191         * gst/schedulers/gstbasicscheduler.c:
8192         (gst_basic_scheduler_chain_wrapper):
8193           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8194           chain function isn't linked
8195
8196 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8197         * configure.ac:
8198         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8199         support until we decide where the flags should be used
8200         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8201         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8202         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8203         Output refused caps in the debug info
8204
8205 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8206
8207         * gst/elements/gstidentity.c: (gst_identity_chain):
8208           add duration debug
8209         * gst/gstinfo.c: (gst_debug_log_default):
8210           add timestamp
8211
8212 2004-05-13  Benjamin Otte  <otte@gnome.org>
8213
8214         * gst/gstpipeline.c: (gst_pipeline_dispose),
8215         (gst_pipeline_change_state):
8216           call gst_scheduler_reset on dispose (fixes #141416)
8217
8218 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8219
8220         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8221           compute mapsize correctly
8222         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8223           use correct datatypes when calling a varargs function
8224         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8225           push a DISCONT event as first thing
8226         * gst/gst_private.h:
8227         * gst/gstinfo.c: (_gst_debug_init):
8228           remove GST_DATAFLOW debugging category
8229         * gst/gstbin.c: (gst_bin_iterate):
8230           use GST_SCHEDULING category
8231         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8232         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8233         (gst_pad_call_get_function):
8234           add GST_DATAFLOW to easily track flow of buffers or events.
8235         * gst/gstqueue.c: (gst_queue_get_type),
8236         (gst_queue_handle_pending_events), (gst_queue_chain),
8237         (gst_queue_get), (gst_queue_handle_src_event):
8238           use own static debugging category GST_DATAFLOW for dataflow,
8239           use DEBUG category for showing which path events go, use LOG
8240           category for buffers.
8241
8242 2004-05-10  David Schleef  <ds@schleef.org>
8243
8244         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8245
8246 2004-05-10  David Schleef  <ds@schleef.org>
8247
8248         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8249         symbols, because otherwise we don't know what they are.  Thanks,
8250         the GStreamer team.
8251         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8252
8253 2004-05-10  David Schleef  <ds@schleef.org>
8254
8255         (from Steve Lhomme)
8256         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8257         are deleted.  Fix.
8258         * win32/Makefile.inspect:
8259         * win32/Makefile.launch:
8260         * win32/Makefile.register:
8261
8262 2004-05-10  David Schleef  <ds@schleef.org>
8263
8264         * gst/gstinfo.h: Add missing inline function.
8265         * gst/gsttrace.c: add include
8266         * gst/parse/grammar.y: remove unused code
8267         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8268         more portable.
8269         * tools/gst-register.c: wrap unistd.h
8270         
8271         More additions/fixes from Steve for the MSVC build.
8272         * win32/GStreamer.vcproj:
8273         * win32/Makefile:
8274         * win32/Makefile.inspect:
8275         * win32/Makefile.launch:
8276         * win32/Makefile.register:
8277         * win32/README.txt:
8278         * win32/gst-inspect.vcproj:
8279         * win32/gst-launch.vcproj:
8280         * win32/gst-register.vcproj:
8281         * win32/gstbytestream.def:
8282         * win32/gstbytestream.vcproj:
8283         * win32/gstconfig.h:
8284         * win32/gstelements.def:
8285         * win32/gstelements.vcproj:
8286         * win32/gstenumtypes.c:
8287         * win32/gstenumtypes.h:
8288         * win32/gstoptimalscheduler.def:
8289         * win32/gstoptimalscheduler.vcproj:
8290         * win32/gstreamer.def:
8291         * win32/gstspider.def:
8292         * win32/gstspider.vcproj:
8293         * win32/gstversion.h:
8294         * win32/msvc71.sln:
8295
8296 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8297
8298         * gst/gstelement.c: (gst_element_class_init),
8299         (gst_element_no_more_pads):
8300         * gst/gstelement.h:
8301           add gst_element_no_more_pads and the "no-more-pads" signal
8302
8303 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8304
8305         * gst/gstregistry.c: (gst_registry_add_plugin):
8306           refuse to add plugins when a plugin with same name is already
8307           registered. Fixes a bunch of "How to remove plugins?" issues.
8308           May lead to other problems though, let's test
8309
8310 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8311
8312         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8313         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8314         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8315
8316 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8317
8318         * tests/Makefile.am: fix am16 issue
8319
8320 2004-05-09  Benjamin Otte  <otte@gnome.org>
8321
8322         * libs/gst/bytestream/Makefile.am:
8323           we should indeed add .c files to makefiles or they won't be built
8324           (d'oh)
8325
8326 2004-05-08  Benjamin Otte  <otte@gnome.org>
8327
8328         * gst/gstpad.c: (gst_pad_proxy_fixate):
8329           really reduce the set of caps
8330
8331 2004-05-08  Benjamin Otte  <otte@gnome.org>
8332
8333         * tests/Makefile.am:
8334         * tests/spidey_bench.c: (handoff), (main):
8335           add benchmark to test how long spider needs to create a pipeline
8336
8337 2004-05-08  Benjamin Otte  <otte@gnome.org>
8338
8339         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8340           mark links as unengaged when unnegotiating instead of deactivating.
8341           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8342
8343 2004-05-08  Benjamin Otte  <otte@gnome.org>
8344
8345         * docs/manual/helloworld.xml:
8346           s/audiosink/osssink (patch by Patrick Guimond)
8347
8348 2004-05-07  David Schleef  <ds@schleef.org>
8349
8350         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8351         since it contains important stuff.
8352
8353 2004-05-07  David Schleef  <ds@schleef.org>
8354
8355         * testsuite/caps/caps.c: (test3), (main): A check for appending
8356         ANY caps.
8357
8358 2004-05-07  David Schleef  <ds@schleef.org>
8359
8360         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8361         which may contain commas.  Fixes detection of -Wa,-mregnames
8362
8363 2004-05-06  David Schleef  <ds@schleef.org>
8364
8365         Changes to handle compilers that don't have variadic macro
8366         support.  In particular, glib headers define some inlines
8367         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8368         builds.
8369         * gst/Makefile.am:
8370         * gst/cothreads.c:
8371         * gst/elements/gstfdsink.c:
8372         * gst/elements/gstfdsrc.c:
8373         * gst/elements/gstfilesink.c:
8374         * gst/elements/gstfilesrc.c:
8375         * gst/gst_private.h:
8376         * gst/gstatomic.c:
8377         * gst/gstcaps.c: (gst_caps_append):
8378         * gst/gstcpu.c: (gst_cpuid_i386):
8379         * gst/gstelement.c:
8380         * gst/gsterror.c:
8381         * gst/gstfilter.c:
8382         * gst/gstinfo.h:
8383         * gst/gstprobe.c:
8384         * gst/gstquery.c:
8385         * gst/gstregistry.c:
8386         * gst/gststructure.c:
8387         * gst/gsttaginterface.c:
8388         * gst/gsttrace.c: (gst_trace_new):
8389         * gst/gsttrashstack.c:
8390         * gst/gsturi.c:
8391         * gst/gstvalue.c:
8392         * gst/parse/grammar.y:
8393         * gst/parse/parse.l:
8394         * tools/gst-inspect.c: (main):
8395         * tools/gst-launch.c: (main):
8396         * tools/gst-xmlinspect.c: (PUT_STRING):
8397
8398 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8399
8400         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8401         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8402         * gst/elements/gstfilesrc.h:
8403           send NEW_MEDIA events correctly
8404         * gst/elements/gsttypefindelement.c: (start_typefinding),
8405         (gst_type_find_element_handle_event):
8406           restart typefinding when we get a NEW_MEDIA event
8407         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8408         (gst_bin_dispose):
8409           don't die when someone removes elements in callbacks
8410         * gst/gstelement.c: (gst_element_change_state):
8411           improve debugging
8412         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8413           we need a NEW_MEDIA event to engage a link
8414         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8415           don't g_print debugging stuff
8416         * testsuite/caps/simplify.c: (check_caps):
8417
8418 2004-05-04  Benjamin Otte  <otte@gnome.org>
8419
8420         * gst/parse/grammar.y:
8421           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8422
8423 2004-05-04  Benjamin Otte  <otte@gnome.org>
8424
8425         * testsuite/caps/renegotiate.c: (main):
8426           improve output in error case
8427
8428 2004-05-04  Benjamin Otte  <otte@gnome.org>
8429
8430         * gst/parse/grammar.y:
8431           fix assert to not trigger when there's no error argument
8432         * gst/parse/parse.l:
8433           fix definition of caps to allow more than two structures
8434         * testsuite/caps/Makefile.am:
8435         * testsuite/caps/renegotiate.c: (main):
8436           it's sinesrc and works in that case
8437
8438 2004-05-04  Wim Taymans  <wim@fluendo.com>
8439
8440         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8441         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8442         when removing an element from a group, we always need to
8443         decrement the link count that this group had with other 
8444         groups through the element.
8445         added an extra assert to catch inconsistencies when decrementing
8446         the link count.
8447
8448 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8449
8450         * configure.ac:
8451         * docs/gst/Makefile.am:
8452         * docs/gst/gstreamer-sections.txt:
8453         * docs/gst/tmpl/gstcompat.sgml:
8454         * examples/appreader/Makefile.am:
8455         * examples/cutter/Makefile.am:
8456         * examples/events/Makefile.am:
8457         * examples/helloworld/Makefile.am:
8458         * examples/helloworld2/Makefile.am:
8459         * examples/launch/Makefile.am:
8460         * examples/manual/Makefile.am:
8461         * examples/mixer/Makefile.am:
8462         * examples/pingpong/Makefile.am:
8463         * examples/plugins/Makefile.am:
8464         * examples/queue/Makefile.am:
8465         * examples/queue2/Makefile.am:
8466         * examples/queue3/Makefile.am:
8467         * examples/queue4/Makefile.am:
8468         * examples/retag/Makefile.am:
8469         * examples/thread/Makefile.am:
8470         * examples/typefind/Makefile.am:
8471         * examples/xml/Makefile.am:
8472         * gst/Makefile.am:
8473         * gst/autoplug/Makefile.am:
8474         * gst/elements/Makefile.am:
8475         * gst/gstcompat.h:
8476         * gst/indexers/Makefile.am:
8477         * gst/parse/Makefile.am:
8478         * gst/registries/Makefile.am:
8479         * gst/schedulers/Makefile.am:
8480         * libs/gst/bytestream/Makefile.am:
8481         * libs/gst/control/Makefile.am:
8482         * libs/gst/getbits/Makefile.am:
8483         * po/af.po:
8484         * po/az.po:
8485         * po/en_GB.po:
8486         * po/fr.po:
8487         * po/nl.po:
8488         * po/sr.po:
8489         * po/sv.po:
8490         * po/tr.po:
8491         * po/uk.po:
8492         * tests/Makefile.am:
8493         * tests/bufspeed/Makefile.am:
8494         * tests/instantiate/Makefile.am:
8495         * tests/memchunk/Makefile.am:
8496         * tests/muxing/Makefile.am:
8497         * tests/negotiation/Makefile.am:
8498         * tests/probes/Makefile.am:
8499         * tests/sched/Makefile.am:
8500         * tests/seeking/Makefile.am:
8501         * tests/threadstate/Makefile.am:
8502         * testsuite/caps/Makefile.am:
8503         * testsuite/cleanup/Makefile.am:
8504         * testsuite/dlopen/Makefile.am:
8505         * testsuite/dynparams/Makefile.am:
8506         * testsuite/plugin/Makefile.am:
8507         * testsuite/states/Makefile.am:
8508         * tools/Makefile.am:
8509           reorganize compile/link flags to be consistent
8510           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8511
8512 2004-05-04  David Schleef  <ds@schleef.org>
8513
8514         The "once more, with feeling" check-in.
8515         * testsuite/caps/Makefile.am: dist caps_strings
8516         * testsuite/caps/renegotiate.c: (main): This test triggers a
8517           segfault in the core.  Marking as failing.
8518
8519 2004-05-03  David Schleef  <ds@schleef.org>
8520
8521         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8522           by the build bots.
8523         * testsuite/caps/renegotiate.c: (main): Same.
8524
8525 2004-05-03  David Schleef  <ds@schleef.org>
8526
8527         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8528
8529 2004-05-03  David Schleef  <ds@schleef.org>
8530
8531         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8532           variable to find our source file.
8533
8534 2004-05-03  David Schleef  <ds@schleef.org>
8535
8536         * configure.ac:  Link plugins with libgstreamer and dependent
8537           libraries
8538         * testsuite/caps/Makefile.am:
8539         * testsuite/caps/caps_strings:
8540         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8541           through a file of caps strings and test each one
8542
8543 2004-05-04  Benjamin Otte  <otte@gnome.org>
8544
8545         * libs/gst/bytestream/Makefile.am:
8546         * libs/gst/bytestream/adapter.c: 
8547         * libs/gst/bytestream/adapter.h:
8548           add GstAdapter, similar to bytestream, but doesn't require ugly event
8549           handling or uglier loopbased elements
8550
8551 2004-05-03  David Schleef  <ds@schleef.org>
8552
8553         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8554         * testsuite/caps/erathostenes.c:
8555         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8556
8557 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * docs/pwg/pwg.xml:
8560           remove hardcoded stylesheet path (duh)
8561         * docs/random/release:
8562         * docs/gst/gstreamer-sections.txt:
8563         * gst/Makefile.am:
8564         * gst/gst.h:
8565         * gst/gst_private.h:
8566         * gst/gstcaps.c:
8567         * gst/gstevent.c:
8568         * gst/gstformat.c:
8569         * gst/gstinfo.c:
8570         * gst/gstinfo.h:
8571         * gst/gstinterface.c:
8572         * gst/gstmemchunk.c:
8573         * gst/gstprobe.c:
8574         * gst/gstquery.c:
8575         * gst/gstregistry.c:
8576         * gst/gstregistrypool.c:
8577         * gst/gststructure.c:
8578         * gst/gsttaginterface.c:
8579         * gst/gstthread.c:
8580         * gst/gsttrace.c:
8581         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8582         * gst/gsturi.c:
8583         * gst/gstvalue.c:
8584           deprecate gst_info; remove gstlog.h
8585    
8586
8587 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8588
8589         * Makefile.am:
8590         * po/en_GB.po:
8591         * po/sv.po:
8592         * po/uk.po:
8593           updated translations
8594
8595 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8596
8597         * gst/gstbin.c: (gst_bin_dispose):
8598           better debugging
8599
8600 2004-05-03  Johan Dahlin  <johan@gnome.org>
8601
8602         * gst/schedulers/gstoptimalscheduler.c
8603         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8604         really is a GstElement. Avoids critical when running gst-launch -v
8605         and a oggdemux/decoding pipeline.
8606
8607 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8608
8609         * docs/gst/tmpl/gstpipeline.sgml :
8610         * docs/manual/elements-api.xml :
8611                 doc fix by Patrick Guimond (Protector) from devel ML
8612                 reviewed by ronald
8613
8614 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8615
8616         * docs/gst/Makefile.am :
8617         * docs/libs/Makefile.am :
8618                 apply a patch from Arwed v. Merkatz so that gtk-doc
8619                 generated docs install (same for .devhelp file)
8620                 (fixes part 1 of #138836)
8621
8622 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8623
8624         * docs/faq/dependencies.xml: typo
8625         * docs/faq/getting.xml :
8626             - fix download URL for new gstreamer site
8627             - hide sf.net download page as latest version aren't there
8628             - fix apt URLs
8629             - fill "get via CVS" paragraph (link to dev page on the site)
8630         * docs/faq/general.xml:
8631             hide status tables as they no more exists
8632             change case on plugins license file to reflect reality
8633         * docs/faq/troubleshooting.xml:
8634             remove the wiki question/answer as there is no more wiki
8635
8636 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8637
8638         * gst/gsterror.h:
8639           include the headers needed for declarations used in this header
8640
8641 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8642
8643         * docs/random/uraeus/gstreamer_and_midi.txt :
8644           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8645           (fixes #132288)
8646
8647 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8648
8649         reviewed by Benjamin Otte  <otte@gnome.org>
8650
8651         * gst/schedulers/gthread-cothreads.h:
8652           free allocated data for main cothread, too when destroying context
8653           (fixes #141417)
8654
8655 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8656
8657         * docs/manual/goals.xml : remove duplicated paragraph at end 
8658         of doc page (fixes #141448)
8659
8660 2004-04-29  David Schleef  <ds@schleef.org>
8661
8662         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8663         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8664
8665 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8666
8667         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8668           fix property
8669         * gst/gstcaps.c:
8670           fix doc string
8671         * po/POTFILES.in:
8672           rename typefind source file
8673
8674 2004-04-28  David Schleef  <ds@schleef.org>
8675
8676         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8677         * win32/GStreamer.vcproj:
8678         * win32/Makefile:
8679         * win32/config.h:
8680         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8681         (_trewinddir), (_ttelldir), (_tseekdir):
8682         * win32/dirent.h:
8683         * win32/gst-inspect.vcproj:
8684         * win32/gst-launch.vcproj:
8685         * win32/gst-register.vcproj:
8686         * win32/gstbytestream.vcproj:
8687         * win32/gstelements.vcproj:
8688         * win32/gstoptimalscheduler.vcproj:
8689         * win32/gstspider.vcproj:
8690         * win32/gtchar.h:
8691         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8692         * win32/mman.h:
8693         * win32/mman.inl:
8694         * win32/msvc71.sln:
8695
8696 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8697
8698         * gst/gst.c: (init_post):
8699         * gst/gstinfo.c:
8700           remove useless _gst_progname stuff
8701         * tools/gst-inspect.c: (print_field), (print_caps):
8702           improve caps output
8703
8704 2004-04-28  David Schleef  <ds@schleef.org>
8705
8706         Disable parsing of a lot of files that aren't part of the
8707         exported API.  Move corresponding template files to old/,
8708         waiting for removal when they don't contain anything
8709         interesting.
8710         * docs/gst/Makefile.am:
8711         * docs/gst/gstreamer-sections.txt:
8712         * docs/gst/tmpl/cothreads.sgml:
8713         * docs/gst/tmpl/cothreads_compat.sgml:
8714         * docs/gst/tmpl/gettext.sgml:
8715         * docs/gst/tmpl/gobject2gtk.sgml:
8716         * docs/gst/tmpl/grammar.tab.sgml:
8717         * docs/gst/tmpl/gst-i18n-app.sgml:
8718         * docs/gst/tmpl/gst-i18n-lib.sgml:
8719         * docs/gst/tmpl/gst_private.sgml:
8720         * docs/gst/tmpl/gstaggregator.sgml:
8721         * docs/gst/tmpl/gstarch.sgml:
8722         * docs/gst/tmpl/gstatomic_impl.sgml:
8723         * docs/gst/tmpl/gstbufferstore.sgml:
8724         * docs/gst/tmpl/gstdata_private.sgml:
8725         * docs/gst/tmpl/gstdisksink.sgml:
8726         * docs/gst/tmpl/gstdisksrc.sgml:
8727         * docs/gst/tmpl/gstelementfactory.sgml:
8728         * docs/gst/tmpl/gstextratypes.sgml:
8729         * docs/gst/tmpl/gstfakesink.sgml:
8730         * docs/gst/tmpl/gstfakesrc.sgml:
8731         * docs/gst/tmpl/gstfdsink.sgml:
8732         * docs/gst/tmpl/gstfdsrc.sgml:
8733         * docs/gst/tmpl/gstfilesink.sgml:
8734         * docs/gst/tmpl/gstfilesrc.sgml:
8735         * docs/gst/tmpl/gsthttpsrc.sgml:
8736         * docs/gst/tmpl/gstidentity.sgml:
8737         * docs/gst/tmpl/gstindexfactory.sgml:
8738         * docs/gst/tmpl/gstmarshal.sgml:
8739         * docs/gst/tmpl/gstmd5sink.sgml:
8740         * docs/gst/tmpl/gstmultidisksrc.sgml:
8741         * docs/gst/tmpl/gstmultifilesrc.sgml:
8742         * docs/gst/tmpl/gstpadtemplate.sgml:
8743         * docs/gst/tmpl/gstpipefilter.sgml:
8744         * docs/gst/tmpl/gstschedulerfactory.sgml:
8745         * docs/gst/tmpl/gstsearchfuncs.sgml:
8746         * docs/gst/tmpl/gstshaper.sgml:
8747         * docs/gst/tmpl/gstspider.sgml:
8748         * docs/gst/tmpl/gstspideridentity.sgml:
8749         * docs/gst/tmpl/gststatistics.sgml:
8750         * docs/gst/tmpl/gsttee.sgml:
8751         * docs/gst/tmpl/gsttimecache.sgml:
8752         * docs/gst/tmpl/gsttypefind.sgml:
8753         * docs/gst/tmpl/gsttypefindfactory.sgml:
8754         * docs/gst/tmpl/gstxmlregistry.sgml:
8755         * docs/gst/tmpl/gthread-cothreads.sgml:
8756         * docs/gst/tmpl/old/cothreads.sgml:
8757         * docs/gst/tmpl/old/cothreads_compat.sgml:
8758         * docs/gst/tmpl/old/gettext.sgml:
8759         * docs/gst/tmpl/old/gobject2gtk.sgml:
8760         * docs/gst/tmpl/old/grammar.tab.sgml:
8761         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8762         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8763         * docs/gst/tmpl/old/gst_private.sgml:
8764         * docs/gst/tmpl/old/gstaggregator.sgml:
8765         * docs/gst/tmpl/old/gstarch.sgml:
8766         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8767         * docs/gst/tmpl/old/gstbufferstore.sgml:
8768         * docs/gst/tmpl/old/gstdata_private.sgml:
8769         * docs/gst/tmpl/old/gstdisksink.sgml:
8770         * docs/gst/tmpl/old/gstdisksrc.sgml:
8771         * docs/gst/tmpl/old/gstelementfactory.sgml:
8772         * docs/gst/tmpl/old/gstextratypes.sgml:
8773         * docs/gst/tmpl/old/gstfakesink.sgml:
8774         * docs/gst/tmpl/old/gstfakesrc.sgml:
8775         * docs/gst/tmpl/old/gstfdsink.sgml:
8776         * docs/gst/tmpl/old/gstfdsrc.sgml:
8777         * docs/gst/tmpl/old/gstfilesink.sgml:
8778         * docs/gst/tmpl/old/gstfilesrc.sgml:
8779         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8780         * docs/gst/tmpl/old/gstidentity.sgml:
8781         * docs/gst/tmpl/old/gstindexfactory.sgml:
8782         * docs/gst/tmpl/old/gstmarshal.sgml:
8783         * docs/gst/tmpl/old/gstmd5sink.sgml:
8784         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8785         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8786         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8787         * docs/gst/tmpl/old/gstpipefilter.sgml:
8788         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8789         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8790         * docs/gst/tmpl/old/gstshaper.sgml:
8791         * docs/gst/tmpl/old/gstspider.sgml:
8792         * docs/gst/tmpl/old/gstspideridentity.sgml:
8793         * docs/gst/tmpl/old/gststatistics.sgml:
8794         * docs/gst/tmpl/old/gsttee.sgml:
8795         * docs/gst/tmpl/old/gsttimecache.sgml:
8796         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8797         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8798         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8799         * docs/gst/tmpl/old/types.sgml:
8800         * docs/gst/tmpl/types.sgml:
8801
8802         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8803         gtkdoc-scan doesn't like files with the same name in different
8804         directories.
8805         * gst/elements/Makefile.am:
8806         * gst/elements/gstelements.c:
8807         * gst/elements/gsttypefind.c: 
8808         * gst/elements/gsttypefind.h:
8809         * gst/elements/gsttypefindelement.c:
8810         * gst/elements/gsttypefindelement.h:
8811
8812 2004-04-28  David Schleef  <ds@schleef.org>
8813
8814         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8815         patch (bug #141317):
8816         * gst/gst-i18n-lib.h: Allow disabling gettext.
8817         * gst/gstatomic_impl.h: disable warning when it's dumb.
8818         * gst/gstclock.c: fix include
8819         * gst/gstcompat.h: fix variadic macro
8820         * gst/gstinfo.c: fix include
8821         * gst/gstmacros.h: add defines for inlines on MSVC
8822         * gst/gstplugin.c: fix includes
8823         * gst/gstregistry.c: fix includes
8824         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8825         * gst/gstsystemclock.c: fix include
8826         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8827         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8828         * gst/registries/gstxmlregistry.c:
8829         (gst_xml_registry_parse_element_factory): fix use of non-portable
8830         functions
8831         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8832         * libs/gst/control/dparammanager.h: same
8833
8834 2004-04-28  David Schleef  <ds@schleef.org>
8835
8836         Move a bunch of unused files to old/ with names that are
8837         not case-insensitive-unique.  These files still contain some
8838         useful information that needs to be merged into gstbin.sgml,
8839         etc., so they shouldn't be deleted yet.
8840         * docs/gst/tmpl/GstBin.sgml:
8841         * docs/gst/tmpl/GstBuffer.sgml:
8842         * docs/gst/tmpl/GstCaps.sgml:
8843         * docs/gst/tmpl/GstClock.sgml:
8844         * docs/gst/tmpl/GstCompat.sgml:
8845         * docs/gst/tmpl/GstData.sgml:
8846         * docs/gst/tmpl/GstElement.sgml:
8847         * docs/gst/tmpl/GstEvent.sgml:
8848         * docs/gst/tmpl/GstIndex.sgml:
8849         * docs/gst/tmpl/GstStructure.sgml:
8850         * docs/gst/tmpl/GstTag.sgml:
8851         * docs/gst/tmpl/old/GstBin.sgml:
8852         * docs/gst/tmpl/old/GstBuffer.sgml:
8853         * docs/gst/tmpl/old/GstCaps.sgml:
8854         * docs/gst/tmpl/old/GstClock.sgml:
8855         * docs/gst/tmpl/old/GstCompat.sgml:
8856         * docs/gst/tmpl/old/GstData.sgml:
8857         * docs/gst/tmpl/old/GstElement.sgml:
8858         * docs/gst/tmpl/old/GstEvent.sgml:
8859         * docs/gst/tmpl/old/GstIndex.sgml:
8860         * docs/gst/tmpl/old/GstStructure.sgml:
8861         * docs/gst/tmpl/old/GstTag.sgml:
8862
8863 2004-04-28  David Schleef  <ds@schleef.org>
8864
8865         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8866         (gst_caps_append), (gst_caps_append_structure),
8867         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8868         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8869         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8870         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8871         (gst_caps_intersect), (gst_caps_normalize),
8872         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8873         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8874         * gst/gstcaps.h: use GST_IS_CAPS().
8875
8876 2004-04-26  David Schleef  <ds@schleef.org>
8877
8878         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8879         assembly.  gcc doesn't handle it correctly. (bug #141083)
8880         * gst/gsttrashstack.h: same
8881
8882 2004-04-25  Benjamin Otte  <otte@gnome.org>
8883
8884         * gst/gstelement.c: (gst_element_change_state):
8885           fix assertion to do an int comparison
8886
8887 2004-04-25  Benjamin Otte  <otte@gnome.org>
8888
8889         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8890           better debugging output on error
8891
8892 2004-04-25  Benjamin Otte  <otte@gnome.org>
8893
8894         * gst/gstcaps.c: (gst_caps_subtract):
8895           fix memleak
8896
8897 2004-04-23  Benjamin Otte  <otte@gnome.org>
8898
8899         * gst/gstvalue.c: (gst_value_compare_buffer),
8900         (_gst_value_initialize):
8901           add comparison function for buffers
8902
8903 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8904
8905         * docs/pwg/pwg.xml:
8906           Just found out that this so-called "ima-wav" format is really
8907           just "dvi adpcm" (according to the MS WAV documentation). So
8908           renaming it. We didn't use it yet anyway.
8909
8910 2004-04-23  Benjamin Otte  <otte@gnome.org>
8911
8912         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8913           call gst_caps_is_subset
8914
8915 2004-04-23  Benjamin Otte  <otte@gnome.org>
8916
8917         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8918         (gst_caps_is_subset):
8919           add documentation
8920
8921 2004-04-23  Benjamin Otte  <otte@gnome.org>
8922           
8923         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8924         (gst_caps_structure_subtract), (gst_caps_subtract),
8925         (gst_caps_structure_figure_out_union),
8926         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8927           fix simplifying and subtracting not working correctly with optional
8928           properties
8929           solve assorted problems that make it now simplify ebven more
8930         * docs/gst/tmpl/gstcaps.sgml:
8931         * gst/gstcaps.h:
8932           make gst_caps_do_simplify return a bool to indicate if it simplified
8933         * testsuite/caps/simplify.c: (main):
8934           add more checks. The tests is quite a bit useless right now because
8935           the core is heavily simplifying itself.
8936         * testsuite/caps/caps.h:
8937           fix caps to contain all optional properties
8938
8939 2004-04-22  Benjamin Otte  <otte@gnome.org>
8940
8941         * docs/gst/tmpl/gstcaps.sgml:
8942         * docs/gst/tmpl/gstfilesrc.sgml:
8943         * docs/gst/tmpl/gststructure.sgml:
8944         * docs/gst/tmpl/gstvalue.sgml:
8945           update for recent API changes
8946         * gst/gstcaps.c: (gst_caps_do_simplify):
8947           fix to stop trying with a freed structure
8948         * gst/gstpad.c: (gst_pad_link_fixate):
8949           simplify caps
8950         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8951           remove C++ comment
8952         * gst/gstpad.h:
8953           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8954         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8955         (gst_structure_to_string):
8956           keep the correct type when using lists of ranges
8957         * gst/gstvalue.c: (gst_value_list_prepend_value),
8958         (gst_value_list_append_value):
8959           copy the value before adding to the list (d'oh)
8960         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8961         (gst_value_subtract_int_range_int_range):
8962           handle overflows correctly
8963         * gst/gstvalue.c: (gst_value_subtract_from_list):
8964           fix memleak
8965         * testsuite/caps/caps.h:
8966           add a caps that caused segfaults
8967
8968 2004-04-22  Benjamin Otte  <otte@gnome.org>
8969
8970         * testsuite/refcounting/pad.c: (main):
8971           fix test
8972
8973 2004-04-22  Benjamin Otte  <otte@gnome.org>
8974
8975         * gst/gstcaps.c: (gst_caps_subtract):
8976           allow subtracting ANY and EMPTY from ANY caps
8977
8978 2004-04-22  Benjamin Otte  <otte@gnome.org>
8979
8980         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8981         (gst_caps_union):
8982           only simplify in functions that create new caps. Simplifying in
8983           gst_caps_append breaks tests.
8984
8985 2004-04-22  Benjamin Otte  <otte@gnome.org>
8986
8987         * gst/gstcaps.c: (gst_caps_structure_simplify):
8988           unset GValue after use
8989         * gst/gstcaps.c: (gst_caps_append), 
8990         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8991           use gst_caps_simplify (reduces registry size by 30%)
8992         * gst/gstpad.c: (gst_pad_template_new):
8993           don't allow NULL caps
8994
8995 2004-04-22  Benjamin Otte  <otte@gnome.org>
8996
8997         * docs/gst/gstreamer-sections.txt:
8998           add gst_caps_do_simplify
8999         * gst/gstcaps.c:
9000           add documentation for gst_caps_do_simplify
9001         * gst/gstvalue.h:
9002           fix typo in gst_value_register_subtract_func declaration for gst-doc
9003
9004 2004-04-22  Benjamin Otte  <otte@gnome.org>
9005
9006         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9007           fix bug when converting from empty string.
9008         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9009         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9010           use gst_caps_new_empty to allocate a new caps. Only that function
9011           allocates memory for caps now.
9012         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9013         (gst_caps_remove_structure):
9014           add ability to remove one structure (but not to header yet)
9015         * gst/gstcaps.c: (gst_caps_compare_structures),
9016         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9017         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9018         * gst/gstcaps.h:
9019           add gst_caps_do_simplify that tries to simplify a caps in place.
9020           Deprecate old gst_caps_simplify function.
9021         * testsuite/caps/caps.h:
9022           add caps.h containing a common set of caps to test against.
9023         * testsuite/caps/sets.c: (check_caps), (main):
9024           use it.
9025         * testsuite/caps/.cvsignore:
9026         * testsuite/caps/Makefile.am:
9027         * testsuite/caps/simplify.c: (check_caps), (main):
9028           add test to check correctness and efficency of caps simplification.
9029
9030 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9031
9032         reviewed by Benjamin Otte  <otte@gnome.org>
9033
9034         * gst/gstparse.c: (_gst_parse_escape):
9035           Free the GString used in _gst_parse_escape()
9036
9037 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9038
9039         * gst/gstpad.c: (gst_pad_link_negotiate):
9040           refuse to link if the link is not possible
9041         * configure.ac:
9042         * testsuite/Makefile.am:
9043         * testsuite/negotiation/.cvsignore:
9044         * testsuite/negotiation/Makefile.am:
9045         * testsuite/negotiation/pad_link.c: (main):
9046           add test that checks the above behaviour
9047
9048 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9049
9050         * docs/gst/gstreamer-sections.txt:
9051           add newly added API
9052
9053 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9054
9055         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9056         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9057         (gst_filesrc_open_file), (gst_filesrc_close_file),
9058         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9059         * gst/elements/gstfilesrc.h:
9060           add support for non-regular files (#140734)
9061
9062 2004-04-21  Benjamin Otte  <otte@gnome.org>
9063
9064         * gst/gstpad.c: (gst_pad_link_fixate):
9065           add sophisticated error checking code to see if fixation functions
9066           did their fixation right
9067
9068 2004-04-21  Benjamin Otte  <otte@gnome.org>
9069
9070         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9071           check for ANY caps before appending/unioning
9072         * gst/gstcaps.c: (gst_caps_is_subset),
9073         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9074         (gst_caps_structure_subtract), (gst_caps_subtract):
9075         * gst/gstcaps.h:
9076           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9077           the API. deprecate gst_caps_is_equal_fixed
9078         * gst/gstpad.c: (gst_pad_try_set_caps):
9079         * gst/gstqueue.c: (gst_queue_link):
9080           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9081         * gst/gststructure.c: (gst_structure_get_name_id):
9082         * gst/gststructure.h:
9083           add function gst_structure_get_name_id
9084         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9085         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9086         (gst_value_subtract_int_range_int_range),
9087         (gst_value_subtract_double_double_range),
9088         (gst_value_subtract_double_range_double),
9089         (gst_value_subtract_double_range_double_range),
9090         (gst_value_subtract_from_list), (gst_value_subtract_list),
9091         (gst_value_can_intersect), (gst_value_subtract),
9092         (gst_value_can_subtract), (gst_value_register_subtract_func),
9093         (_gst_value_initialize):
9094         * gst/gstvalue.h:
9095           add support for subtracting values from each other. Note that
9096           subtracting means subtracting as in set theory. Required for caps
9097           stuff above.
9098         * testsuite/caps/.cvsignore:
9099         * testsuite/caps/Makefile.am:
9100         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9101         * testsuite/caps/sets.c: (check_caps), (main):
9102         * testsuite/caps/subtract.c: (check_caps), (main):
9103           add tests for subtraction and equality code.
9104
9105 2004-04-20  David Schleef  <ds@schleef.org>
9106
9107         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9108         * gst/indexers/Makefile.am:
9109         * gst/schedulers/Makefile.am:
9110         * libs/gst/bytestream/Makefile.am:
9111         * libs/gst/control/Makefile.am:
9112         * libs/gst/getbits/Makefile.am:
9113
9114 2004-04-20  David Schleef  <ds@schleef.org>
9115
9116         * common/as-libtool.mak: Fine-tune DLL building.
9117         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9118         (like gst-plugins)
9119         * examples/plugins/Makefile.am: remove plugindir
9120         * gst/autoplug/Makefile.am: DLL building fixes
9121         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9122         Windows.
9123         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9124         * gst/indexers/Makefile.am: DLL building fixes
9125         * gst/schedulers/Makefile.am: DLL building fixes.
9126         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9127         * libs/gst/control/Makefile.am: same
9128         * libs/gst/getbits/Makefile.am: same
9129         * testsuite/Makefile.am: New dlopen directory
9130         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9131         when dlopened.
9132         * testsuite/dlopen/dlopen_gst.c: (main): same
9133         * testsuite/dlopen/loadgst.c: (do_test): same
9134
9135 2004-04-20  David Schleef  <ds@schleef.org>
9136
9137         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9138         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9139
9140 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9141
9142         * gst/gstelement.c: (gst_element_wait),
9143         (gst_element_set_time_delay), (gst_element_change_state):
9144           Use GST_TIME_*
9145
9146 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9147
9148         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9149         (gst_spider_identity_plug):
9150           improve debugging messages
9151         * gst/gstbin.c: (gst_bin_remove_func):
9152           make sure the state_change function is only called with simple state
9153           transitions
9154
9155 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9156
9157         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9158         (gst_fakesink_set_property), (gst_fakesink_chain):
9159         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9160         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9161         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9162         * gst/elements/gstidentity.c: (gst_identity_chain),
9163         (gst_identity_set_property):
9164         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9165         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9166           add warnings to _set_property for unknown arguments
9167           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9168
9169 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * Makefile.am:
9172         * docs/manuals.mak:
9173           add .po file download snippet
9174           fix a bug in the doc makefile
9175
9176 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9177
9178         * Makefile.am:
9179         * po/LINGUAS:
9180         * po/en_GB.po:
9181           Added en_GB translation (Gareth Owen)
9182
9183 2004-04-20  Johan Dahlin  <johan@gnome.org>
9184
9185         * gst/gstpad.c (_invent_event): Clean up
9186
9187 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9188
9189         * testsuite/caps/filtercaps.c: (main):
9190           fix test to test things correctly (caps are complicated)
9191
9192 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9193
9194         * testsuite/caps/Makefile.am:
9195         * testsuite/caps/filtercaps.c: (main):
9196           add test (that doesn't work right now, but should)
9197
9198 2004-04-19  David Schleef  <ds@schleef.org>
9199
9200         * configure.ac: Add test for allowing unaligned access.  Add define
9201         to put in gstconfig.h.
9202         * docs/gst/gstreamer-sections.txt: New symbols
9203         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9204         * docs/gst/tmpl/gstfilesrc.sgml:
9205         * docs/gst/tmpl/gstparse.sgml:
9206         * docs/gst/tmpl/gsttypes.sgml:
9207         * docs/gst/tmpl/gstutils.sgml:
9208         * docs/gst/tmpl/gstvalue.sgml:
9209         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9210         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9211         on most !i386/!powerpc architectures.  From Daniel Gazard
9212         <daniel.gazard@free.fr>.  (bug #140156)
9213         * po/af.po: Check in changes made by gettext.
9214         * po/az.po:
9215         * po/fr.po:
9216         * po/nl.po:
9217         * po/sr.po:
9218         * po/sv.po:
9219
9220 2004-04-20  Benjamin Otte  <otte@gnome.org>
9221
9222         * gst/schedulers/entryscheduler.c: 
9223         (gst_entry_scheduler_yield):
9224           refuse to yield when decoupled elements insist on doing that.
9225           At least it's better than crashing
9226
9227 2004-04-19  David Schleef  <ds@schleef.org>
9228
9229         * docs/libs/Makefile.am: Change sinclude to include
9230         * docs/gst/Makefile.am: same
9231         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9232
9233 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9234
9235         * po/LINGUAS:
9236         * po/uk.po:
9237           Added Ukrainian translation (Maxim V. Dziumanenko)
9238
9239 2004-04-19  Johan Dahlin  <johan@gnome.org>
9240
9241         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9242         checking here, do it before calling the function.
9243         Clean up, use for loops instead of while loops while iterating
9244         over lists.
9245
9246         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9247         in debug message.
9248         (gst_spider_create_and_plug): Improve debug message.
9249         General: Replace while loops which iterates over GLists with for
9250         loops. Which are much cleaner, improves readability, especially
9251         for gst_spider_identity_plug
9252
9253         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9254         fixes bug 140477
9255
9256 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9257
9258         * po/LINGUAS:
9259         * po/tr.po:
9260           Added Turkish translation (Baris Cicek)
9261
9262 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9263
9264         * docs/faq/troubleshooting.xml:
9265           Mention gst-register in the FAQ (fixes 139045).
9266
9267 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9268
9269         * docs/gst/gstreamer-sections.txt:
9270
9271 2004-04-17  Benjamin Otte  <otte@gnome.org>
9272
9273         * gst/gstelement.c: (gst_element_dispose):
9274           simplify
9275         * gst/gstpad.c: (gst_pad_call_chain_function):
9276           don't create loads of events due to bad macro usage
9277
9278 2004-04-16  David Schleef  <ds@schleef.org>
9279
9280         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9281         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9282         * gst/gstvalue.c: (gst_value_serialize_buffer),
9283         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9284         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9285         to indicate types that are fixed wrt caps or not.  Switching to
9286         this function fixes (bug #140298).
9287         * gst/gstvalue.h:
9288
9289 2004-04-16  David Schleef  <ds@schleef.org>
9290
9291         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9292         for GST_UNALIGNED_ACESS, since we essentially know which archs
9293         are ok.
9294
9295 2004-04-17  Benjamin Otte  <otte@gnome.org>
9296
9297         * docs/gst/Makefile.am:
9298           ignore gst/parse directory when building docs (fixes #140205)
9299
9300 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9301
9302         * testsuite/refcounting/mem.c: (vmsize):
9303           do error checking
9304
9305 2004-04-16  Johan Dahlin  <johan@gnome.org>
9306
9307         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9308         and gst_pad_call_get_function.
9309
9310 2004-04-15  David Schleef  <ds@schleef.org>
9311
9312         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9313         checks if we can access unaligned memory.
9314         * configure.ac: Use it.
9315
9316 2004-04-16  Benjamin Otte  <otte@gnome.org>
9317
9318         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9319         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9320         * gst/elements/gstfilesrc.h:
9321           s/seek_happened/need_discont/ and require discont before sending any
9322           data
9323
9324 2004-04-15  David Schleef  <ds@schleef.org>
9325
9326         * gst/gstvalue.c: (gst_value_serialize_buffer),
9327         (gst_value_deserialize_buffer), (_gst_value_initialize):
9328         Register these types as fundamental types. (bug #140015)
9329
9330 2004-04-16  Benjamin Otte  <otte@gnome.org>
9331
9332         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9333         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9334         (gst_pad_pull):
9335           implement enforcing discont events before buffers are passed. This
9336           allows state changes of only some elements and later correctly going
9337           on where they left off (or in short: you can now set audio sinks to
9338           NULL to release the device when the pipeline is paused)
9339         * gst/gstpad.c: (gst_pad_call_chain_function),
9340         (gst_pad_call_get_function):
9341         * gst/gstpad.h:
9342           add gst_pad_call_chain_function and gst_pad_call_get_function for
9343           scheduler interaction. They are required because of the changes
9344           above.
9345         * gst/schedulers/entryscheduler.c: (get_buffer),
9346         (gst_entry_scheduler_chain_wrapper),
9347         (gst_entry_scheduler_get_wrapper),
9348         (gst_entry_scheduler_state_transition),
9349         (gst_entry_scheduler_pad_link):
9350         * gst/schedulers/gstbasicscheduler.c:
9351         (gst_basic_scheduler_chain_wrapper),
9352         (gst_basic_scheduler_src_wrapper),
9353         (gst_basic_scheduler_chainhandler_proxy),
9354         (gst_basic_scheduler_gethandler_proxy),
9355         (gst_basic_scheduler_cothreaded_chain),
9356         (gst_basic_scheduler_chain_elements):
9357         * gst/schedulers/gstoptimalscheduler.c:
9358         (get_group_schedule_function), (pad_clear_queued),
9359         (gst_opt_scheduler_pad_link):
9360           use the new functions instead of calling get/chain-functions
9361           directly.
9362
9363 2004-04-15  David Schleef  <ds@schleef.org>
9364
9365         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9366         * docs/gst/tmpl/gstinfo.sgml: same
9367         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9368         gtk-doc put here.
9369         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9370         * examples/queue/queue.c: (main):  We iterate pipelines, not
9371         bins.  (bug #139996)
9372
9373 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9374
9375         * docs/pwg/advanced-types.xml:
9376           Add MS RLE support. Also document Qt RLE although I have no sample
9377           files for that yet. And document an extra property for ADPCM.
9378
9379 2004-04-15  David Schleef  <ds@schleef.org>
9380
9381         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9382         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9383         Windows.
9384
9385 2004-04-15  David Schleef  <ds@schleef.org>
9386
9387         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9388         symbol names to not conflict with new gstinfo.h symbols.
9389         * gst/gstinfo.h: Add inline functions for all those crazy
9390         compilers that don't know how to handle variadic macros (MSVC).
9391
9392 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9393
9394         * configure.ac: bump nano to 1
9395
9396 === release 0.8.1 ===
9397
9398 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9399
9400         * NEWS:
9401         * RELEASE:
9402         * configure.ac:
9403           releasing 0.8.1, "Snow Brigade"
9404
9405 2004-04-14  David Schleef  <ds@schleef.org>
9406
9407         * testsuite/Makefile.am: define tests_ignore
9408         * testsuite/Rules: Added new tests_ignore, which get compiled,
9409         but not run (generally because they're inconsistent or have
9410         heisenbugs).  Now we can ensure all the .c files compile in
9411         testsuite/.
9412         * testsuite/bins/Makefile.am: define tests_ignore
9413         * testsuite/bytestream/Makefile.am:
9414         * testsuite/caps/Makefile.am:
9415         * testsuite/clock/Makefile.am:
9416         * testsuite/debug/Makefile.am:
9417         * testsuite/debug/global.c: (gst_debug_log_one),
9418         (gst_debug_log_two): Fix compilation problem.
9419         * testsuite/dynparams/Makefile.am:
9420         * testsuite/elements/Makefile.am:
9421         * testsuite/ghostpads/Makefile.am:
9422         * testsuite/indexers/Makefile.am:
9423         * testsuite/parse/Makefile.am:
9424         * testsuite/plugin/Makefile.am:
9425         * testsuite/refcounting/Makefile.am:
9426         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9427         results, because it's not calculated correctly.
9428         * testsuite/refcounting/pad.c: (main): same
9429         * testsuite/states/Makefile.am:
9430         * testsuite/tags/Makefile.am:
9431         * testsuite/threads/Makefile.am:
9432
9433 2004-04-14  David Schleef  <ds@schleef.org>
9434
9435         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9436         generating bad code around the cpu detection asm code.
9437
9438 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9439
9440         * tools/gst-inspect.c: (print_element_info):
9441           print numeric version of rank as well, since we added some - 1
9442           rank values to elements
9443
9444 2004-04-13  David Schleef  <ds@schleef.org>
9445
9446         * configure.ac:  Disable various code when compiling for MinGW.
9447         * gst/elements/Makefile.am:
9448         * gst/elements/gstelements.c:
9449         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9450         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9451         * gst/registries/gstxmlregistry.c: (make_dir):
9452
9453 2004-04-13  David Schleef  <ds@schleef.org>
9454
9455         * gst/Makefile.am:
9456         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9457         assembly.
9458         * gst/gstcpuid_i386.s: remove
9459
9460 2004-04-13  David Schleef  <ds@schleef.org>
9461
9462         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9463         seems to think it needs to be done.
9464         * docs/gst/tmpl/gstfakesink.sgml:
9465         * docs/gst/tmpl/gstfakesrc.sgml:
9466         * docs/gst/tmpl/gstfdsink.sgml:
9467         * docs/gst/tmpl/gstfdsrc.sgml:
9468         * docs/gst/tmpl/gstfilesink.sgml:
9469         * docs/gst/tmpl/gstfilesrc.sgml:
9470         * docs/gst/tmpl/gstidentity.sgml:
9471         * docs/gst/tmpl/gstmd5sink.sgml:
9472         * docs/gst/tmpl/gstmultifilesrc.sgml:
9473         * docs/gst/tmpl/gstpipefilter.sgml:
9474         * docs/gst/tmpl/gstshaper.sgml:
9475         * docs/gst/tmpl/gstspider.sgml:
9476         * docs/gst/tmpl/gstspideridentity.sgml:
9477         * docs/gst/tmpl/gststatistics.sgml:
9478         * docs/gst/tmpl/gsttee.sgml:
9479         * docs/gst/tmpl/gsttypefind.sgml:
9480         * docs/gst/tmpl/gstutils.sgml:
9481
9482 2004-04-13  David Schleef  <ds@schleef.org>
9483
9484         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9485         and to build DLLs on Windows.
9486         * gst/Makefile.am:
9487         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9488         (gst_filesrc_open_file):
9489         * gst/schedulers/Makefile.am:
9490
9491 2004-04-13  David Schleef  <ds@schleef.org>
9492
9493         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9494         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9495         fixating lists.
9496
9497 2004-04-12  David Schleef  <ds@schleef.org>
9498
9499         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9500         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9501         to using it.
9502         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9503         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9504         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9505         * gst/gststructure.c: (gst_structure_set_valist),
9506         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9507         support for buffers.
9508         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9509         intended to be const.
9510         * gst/gsttag.h: same
9511         * gst/gstvalue.c: (gst_value_serialize_buffer),
9512         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9513         to (de)serialize buffers.
9514         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9515         * testsuite/caps/string-conversions.c: (main):
9516         * testsuite/caps/value_serialize.c: add new test
9517
9518 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9519
9520         * docs/pwg/advanced-types.xml:
9521           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9522
9523 2004-04-11  Benjamin Otte  <otte@gnome.org>
9524
9525         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9526           rename categories to basic_*
9527         * gst/schedulers/gstbasicscheduler.c: 
9528         (gst_basic_scheduler_chain_wrapper),
9529         (gst_basic_scheduler_chainhandler_proxy),
9530         (gst_basic_scheduler_gethandler_proxy),
9531         (gst_basic_scheduler_eventhandler_proxy):
9532           debugging category fixes - put common stuff in log category
9533         * gst/schedulers/gstbasicscheduler.c: 
9534         (gst_basic_scheduler_chain_elements):
9535           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9536           active and linking two active chains
9537
9538 2004-04-10  Benjamin Otte  <otte@gnome.org>
9539
9540         * docs/pwg/intro-preface.xml:
9541           fix dead links and remove reference to Wiki
9542
9543 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9544
9545         * gst/schedulers/gstbasicscheduler.c:
9546           make sure we can switch back to the main function if we're still in
9547           the main function (supposed to fix #139617)
9548         * gst/schedulers/gthread-cothreads.h:
9549           don't throw an error when switching to the same cothread
9550
9551 2004-04-09  Benjamin Otte  <otte@gnome.org>
9552
9553         * gst/gstbin.c: (gst_bin_get_type):
9554         * gst/gstclock.c: (gst_clock_get_type):
9555         * gst/gstindex.c: (gst_index_get_type):
9556         * gst/gstobject.c: (gst_object_get_type),
9557         (gst_signal_object_get_type):
9558         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9559         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9560         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9561         * gst/gstqueue.c: (gst_queue_get_type):
9562         * gst/gstregistry.c: (gst_registry_get_type):
9563         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9564         * gst/gstthread.c: (gst_thread_get_type):
9565           don't use memchunks for these objects, use malloc instead
9566
9567 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9568
9569         * docs/gst/.cvsignore:
9570         * docs/gst/Makefile.am:
9571         * docs/gst/gstreamer-sections.txt:
9572         * docs/gst/tmpl/gstaggregator.sgml:
9573         * docs/gst/tmpl/gstbuffer.sgml:
9574         * docs/gst/tmpl/gstclock.sgml:
9575         * docs/gst/tmpl/gstelement.sgml:
9576         * docs/gst/tmpl/gstfakesink.sgml:
9577         * docs/gst/tmpl/gstfakesrc.sgml:
9578         * docs/gst/tmpl/gstfdsink.sgml:
9579         * docs/gst/tmpl/gstfdsrc.sgml:
9580         * docs/gst/tmpl/gstfilesink.sgml:
9581         * docs/gst/tmpl/gstfilesrc.sgml:
9582         * docs/gst/tmpl/gstidentity.sgml:
9583         * docs/gst/tmpl/gstindex.sgml:
9584         * docs/gst/tmpl/gstinfo.sgml:
9585         * docs/gst/tmpl/gstmd5sink.sgml:
9586         * docs/gst/tmpl/gstmultifilesrc.sgml:
9587         * docs/gst/tmpl/gstpad.sgml:
9588         * docs/gst/tmpl/gstpipefilter.sgml:
9589         * docs/gst/tmpl/gstpipeline.sgml:
9590         * docs/gst/tmpl/gstpluginfeature.sgml:
9591         * docs/gst/tmpl/gstqueue.sgml:
9592         * docs/gst/tmpl/gstregistry.sgml:
9593         * docs/gst/tmpl/gstscheduler.sgml:
9594         * docs/gst/tmpl/gstshaper.sgml:
9595         * docs/gst/tmpl/gstspider.sgml:
9596         * docs/gst/tmpl/gstspideridentity.sgml:
9597         * docs/gst/tmpl/gststatistics.sgml:
9598         * docs/gst/tmpl/gstsystemclock.sgml:
9599         * docs/gst/tmpl/gsttee.sgml:
9600         * docs/gst/tmpl/gstthread.sgml:
9601         * docs/gst/tmpl/gsttypefind.sgml:
9602         * docs/gst/tmpl/gstutils.sgml:
9603           further doc build fixes
9604
9605 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * docs/gst/Makefile.am:
9608           make docs exit on scanning problems
9609           fix nonsrcdir build issues
9610         * docs/gst/gstreamer-sections.txt:
9611           adding stuff from -unused
9612         * gst/gstqueue.h:
9613           create GstQueueSize
9614         * gst/schedulers/cothreads_compat.h:
9615           fix cothread warnings
9616
9617 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * docs/gst/gstreamer-sections.txt:
9620           remove defines deprecated by Benjamin
9621
9622 2004-04-07  Benjamin Otte  <otte@gnome.org>
9623
9624         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9625           when the buffer is complete, don't check if other buffers are needed
9626         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9627           check that the offset is >0 so we don't try to read before the
9628           beginning of the file
9629         * gst/gstpad.c: (gst_pad_set_pad_template):
9630           sink the template, so we don't end up with 130k pad templates
9631
9632 2004-04-06  Benjamin Otte  <otte@gnome.org>
9633
9634         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9635           don't ref the element, adding already reffed it. And we didn't unref
9636           it later anyway... (huge memleak when you used many spider elements)
9637         * gst/gstelement.c: (gst_element_base_class_finalize):
9638         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9639         (gst_element_register):
9640         * gst/gsturi.c: (gst_element_make_from_uri):
9641           use gst_object_(un)ref instead of g_object(un)ref
9642
9643 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9644
9645         * gst/gstbuffer.h:
9646           remove macro that wouldn't work anymore because struct member has
9647           been removed.
9648         * gst/schedulers/entryscheduler.c: (schedule_forward):
9649           fix segfault for unconnected pads
9650         
9651 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9652
9653         reviewed by David Schleef <ds@schleef.org>
9654
9655         * gst/gstinfo.h:
9656           *_FORMAT modifiers should require putting a % in front of them for
9657           consistency reasons.
9658
9659 2004-04-05  Colin Walters  <walters@redhat.com>
9660
9661         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9662         space.
9663
9664 2004-04-05  Benjamin Otte  <otte@gnome.org>
9665
9666         * configure.ac:
9667         * gst/Makefile.am:
9668         * gst/gst_private.h:
9669         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9670           add support for detecting if GStreamer runs inside valgrind.
9671           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9672           print a big message in valgrind that GStreamer has detected it's
9673           running inside and might now use different code.
9674         * gst/gstmemchunk.c: (populate), (free_area),
9675         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9676         (gst_mem_chunk_free):
9677           flag memchunks for valgrind, so it can detect leaking of chunks.
9678           This allows detecting leaks of GstBuffer and GstEvent correctly
9679           inside valgrind.
9680
9681 2004-04-05  David Schleef  <ds@schleef.org>
9682
9683         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9684           jensgr@gmx.net (Jens Granseuer)
9685
9686 2004-04-05  David Schleef  <ds@schleef.org>
9687
9688         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9689         (gst_buffer_default_free), (gst_buffer_default_copy),
9690         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9691         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9692         structures in one place.
9693
9694 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9697           (GST_TIME_FORMAT, GST_TIME_ARGS)
9698
9699 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9700
9701         * testsuite/elements/Makefile.am:
9702           disable test until it stops breaking make distcheck
9703
9704 2004-04-05  Johan Dahlin  <johan@gnome.org>
9705
9706         * po/sv.po: Updated translation
9707
9708 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9709
9710         * gst/gstplugin.c: (gst_plugin_load_file):
9711           fix segfault for when original plugin was loaded statically
9712
9713 2004-04-05  Benjamin Otte  <otte@gnome.org>
9714
9715         * testsuite/debug/category.c: (main):
9716         * testsuite/debug/commandline.c: (main):
9717         * testsuite/debug/output.c: (main):
9718           fix tests to work again with debugging enabled
9719
9720 2004-04-05  Benjamin Otte  <otte@gnome.org>
9721
9722         * gst/schedulers/gstbasicscheduler.c:
9723         (gst_basic_scheduler_pad_link):
9724           fix to work with recent scheduling changes
9725
9726 2004-04-05  Benjamin Otte  <otte@gnome.org>
9727
9728         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9729         prepareChangeLog doesn't work when cvs indents):
9730           don't throw an error when no element can be scheduled, there's too
9731           many weird reasons why it doesn't work. Return STOPPED instead.
9732           decoupled elemts' schedulability doesn't depend on bufpens.
9733
9734 2004-04-04  Benjamin Otte  <otte@gnome.org>
9735
9736         * gst/schedulers/gstbasicscheduler.c:
9737         (gst_basic_scheduler_pad_select):
9738           fix uninitialized variable warnings
9739
9740 2004-04-04  Benjamin Otte  <otte@gnome.org>
9741
9742         * gst/gstpad.c: (gst_pad_collect_valist):
9743           fix uninitialized variable warning
9744         * gst/schedulers/entryscheduler.c: (schedule_forward):
9745           fix shadowed variable
9746
9747 2004-04-04  Benjamin Otte  <otte@gnome.org>
9748
9749         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9750         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9751         (gst_pad_select):
9752         * gst/gstpad.h:
9753         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9754         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9755         * gst/gstscheduler.h:
9756           implement gst_pad_collect as replacement for gst_pad_select.
9757           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9758           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9759           new pad_select, lock and unlock calls.
9760         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9761         * gst/cothreads.h:
9762         * gst/schedulers/cothreads_compat.h:
9763         * gst/schedulers/gthread-cothreads.h:
9764           remove unused cothread_lock and cothread_unlock calls
9765         * gst/schedulers/entryscheduler.c:
9766         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9767         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9768         (gst_entry_scheduler_pad_select):
9769           update to new API
9770         * gst/schedulers/gstbasicscheduler.c:
9771         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9772         (gst_basic_scheduler_pad_select):
9773           remove useless lock and unlock calls, update pad_select to new API
9774           (untested)
9775         * gst/schedulers/gstoptimalscheduler.c:
9776         (gst_opt_scheduler_class_init):
9777           remove useless select, lock and unlock function calls
9778         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9779           use gst_pad_collect instead of gst_pad_select
9780
9781 2004-04-04  Benjamin Otte  <otte@gnome.org>
9782
9783         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9784         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9785         (schedule_next_element), (print_entry):
9786           add can_schedule_pad to handle element states.
9787           add schedule_forward to select the correct entry to schedule next
9788
9789 2004-04-03  Benjamin Otte  <otte@gnome.org>
9790
9791         * gst/schedulers/entryscheduler.c: 
9792           remove unused variable, fix error inside Rb, fix compile warning in
9793           unreachable code
9794
9795 2004-04-03  Benjamin Otte  <otte@gnome.org>
9796
9797         * gst/schedulers/entryscheduler.c:
9798           completely revamp the inner workings, so it's a lot easier to
9799           understand and extend
9800
9801 2004-04-03  Andy Wingo  <wingo@pobox.com>
9802
9803         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9804         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9805         This allows better introspection of pipeline topology.
9806         (add_to_chain): Don't do trickery to put loop elements first;
9807         rather, queue a chain sort by marking the chain as dirty.
9808         (remove_from_chain): Mark the chain dirty.
9809         (sort_chain): New function. Sorts the group list so that terminal
9810         sinks are first. This means elements on the sink side will be
9811         preferentially sscheduled before elements on the src side of the
9812         pipeline.
9813         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9814         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9815         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9816         (group_inc_link): Change argument and variable names to match the
9817         new link structure member names (src and sink).
9818         (group_dec_link): Add some description
9819
9820 2004-04-03  Benjamin Otte  <otte@gnome.org>
9821
9822         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9823         * gst/gstinfo.h:
9824         * testsuite/debug/category.c: (main):
9825         * testsuite/debug/commandline.c: (main):
9826         * testsuite/debug/output.c: (main):
9827         * testsuite/debug/printf_extension.c: (main):
9828           fix to successfully build and test with --disable-gst-debug
9829           configure switch (fixes #138705)
9830
9831 2004-04-03  Benjamin Otte  <otte@gnome.org>
9832
9833         * docs/pwg/building-boiler.xml:
9834           add cvs login line and s/anonymous/anoncvs/
9835
9836 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9837
9838         reviewed by Benjamin Otte  <otte@gnome.org>
9839
9840         * gst/gststructure.c: (gst_structure_free):
9841           memleak fix: free fields array (partial fix for #134839)
9842
9843 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9844
9845         * docs/random/ds/0.9-suggested-changes:
9846           Add a note to change handoff use in fakesrc to be usable in
9847           a more generic way (fakesrc should be renamed to appsrc or so).
9848         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9849           Change signal type to scope, so we can fill the buffer in the
9850           handoff handler (that's the whole use of this signal...).
9851
9852 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9853
9854         * docs/pwg/other-ntoone.xml:
9855           Document muxers and n-to-1 elements.
9856
9857 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9858
9859         * gst/registries/gstxmlregistry.c
9860         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9861         determine if a file is a G_MODULE. The old one discards paths
9862         containing "so" somewhere in the middle. My home directory is
9863         called "soto". Go figure...
9864
9865 2004-03-31  David Schleef  <ds@schleef.org>
9866
9867         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9868         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9869         * gst/gstbuffer.h:
9870
9871 2004-03-31  David Schleef  <ds@schleef.org>
9872
9873         * gst/gstvalue.c: (gst_value_union_int_int_range),
9874         (gst_value_union_int_range_int_range), (gst_value_can_union),
9875         (gst_value_union), (_gst_value_initialize):  Add some union
9876         implementations.  We didn't have any previously.
9877         * testsuite/caps/Makefile.am:
9878         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9879         (gst_audioscale_getcaps), (test_caps), (main): A little test
9880         that is the same as the caps manipulation in audioscale.
9881
9882 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9883
9884         * docs/faq/general.xml:
9885           add entry about "does gst support format X?"
9886
9887 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9888
9889         * gst/gstthread.c:
9890           fix docs
9891         * gst/gstutils.h:
9892           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9893
9894 2004-03-30  Benjamin Otte  <otte@gnome.org>
9895
9896         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9897           set the offset of the buffer to the requested offset
9898         * gst/elements/gsttypefind.c: (stop_typefinding):
9899           revert patch 1.18 (which I unfortunately don't know the reason for).
9900           This is needed to allow downstream elements to seek. Otherwise
9901           typefind might overwrite a previous seek by downstream elements.
9902           This lead to errors with id3tag and typefind on some mp3s.
9903         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9904         (gst_entry_scheduler_iterate):
9905           be more verbose when debugging
9906
9907 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9908
9909         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9910           make sure we don't get NULL strings
9911
9912 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9913
9914         * gst/gstcaps.c:
9915         * gst/gstelement.c:
9916         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9917         * gst/gstindex.c: (gst_index_resolver_get_type),
9918         (gst_index_get_type), (gst_index_factory_get_type):
9919         * gst/gstinfo.c:
9920         * gst/gstpad.c:
9921         * gst/gstplugin.c:
9922         * gst/gsturi.c: (gst_uri_handler_get_type):
9923         * gst/gstvalue.c:
9924           first batch of documentation fixes
9925
9926 2004-03-29  David Schleef  <ds@schleef.org>
9927
9928         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9929         * docs/gst/gstreamer-docs.sgml:  More hacking
9930         * docs/gst/gstreamer-sections.txt:
9931         * docs/gst/tmpl/cothreads_compat.sgml:
9932         * docs/gst/tmpl/gstcaps.sgml:
9933         * docs/gst/tmpl/gstclock.sgml:
9934         * docs/gst/tmpl/gstelement.sgml:
9935         * docs/gst/tmpl/gstevent.sgml:
9936         * docs/gst/tmpl/gstpad.sgml:
9937         * docs/gst/tmpl/gstutils.sgml:
9938         * docs/gst/tmpl/gstxml.sgml:
9939         * docs/gst/tmpl/gthread-cothreads.sgml:
9940         * docs/random/ds/0.9-suggested-changes:
9941         * gst/elements/gstfakesink.h: doc fixes
9942         * gst/elements/gstfakesrc.h: doc fixes
9943         * gst/gstcaps.c: doc fixes
9944         * gst/gstcaps.h: doc fixes
9945         * gst/gstelement.c: doc fixes
9946         * gst/gstelement.h: doc fixes
9947         * gst/gstindex.c: doc fixes
9948         * gst/gstinfo.c: doc fixes
9949         * gst/gstpad.c: doc fixes
9950         * gst/gstpad.h: doc fixes
9951         * gst/gstplugin.c: doc fixes
9952         * gst/gsttypefind.h: doc fixes
9953         * gst/gsturi.c: doc fixes
9954         * gst/gstvalue.c: doc fixes
9955
9956 2004-03-29  Colin Walters  <walters@redhat.com>
9957
9958         * gst/registries/gstxmlregistry.c (get_time)
9959         (plugin_times_older_than_recurse):
9960         Use the result of stat to determine whether a path is a file,
9961         so we don't attempt to opendir() files.
9962
9963 2004-03-29  Benjamin Otte  <otte@gnome.org>
9964
9965         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9966           print caps in debugging output when setting caps failed
9967         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9968         (schedule_next_element), (get_buffer), (run_chainhandler),
9969         (element_may_start), (gst_entry_scheduler_chain_handler),
9970         (gst_entry_scheduler_get_handler),
9971         (gst_entry_scheduler_state_transition),
9972         (gst_entry_scheduler_pad_link):
9973           make this scheduler a testcase for mandatory
9974           discont-before-first-buffer which is needed if we want to allow apps
9975           to release the sound device.
9976           add SCHED_ASSERT macro to print scheduler state before an assertion
9977           triggers.
9978
9979 2004-03-29  Benjamin Otte  <otte@gnome.org>
9980
9981         * COPYING:
9982           replace by LGPL (former COPYING.LIB). The core is completely
9983           licensed LGPL.
9984         * COPYING.LIB:
9985           remove
9986
9987 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9988
9989         * po/af.po:
9990         * po/sv.po:
9991           updated Afrikaans and Swedish
9992
9993 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9994
9995         * po/LINGUAS:
9996         * po/az.po:
9997           adding Azerbaijani (Mətin Əmirov)
9998
9999 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10000
10001         * gst/gstelement.h: 
10002         * gst/gstelement.c (gst_element_set_time_delay): New function for
10003         setting element time taking into account a hardware buffering
10004         delay.
10005         (gst_element_set_time): Now just an invocation of
10006         gst_element_set_time_delay.
10007         * gst/gstclock.h: 
10008         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10009         allowing to set event times in the future.
10010         (gst_clock_get_event_time): Now just an invocation of
10011         gst_clock_get_event_time_delay.
10012
10013 2004-03-28  Benjamin Otte  <otte@gnome.org>
10014
10015         * gst/gstbin.c: (gst_bin_set_element_sched),
10016         (gst_bin_unset_element_sched):
10017           don't add decoupled elements to schedulers - otherwise it's
10018           impossible to control if a link to a decoupled element was already
10019           removed from a scheduler or not.
10020         * gst/schedulers/cothreads_compat.h:
10021         * gst/schedulers/gthread-cothreads.h:
10022           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10023           is no "unused" warning.
10024         * gst/schedulers/Makefile.am:
10025         * gst/schedulers/entryscheduler.c:
10026           add new scheduler, based on ideas from talking to David and Martin.
10027           It's supposed to be small and correct. Currently it's also slow (but
10028           it's not noticable)
10029         * examples/retag/retag.c: (main):
10030         * testsuite/bytestream/test1.c: (main):
10031           fix missing NULLs at end of variadic functions
10032         * testsuite/elements/.cvsignore:
10033           update
10034
10035 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10036
10037         * gst/gstevent.h:
10038         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10039
10040 2004-03-25  David Schleef  <ds@schleef.org>
10041
10042         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10043         * docs/gst/tmpl/gstaggregator.sgml:
10044         * docs/gst/tmpl/gstautoplugfactory.sgml:
10045         * docs/gst/tmpl/gstbin.sgml:
10046         * docs/gst/tmpl/gstbuffer.sgml:
10047         * docs/gst/tmpl/gstbufferstore.sgml:
10048         * docs/gst/tmpl/gstfakesink.sgml:
10049         * docs/gst/tmpl/gstfakesrc.sgml:
10050         * docs/gst/tmpl/gstmd5sink.sgml:
10051         * docs/gst/tmpl/gstreamer-unused.sgml:
10052         * docs/gst/tmpl/gstsearchfuncs.sgml:
10053         * docs/gst/tmpl/gstshaper.sgml:
10054         * docs/gst/tmpl/gstspider.sgml:
10055         * docs/gst/tmpl/gsttee.sgml:
10056         * docs/gst/tmpl/gstutils.sgml:
10057         * docs/gst/tmpl/gstvalue.sgml:
10058         * docs/gst/tmpl/gstxml.sgml:
10059         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10060         and we don't support it.
10061         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10062         (gst_use_threads), (gst_has_threads): same
10063         * gst/gstthreaddummy.c: same
10064         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10065         * gst/autoplug/gstspider.h: same
10066         * gst/elements/gstaggregator.h: Remove bogus function from header
10067         * gst/elements/gstfakesink.h: same
10068         * gst/elements/gstfakesrc.h: same
10069         * gst/elements/gstmd5sink.h: same
10070         * gst/elements/gstshaper.h: same
10071         * gst/elements/gsttee.h: same
10072         * gst/gstbin.c: doc fixes
10073         * gst/gstbin.h: Remove unused definition.
10074         * gst/gstbuffer.c: doc fixes
10075         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10076         * gst/gstfilter.c: doc fixes
10077         * gst/gsttag.c: doc fixes
10078         * gst/gstvalue.c: doc fixes
10079
10080 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10081
10082         * docs/pwg/advanced-types.xml:
10083           Document typefinding.
10084         * docs/pwg/other-oneton.xml:
10085           Document one-to-n elements, demuxers and parsers.
10086
10087 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10088
10089         reviewed by: David Schleef  <ds@schleef.org>
10090
10091         * configure.ac: Check bison version (bug #127838)
10092
10093 2004-03-25  David Schleef  <ds@schleef.org>
10094
10095         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10096         * docs/gst/gstreamer-sections.txt:
10097         * docs/gst/tmpl/gstautoplug.sgml:
10098         * docs/gst/tmpl/gststaticautoplug.sgml:
10099         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10100         * docs/gst/tmpl/gstutils.sgml:
10101         * docs/gst/tmpl/gstxml.sgml:
10102
10103 2004-03-24  David Schleef  <ds@schleef.org>
10104
10105         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10106         manual being such complete crap, that I decided to do major
10107         hacking of it.  This checkin replaces any fine tuning that
10108         may have been done previously, with the benefit of actually
10109         being complete for much of the API that was changed since
10110         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10111         * docs/gst/gstreamer-sections.txt:
10112         * docs/gst/tmpl/GstBin.sgml:
10113         * docs/gst/tmpl/GstBuffer.sgml:
10114         * docs/gst/tmpl/GstCaps.sgml:
10115         * docs/gst/tmpl/GstClock.sgml:
10116         * docs/gst/tmpl/GstCompat.sgml:
10117         * docs/gst/tmpl/GstData.sgml:
10118         * docs/gst/tmpl/GstElement.sgml:
10119         * docs/gst/tmpl/GstEvent.sgml:
10120         * docs/gst/tmpl/GstIndex.sgml:
10121         * docs/gst/tmpl/GstStructure.sgml:
10122         * docs/gst/tmpl/GstTag.sgml:
10123         * docs/gst/tmpl/cothreads.sgml:
10124         * docs/gst/tmpl/cothreads_compat.sgml:
10125         * docs/gst/tmpl/gettext.sgml:
10126         * docs/gst/tmpl/grammar.tab.sgml:
10127         * docs/gst/tmpl/gst-i18n-app.sgml:
10128         * docs/gst/tmpl/gst-i18n-lib.sgml:
10129         * docs/gst/tmpl/gst.sgml:
10130         * docs/gst/tmpl/gst_private.sgml:
10131         * docs/gst/tmpl/gstaggregator.sgml:
10132         * docs/gst/tmpl/gstarch.sgml:
10133         * docs/gst/tmpl/gstatomic.sgml:
10134         * docs/gst/tmpl/gstatomic_impl.sgml:
10135         * docs/gst/tmpl/gstbin.sgml:
10136         * docs/gst/tmpl/gstbuffer.sgml:
10137         * docs/gst/tmpl/gstbufferstore.sgml:
10138         * docs/gst/tmpl/gstcaps.sgml:
10139         * docs/gst/tmpl/gstclock.sgml:
10140         * docs/gst/tmpl/gstcompat.sgml:
10141         * docs/gst/tmpl/gstconfig.sgml:
10142         * docs/gst/tmpl/gstcpu.sgml:
10143         * docs/gst/tmpl/gstdata.sgml:
10144         * docs/gst/tmpl/gstdata_private.sgml:
10145         * docs/gst/tmpl/gstelement.sgml:
10146         * docs/gst/tmpl/gstenumtypes.sgml:
10147         * docs/gst/tmpl/gsterror.sgml:
10148         * docs/gst/tmpl/gstevent.sgml:
10149         * docs/gst/tmpl/gstfakesink.sgml:
10150         * docs/gst/tmpl/gstfakesrc.sgml:
10151         * docs/gst/tmpl/gstfilesink.sgml:
10152         * docs/gst/tmpl/gstfilter.sgml:
10153         * docs/gst/tmpl/gstindex.sgml:
10154         * docs/gst/tmpl/gstinfo.sgml:
10155         * docs/gst/tmpl/gstinterface.sgml:
10156         * docs/gst/tmpl/gstlog.sgml:
10157         * docs/gst/tmpl/gstmacros.sgml:
10158         * docs/gst/tmpl/gstmarshal.sgml:
10159         * docs/gst/tmpl/gstmd5sink.sgml:
10160         * docs/gst/tmpl/gstmultifilesrc.sgml:
10161         * docs/gst/tmpl/gstobject.sgml:
10162         * docs/gst/tmpl/gstpad.sgml:
10163         * docs/gst/tmpl/gstparse.sgml:
10164         * docs/gst/tmpl/gstpipeline.sgml:
10165         * docs/gst/tmpl/gstplugin.sgml:
10166         * docs/gst/tmpl/gstpluginfeature.sgml:
10167         * docs/gst/tmpl/gstqueue.sgml:
10168         * docs/gst/tmpl/gstreamer-unused.sgml:
10169         * docs/gst/tmpl/gstregistry.sgml:
10170         * docs/gst/tmpl/gstregistrypool.sgml:
10171         * docs/gst/tmpl/gstscheduler.sgml:
10172         * docs/gst/tmpl/gstsearchfuncs.sgml:
10173         * docs/gst/tmpl/gstshaper.sgml:
10174         * docs/gst/tmpl/gstspider.sgml:
10175         * docs/gst/tmpl/gstspideridentity.sgml:
10176         * docs/gst/tmpl/gststructure.sgml:
10177         * docs/gst/tmpl/gstsystemclock.sgml:
10178         * docs/gst/tmpl/gsttag.sgml:
10179         * docs/gst/tmpl/gsttaginterface.sgml:
10180         * docs/gst/tmpl/gsttee.sgml:
10181         * docs/gst/tmpl/gstthread.sgml:
10182         * docs/gst/tmpl/gsttrace.sgml:
10183         * docs/gst/tmpl/gsttrashstack.sgml:
10184         * docs/gst/tmpl/gsttypefind.sgml:
10185         * docs/gst/tmpl/gsttypes.sgml:
10186         * docs/gst/tmpl/gsturi.sgml:
10187         * docs/gst/tmpl/gsturitype.sgml:
10188         * docs/gst/tmpl/gstutils.sgml:
10189         * docs/gst/tmpl/gstvalue.sgml:
10190         * docs/gst/tmpl/gstversion.sgml:
10191         * docs/gst/tmpl/gstxml.sgml:
10192         * docs/gst/tmpl/gstxmlregistry.sgml:
10193         * docs/gst/tmpl/gthread-cothreads.sgml:
10194         * docs/gst/tmpl/types.sgml:
10195
10196 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10197
10198         * docs/pwg/other-sink.xml:
10199         * docs/pwg/other-source.xml:
10200           Documentation on how to write source and sink elements. Other
10201           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10202           manager, autoplugger) are all still pending.
10203
10204 2004-03-25  Benjamin Otte  <otte@gnome.org>
10205
10206         * testsuite/elements/Makefile.am:
10207         * testsuite/elements/gst-compprep-check:
10208           add check to make sure gst-compprep works
10209         * testsuite/elements/gst-inspect-check.in:
10210           improve initialization output
10211         * testsuite/Makefile.am:
10212         * testsuite/gst-inspect-check:
10213           remove old file
10214
10215 2004-03-24  David Schleef  <ds@schleef.org>
10216
10217         * testsuite/elements/Makefile.am:
10218         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10219         to the testsuite.
10220
10221 2004-03-24  Benjamin Otte  <otte@gnome.org>
10222
10223         * libs/gst/control/dparam.c: (gst_dparam_attach),
10224         (gst_dparam_detach):
10225         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10226           fix lvalue casts for real
10227
10228 2004-03-24  Benjamin Otte  <otte@gnome.org>
10229
10230         * gst/schedulers/gstbasicscheduler.c:
10231         (gst_basic_scheduler_src_wrapper):
10232         * gst/schedulers/gstoptimalscheduler.c:
10233         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10234         (pad_clear_queued), (gst_opt_scheduler_add_element),
10235         (gst_opt_scheduler_remove_element):
10236           fix GStreamer to not have issues with lvalue casts anymore (fixes
10237           #136841)
10238
10239 2004-03-24  Benjamin Otte  <otte@gnome.org>
10240
10241         * gst/gstelement.c:
10242           add documentation about a gobject quirk where the object hasn't the
10243           correct class pointer set on initialization
10244         * gst/schedulers/gstbasicscheduler.c:
10245         (gst_basic_scheduler_src_wrapper):
10246           make sure to not run into an infinite loop
10247
10248 2004-03-22  Benjamin Otte  <otte@gnome.org>
10249
10250         * gst/gstutils.c: (gst_util_dump_mem):
10251         * gst/gstutils.h:
10252           first argument of gst_util_dump_mem should be const
10253
10254 2004-03-22  Johan Dahlin  <johan@gnome.org>
10255
10256         * gst/gstvalue.h: Clean up a little bit.
10257
10258 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10259
10260         reviewed by Benjamin Otte  <otte@gnome.org>
10261
10262         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10263         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10264         (gst_aggregator_class_init), (gst_aggregator_init):
10265         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10266         (gst_filesrc_dispose), (gst_filesrc_set_location):
10267         * gst/elements/gstidentity.c: (gst_identity_finalize),
10268         (gst_identity_class_init), (gst_identity_chain):
10269         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10270         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10271         (gst_statistics_class_init):
10272         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10273         (gst_tee_get_property):
10274           clean up used memory in this elements correctly on teardown (closes
10275           #137279)
10276
10277 2004-03-20  Colin Walters  <walters@redhat.com>
10278
10279         * gst/registries/gstxmlregistry.c:
10280         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10281         registry saving atomic.
10282
10283 2004-03-20  Colin Walters  <walters@redhat.com>
10284
10285         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10286         Just use
10287         access() instead of actually creating and deleting files.
10288
10289 2004-03-18  David Schleef  <ds@schleef.org>
10290
10291         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10292         (bug #137625)
10293
10294 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * po/sv.po: updated translation (Christian Rose)
10297
10298 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10299
10300         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10301         (gst_filesink_get_query_types), (_do_init),
10302         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10303           return FALSE silently
10304         * po/af.po: updated translation (Petri Jooste)
10305
10306 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10307
10308         * Makefile.am:
10309         * configure.ac:
10310           dist common properly
10311         * po/af.po:
10312         * po/fr.po:
10313         * po/nl.po:
10314         * po/sr.po:
10315         * po/sv.po:
10316           refreshing translations
10317
10318 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * po/LINGUAS:
10321         * po/sv.po:
10322         * po/af.po:
10323           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10324
10325 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10326
10327         * Makefile.am: use common/release.mak
10328
10329 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10330
10331         * docs/faq/gst-uninstalled:
10332           adding gst-monkeysaudio to the list of possible plugin dirs
10333
10334 2004-03-16  David Schleef  <ds@schleef.org>
10335
10336         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10337         (gst_init_check_with_popt_table):  Fix some gettext strings to
10338         make them easier to translate.  Required making the strings
10339         non-const.
10340
10341 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10342
10343         * configure.ac: bump nano to 1
10344
10345 === release 0.8.0 ===
10346
10347 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10348
10349         * configure.ac: release 0.8.0, "Executive Slacks"
10350
10351 2004-03-16  Johan Dahlin  <johan@gnome.org>
10352
10353         * gst/schedulers/gstoptimalscheduler.c
10354         (gst_opt_scheduler_pad_unlink): Remove double ;,
10355         spotted by Scott Wheeler
10356
10357 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10358
10359         * configure.ac: bump libtool version
10360
10361 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10362
10363         * gst/gstcaps.h:
10364         * gst/gststructure.h:
10365           add reserved padding
10366
10367 2004-03-15  Benjamin Otte  <otte@gnome.org>
10368
10369         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10370           set the first parameter for select call correctly.
10371           (fixes #137230)
10372
10373 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10374
10375         * *.c,*.h: don't mix tabs and spaces
10376
10377 2004-03-15  Johan Dahlin  <johan@gnome.org>
10378
10379         * gst/schedulers/gstoptimalscheduler.c
10380         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10381         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10382
10383         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10384         
10385 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10386
10387         * testsuite/Rules:
10388           fix gst-register rules
10389
10390 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * testsuite/Rules:
10393           use versioned gst-register
10394
10395 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10396
10397         * docs/libs/gstreamer-libs-sections.txt:
10398           remove </SUBSECTION>
10399         * gst/gstplugin.c:
10400         * gst/gstregistry.c: (gst_registry_add_plugin):
10401         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10402         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10403           add debugging and fix some comment blocks
10404
10405 2004-03-15  Johan Dahlin  <johan@gnome.org>
10406
10407         * *.h: Revert indent changes.
10408         
10409 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10412           g_error_free the g_error
10413         * tools/gst-feedback-m.m:
10414           check for other versions of gstreamer
10415         * tools/gst-indent:
10416           use sh, not bash
10417
10418 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10419
10420         * tools/gst-register.c: do not spill paths when registries are not
10421           writable, until we fix the "user running gst-register" case.
10422
10423 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10424
10425         * *.c, *.h: commit of gst-indent run on core
10426
10427 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * tools/gst-indent:
10430         * tools/Makefile.am:
10431           add our indentation style as a script
10432
10433 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10434
10435         * po/sr.po:
10436         * po/LINGUAS:
10437           added Serbian translation
10438
10439 2004-03-13  Benjamin Otte  <otte@gnome.org>
10440
10441         * gst/gstelement.c:
10442           add documentation note about gst_element_found_tags_for_pad not
10443           being usable in getfunctions. (see #137042)
10444
10445 2004-03-12  David Schleef  <ds@schleef.org>
10446
10447         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10448         change API right now!  Readd gst_caps_is_simple() macro.
10449         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10450         uninitialized variable.  I'd bet this caused crashes.
10451         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10452
10453 2004-03-12  Johan Dahlin  <johan@gnome.org>
10454
10455         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10456         * gst/gstcaps.h: Clean up
10457
10458         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10459         _gst_caps_initalize()
10460
10461         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10462         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10463
10464         * gst/gststructure.c (gst_structure_get_type): Ditto
10465
10466         * gst/gststructure.h: Ditto
10467         
10468 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10469
10470         * gst/gstqueue.c: (gst_queue_init):
10471           Reset default max. values in queues. Reason is simply to avoid
10472           braindead use. If you want wider values, use the properties. The
10473           default is supposed to always work. Wider values would make this
10474           beast a memory hog by default (250 full-PAL RGB32 video frames?
10475           That's 440 MB! No thank you).
10476
10477 2004-03-10  David Schleef  <ds@schleef.org>
10478
10479         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10480         were found.  (bug #136793)
10481
10482 2004-03-10  Johan Dahlin  <johan@gnome.org>
10483
10484         * gst/schedulers/gstoptimalscheduler.c
10485         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10486         links to elements within the same group, so we can finally remove
10487         that annoying warning. Refactor the code a little bit
10488         (group_dec_links_for_element): Split out
10489
10490 2004-03-09  David Schleef  <ds@schleef.org>
10491
10492         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10493         (bug #134863)
10494
10495 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10496
10497         * configure.ac: first bug fix due to major/minor bump
10498
10499 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10500
10501         * configure.ac: bump nano to 1
10502
10503 === release 0.7.6 ===
10504
10505 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * NEWS:
10508         * RELEASE:
10509         * configure.ac:
10510           releasing 0.7.6, "Almost"
10511         * po/fr.po:
10512         * po/nl.po:
10513         * tools/Makefile.am:
10514         * tools/gst-feedback-m.m:
10515           unversioned source
10516
10517 2004-03-09  Johan Dahlin  <johan@gnome.org>
10518
10519         Reviewed by: Thomas Vander Stichele
10520
10521         * gst/gstelement.c (gst_element_class_init): register second
10522         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10523         language bindings can (de)marshall correctly.
10524
10525         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10526
10527         * gst/gsterror.c (gst_g_error_get_type): New function
10528
10529         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10530         with VOID:OBJECT,OBJECT,STRING 
10531
10532 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10533
10534         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10535         Free a leaked g_timer on early returns.
10536
10537 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10538
10539         * docs/pwg/advanced-types.xml:
10540           Add cinepak description.
10541
10542 2004-03-07  David Schleef  <ds@schleef.org>
10543
10544         * docs/random/mimetypes:  Added cinepak description
10545
10546 2004-03-07  Andy Wingo  <wingo@pobox.com>
10547
10548         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10549
10550         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10551         there are no links to other groups when a group is destroyed.
10552         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10553         removed from a group, make sure the link count to elements linked
10554         to other pads is appropriately decremented. This really fixes
10555         #135672.
10556
10557         The 1.60->1.61 patch has been reapplied in light of this fix.
10558
10559         * gst/gstelement.c (gst_element_dispose): Really protect against
10560         multiple invocations this time.
10561
10562 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10563
10564         * docs/gst/gstreamer-sections.txt:
10565         * docs/gst/tmpl/gsttag.sgml:
10566           remove some deprecated functions, document some existing ones
10567         * gst/gsttag.c: (gst_tag_get_flag):
10568         * gst/gsttag.h:
10569           add accessor function
10570
10571 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * docs/gst/gstreamer-sections.txt:
10574         * docs/gst/tmpl/gsttag.sgml:
10575         * docs/gst/tmpl/gstxml.sgml:
10576         * gst/gsttag.c: (gst_tag_get_flag):
10577         * gst/gsttag.h:
10578
10579 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10580
10581         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10582         leak
10583
10584 2004-03-05  David Schleef  <ds@schleef.org>
10585
10586         * REQUIREMENTS: Add bison and flex.
10587         * configure.ac: Fix comment about bison.
10588         * docs/random/ds/0.9-suggested-changes: yer ma
10589         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10590
10591 2004-03-05  Benjamin Otte  <otte@gnome.org>
10592
10593         * gst/gstelement.c: (gst_element_error_full):
10594           revert recent recursive state changing commit - messing with other
10595           elements' states is evil and should be done by apps only.
10596
10597 2004-03-05  Benjamin Otte  <otte@gnome.org>
10598
10599         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10600           check for empty intersection instead of NULL caps
10601         (gst_element_get_compatible_pad_filtered):
10602           remove old workaround that is only a bug nowadays
10603
10604 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * gst/gstelement.c: (gst_element_error_full):
10607           make elements try to recursively change state to PAUSED on all
10608           parents after an error to suppress ensuing warnings
10609         * gst/parse/grammar.y:
10610           make it check if it was able to sync the state, and throw an error
10611           if not, so stuff like
10612           oggdemux ! vorbisdec ! osssink gets caught
10613
10614 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10615
10616         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10617           it contains lib64; use AS_AC_EXPAND to handle it properly
10618
10619 2004-03-05  David Schleef  <ds@schleef.org>
10620
10621         * gst/gstcpuid_i386.s:  Remove unused code
10622         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10623         (gst_getbits_newbuf): Remove MMX code
10624         * libs/gst/getbits/getbits.h: Remove MMX code
10625
10626 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10627
10628         * debian/.cvsignore:
10629         * debian/README.Debian:
10630         * debian/changelog:
10631         * debian/control:
10632         * debian/control.in:
10633         * debian/copyright:
10634         * debian/gstreamer-core-libs-dev.files:
10635         * debian/gstreamer-core-libs.files:
10636         * debian/gstreamer-core.files:
10637         * debian/gstreamer-core.postinst:
10638         * debian/gstreamer-core.postrm:
10639         * debian/gstreamer-doc.files:
10640         * debian/gstreamer-doc.links:
10641         * debian/gstreamer-doc.lintian:
10642         * debian/gstreamer-runtime.files:
10643         * debian/gstreamer-runtime.manpages:
10644         * debian/gstreamer-runtime.postinst:
10645         * debian/gstreamer-runtime.postrm:
10646         * debian/gstreamer-tools.files:
10647         * debian/gstreamer-tools.manpages:
10648         * debian/libgstreamer-dev.files:
10649         * debian/libgstreamer0.4.1.files:
10650         * debian/libgstreamerVERSION.files:
10651         * debian/rules:
10652         Debian package info not maintained here.
10653
10654 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10657         * gst/gstbin.c: (gst_bin_class_init):
10658         * gst/gstelement.c: (gst_element_class_init):
10659         * gst/gstindex.c: (gst_index_class_init):
10660         * gst/gstobject.c: (gst_object_class_init),
10661         (gst_signal_object_class_init):
10662         * gst/gstpad.c: (gst_pad_template_class_init):
10663         * gst/gstregistry.c: (gst_registry_class_init):
10664         * gst/gsturi.c: (gst_uri_handler_base_init):
10665         * gst/gstxml.c: (gst_xml_class_init):
10666         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10667         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10668           make all signal names use dashes instead of underscore
10669
10670 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10671
10672         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10673
10674 2004-03-03  Benjamin Otte  <otte@gnome.org>
10675
10676         * gst/schedulers/gstoptimalscheduler.c:
10677           revert last commit by Andy Wingo. It causes segfaults on unreffing
10678           in Rhythmbox. (see bug #135672)
10679
10680 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10681
10682         * po/fr.po: fix typo
10683
10684 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10685
10686         * tools/gst-inspect.c: (main): 
10687         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10688
10689 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * configure.ac:
10692           get GLIB_ONLY and POPT flags for the nonversioned binaries
10693         * tools/Makefile.am:
10694           use them
10695
10696 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10697
10698         * gst/gst.c: (init_post):
10699           change so that GST_REGISTRY now is where the global registry gets
10700           saved, since that is where plugins now get attached to first, and
10701           spilled over to the user registry.  Note that in the case of using
10702           GST_REGISTRY env var, we don't want to affect any real registries
10703           beyond the one given by this var, and thus we don't set a user
10704           registry to spill to.  So make sure GST_REGISTRY is writable.
10705
10706 2004-03-01  David Schleef  <ds@schleef.org>
10707
10708         * AUTHORS:  Added some names.  Add yourself if you're missing.
10709
10710 2004-03-01  David Schleef  <ds@schleef.org>
10711
10712         * MAINTAINERS: Add
10713
10714 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10715
10716         * configure.ac:
10717           remove whitespace
10718         * docs/gst/tmpl/gstbuffer.sgml:
10719         * docs/gst/tmpl/gstdata.sgml:
10720         * docs/gst/tmpl/gstreamer-unused.sgml:
10721         * docs/gst/tmpl/gstxml.sgml:
10722           doc update
10723         * docs/manuals.mak:
10724           add a FIXME
10725         * docs/pwg/intro-preface.xml:
10726         * docs/pwg/pwg.xml:
10727           remove GNOME
10728         * gst/gst.c: (init_post):
10729           try GST_PLUGIN_PATH paths for the _global_registry first
10730         * gst/gstelement.h:
10731           add the error message as well, otherwise (null) debug info doesn't
10732           make much sense
10733         * tools/gst-register.c: (main):
10734           spill paths to next registry if this registry is not writable
10735         * po/fr.po:
10736         * po/nl.po:
10737           translation updates
10738
10739 2004-03-01  Johan Dahlin  <johan@gnome.org>
10740
10741         * gst/gstbuffer.c (_gst_buffer_initialize): 
10742         * gst/gstdata.c (gst_data_get_type): 
10743         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10744         instead of ref, since some applications that uses GBoxed
10745         routines depends on a function that actually returns a copy.
10746
10747 2004-02-27  Benjamin Otte  <otte@gnome.org>
10748
10749         * gst/gstbuffer.h:
10750           remove gst_buffer_free, use gst_data_unref
10751         * gst/gstdata.c: (gst_data_get_type):
10752           use refcounting in GstData GBoxed registration
10753         * gst/gstdata.h:
10754           remove gst_data_free, use gst_data_unref
10755
10756 2004-02-27  Johan Dahlin  <johan@gnome.org>
10757
10758         * gst/gstdata.c (gst_data_get_type): New function, register
10759         GstData as a GBoxed type.
10760
10761         * gst/gstdata.h (GST_TYPE_DATA): New macro
10762
10763 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         * Makefile.am:
10766         * gstreamer.spec.in:
10767           put back RELEASE
10768         * gst/Makefile.am:
10769           clean up non-disting of built files
10770         * testsuite/debug/commandline.c:
10771           test fix for option rename
10772
10773 2004-02-26  David Schleef  <ds@schleef.org>
10774
10775         * configure.ac:  We don't really need glib-2.3.  Also remove
10776         some unneeded checks for library functions.
10777         * gst/Makefile.am:  Instead, we need to not dist files created
10778         by glib-genmarshal.
10779
10780 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10781
10782         * configure.ac:
10783           bump glib required version to 2.3.0 for g_value_takes_boxed
10784
10785  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10786
10787         * common/m4/gst-docs.m4
10788         change flavour text from enable to disable as enable is our default
10789         closes bug Bug 135304
10790
10791 === release 0.7.5 ===
10792  
10793  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10794  
10795         * NEWS:
10796           instate NEWS file
10797         * Makefile.am:
10798         * gstreamer.spec.in:
10799         * RELEASE:
10800           put back release
10801         * configure.ac:
10802         * docs/random/release:
10803           more updates
10804
10805 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * gst/gsttag.c: (_gst_tag_initialize):
10808         * po/fr.po:
10809         * po/nl.po:
10810           remove hyphen from codec tags
10811
10812 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10813
10814         * gst/parse/Makefile.am:
10815           fix dependency so that a make from a clean build works the first
10816           time
10817
10818 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10819
10820         * docs/random/release:
10821           update release strategy
10822         * po/fr.po:
10823           auto-update po file
10824         * po/nl.po:
10825           update dutch translation
10826
10827 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10828
10829         * docs/manual/debugging.xml:
10830         fix manual for new debugging system
10831
10832 2004-02-25  Andy Wingo  <wingo@pobox.com>
10833
10834         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10835         gst_pad_link_prepare. Please email the list with specific reasons
10836         for reverting.
10837
10838 2004-02-24  Andy Wingo  <wingo@pobox.com>
10839
10840         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10841         invocations.
10842
10843         * gst/schedulers/gstoptimalscheduler.c:
10844         I added a mess of prototypes at the top of the file by way of
10845         documentation. Some of the operations on chains and groups were
10846         re-organized.
10847
10848         (create_group): Added a type argument so if the group is enabled,
10849         the setup_group_scheduler knows what to do.
10850         (group_elements): Added a type argument here, too, to be passed on
10851         to create_group.
10852         (group_element_set_enabled): If an unlinked PLAYING element is
10853         added to a bin, we have to create a new group to hold the element,
10854         and this function will be called before the group is added to the
10855         chain. Thus we have a valid case for group->chain==NULL. Instead
10856         of calling chain_group_set_enabled, just set the flag on the group
10857         (the chain's status will be set when the group is added to it).
10858         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10859         Setup the group scheduler when the group is enabled, not
10860         specifically when an element goes PAUSED->PLAYING. This means
10861         PLAYING elements can be added, linked, and scheduled into a
10862         PLAYING pipeline, as was intended.
10863         (add_to_group): Don't ref the group twice. I don't know when this
10864         double-ref got in here. Removing it has the potential to cause
10865         segfaults if other parts of the scheduler are buggy. If you find
10866         that the scheduler is segfaulting for you, put in an extra ref
10867         here and see if that hacks over the underlying issue. Of course,
10868         then find out what code is unreffing a group it doesn't own...
10869         (create_group): Make the extra refcount floating, and remove it
10870         after adding the element. This means that...
10871         (unref_group): Destroy when the refcount reaches 0, not 1, like
10872         every other refcounted object in the known universe.
10873         (remove_from_group): When a group becomes empty, set it to be not
10874         active, and remove it from its chain. Don't unref it again,
10875         there's no floating reference any more.
10876         (destroy_group): We have to remove the group from the chain in
10877         remove_from_group (rather than here) to break refcounting cycles
10878         (the chain always has a ref on the group). So assert that
10879         group->chain==NULL.
10880         (ref_group_by_count): Removed, it was commented out anyway.
10881         (merge_chains): Use the remove_from_chain and add_to_chain
10882         primitives to do the reparenting, instead of rolling our own
10883         implementation.
10884         (add_to_chain): The first non-disabled group in the chain's group
10885         list will be the entry point for the chain. Because buffers can
10886         accumulate in loop elements' peer bufpens, we preferentially
10887         schedule loop groups before get groups to avoid unnecessary
10888         execution of get-based groups when the bufpens are already full.
10889         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10890         (get_group_schedule_function): Ditto.
10891         (loop_group_schedule_function): Ditto.
10892         (gst_opt_scheduler_loop_wrapper): Ditto.
10893         (gst_opt_scheduler_iterate): Ditto.
10894
10895         I understand the opt scheduler now, yippee!
10896
10897         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10898         (gst_pad_get_name, gst_pad_set_chain_function) 
10899         (gst_pad_set_get_function, gst_pad_set_event_function) 
10900         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10901         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10902         (gst_pad_set_query_function, gst_pad_get_query_types) 
10903         (gst_pad_get_query_types_default) 
10904         (gst_pad_set_internal_link_function) 
10905         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10906         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10907         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10908         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10909         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10910         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10911         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10912         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10913         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10914         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10915         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10916         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10917         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10918         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10919         argument checks, and some doc fixes.
10920
10921         (gst_pad_custom_new_from_template): Um, does anyone
10922         use these functions? Actually make a custom pad instead of a
10923         normal one.
10924         (gst_pad_try_set_caps): Transpose some checks.
10925         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10926         the pad is in negotiation.
10927         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10928         
10929         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10930
10931         * gst/gstelement.h: 
10932         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10933         on the list.
10934
10935 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * gst/gstbin.c: (gst_bin_add):
10938           add error for not being able to add elements
10939
10940 2004-02-22  Julien MOUTTE <julien@moutte.net>
10941
10942         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10943         audio-codec and video-codec.
10944
10945 2004-02-22  Benjamin Otte  <otte@gnome.org>
10946
10947         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10948
10949         * autogen.sh:
10950           replace test -e with test -x for mkinstalldirs to be more portable.
10951           (fixes #134816)
10952
10953 2004-02-22  Benjamin Otte  <otte@gnome.org>
10954
10955         * gst/gstpad.c:
10956           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10957           too noisy
10958         * gst/gsttag.c: (_gst_tag_initialize):
10959         * gst/gsttag.h:
10960           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10961         * libs/gst/control/dparam.c: (gst_dparam_attach):
10962         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10963           check that types for attached dparams match
10964
10965 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10966
10967         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10968         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10969         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10970           fix errors
10971
10972 2004-02-20  Andy Wingo  <wingo@pobox.com>
10973
10974         * gst/gstbin.c:
10975         * gst/gstbuffer.c:
10976         * gst/gstplugin.c:
10977         * gst/registries/gstxmlregistry.c: 
10978         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10979
10980         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10981         (gst_element_add_pad): DEBUG->INFO, some fixes.
10982         (gst_element_get_compatible_pad_template): Just see if the
10983         templates' caps intersect, not if one is a strict subset of the
10984         other. This conforms more to what gst_pad_link_intersect() does.
10985         (gst_element_class_add_pad_template): Don't memcpy the pad
10986         template, just ref it.
10987         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10988
10989         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10990         (gst_pad_link_filtered): Debug changes.
10991         (gst_pad_link_prepare): New function, consolidated from
10992         can_link_filtered and link_filtered.
10993
10994         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10995         look more like that of the functions in gstelement.c
10996
10997         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10998         object, and return the empty string if object is NULL.
10999
11000         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11001         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11002         LOG, not DEBUG. We still get flex info on debug.
11003
11004         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11005         debug string more verbose.
11006         (plugin_times_older_than): DEBUG->LOG.
11007
11008 2004-02-20  Julien MOUTTE <julien@moutte.net>
11009
11010         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11011         will emit found_tag for each stream they demux with the codec.
11012
11013 2004-02-20  Benjamin Otte  <otte@gnome.org>
11014
11015         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11016           copy navigation event correctly. Check freeing tag lists. 
11017         * gst/gstthread.c: (gst_thread_change_state):
11018           don't abort() on state changing mess - it might happen because of
11019           bugs.
11020         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11021           use boxed functions
11022         * gst/gstvalue.h:
11023           fix GST_VALUE_HOLDS_CAPS
11024
11025 2004-02-19  David Schleef  <ds@schleef.org>
11026
11027         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11028         and use it for GST_FUNCTION.  (bug #134750)
11029
11030 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * po/fr.po:
11033         * po/nl.po:
11034           updating translations
11035
11036 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11037
11038         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11039
11040 2004-02-18  kost@imn.htwk-leipzig.de
11041
11042         reviewed by: David Schleef  <ds@schleef.org>
11043
11044         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11045         for libgstcontrol.
11046
11047 2004-02-18  David Schleef  <ds@schleef.org>
11048
11049         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11050         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11051         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11052         * tools/gst-inspect.c: (print_element_info): Support dumping of
11053         double dparam information.
11054
11055 2004-02-17  David Schleef  <ds@schleef.org>
11056
11057         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11058         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11059         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11060         Use GST_TYPE_CAPS in signal prototype.
11061         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11062         Convert GST_TYPE_CAPS to boxed.
11063         * gst/gstelement.c: (gst_element_class_init):
11064         Use GST_TYPE_TAG_LIST in signal prototype.
11065         * gst/gstindex.c: (gst_index_class_init):
11066         * gst/gstindex.h:
11067         Add GST_TYPE_INDEX_ENTRY type.
11068         * gst/gstmarshal.list:
11069         Add necessary marshal types.
11070         * gst/gstpad.c: (gst_real_pad_class_init),
11071         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11072         (gst_pad_recover_caps_error):
11073         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11074         * gst/gststructure.c: (_gst_structure_initialize),
11075         (gst_structure_copy), (_gst_structure_copy_conditional):
11076         * gst/gststructure.h:
11077         Convert GST_TYPE_STRUCTURE to boxed.
11078         * gst/gsttag.c: (gst_tag_list_get_type):
11079         * gst/gsttag.h:
11080         Add GST_TYPE_TAG_LIST type.
11081
11082 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11083
11084         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11085         to what we agreed with david.
11086         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11087
11088 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11089
11090         * po/nl.po: update translation
11091
11092 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11093
11094         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11095           throw an error if spider is trying to play a mime type there is
11096           no decoder for
11097         * po/POTFILES.in:
11098           add gst/autoplug/gstspider.c for translation
11099
11100 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11101
11102         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11103         silently when the pad is negotiating.
11104
11105 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11106
11107         * docs/faq/Makefile.am:
11108           add script to run gstreamer uninstalled 
11109         * docs/faq/faq.xml:
11110         * docs/faq/developing.xml:
11111         * docs/faq/gst-uninstalled:
11112           extract script to run gstreamer uninstalled
11113         * docs/manuals.mak:
11114           add EXTRA_SOURCES variable for Makefile.am's to set to
11115           use additional SOURCE files for the doc build
11116
11117 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11118
11119         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11120
11121 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11122
11123         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11124         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11125         an error was thrown by osssink. Basically a state change failure for
11126         an element in a different scheduling group was considered as
11127         successful, which means that caps nego was going on and weird stuff
11128         happened. Like I wrote in the comment there, if someone wants to
11129         revert that please drop me a mail explaining why because I really see
11130         no point in keeping that broken behaviour there.
11131         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11132         be empty, we then return NULL which will trigger a nice error when 
11133         pulling from the pad.
11134
11135 2004-02-13  David Schleef  <ds@schleef.org>
11136
11137         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11138         (gst_dparam_get_property), (gst_dparam_set_property),
11139         (gst_dparam_do_update_default):
11140         * libs/gst/control/dparam.h:
11141         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11142         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11143         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11144         (gst_dpsmooth_do_update_double):
11145         * libs/gst/control/dparam_smooth.h:
11146         * libs/gst/control/dparammanager.c:
11147         (gst_dpman_inline_direct_update):
11148         Add support for double dparams.
11149
11150 2004-02-13  David Schleef  <ds@schleef.org>
11151
11152         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11153         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11154
11155 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11156
11157         reviewed by: David Schleef  <ds@schleef.org>
11158
11159         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11160         (gst_fdsrc_init), (gst_fdsrc_set_property),
11161         (gst_fdsrc_get_property), (gst_fdsrc_get):
11162         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11163         and sends an EOS event if file descriptor reading times out.
11164
11165 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11166
11167         * configure.ac:
11168           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11169
11170 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11171
11172         * configure.ac: pass required libxml version as argument
11173         (bug reported by Christophe Fergeau)
11174
11175 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11176   
11177         * docs/gst/gstreamer-docs.sgml:
11178         * docs/gst/tmpl/gstxml.sgml:
11179         * docs/libs/gstreamer-libs-docs.sgml:
11180           version API docs
11181
11182 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11183
11184         * gst/gstinfo.c:
11185         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11186         (gst_registry_pool_feature_filter):
11187         * gst/gstthread.c: (gst_thread_class_init):
11188         * gst/gstvalue.c:
11189           add includes exposed by building without libxml
11190         * gst/indexers/Makefile.am:
11191           do not build fileindex when LOADSAVE disabled; we should have
11192           a better libxml check later since fileindex depends on xml, not
11193           LOADSAVE or REGISTRY
11194         * libs/gst/control/Makefile.am:
11195           link with m
11196         * tools/Makefile.am:
11197           fix wrong source code for gst-xmlinspect
11198
11199 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11200
11201         * configure.ac:
11202           fix gcov help output
11203           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11204         * docs/random/release:
11205           some updated releasing notes
11206         * gstreamer.spec.in:
11207           more updates
11208
11209 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11210
11211         * docs/faq/faq.xml:
11212         * docs/manual/manual.xml:
11213         * docs/pwg/pwg.xml:
11214         * docs/pwg/titlepage.xml:
11215           put version in documentation
11216
11217 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * tools/Makefile.am: fix man page installation
11220
11221 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11222
11223         * configure.ac:
11224           don't check for libxml when load/save and registry disabled (#105844)
11225         * gstreamer.spec.in:
11226           sync with fedora candidate spec
11227
11228 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11229
11230         * po/fr.po:
11231         * po/nl.po:
11232           replace multidisksrc with multifilesrc
11233
11234 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11235
11236         * po/POTFILES.in:
11237           update to multidisksrc => multifilesrc file renaming (#134145)
11238
11239 2004-02-11  David Schleef  <ds@schleef.org>
11240
11241         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11242         * docs/gst/tmpl/gstpadtemplate.sgml: same
11243         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11244         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11245         fixing dance.
11246         * gst/gstutils.c: Remove disabled code that uses GstProps.
11247         * gst/registries/gstxmlregistry.h: same
11248         * docs/random/ds/0.9-suggested-changes: random notes
11249
11250 2004-02-11  kost@imn.htwk-leipzig.de
11251
11252         reviewed by: David Schleef  <ds@schleef.org>
11253
11254         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11255         initialisation of clock (bug #134128)
11256
11257 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11258
11259         * configure.ac:
11260         * gst/elements/Makefile.am:
11261         * gst/elements/gstelements.c:
11262         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11263         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11264         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11265         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11266         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11267         * gst/elements/gstmultifilesrc.h:
11268           rename multidisksrc to multifilesrc (part of #122200)
11269
11270 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * docs/manuals.mak:
11273           fix automake complaints
11274         * gst-element-check.m4:
11275           fix unquotedness
11276
11277 2004-02-11  David Schleef  <ds@schleef.org>
11278
11279         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11280         * gst/gstatomic_impl.h: Disable sparc implementation.
11281
11282 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11283
11284         * gst-element-check.m4:
11285           fix underquoted macros as reported by automake 1.8.x (#133800)
11286         * configure.ac:
11287           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11288           by autopoint (fixes #132996)
11289
11290 2004-02-10  Andy Wingo  <wingo@pobox.com>
11291
11292         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11293         way to do inheritance.
11294         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11295         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11296         Routine docs.
11297         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11298         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11299         doc.
11300         (gst_pad_unlink, gst_pad_is_linked): Docs.
11301         (gst_pad_renegotiate): A brief description of capsnego.
11302         (gst_pad_try_set_caps): Document.
11303         (gst_pad_try_set_caps_nonfixed): Document.
11304         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11305         (gst_pad_set_parent): Deprecated (although not out of the API).
11306         (gst_pad_get_parent): Deprecated, although many plugins use this.
11307         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11308         are private and will go away in 0.9.
11309         (gst_pad_perform_negotiate): Doc.
11310         (gst_pad_link_unnegotiate): I think this is meant to be static.
11311         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11312         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11313         (gst_pad_get_peer): Doc updates.
11314         (gst_pad_caps_change_notify): Doc.
11315         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11316         (gst_ghost_pad_new): Doc fixes.
11317
11318         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11319         (gst_object_check_uniqueness): 
11320
11321         * gst/gstelement.c (gst_element_add_pad) 
11322         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11323         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11324         (gst_element_get_static_pad, gst_element_get_pad_list) 
11325         (gst_element_class_get_pad_template_list) 
11326         (gst_element_class_get_pad_template): Work on the docs.
11327         (gst_element_get_pad_template_list): Uses the class method.
11328         (gst_element_get_compatible_pad_template): Docs, and consolidate
11329         some test conditions. 
11330         (gst_element_get_pad_from_template): New static function.
11331         (gst_element_request_compatible_pad): Docs, and work with
11332         non-request compatible templates. 
11333         (gst_element_get_compatible_pad_filtered): Docs and remove
11334         redundant checks.
11335         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11336         (gst_element_link_filtered, gst_element_link_many) 
11337         (gst_element_link, gst_element_link_pads) 
11338         (gst_element_unlink_many): Docs.
11339
11340 2004-02-05  Andy Wingo  <wingo@pobox.com>
11341
11342         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11343         s/pointer/boxed/.
11344
11345         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11346
11347         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11348         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11349         with the type=GST_TYPE_CAPS. This allows language bindings to know
11350         what kind of data they're dealing with.
11351
11352         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11353         to NULL when g_value_init is called. GstCaps, which rolls its own
11354         type implementation, now does the same instead of allocating empty
11355         caps.
11356         (_gst_caps_initialize, _gst_caps_collect_value,
11357         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11358         table methods. This allows G_VALUE_COLLECT to work.
11359
11360 2004-02-05  Andy Wingo  <wingo@pobox.com>
11361
11362         * configure.ac:
11363         * testsuite/Makefile.am (SUBDIRS): 
11364         * testsuite/ghostpads/Makefile.am: 
11365         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11366
11367         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11368         These two routines are the only ones that set
11369         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11370         pad template. They should be made static, depending on ABI needs.
11371         (gst_real_pad_dispose): Handle the case of ghost pads without a
11372         parent. Assert after dealing with ghost pads that the ghost pad
11373         list is empty.
11374         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11375         set after creation.
11376         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11377         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11378         functions. set_property will call add_ghost_pad/remove_ghost_pad
11379         as appropriate.
11380         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11381
11382         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11383         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11384         (gst_element_remove_pad): Handle ghost pads as well.
11385         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11386         depending on API-stability needs).
11387
11388 2004-02-05  Andy Wingo  <wingo@pobox.com>
11389
11390         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11391         of course they're const
11392
11393 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11394
11395         * tools/Makefile.am:
11396         * tools/gst-feedback:
11397         * tools/gst-feedback-0.7:
11398           make gst-feedback versioned too for consistency
11399
11400 2004-02-11  David Schleef  <ds@schleef.org>
11401
11402         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11403         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11404
11405 2004-02-10  Julien MOUTTE <julien@moutte.net>
11406
11407         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11408         the structure does not contain a valid tag list. Adding a safety check
11409         to remove a noisy warning in that case.
11410
11411 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * gst/gst.c: fix name to be in line with others
11414
11415 2004-02-09  Julien MOUTTE <julien@moutte.net>
11416
11417         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11418         not shout that loud when len is 0. Just return 0 silently.
11419
11420 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11421
11422         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11423         because data_unref has one and I prefer the debug to be symetric.
11424         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11425         were refed when added to the queue and unrefed only once when the queue
11426         was flushed. Now the flush handler unref the buffers two times : first
11427         unref for the ref added when pushing in the queue's tail and second
11428         unref to destroy the flushed buffer.
11429
11430 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11433
11434 2004-02-06  David Schleef  <ds@schleef.org>
11435
11436         * docs/random/ds/0.9-suggested-changes: Random ramblings
11437         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11438         to int before printing.
11439         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11440         * gst/parse/parse.l: same.  See bug #129600
11441
11442 2004-02-06  David Schleef  <ds@schleef.org>
11443
11444         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11445         (gst_index_add_entry), (gst_index_add_associationv),
11446         (gst_index_add_association): Add gst_index_add_associationv()
11447         and clean up gst_index_add_association(). #127133
11448
11449 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11450
11451         * autogen.sh: check out common with right tag if CVS/Tag exists
11452
11453 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11454
11455         * testsuite/ghostpads/ghostpads.c: (main):
11456           fix testsuite from segfaulting
11457
11458 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11459
11460         * Makefile.am: add release target
11461         * configure.ac: bump nano to 1
11462         * docs/random/release:
11463
11464 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11465
11466         * gst/gstcaps.h:
11467         * gst/gstelement.c: (gst_element_base_class_init),
11468         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11469         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11470         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11471         (gst_real_pad_dispose):
11472         * gst/gststructure.c: (gst_structure_free),
11473         (gst_structure_from_string):
11474           put reverted patch back in
11475         * gst/gstelement.c: (gst_element_remove_pad):
11476           free explicit caps if they're set
11477         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11478           copy the structure when fixating
11479
11480 2004-02-05  David Schleef  <ds@schleef.org>
11481
11482         * gst/gstmarshal.list:
11483         * gst/gstpad.c: (gst_real_pad_class_init),
11484         (_gst_real_pad_fixate_accumulator):
11485         Revert POINTER->BOXED change in signal marshaller.
11486
11487 === release 0.7.4 ===
11488                                                                                 
11489 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11490                                                                                 
11491         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11492         * configure.ac: changed for release
11493
11494 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11495
11496         * gstreamer.spec.in:
11497           bump required version of gtk-doc
11498
11499 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11500
11501         * gst/gstcaps.h:
11502         * gst/gstelement.c: (gst_element_base_class_init),
11503         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11504         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11505         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11506         (gst_real_pad_dispose):
11507         * gst/gststructure.c: (gst_structure_free),
11508         (gst_structure_from_string):
11509           revert patch that breaks applications, reapply after release
11510           to get this fixed properly
11511
11512 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11513
11514         * gst/gsttag.c: (_gst_tag_initialize):
11515         * gst/gsttag.h:
11516           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11517
11518 2004-02-04  David Schleef  <ds@schleef.org>
11519
11520         Fix some memleaks:
11521         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11522         (gst_spider_plug_from_srcpad):
11523         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11524
11525 2004-02-04  David Schleef  <ds@schleef.org>
11526
11527         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11528         a GstRealPad before accessing its structure members.
11529
11530 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11531
11532         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11533         (gst_clock_get_speed):
11534         * gst/gstclock.h:
11535           reset padding, remove unused fields
11536
11537 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11538
11539         * gst/autoplug/gstspideridentity.c:
11540         (gst_spider_identity_sink_loop_type_finding):
11541           use get_allowed_caps, not get_caps (fixes #132519)
11542         * gst/elements/gsttypefind.c: (stop_typefinding):
11543           use correct order when sending buffers and seeking
11544
11545 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11546
11547         * configure.ac:
11548         * gst/gstelement.h:
11549         * gst/gstpad.h:
11550         * gst/gstqueue.h:
11551           upgrade libtool CURRENT, reset padding
11552
11553 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11554
11555         * configure.ac:
11556           bump to prerelease
11557           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11558
11559 2004-02-04  David Schleef  <ds@schleef.org>
11560
11561         * docs/random/ds/0.9-suggested-changes: random notes
11562         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11563         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11564         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11565         expansion.
11566         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11567         (gst_filesink_get_query_types): same
11568         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11569         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11570         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11571         to use new GST_PTR_FORMAT.
11572         * gst/gstelement.h: deprecate function factory macros
11573         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11574         These are our last variadic macros that can't be replaced with
11575         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11576         attempting to deprecate gst_element_clock_wait().
11577         * gst/gstevent.h: same
11578         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11579         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11580         * gst/gstpad.h: deprecate function factory macros similar to above.
11581
11582 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * configure.ac:
11585         * tools/Makefile.am:
11586         * tools/gst-run.c: (popt_callback), (hash_print_key),
11587         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11588         (get_candidates), (main):
11589           add new source file to generate non-versioned wrapper binaries
11590           for our tools.
11591
11592 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11593
11594         * gst/gstevent.c: (_gst_event_free):
11595           actually break; inside the switch statement
11596         * gst/parse/grammar.y:
11597           fix memleak where GValues weren't unset
11598
11599 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11600
11601         * gst/gststructure.c: (gst_structure_from_string):
11602           fix huge memleak
11603         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11604         (new_entry), (gst_type_find_element_chain):
11605         * gst/gstelement.c: (gst_element_base_class_init),
11606         (gst_element_class_set_details):
11607         * gst/gstpad.c: (gst_pad_can_link_filtered):
11608           fix smaller memleaks
11609         * gst/gstpad.c: (gst_real_pad_dispose):
11610           check that explicit caps are gone
11611         * gst/gststructure.c: (gst_structure_free):
11612           actually free the structure
11613         * gst/gstelement.c: (gst_element_clear_pad_caps):
11614           unset explicit caps
11615
11616 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11617
11618         * tools/Makefile.am:
11619           use AM_CFLAGS since all the CFLAGS are the same
11620           use AM_LDFAGS
11621
11622 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11623
11624         * docs/manual/gnome.xml:
11625           expand example a little
11626         * gst/gst.c: (gst_init_with_popt_table),
11627         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11628           make sure popt option displays are done with right textdomain
11629           use GstPoptOption type
11630         * gst/gst.h:
11631           create GstPoptOption type
11632
11633 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11634
11635         * gst/gsterror.c: (_gst_stream_errors_init):
11636         * gst/gsterror.h:
11637           adding error type for no codec
11638         * po/POTFILES.in:
11639           add gst-inspect
11640         * po/nl.po:
11641           update dutch translation
11642         * tools/gst-inspect.c: (print_element_list), (main):
11643           do proper internationalization
11644         * tools/gst-launch.c: (idle_func):
11645           remove commented out function call
11646
11647 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * docs/README:
11650           add some error fixing notes
11651         * docs/gst/gstreamer-sections.txt:
11652           remove double entries
11653         * docs/gst/tmpl/gstbin.sgml:
11654         * docs/gst/tmpl/gstclock.sgml:
11655           remove override
11656         * docs/gst/tmpl/gstelement.sgml:
11657         * docs/gst/tmpl/gstindex.sgml:
11658         * docs/gst/tmpl/gstobject.sgml:
11659         * docs/gst/tmpl/gstpadtemplate.sgml:
11660         * docs/gst/tmpl/gstreamer-unused.sgml:
11661         * docs/gst/tmpl/gsttag.sgml:
11662         * docs/gst/tmpl/gstthread.sgml:
11663         * docs/gst/tmpl/gstxml.sgml:
11664         * gst/gsttag.h:
11665           sync header prototypes with c decls
11666         * gst/gsttaginterface.c:
11667           fix doc headers
11668
11669 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11670
11671         * gst/parse/Makefile.am:
11672         * gst/gstobject.h:
11673           get rid of gstmarshal.h dependency. It's not needed.
11674         * gst/gst.h:
11675         * gst/elements/gstfakesink.c:
11676         * gst/elements/gstfakesrc.c:
11677         * gst/elements/gstidentity.c:
11678         * gst/gstbin.c:
11679         * gst/gstelement.c:
11680         * gst/gstindex.c:
11681         * gst/gstobject.c:
11682         * gst/gstpad.c:
11683         * gst/gstthread.c:
11684         * gst/gstxml.c:
11685         * libs/gst/control/dparam.c:
11686         * libs/gst/control/dparammanager.c:
11687           include gstmarshal.h.
11688         Fixes #132045
11689
11690 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11691
11692         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11693         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11694         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11695         * gst/elements/gstfilesrc.h:
11696           don't ref the filesrc when creating mmaped buffers. Don't keep a
11697           list of not-yet-destroyed buffers.
11698         * gst/gstbuffer.h:
11699           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11700
11701 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11702
11703         * gst/gst.c: (init_pre):
11704           remove textdomain
11705
11706 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11707
11708         * docs/pwg/advanced-events.xml:
11709         * docs/pwg/advanced-scheduling.xml:
11710         * docs/pwg/intro-basics.xml:
11711         * docs/pwg/other-manager.xml:
11712         * docs/pwg/other-nton.xml:
11713         * docs/pwg/other-ntoone.xml:
11714         * docs/pwg/other-oneton.xml:
11715         * docs/pwg/pwg.xml:
11716           All sort of documentation... Forgot what. Point is that I want this
11717           in before I leave. The 'other-*' will be the last section and will
11718           explain issues specific to these type of elements.
11719
11720 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11721
11722         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11723         (gst_filesrc_get_read):
11724           set all the values on buffers that we can
11725
11726 2004-02-02  David Schleef  <ds@schleef.org>
11727
11728         Change usage of isblah() to g_ascii_isblah() to be more locale
11729         independent.  (#133076)
11730         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11731         * gst/gstutils.c:
11732         * gst/parse/parse.l:
11733
11734 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11735
11736         reviewed by: David Schleef  <ds@schleef.org>
11737
11738         Fix memory leaks:
11739         * gst/gstcaps.c: (gst_caps_to_string):
11740         * gst/registries/gstxmlregistry.c:
11741         (gst_xml_registry_add_path_list_func),
11742         (gst_xml_registry_parse_padtemplate):
11743
11744 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11745
11746         * gst/gstelement.c: (gst_element_default_error):
11747           suffix error messages with period
11748
11749 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11750
11751         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11752         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11753         * gst/gsterror.c: (gst_error_get_message):
11754           Suffix with dots
11755         * po/fr.po:
11756         * po/nl.po:
11757           Update translation files
11758
11759 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11760
11761         * gst/autoplug/gstspideridentity.c:
11762         (gst_spider_identity_sink_loop_type_finding):
11763         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11764         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11765         (gst_filesink_close_file), (gst_filesink_handle_event),
11766         (gst_filesink_chain):
11767         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11768         (gst_filesrc_get_read), (gst_filesrc_open_file):
11769         * gst/elements/gstidentity.c: (gst_identity_chain):
11770         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11771         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11772         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11773         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11774         * gst/gsterror.c: (_gst_core_errors_init),
11775         (_gst_library_errors_init), (_gst_resource_errors_init),
11776         (_gst_stream_errors_init), (gst_error_get_message):
11777         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11778         (gst_pad_recover_caps_error), (gst_pad_pull):
11779         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11780         * gst/schedulers/gstbasicscheduler.c:
11781         (gst_basic_scheduler_chainhandler_proxy),
11782         (gst_basic_scheduler_gethandler_proxy),
11783         (gst_basic_scheduler_cothreaded_chain):
11784           Suffix error messages with period.
11785           Use (NULL) instead of NULL
11786
11787 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11788
11789         * docs/gst/tmpl/gstelement.sgml:
11790         * docs/gst/tmpl/gstxml.sgml:
11791         * gst/gstelement.c: (gst_element_error_full):
11792           add element path to error
11793
11794 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11795
11796         * docs/random/mimetypes:
11797           update raw int/float info
11798         * gst/gsttag.c: (_gst_tag_initialize):
11799         * gst/gsttag.h:
11800           add GST_TAG_ENCODER
11801
11802 2004-01-30  David Schleef  <ds@schleef.org>
11803
11804         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11805           missing (#132991)
11806
11807 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11808
11809         reviewed by Benjamin Otte 
11810           parts of the patch submitted in bug #113913
11811
11812         * configure.ac:
11813           use AC_C_INLINE. Use = instead of == with test
11814         * examples/plugins/example.c:
11815         * gst/autoplug/gstspideridentity.c:
11816         * gst/elements/gstfdsrc.c:
11817         * gst/elements/gstfilesrc.c:
11818         * gst/elements/gstidentity.c:
11819         * gst/elements/gstmultidisksrc.c:
11820         * gst/elements/gststatistics.c:
11821         * gst/gstelement.c:
11822         * gst/gstobject.c:
11823         * gst/gstpad.c:
11824         * gst/gstpipeline.c:
11825         * gst/gstthread.c:
11826           don't end enums with a comma
11827         * gst/gstindex.c: (gst_index_compare_func):
11828           do explicit casting to gint
11829         * gst/gsttrace.c: (gst_trace_text_flush):
11830           #define strsize as a macro
11831
11832 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * docs/README:
11835         * docs/gst/gstreamer-docs.sgml:
11836         * docs/gst/gstreamer-sections.txt:
11837         * docs/gst/tmpl/gstelement.sgml:
11838         * docs/gst/tmpl/gsterror.sgml:
11839         * docs/gst/tmpl/gstinterface.sgml:
11840         * docs/gst/tmpl/gstreamer-unused.sgml:
11841         * docs/gst/tmpl/gststructure.sgml:
11842         * docs/gst/tmpl/gsttag.sgml:
11843         * docs/gst/tmpl/gsttaginterface.sgml:
11844         * docs/gst/tmpl/gstvalue.sgml:
11845         make sure all API ends up in the built docs
11846         * gst/gstinterface.c:
11847         * gst/gststructure.c: (gst_structure_id_set_value),
11848         (gst_structure_set_value), (gst_structure_id_get_value):
11849         * gst/gststructure.h:
11850         * gst/gstvalue.h:
11851         sync .h with .c declarations
11852
11853 2004-01-30  Julien Moutte  <julien@moutte.net>
11854
11855         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11856         Ronald will fix riffread.
11857
11858 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11859
11860         * docs/pwg/advanced-interfaces.xml:
11861           Added tuner interface docs.
11862
11863 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11864
11865         * docs/random/mimetypes:
11866           correct Theora information
11867         * gst/gstelement.h:
11868           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11869
11870 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11871
11872         * gst/gstelement.c: (gst_element_error_full):
11873         * gst/gstelement.h:
11874           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11875
11876 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11877
11878         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11879         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11880         again and even before DISCONT.
11881         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11882         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11883         bytestream so that it's not stopping to fill the bytestream if events
11884         different than EOS or DISCONT are received. Instead it process them so
11885         that they go downstream.
11886
11887 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11888
11889         * docs/gst/tmpl/gstelement.sgml:
11890         * docs/gst/tmpl/gstreamer-unused.sgml:
11891         * docs/gst/tmpl/gstxml.sgml:
11892         * gst/autoplug/gstspideridentity.c:
11893         (gst_spider_identity_sink_loop_type_finding):
11894         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11895         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11896         (gst_filesink_close_file), (gst_filesink_handle_event),
11897         (gst_filesink_chain):
11898         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11899         (gst_filesrc_get_read), (gst_filesrc_open_file):
11900         * gst/elements/gstidentity.c: (gst_identity_chain):
11901         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11902         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11903         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11904         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11905         * gst/gstelement.h:
11906         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11907         (gst_pad_recover_caps_error), (gst_pad_pull):
11908         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11909         * gst/schedulers/gstbasicscheduler.c:
11910         (gst_basic_scheduler_chainhandler_proxy),
11911         (gst_basic_scheduler_gethandler_proxy),
11912         (gst_basic_scheduler_cothreaded_chain):
11913           gst_element_error -> GST_ELEMENT_ERROR
11914
11915 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11916
11917         * docs/Makefile.am:
11918         * docs/gst/tmpl/gstelement.sgml:
11919         * docs/gst/tmpl/gstxml.sgml:
11920         * docs/manuals.mak:
11921         * docs/pwg/advanced-request.xml:
11922         * docs/pwg/advanced-scheduling.xml:
11923         * docs/pwg/advanced-tagging.xml:
11924           fix non-validating docbook using CDATA
11925           make sure make check-local gets run first to check if it validates
11926
11927 2004-01-29  Julien MOUTTE <julien@moutte.net>
11928
11929         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11930         handling (up and downstream).
11931         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11932         my_filter thing.
11933
11934 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11935
11936         * docs/pwg/advanced-tagging.xml:
11937           Add docs about tag writing.
11938
11939 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11940
11941         * docs/pwg/advanced-tagging.xml:
11942           Add a part about tag reading and application signalling... Tag
11943           writing still needs to be documented.
11944         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11945           We can set file locations in READY, too.
11946
11947 2004-01-29  Julien MOUTTE <julien@moutte.net>
11948
11949         * docs/random/ds/element-checklist: Adding some notes about src
11950         events.
11951
11952 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11953
11954         * docs/random/mimetypes:
11955           Update docs to point to correct elements for various mimetypes, and
11956           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11957           <stephane.loeuillet@tiscali.fr>.
11958
11959 2004-01-28  David Schleef  <ds@schleef.org>
11960
11961         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11962
11963 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11964
11965         * docs/random/mimetypes:
11966           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11967           undefined"
11968         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11969           make it only work in NULL.
11970         * gst/gstcaps.c:
11971           don't posion NULL caps
11972         * gst/gstelement.c: (gst_element_set_time):
11973           add debugging statement
11974         * gst/gstelement.c: (gst_element_emit_found_tag),
11975         (gst_element_found_tag_func), (gst_element_found_tags):
11976         * gst/gstelement.h:
11977           These functions take const taglists
11978         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11979           fix memleak
11980         * gst/gstpad.c: (gst_pad_event_default):
11981           make more effort on handling discont and clocks, g_warn if everything
11982           fails
11983         * gst/gststructure.c: (gst_structure_remove_fields),
11984         (gst_structure_remove_fields_valist):
11985         * gst/gststructure.h:
11986           add gst_structure_remove_fields(_valist)
11987         * gst/gsttag.c:
11988           fix doc glitch
11989
11990 2004-01-28  David Schleef  <ds@schleef.org>
11991
11992         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11993         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11994         Fix memory leakage of gst_caps_to_string().
11995
11996         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11997         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11998         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11999         (gst_spider_identity_sink_loop_type_finding):
12000         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12001         (find_suggest):
12002         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12003         (gst_pad_set_explicit_caps):
12004         * gst/parse/grammar.y:
12005
12006 2004-01-28  David Schleef  <ds@schleef.org>
12007
12008         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12009         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12010         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12011         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12012         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12013         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12014         (gst_debug_log_default), (_gst_info_printf_extension),
12015         (_gst_info_printf_extension_arginfo):  Add printf extension.
12016         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12017         * gst/gststructure.c: (gst_structure_to_string),
12018         (_gst_structure_parse_value): Use gst_value_deserialize() and
12019         remove old code.
12020         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12021         (gst_value_deserialize_boolean), (gst_strtoi),
12022         (gst_value_deserialize_int), (gst_value_deserialize_double),
12023         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12024         a bunch of deserialize functions and gst_value_deserialize.
12025         * gst/gstvalue.h: er, _de_serialize, not unserialize
12026         * testsuite/caps/string-conversions.c: (main): We don't currently
12027         handle (float) in caps, so convert these to (double).
12028         * testsuite/debug/Makefile.am: Add new test for the printf extension
12029         * testsuite/debug/printf_extension.c: (main): same
12030
12031 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12032
12033         * docs/random/company/time:
12034           Add some docs about clocking and time
12035
12036 2004-01-28  Julien MOUTTE <julien@moutte.net>
12037
12038         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12039
12040 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12041
12042         * docs/pwg/advanced-clock.xml:
12043         * docs/pwg/advanced-dparams.xml:
12044         * docs/pwg/advanced-events.xml:
12045         * docs/pwg/advanced-interfaces.xml:
12046         * docs/pwg/advanced-midi.xml:
12047         * docs/pwg/advanced-request.xml:
12048         * docs/pwg/advanced-scheduling.xml:
12049         * docs/pwg/advanced-tagging.xml:
12050         * docs/pwg/advanced-types.xml:
12051         * docs/pwg/appendix-checklist.xml:
12052         * docs/pwg/building-boiler.xml:
12053         * docs/pwg/building-chainfn.xml:
12054         * docs/pwg/building-filterfactory.xml:
12055         * docs/pwg/building-pads.xml:
12056         * docs/pwg/building-props.xml:
12057         * docs/pwg/building-signals.xml:
12058         * docs/pwg/building-state.xml:
12059         * docs/pwg/building-testapp.xml:
12060         * docs/pwg/intro-basics.xml:
12061         * docs/pwg/intro-preface.xml:
12062         * docs/pwg/other-autoplugger.xml:
12063         * docs/pwg/other-sink.xml:
12064         * docs/pwg/other-source.xml:
12065         * docs/pwg/titlepage.xml:
12066           fix up id's
12067
12068 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12069
12070         * docs/95NonPath:
12071         * docs/HACKING:
12072         * docs/README:
12073         * docs/building-the-docs-on-debian:
12074           collect relevant bits of doc info
12075
12076 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12077
12078         * docs/pwg/advanced_tagging.xml:
12079           Half-assed commit so Thomas can re-arrange document IDs here to be
12080           consistent, too.
12081
12082 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12083
12084         * docs/manual/autoplugging.xml:
12085         * docs/manual/bins-api.xml:
12086         * docs/manual/bins.xml:
12087         * docs/manual/buffers-api.xml:
12088         * docs/manual/buffers.xml:
12089         * docs/manual/clocks.xml:
12090         * docs/manual/components.xml:
12091         * docs/manual/cothreads.xml:
12092         * docs/manual/debugging.xml:
12093         * docs/manual/dparams-app.xml:
12094         * docs/manual/dynamic.xml:
12095         * docs/manual/elements-api.xml:
12096         * docs/manual/elements.xml:
12097         * docs/manual/factories.xml:
12098         * docs/manual/gnome.xml:
12099         * docs/manual/goals.xml:
12100         * docs/manual/helloworld.xml:
12101         * docs/manual/helloworld2.xml:
12102         * docs/manual/init-api.xml:
12103         * docs/manual/intro.xml:
12104         * docs/manual/links-api.xml:
12105         * docs/manual/links.xml:
12106         * docs/manual/manual.xml:
12107         * docs/manual/motivation.xml:
12108         * docs/manual/pads-api.xml:
12109         * docs/manual/pads.xml:
12110         * docs/manual/plugins-api.xml:
12111         * docs/manual/plugins.xml:
12112         * docs/manual/programs.xml:
12113         * docs/manual/queues.xml:
12114         * docs/manual/quotes.xml:
12115         * docs/manual/schedulers.xml:
12116         * docs/manual/states-api.xml:
12117         * docs/manual/states.xml:
12118         * docs/manual/threads.xml:
12119         * docs/manual/typedetection.xml:
12120         * docs/manual/xml.xml:
12121           use chapter, part, section or misc as id starts for all bits
12122
12123 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12124
12125         * docs/gst/gstreamer-sections.txt:
12126           Fix up TITLE of the sections
12127
12128 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12129
12130         * docs/pwg/advanced_interfaces.xml:
12131           Add documentation on propertyprobing.
12132         * docs/pwg/advanced_events.xml:
12133         * docs/pwg/advanced_tagging.xml:
12134         * docs/pwg/building_boiler.xml:
12135         * docs/pwg/building_filterfactory.xml:
12136         * docs/pwg/pwg.xml:
12137           Move filterfactory and tagging into their own chapter, add a chapter
12138           on events. all these are empty placeholders that will be filled in
12139           some day.
12140
12141 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12142
12143         * docs/pwg/advanced_interfaces.xml:
12144           Docs for mixer interface. Also a check for website uploading.
12145
12146 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12147
12148         * docs/HACKING:
12149         * docs/Makefile.am:
12150         * docs/faq/Makefile.am:
12151         * docs/gst/Makefile.am:
12152         * docs/gst/tmpl/gstelement.sgml:
12153         * docs/gst/tmpl/gstplugin.sgml:
12154         * docs/gst/tmpl/gstreamer-unused.sgml:
12155         * docs/libs/Makefile.am:
12156         * docs/manual/Makefile.am:
12157         * docs/manuals.mak:
12158         * docs/pwg/Makefile.am:
12159         * docs/upload.mak:
12160           Separate out upload target and make it similar for
12161           both docbook and gtk-doc docs
12162
12163 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12164
12165         * docs/manuals.mak:
12166           Fix upload target to work with freedesktop
12167
12168 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12169
12170         * docs/pwg/advanced_types.xml:
12171           Add notes on creating your own types.
12172         * docs/pwg/building_boiler.xml:
12173         * docs/pwg/building_pads.xml:
12174         * docs/pwg/building_state.xml:
12175           Add some stuff about how to retrieve values from structures, how
12176           that relates to types and change layout slightly again to be almost
12177           perfect.
12178
12179 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12180
12181         * docs/pwg/advanced_dparams.xml:
12182         * docs/pwg/advanced_scheduling.xml:
12183           Change index layout slightly.
12184
12185 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12186
12187         * docs/pwg/advanced_clock.xml:
12188         * docs/pwg/advanced_interfaces.xml:
12189         * docs/pwg/advanced_midi.xml:
12190           General placeholders for now.
12191         * docs/pwg/advanced_request.xml:
12192           Explanation about sometimes and request pads.
12193         * docs/pwg/advanced_scheduling.xml:
12194           Concept of bytestream, loopfunctions and schedulers.
12195         * docs/pwg/building_boiler.xml:
12196           Add something about plugin-init.
12197
12198 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12199
12200         * docs/pwg/building_pads.xml:
12201           Fix broken docbook
12202
12203 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12204
12205         * docs/pwg/advanced_interfaces.xml:
12206         * docs/pwg/pwg.xml:
12207           Add as a placeholder for future filling-in.
12208         * docs/pwg/basics_autoplugging.xml:
12209         * docs/pwg/basics_buffers.xml:
12210         * docs/pwg/basics_elements.xml:
12211         * docs/pwg/basics_events.xml:
12212         * docs/pwg/basics_plugins.xml:
12213         * docs/pwg/basics_types.xml:
12214           Remove, because unused (this is all in intro_basics.xml).
12215         * docs/pwg/building_signals.xml:
12216           Short intro to signals + reference to GObject docs - we really
12217           shouldn't go into these sort of things to deply because we don't
12218           use them that extensively anyway.
12219         * docs/pwg/building_state.xml:
12220           Explanation of states. Benjamin, please check.
12221         * docs/pwg/building_testapp.xml:
12222           Put everything in one page - putting only a few lines of content
12223           per page doesn't really make sense.
12224
12225           Time to get into the advanced topics. ;).
12226
12227 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12228
12229         * docs/pwg/advanced_types.xml:
12230           Finish documenting the current state of mimetypes.
12231         * docs/pwg/building_boiler.xml:
12232         * docs/pwg/building_chainfn.xml:
12233         * docs/pwg/building_pads.xml:
12234         * docs/pwg/building_props.xml:
12235         * docs/pwg/building_testapp.xml:
12236           Start documenting the "how to build a simple audio filter" part
12237           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12238           states and (maybe?) a short introduction to capsnego in the chapter
12239           on pads (building_pads.xml). Capsnego should probably be explained
12240           fully in advanced_capsnego.xml or so.
12241
12242 2004-01-26  David Schleef  <ds@schleef.org>
12243
12244         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12245         * gst/gstpad.h: Add new function to allow element to (somewhat)
12246         specify non-fixed caps on a pad.
12247         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12248         that I added a few weeks ago.
12249
12250 2004-01-26  David Schleef  <ds@schleef.org>
12251
12252         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12253           making try_set_caps() work with non-fixed caps.
12254
12255 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12256
12257         * docs/pwg/advanced_types.xml:
12258         * docs/pwg/intro_basics.xml:
12259         * docs/pwg/intro_preface.xml:
12260         * docs/pwg/pwg.xml:
12261         * docs/pwg/titlepage.xml:
12262           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12263           in here (docs/random/mimetypes), and will from there on work on both
12264           updating outdated parts and adding missing parts.
12265           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12266
12267 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12270           policy is set
12271
12272 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12273
12274         * gst/gstelement.h:
12275           remove gst_element_factory_get_version. It doesn't exist anymore.
12276         * gst/gstplugin.c:
12277         * gst/gstplugin.h:
12278           remove gst_plugin_set_name and change gst_plugin_get_longname to
12279           gst_plugin_get_description to match code.
12280         * gst/gsterror.h:
12281           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12282         * gst/gstpad.c: (gst_pad_try_set_caps):
12283           make it work with nonfixed caps.
12284           Note that even in the nonfixed case the link function of the pad
12285           that tries to set caps isn't called.
12286
12287 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12288
12289         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12290           fix bug where buffer was not assembled correctly
12291         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12292           silence by default
12293         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12294           only seek if there's no more buffers that could work without seeking
12295
12296 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12297
12298         * gst/gsttag.c: (_gst_tag_initialize):
12299         * gst/gsttag.h:
12300           Add application tag (for encoding/muxing app).
12301
12302 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12303
12304         * autogen.sh:
12305           make autopoint force, and libtoolize not copy
12306         * common/m4/as-docbook.m4:
12307           added docbook xml catalog setup check
12308         * common/m4/gst-doc.m4:
12309           use docbook check
12310
12311 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12312
12313         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12314         * gst/gsttag.h:
12315           add GstTagFlag
12316
12317 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12318
12319         * docs/gst/gstreamer-sections.txt:
12320         * docs/gst/tmpl/gst.sgml:
12321         * docs/gst/tmpl/gstbuffer.sgml:
12322         * docs/gst/tmpl/gstclock.sgml:
12323         * docs/gst/tmpl/gstelement.sgml:
12324         * docs/gst/tmpl/gstreamer-unused.sgml:
12325         * docs/gst/tmpl/gstxml.sgml:
12326           sync latest API changes to docs
12327
12328 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12329
12330         * gst/gstpluginfeature.c:
12331           fix doc snippet
12332         * tools/gst-inspect.c: (print_element_list):
12333           fix output of typefind
12334           add GPL header
12335         * tools/gst-launch.c:
12336           add GPL header
12337
12338 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12339
12340         * gst/elements/Makefile.am:
12341         * gst/elements/gstelements.c:
12342         * gst/elements/gsttypefindelement.c:
12343         * gst/elements/gsttypefindelement.h:
12344         * po/POTFILES.in:
12345         * po/fr.po:
12346         * po/nl.po:
12347           renamed gsttypefindelement to gsttypefind, conserving CVS history
12348
12349 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12350
12351         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12352         * gst/gsttag.h:
12353           add some tags used in ogg as well
12354           fix _ in replaygain tags
12355
12356 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * gst/gsterror.h:
12359           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12360
12361 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12362
12363         * gst/gstelement.c: (gst_element_error_full):
12364         * gst/gstelement.h:
12365           change _extended to _full
12366
12367 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12368
12369         reviewed by: <delete if not using a buddy>
12370
12371         * docs/gst/tmpl/gst.sgml:
12372         * docs/gst/tmpl/gstbuffer.sgml:
12373         * docs/gst/tmpl/gstclock.sgml:
12374         * docs/gst/tmpl/gstelement.sgml:
12375         * docs/gst/tmpl/gstreamer-unused.sgml:
12376         * docs/gst/tmpl/gstxml.sgml:
12377         * gst/gstelement.c: (gst_element_error_full):
12378         * gst/gstelement.h:
12379
12380 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12381
12382         * gst/gstelement.h: fix _gst_element_error_printf prototype
12383
12384 2004-01-20  David Schleef  <ds@schleef.org>
12385
12386         * gst/gststructure.c: (gst_structure_to_string):
12387         Convert function to use gst_value_serialize().
12388         * gst/gstvalue.c: (gst_value_serialize_list),
12389         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12390         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12391         (gst_value_serialize_int), (gst_value_serialize_double),
12392         (gst_string_wrap), (gst_value_serialize_string),
12393         (gst_value_serialize), (gst_value_deserialize):
12394         * gst/gstvalue.h:
12395         Add implementations for serialize.
12396
12397 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12398
12399         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12400         we want to keep that one in the future or change xvidenc.c to use 
12401         another error.
12402
12403 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12404
12405         * gst/gstelement.c: (_gst_element_error_printf):
12406         * gst/gstelement.h:
12407           privatise function
12408
12409 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12410
12411         * docs/random/error:
12412           doc explaining error system
12413         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12414           cleanup
12415
12416 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * gst/gst-i18n-app.h:
12419         * gst/gst-i18n-lib.h:
12420           remove inclusion of config.h
12421         * po/POTFILES.in:
12422         * po/nl.po:
12423           add gst/gstelement.c
12424
12425 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12426
12427         * po/nl.po: updated Dutch translation
12428
12429 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12430
12431         * gst/gsterror.c: (_gst_core_errors_init),
12432         (_gst_library_errors_init), (_gst_resource_errors_init),
12433         (_gst_stream_errors_init):
12434         remove ending punctuation dots
12435
12436 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12437
12438         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12439         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12440         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12441         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12442         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12443         use GST_ERROR_SYSTEM
12444
12445 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12446
12447         * gst/gstelement.c: (gst_element_error_printf),
12448         (gst_element_error_extended):
12449         * gst/gstelement.h:
12450           add a helper printf function so we can have NULL values passed.
12451
12452 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12453
12454         * gst/gstelement.h:
12455           add G_STMT macros to gst_element_error, which isn't strictly
12456           necessary but people tell me to anyway.
12457
12458 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * gst/Makefile.am:
12461         * gst/autoplug/gstspideridentity.c:
12462         (gst_spider_identity_sink_loop_type_finding):
12463         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12464         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12465         (gst_filesink_close_file), (gst_filesink_handle_event),
12466         (gst_filesink_chain):
12467         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12468         (gst_filesrc_map_region), (gst_filesrc_get_read),
12469         (gst_filesrc_open_file):
12470         * gst/elements/gstidentity.c: (gst_identity_chain):
12471         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12472         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12473         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12474         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12475         * gst/gst.h:
12476         * gst/gst_private.h:
12477         * gst/gstelement.c: (gst_element_class_init),
12478         (gst_element_default_error), (gst_element_error_func),
12479         (gst_element_error_extended):
12480         * gst/gstelement.h:
12481         * gst/gsterror.c: (_gst_core_errors_init),
12482         (_gst_library_errors_init), (_gst_resource_errors_init),
12483         (_gst_stream_errors_init), (gst_error_get_message):
12484         * gst/gsterror.h:
12485         * gst/gstinfo.c: (_gst_debug_init):
12486         * gst/gstmarshal.list:
12487         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12488         (gst_pad_recover_caps_error), (gst_pad_pull):
12489         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12490         * gst/schedulers/gstbasicscheduler.c:
12491         (gst_basic_scheduler_chainhandler_proxy),
12492         (gst_basic_scheduler_gethandler_proxy),
12493         (gst_basic_scheduler_cothreaded_chain):
12494         * po/POTFILES.in:
12495         * po/fr.po:
12496         * po/nl.po:
12497           change error signal
12498           add error categories
12499
12500 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12501
12502         * gst/gsttag.c: (_gst_tag_initialize):
12503         * gst/gsttag.h:
12504         Add replaygain tag
12505
12506 2004-01-18  Colin Walters  <walters@verbum.org>
12507
12508         * examples/retag/retag.c: Call gst_init before processing
12509         program args.  Add g_assert to _link_many call.
12510
12511 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12512
12513         * gst/gstpad.c: (gst_pad_alloc_buffer):
12514           Return a newly allocated buffer when the pad has no peer.
12515
12516 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12517
12518         * gst/gstclock.c: (gst_clock_get_time):
12519           make it compile with gcc 2.95 again.
12520           Patch by Scott Wheeler
12521
12522 2004-01-15  David Schleef  <ds@schleef.org>
12523
12524         * gst/gstcaps.h:
12525         Added gst_caps_is_simple() macro.
12526         * testsuite/caps/caps.c: (test1):
12527         * testsuite/caps/intersect2.c: (main):
12528         * testsuite/caps/intersection.c: (main):
12529         Fixes to make 'make check' work again after removing
12530         gst_caps_is_chained().
12531
12532 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12533
12534         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12535         and additions to the MIDI document.
12536
12537 2004-01-15  David Schleef  <ds@schleef.org>
12538
12539         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12540         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12541         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12542
12543 2004-01-15  David Schleef  <ds@schleef.org>
12544
12545         * gst/gstqueue.c:
12546         * gst/gstqueue.h:
12547         Fix the spelling of "treshold" and make min_threshold actually
12548         affect the queue.
12549
12550 2004-01-15  David Schleef  <ds@schleef.org>
12551
12552         * gst/gstcaps.c:
12553         Add lots of documentation.
12554         * gst/gstcaps.h:
12555         Deprecate a few functions.
12556         * gst/gstpad.c:
12557         Removed use of deprecated functions.
12558
12559 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12560
12561         * gst/gstpad.c: (gst_pad_is_linked):
12562         * gst/gstpad.h:
12563           implement gst_pad_is_linked
12564         * gst/gstelement.h:
12565           reserve space for initiate_state_change
12566
12567 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12568
12569         * gst/autoplug/gstspideridentity.c:
12570         (gst_spider_identity_sink_loop_type_finding):
12571           break infinite loop by just returning instead of looping
12572         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12573           set event time difference correctly. Set it to 1 second instead
12574           of 100ms to be more tolerant
12575         * gst/gstelement.c: (gst_element_set_time):
12576           add debugging output
12577
12578 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12579
12580         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12581           query if buffers are inside the pool, ignore events
12582
12583 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12584
12585         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12586         (gst_clock_set_speed), (gst_clock_set_active),
12587         (gst_clock_is_active), (gst_clock_reset),
12588         (gst_clock_handle_discont):
12589         * gst/gstclock.h:
12590           deprecate old interface and disable functions that aren't in use
12591           anymore.
12592         * gst/gstelement.h:
12593         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12594         (gst_element_set_time), (gst_element_adjust_time):
12595           add concept of "element time" and functions to get/set this time.
12596         * gst/gstelement.c: (gst_element_change_state):
12597           update element time correctly.
12598         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12599           This is a debug message, not a g_critical.
12600         * gst/gstpad.c: (gst_pad_event_default):
12601           handle discontinuous events right with element time.
12602         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12603           update to clocking fixes.
12604           set clocks on elements in READY=>PAUSED. The old behaviour caused
12605           a wrong element time on the first element that started playing.
12606         * gst/schedulers/gstbasicscheduler.c:
12607         (gst_basic_scheduler_class_init):
12608         * gst/schedulers/gstoptimalscheduler.c:
12609         (gst_opt_scheduler_class_init):
12610           remove code that just implements the default behaviour.
12611         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12612           update to use new clocking functions
12613         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12614         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12615           update to test new element time.
12616         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12617           use _get_allowed_caps instead of _get_caps. This catches filtered
12618           caps correctly.
12619         * testsuite/debug/commandline.c:
12620           update for new GST_DEBUG syntax.
12621         * testsuite/threads/Makefile.am:
12622           disable a test that only works sometimes.
12623
12624 2004-01-13  Julien MOUTTE <julien@moutte.net>
12625
12626         * po/LINGUAS: Adding fr.
12627         * po/fr.po: Adding french translation.
12628
12629 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12630
12631         * gst/parse/grammar.y:
12632         * po/POTFILES.in:
12633         * po/nl.po:
12634         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12635           translate parsing error messages
12636
12637 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12638
12639         * po/POTFILES.in: adding gst-launch
12640         * po/nl.po: updated translation, all 99 strings translated
12641         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12642         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12643           fix strings for translation
12644
12645 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12646
12647         * gst/gst.c:
12648           - capitalize beginnings of popt options
12649           - fix strings for translation
12650           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12651
12652 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12653
12654         * po/README: add some notes on how to update translations
12655
12656 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         * ABOUT-NLS: removed, is autogenerated from autopoint
12659         * autogen.sh: add autopoint stuff
12660         * configure.ac: fix up gettext stuff
12661         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12662         * gst/elements/gsttypefindelement.c: add header include
12663         * gst/gettext.h: add header, copy from system-installed header
12664         * gst/gst-i18n-app.h: to be included by each app having translations
12665         * gst/gst-i18n-lib.h: to be included by each lib having translations
12666         * gst/gst.c: (init_pre): fix up gettext calls
12667         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12668         * po/LINGUAS: the new way to specify translations present
12669         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12670         * po/Makevars: the variables filled in for GStreamer
12671         * po/POTFILES.in: added new files with translations
12672         * po/de.po: has new strings
12673         * po/nl.po: readded, has new strings
12674
12675 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12676
12677         * gst/gsttag.c: fix some strings marked for translation
12678
12679 2004-01-13  Iain <iain@prettypeople.org>
12680
12681         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12682         group when we add an element to it, cos we unref it when we remove one
12683
12684 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * testsuite/debug/commandline.c: (debug_not_reached):
12687         * testsuite/debug/output.c: (check_message):
12688           fix testsuite
12689
12690 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12691
12692         * examples/cutter/.cvsignore:
12693         * examples/helloworld/.cvsignore:
12694         * examples/launch/.cvsignore:
12695         * examples/manual/.cvsignore:
12696         * examples/mixer/.cvsignore:
12697         * examples/pingpong/.cvsignore:
12698         * examples/plugins/.cvsignore:
12699         * examples/queue/.cvsignore:
12700         * examples/queue2/.cvsignore:
12701         * examples/queue3/.cvsignore:
12702         * examples/queue4/.cvsignore:
12703         * examples/retag/.cvsignore:
12704         * examples/thread/.cvsignore:
12705         * examples/typefind/.cvsignore:
12706         * examples/xml/.cvsignore:
12707         * gst/.cvsignore:
12708         * gst/autoplug/.cvsignore:
12709         * gst/elements/.cvsignore:
12710         * gst/indexers/.cvsignore:
12711         * gst/parse/.cvsignore:
12712         * gst/registries/.cvsignore:
12713         * gst/schedulers/.cvsignore:
12714         * libs/gst/bytestream/.cvsignore:
12715         * libs/gst/control/.cvsignore:
12716         * libs/gst/getbits/.cvsignore:
12717         * tests/.cvsignore:
12718         * tests/bufspeed/.cvsignore:
12719         * tests/instantiate/.cvsignore:
12720         * tests/memchunk/.cvsignore:
12721         * tests/muxing/.cvsignore:
12722         * tests/sched/.cvsignore:
12723         * tests/seeking/.cvsignore:
12724         * tests/threadstate/.cvsignore:
12725         * testsuite/.cvsignore:
12726         * testsuite/caps/.cvsignore:
12727         * testsuite/cleanup/.cvsignore:
12728         * testsuite/dynparams/.cvsignore:
12729         * testsuite/plugin/.cvsignore:
12730         * tools/.cvsignore:
12731           update - this is huge, because it includes *.bb, *.bbg and *.da files
12732           which are generated for gcov.
12733
12734 2004-01-11  David Schleef  <ds@schleef.org>
12735
12736         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12737         a function to parse integers in ways that strto[u]l() does not.
12738
12739 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12740
12741         * tools/gst-inspect.c: (print_caps):
12742           improve output of caps a bit
12743
12744 2004-01-11  David Schleef  <ds@schleef.org>
12745
12746         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12747         inherit correct flags (READONLY and DONTKEEP).
12748
12749 2004-01-11  David Schleef  <ds@schleef.org>
12750
12751         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12752         (gst_filesrc_map_region):
12753         * gst/gstbuffer.c: (_gst_buffer_initialize),
12754         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12755         (gst_buffer_new), (gst_buffer_create_sub),
12756         (gst_buffer_is_span_fast), (gst_buffer_span):
12757         * gst/gstbuffer.h:
12758         Change GstBuffer private structure element names. (all files)
12759         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12760         (gst_queue_link):
12761         * gst/gstqueue.h:
12762         Implement getcaps/pad_link functions that handle the case where
12763         there are data in the queue.
12764
12765 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12766
12767         * gst/elements/gstbufferstore.c:
12768           initialize debugging structure correctly
12769         * gst/elements/gsttee.c: (gst_tee_set_property):
12770           g_object_notify when property was changed
12771         * gst/elements/gsttypefindelement.c:
12772         (gst_type_find_element_change_state):
12773           clear caps correctly
12774
12775 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12776
12777         * gst/gstqueue.c: (gst_queue_init):
12778           Use better defaults for when a queue should block. This
12779           gets rid of jerky playback for quite a few files.
12780           It takes more memory.
12781
12782 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12783
12784         (gst_xml_registry_parse_padtemplate):
12785           make critical message slightly more useful
12786
12787 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12788
12789         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12790         (gst_debug_message_get), (gst_debug_log_default):
12791         * gst/gstinfo.h:
12792           Change gst_debug_log(_valist) to take a const format string.
12793           Change prototype of log function and functions using those to 
12794           take a GstDebugMessage instead of a string that requires using
12795           gst_debug_message_get.
12796
12797 2004-01-08  David Schleef  <ds@schleef.org>
12798
12799         * Makefile.am:
12800         * configure.ac:
12801         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12802         and -ftest-coverage, which allows gcov to show information about
12803         testsuite coverage.
12804
12805 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12806
12807         * gst/gstutils.h:
12808           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12809           GST_PARENT_CALL_WITH_DEFAULT
12810         * gst/elements/gstaggregator.c: 
12811         * gst/elements/gstbufferstore.c: 
12812         * gst/elements/gstfakesink.c: 
12813         * gst/elements/gstfakesrc.c: 
12814         * gst/elements/gstfdsink.c: 
12815         * gst/elements/gstfdsrc.c: 
12816         * gst/elements/gstfilesink.c: 
12817         * gst/elements/gstfilesrc.c: 
12818         * gst/elements/gstidentity.c: 
12819         * gst/elements/gstmd5sink.c: 
12820         * gst/elements/gstmultidisksrc.c:
12821         * gst/elements/gstpipefilter.c: 
12822         * gst/elements/gstshaper.c:
12823         * gst/elements/gststatistics.c:
12824         * gst/elements/gsttee.c:
12825         * gst/elements/gsttypefindelement.c:
12826           use them.
12827
12828 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12829
12830         * docs/gst/gstreamer-docs.sgml: remove props
12831         * docs/gst/gstreamer-sections.txt: remove props
12832         * docs/gst/tmpl/gst.sgml:
12833         * docs/gst/tmpl/gstbin.sgml:
12834         * docs/gst/tmpl/gstbuffer.sgml:
12835         * docs/gst/tmpl/gstcaps.sgml:
12836         * docs/gst/tmpl/gstclock.sgml:
12837         * docs/gst/tmpl/gstelement.sgml:
12838         * docs/gst/tmpl/gstindex.sgml:
12839         * docs/gst/tmpl/gstobject.sgml:
12840         * docs/gst/tmpl/gstpad.sgml:
12841         * docs/gst/tmpl/gstpadtemplate.sgml:
12842         * docs/gst/tmpl/gstreamer-unused.sgml:
12843         * docs/gst/tmpl/gstthread.sgml:
12844         * docs/gst/tmpl/gstxml.sgml:
12845           sync with code reorganization
12846
12847 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12848
12849         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12850         Make the 'Could not find compatible pad' message more informative.
12851
12852 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12853                                                                                 
12854         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12855           Fix for if we pass NULL as property to location.
12856         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12857         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12858           Fix for instantiate-test (see below).
12859         * gst/gststructure.c: (_gst_structure_parse_value):
12860           Fix compile error on gcc-2.96.
12861         * configure.ac:
12862         * tests/Makefile.am:
12863         * tests/instantiate/Makefile.am:
12864         * tests/instantiate/create.c: (create_all_elements), (main):
12865           Add a test that instantiates all elements. This makes it easy to
12866           track dead code for old API/design (like setting event functions
12867           on sink pads and so on).
12868
12869 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12870
12871         * gst/gstcaps.c: (gst_caps_append_structure):
12872           Move the poisoning to allow a NULL structure
12873         * gst/gstevent.c: (_gst_event_free):
12874           When freeing a navigation event, free the structure
12875           also
12876
12877 2004-01-04  David Schleef  <ds@schleef.org>
12878
12879         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12880         Remove usage of gst_pad_proxy_fixate.
12881         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12882         (gst_caps_split_one), (gst_caps_replace):
12883         Add poisoning code.
12884         * gst/gstmarshal.list:
12885         Add pointer__pointer for fixate signal
12886         * gst/gstpad.c: (gst_real_pad_class_init),
12887         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12888         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12889         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12890         Add poisoning code. Add fixate signal on RealPad. Change
12891         set_explicit_caps() to take const GstCaps, like try_set_caps().
12892         * gst/gstpad.h:
12893         * testsuite/caps/Makefile.am:
12894         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12895
12896 2004-01-03  David Schleef  <ds@schleef.org>
12897
12898         * gst/elements/gsttypefindelement.c:
12899         (gst_type_find_element_have_type), (gst_type_find_element_init):
12900         Use gst_pad_use_explicit_caps for src pad.
12901         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12902         before using it.
12903
12904 2004-01-03  David Schleef  <ds@schleef.org>
12905
12906         * gst/gstelement.c: (gst_element_link_pads_filtered),
12907         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12908         that linking was successful.
12909         * gst/gstpad.c: (gst_pad_link_free),
12910         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12911         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12912         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12913         GstPadLinkReturn correctly between functions, and don't fail
12914         when DELAYED is used (DELAYED is very important).  Better
12915         cleanup on unlinking and unnegotiation.  Should fix some spider
12916         bugs.
12917
12918 2004-01-02  David Schleef  <ds@schleef.org>
12919
12920         * gst/gstelement.c: (gst_element_class_init),
12921         (gst_element_base_class_init): ->padtemplates should be cleared
12922         in base_init, since we need to have a fresh list for every
12923         class.  (Alternately, we chould copy the list and share the
12924         actual pad templates (not the list), but that would require
12925         changing every plugin to move pad template registration from
12926         base_init to class_init.)
12927
12928 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12929
12930         * gst/gstelement.c: (gst_element_class_add_pad_template):
12931           Refuse registering a pad template if another pad template
12932           with the same name already exists (#114715).
12933
12934 2004-01-02  David Schleef  <ds@schleef.org>
12935
12936         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12937         (gst_caps_is_equal_fixed): Add new function.
12938         * gst/gstcaps.h: ditto.
12939         * gst/gstpad.c: (gst_real_pad_class_init),
12940         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12941         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12942         check new caps against existing caps -- if they're the same, return
12943         OK without renegotiating.  caps-nego-failed signal fixed so that
12944         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12945         to save an extra caps copy.  Don't complete negotiation if a pad
12946         link function returns DELAYED.
12947
12948 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12949
12950         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12951           Fix wrong g_return_if_fail
12952
12953 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12954
12955         * gst/gstbin.c: (gst_bin_class_init):
12956         Change the marshalling of element_added/element_removed
12957         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12958         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12959
12960 2004-01-01  David Schleef  <ds@schleef.org>
12961
12962         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12963         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12964         (gst_pad_use_explicit_caps):
12965         * gst/gstpad.h:
12966         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12967         to use an internal getcaps and link fuction so that negotiation
12968         always results in the explicitly set caps.
12969         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12970         are particularly useful for decoders.
12971
12972 2003-12-31  David Schleef  <ds@schleef.org>
12973
12974         * gst/elements/gstidentity.c: (gst_identity_class_init),
12975         (gst_identity_init), (gst_identity_chain),
12976         (gst_identity_set_property), (gst_identity_get_property):
12977         * gst/elements/gstidentity.h:
12978         * gst/gstqueue.c: (gst_queue_init):
12979           Negotiation fixes.
12980
12981 2003-12-31  David Schleef  <ds@schleef.org>
12982
12983         * gst/gstcaps.c: (gst_caps_intersect),
12984         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12985           Implement gst_caps_normalize().
12986         * testsuite/caps/normalisation.c: (main):
12987           Add an additional test
12988
12989 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12990
12991         * gst/gstqueue.c: (gst_queue_init):
12992           use gst_pad_proxy_getcaps()
12993
12994 2003-12-31  David Schleef  <ds@schleef.org>
12995
12996         * gst/elements/gstshaper.c: (gst_shaper_link):
12997         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12998         * gst/gstqueue.c: (gst_queue_link):
12999           Negotiation fixes.
13000
13001 2003-12-31  David Schleef  <ds@schleef.org>
13002
13003         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13004         * gst/gstpad.h: Add functions that are useful as default pad
13005         link and fixate functions for elements.
13006
13007 2003-12-30  David Schleef  <ds@schleef.org>
13008
13009         * gst/gstpad.c: (gst_pad_link_try):
13010           Fix segfault when attempting to return to old caps
13011
13012 2003-12-29  David Schleef  <ds@schleef.org>
13013
13014         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13015         (gst_caps_structure_simplify), (gst_caps_simplify):
13016         * gst/gstcaps.h:
13017           Add simplify function
13018         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13019         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13020         * gst/gstpad.h:
13021           Copy over srcnotify, sinknotify when calling old pad_link
13022           functions.  Add new is_negotiated() function.
13023         * gst/gststructure.c: (gst_structure_copy):
13024           Fix an incredibly stupid bug that should have been noticed
13025           weeks ago.  _copy() returned the argument, not the new copy.
13026
13027 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13028
13029         * gst/gstcaps.c: (gst_caps_append):
13030           add sanity checks
13031         * gst/gstcaps.h: (gst_caps_debug):
13032           remove, it doesn't exist anymore.
13033         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13034         (gst_element_threadsafe_properties_post_run):
13035           make debugging messages not clutter up THREAD debug category
13036         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13037         (gst_element_change_state):
13038           update to new caps API
13039         * gst/gstinterface.c: (gst_implements_interface_cast):
13040           don't put vital code in g_return_if_fail
13041         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13042         (gst_pad_link_filtered):
13043           add pst_pad_try_link and use it.
13044         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13045           implement correctly, deprecate first one.
13046         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13047           add and implement.
13048         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13049           implement.
13050         (gst_pad_get_negotiated_caps):
13051           add and implement. Make GST_PAD_CAPS call this function.
13052         (gst_pad_get_caps):
13053           remove unneeded check..
13054         (gst_pad_recover_caps_error):
13055           disable, always return FALSE.
13056         (gst_real_pad_dispose):
13057           don't free caps and appfilter anymore, they're unused.
13058         * gst/gstpad.h:
13059           Reflect changes mentioned above.
13060         * gst/gstsystemclock.c: (gst_system_clock_wait):
13061           Make 'clock is way behind' a debugging message.
13062         * gst/gstthread.c: (gst_thread_change_state):
13063           Fix debugging message
13064
13065 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13066
13067         * gst/gstinfo.h:
13068           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13069         * docs/gst/tmpl/gstreamer-unused.sgml:
13070           removed all traces of cvs conflicts
13071
13072 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13073
13074         * configure.ac:
13075         * gst/schedulers/cothreads_compat.h:
13076         * libs/Makefile.am:
13077           remove last instances of wingo cothread usage
13078
13079 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13080
13081         * gst/gstplugin.c:
13082         * gst/gstversion.h.in:
13083         * gst/parse/grammar.y:
13084           change comment block from /** to /* when not gtk-doc comments
13085
13086 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13087
13088         * gst/gst.c: whitespace and doc style fixes
13089
13090 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13091
13092         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13093
13094 2003-12-24  Colin Walters  <walters@verbum.org>
13095
13096         * gst/elements/gsttypefindelement.c:
13097           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13098           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13099           Don't double-free caps.
13100
13101 2003-12-23  David Schleef  <ds@schleef.org>
13102
13103         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13104           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13105           Many little fixes and additions of debug statements to
13106           get rhythmbox working.
13107
13108 2003-12-23  Colin Walters  <walters@verbum.org>
13109
13110         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13111         Use GST_PAD_LINK_SUCCESSFUL.
13112
13113 2003-12-23  David Schleef  <ds@schleef.org>
13114
13115         * gst/elements/gstaggregator.c:
13116         * gst/elements/gsttee.c:
13117           Use gst_pad_proxy_getcaps().
13118         * gst/gstpad.c:
13119         * gst/gstpad.h:
13120           Add gst_pad_proxy_getcaps(), which filter elements can use
13121           as a generic getcaps implementation.
13122           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13123           was advertised.
13124
13125 2003-12-23  David Schleef  <ds@schleef.org>
13126
13127         * gst/gstpad.c:
13128           Rearrange/rewrite much of the pad negotiation code, since it
13129           resembled pasta.  This actually changes the way some
13130           negotiation works, since the previous code was inconsistent
13131           depending on how it was invoked.  Add (internal) structure
13132           GstPadLink, which is used to hold some information (more in
13133           the future) about the link between two pads.  Fixes a number
13134           of bugs, including random lossage of filter caps when the
13135           initial negotiation is delayed.  A few functions are still
13136           unimplemented.
13137         * gst/gstpad.h:
13138           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13139           these when testing GstPadLinkReturn values instead of comparing
13140           directly.
13141
13142 2003-12-23  David Schleef  <ds@schleef.org>
13143
13144         * gst/gstvalue.c: 
13145         * gst/gstvalue.h:
13146           Rearrange lots of code.  Change registration of compare function
13147           into registration of compare/serialize/deserialize functions.
13148           Doesn't include implementation of gst_value_[de]serialize(),
13149           but that should be easy.
13150
13151 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * docs/gst/gstreamer-sections.txt:
13154         * docs/gst/tmpl/gstprops.sgml: removed
13155         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13156           David removed props and caps code, so let's remove their docs as well.
13157           Removed all no longer existing symbols from gstreamer-sections.txt
13158           
13159 2003-12-22  Colin Walters  <walters@verbum.org>
13160
13161         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13162           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13163           of tags directly.
13164
13165 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13166
13167         * gst/elements/gstelements.c:
13168           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13169         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13170           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13171           gst_caps (peer).
13172
13173 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13174
13175         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13176         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13177         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13178         (gst_spider_identity_sink_loop_type_finding):
13179         * gst/autoplug/gstspideridentity.h:
13180           Fix autoplugging in spider element, so it works with new caps.
13181           This was mainly caused by identifying empty caps incorrectly.
13182
13183 2003-12-22  David Schleef  <ds@schleef.org>
13184
13185         * gststructure.c, gstvalue.c, gstvalue.h: Add
13186           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13187           using g_value_copy()
13188
13189 2003-12-21  David Schleef  <ds@schleef.org>
13190
13191         * many, many files: Merge CAPS branch.  This includes:
13192           - implemention of GstValue and several GstValue types
13193           - implemention of GstStructure
13194           - entire rewrite of GstCaps
13195           - removal of GstProps
13196           - many changes to GstPad to compensate for new caps paradigm
13197           - removal of GstBufferpool
13198         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13199         gstvalue.h, gst/gstcaps[2]*.[ch]:
13200           - rename gstcaps2.[ch] to gstcaps.[ch]
13201
13202 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13203
13204         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13205         (gst_queue_chain), (gst_queue_handle_src_event):
13206           implement timeout for sending events. Workaround for if the
13207           pipeline on this queue is not passing any data.
13208
13209 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13210                                                                                 
13211         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13212         * moved CVS to freedesktop.org
13213