GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed, GstValue...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2
3         * docs/manual/advanced-autoplugging.xml:
4         * docs/manual/basics-helloworld.xml:
5         * docs/manual/basics-pads.xml:
6         * docs/random/ds/0.9-suggested-changes:
7         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8         * gst/gstelement.h:
9         * gst/gstevent.h:
10         * gst/gstformat.h:
11         * gst/gstquery.h:
12         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13         (gst_structure_parse_array), (gst_structure_parse_value):
14         * gst/gstvalue.c: (gst_type_is_fixed),
15         (gst_value_list_prepend_value), (gst_value_list_append_value),
16         (gst_value_list_get_size), (gst_value_list_get_value),
17         (gst_value_transform_array_string), (gst_value_serialize_array),
18         (gst_value_deserialize_array), (gst_value_intersect_array),
19         (gst_value_is_fixed), (_gst_value_initialize):
20         * gst/gstvalue.h:
21           GstElement::new-pad -> pad-added, GstElement::state-change ->
22           state-changed, GstValueFixedList -> GstValueArray, add format and
23           flags as their own arguments in gst_element_seek() (should improve
24           "bindeability"), remove function generators since they don't work
25           under a whole bunch of compilers (they were deprecated already
26           anyway).
27
28 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29
30         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
31         (_gst_debug_register_funcptr):
32         * gst/gstinfo.h:
33           Fix illegal cast on some platforms (#309253).
34
35 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
36
37         * gst/gstmessage.c: (gst_message_new_custom):
38         * gst/gstmessage.h:
39           Add _new_custom, make _new_application a macro to _new_custom.
40
41 2005-07-20  Wim Taymans  <wim@fluendo.com>
42
43         * gst/base/gstbasesrc.c: (gst_base_src_init),
44         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
45         * gst/base/gstbasesrc.h:
46         Add a gboolean to decide when to push out a discont.
47
48         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
49         (gst_queue_loop), (gst_queue_handle_src_query),
50         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
51         (gst_queue_set_property), (gst_queue_get_property):
52         Some cleanups.
53
54         * tests/threadstate/threadstate1.c: (main):
55         Make a thread test compile and run... very silly..
56
57
58 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
59
60         * docs/manual/appendix-porting.xml:
61           Mention removal of libgstgconf-0.9.la and existence of gconf
62           elements.
63
64 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
65
66         * docs/pwg/advanced-clock.xml:
67         * docs/pwg/appendix-porting.xml:
68         * docs/pwg/intro-preface.xml:
69         * docs/pwg/other-base.xml:
70         * docs/pwg/other-manager.xml:
71         * docs/pwg/other-nton.xml:
72         * docs/pwg/other-ntoone.xml:
73         * docs/pwg/other-oneton.xml:
74         * docs/pwg/pwg.xml:
75           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
76           demuxer), remove n-to-n (was never written), fix some code examples
77           and links and update the porting section to include all this.
78
79 2005-07-19  Wim Taymans  <wim@fluendo.com>
80
81         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
82         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
83         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
84         (gst_queue_src_activate_push), (gst_queue_change_state),
85         (gst_queue_get_property):
86         * gst/gstqueue.h:
87         Propagate GstFlowReturn more intelligently upstream and output
88         an ERROR/EOS when streaming stopped due to fatal error.
89
90 2005-07-19  Wim Taymans  <wim@fluendo.com>
91
92         * tools/gst-launch.c: (check_intr), (event_loop), (main):
93         Don't block forever for the state change to complete, the
94         pipeline already did with a sensible timeout.
95
96 2005-07-19  Wim Taymans  <wim@fluendo.com>
97
98         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
99         Make sure we never call the create function is we
100         got deactivated.
101
102 2005-07-19  Andy Wingo  <wingo@pobox.com>
103
104         * gst/parse/parse.l: Attempt to solve bug #172815.
105
106 2005-07-19  Wim Taymans  <wim@fluendo.com>
107
108         * docs/design/part-clocks.txt:
109         * docs/design/part-events.txt:
110         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
111         Small docs updates.
112         Only update the seeking values when we are not
113         busy streaming.
114
115 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
116
117         * gst/base/gstbasesrc.c: (gst_base_src_loop):
118           Oops, ignore the result of gst_pad_push_event here.
119
120 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
121
122         * gst/base/gstbasesrc.c: (gst_base_src_loop),
123         (gst_base_src_activate_push):
124           Send discont event from the loop function, as pads
125           aren't activated yet in the activate_push handler.
126
127         * gst/gstbin.c: (bin_bus_handler):
128           Don't leak element name.
129
130 2005-07-18  Andy Wingo  <wingo@pobox.com>
131
132         * configure.ac: Use AS_LIBTOOL_TAGS.
133
134 2005-07-18  Wim Taymans  <wim@fluendo.com>
135
136         * docs/gst/gstreamer.types:
137         Remove deleted types.
138
139 2005-07-18  Wim Taymans  <wim@fluendo.com>
140
141         * check/elements/gstfakesrc.c: (GST_START_TEST):
142         * configure.ac:
143         * gst/Makefile.am:
144         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
145         (init_popt_callback):
146         * gst/gst.h:
147         * gst/gst_private.h:
148         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
149         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
150         * gst/gstbin.h:
151         * gst/gstbus.h:
152         * gst/gstconfig.h.in:
153         * gst/gstelement.c: (gst_element_class_init),
154         (gst_element_set_base_time), (gst_element_get_base_time),
155         (iterator_fold_with_resync), (gst_element_change_state),
156         (gst_element_dispose), (gst_element_get_bus):
157         * gst/gstelement.h:
158         * gst/gstelementfactory.h:
159         * gst/gsterror.c: (_gst_core_errors_init):
160         * gst/gsterror.h:
161         * gst/gstevent.h:
162         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
163         * gst/gstindex.c:
164         * gst/gstinfo.c: (_gst_debug_init):
165         * gst/gstmessage.c: (_gst_message_copy):
166         * gst/gstmessage.h:
167         * gst/gstminiobject.h:
168         * gst/gstobject.c:
169         * gst/gstobject.h:
170         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
171         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
172         * gst/gstpad.h:
173         * gst/gstparse.h:
174         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
175         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
176         (gst_pipeline_get_last_stream_time):
177         * gst/gstpipeline.h:
178         * gst/gstpluginfeature.h:
179         * gst/gstquery.h:
180         * gst/gstscheduler.c:
181         * gst/gstscheduler.h:
182         * gst/gststructure.h:
183         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
184         (gst_task_finalize), (gst_task_func), (gst_task_create),
185         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
186         (gst_task_stop), (gst_task_pause):
187         * gst/gsttask.h:
188         * gst/gsttypefind.h:
189         * gst/gsttypes.h:
190         * gst/registries/gstlibxmlregistry.c: (load_feature),
191         (gst_xml_registry_load), (gst_xml_registry_save_feature):
192         * gst/registries/gstxmlregistry.c:
193         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
194         * gst/schedulers/threadscheduler.c:
195         * libs/gst/control/dparammanager.h:
196         * tools/gst-inspect.c: (print_element_list),
197         (print_plugin_features), (print_element_features):
198         * tools/gst-xmlinspect.c: (print_element_list),
199         (print_plugin_info), (main):
200         Removed plugable schedulers.
201         Removed Scheduler/Manager from elements.
202         Removed gsttypes.h, rearranged includes.
203         Removed dependency pad<->element, element<>pipeline, and
204         various others,  fix includes.
205         implement gst_pad_get_parent() with gst_object_get_parent()
206         Make GstTask sefcontained.
207         Fix _get_state() on GstBin, it did not return ASYNC with a 0
208         timeout.
209         Fix endless loop in iterator_fold_with_resync.
210
211
212 2005-07-18  Wim Taymans  <wim@fluendo.com>
213
214         * gst/Makefile.am:
215         * gst/gstarch.h:
216         Remove old file.
217
218 2005-07-18  Wim Taymans  <wim@fluendo.com>
219
220         * gst/Makefile.am:
221         No more cothreads.h
222
223 2005-07-18  Wim Taymans  <wim@fluendo.com>
224
225         * gst/cothreads.c:
226         * gst/cothreads.h:
227         Let's remove these.
228
229 2005-07-18  Wim Taymans  <wim@fluendo.com>
230
231         * docs/design/part-dynamic.txt:
232         * docs/design/part-events.txt:
233         * docs/design/part-seeking.txt:
234         Some more docs in the works.
235
236         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
237         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
238         (gst_base_transform_setcaps), (gst_base_transform_get_size),
239         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
240         (gst_base_transform_handle_buffer),
241         (gst_base_transform_sink_activate_push),
242         (gst_base_transform_src_activate_pull),
243         (gst_base_transform_set_passthrough),
244         (gst_base_transform_is_passthrough):
245         Refcounting fixes.
246
247         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
248         Cleanups.
249
250         * gst/gstevent.c: (gst_event_finalize):
251         Set SRC to NULL.
252
253         * gst/gstutils.c: (gst_element_unlink),
254         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
255         (gst_pad_proxy_setcaps):
256         * gst/gstutils.h:
257         Add _get_parent_element() to get a pads parent as an element.
258
259 2005-07-18  Wim Taymans  <wim@fluendo.com>
260
261         * check/gst/gstbin.c: (GST_START_TEST):
262         Remove bogus test.
263
264 2005-07-18  Wim Taymans  <wim@fluendo.com>
265
266         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
267         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
268         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
269         (gst_base_sink_event), (gst_base_sink_do_sync),
270         (gst_base_sink_chain), (gst_base_sink_loop),
271         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
272         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
273         Refcounting fixes.
274         Fix logic for returning ASYNC when not prerolled.
275
276 2005-07-18  Wim Taymans  <wim@fluendo.com>
277
278         * gst/gstqueue.c: (gst_queue_handle_sink_event):
279         Fix nasty refcount bug.
280
281 2005-07-16 Philippe Khalaf <burger@speedy.org>
282         * gst/elements/gstfdsrc.c:
283         * gst/elements/gstfdsrc.h:
284         * gst/elements/gstelements.c:
285         * gst/elements/Makefile.am:
286         Ported fdsrc to 0.9.
287
288 2005-07-16  Wim Taymans  <wim@fluendo.com>
289
290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
291         (gst_base_sink_do_sync):
292         Fix compile error.
293
294 2005-07-16  Wim Taymans  <wim@fluendo.com>
295
296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
297         (gst_base_sink_event), (gst_base_sink_get_times),
298         (gst_base_sink_do_sync), (gst_base_sink_change_state):
299         * gst/base/gstbasesink.h:
300         Store and use discont values when syncing buffers as described
301         in design docs.
302         
303         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
304         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
305         (gst_base_src_activate_push):
306         Push discont event when starting.
307
308         * gst/elements/gstidentity.c: (gst_identity_transform):
309         Small cleanups.
310
311         * gst/gstbin.c: (gst_bin_change_state):
312         Small cleanups in base_time  distribution.
313
314         * gst/gstelement.c: (gst_element_set_base_time),
315         (gst_element_get_base_time), (gst_element_change_state):
316         * gst/gstelement.h:
317         Added methods for the base_time of the element.
318         Some MT fixes.
319
320         * gst/gstpipeline.c: (gst_pipeline_send_event),
321         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
322         (gst_pipeline_get_last_stream_time):
323         * gst/gstpipeline.h:
324         MT fixes.
325         Handle seeking as described in design doc, remove stream_time
326         hack.
327         Cleanups clock and stream_time selection code. Added accessors
328         for the stream_time.
329         
330
331 2005-07-16  Andy Wingo  <wingo@pobox.com>
332
333         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
334         (#305291).
335
336 2005-07-16  Wim Taymans  <wim@fluendo.com>
337
338         * check/gst/gstbin.c: (GST_START_TEST):
339         Make elements silent as the deep_notify refs the
340         parent, which might make the test fail.
341
342         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
343         Don't hold the lock for too long.
344
345 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
346
347         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
348           Don't unref the caps we passed to gst_caps_make_writable() after
349           passing them. gst_caps_make_writable() will do that for us.
350
351 2005-07-15  Andy Wingo  <wingo@pobox.com>
352
353         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
354         (#157311).
355
356         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
357         own marshalling function for the handoff signal. Properly type the
358         buffer as a buffer. Fixes some warnings. Should do a more general
359         solution.
360         (gst_identity_class_init): Plug into the right marshaller.
361
362 2005-07-15  Wim Taymans  <wim@fluendo.com>
363
364         * docs/design/part-TODO.txt:
365         * docs/design/part-clocks.txt:
366         * docs/design/part-element-sink.txt:
367         * docs/design/part-events.txt:
368         * docs/design/part-gstpipeline.txt:
369         Updated docs, mostly DISCONT related.
370
371 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
372
373         * docs/pwg/building-pads.xml:
374           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
375
376 2005-07-15  Andy Wingo  <wingo@pobox.com>
377
378         * tools/gst-typefind.c: Update, add copyright block.
379
380         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
381         Normalize and truncate caps before fixation.
382
383         * gst/gstcaps.h:
384         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
385         discards all but the first structure from its argument.
386
387 2005-07-15  Wim Taymans  <wim@fluendo.com>
388
389         * gst/base/gstbasetransform.c: (gst_base_transform_init),
390         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
391         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
392         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
393         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
394         (gst_base_transform_chain), (gst_base_transform_change_state),
395         (gst_base_transform_set_passthrough),
396         (gst_base_transform_is_passthrough):
397         * gst/base/gstbasetransform.h:
398         Make passthrough work using the bufferpools.
399         Changed API a bit, subclasses have to write into a buffer
400         provided by the base class.
401         More debug info in nego functions.
402         
403         * gst/elements/gstidentity.c: (gst_identity_init),
404         (gst_identity_transform):
405         Port to new base class.
406
407 2005-07-15  Wim Taymans  <wim@fluendo.com>
408
409         * gst/gstmessage.c: (gst_message_new_state_changed):
410         * tools/gst-launch.c: (event_loop), (main):
411         Totally dump messages in -launch with the -m option.
412         Fix message name for State messages,
413
414 2005-07-14  Wim Taymans  <wim@fluendo.com>
415
416         * gst/base/gstbasesrc.c: (gst_base_src_loop):
417         Post error messages on errors.
418
419 2005-07-14  Wim Taymans  <wim@fluendo.com>
420
421         * gst/gstcaps.c: (gst_caps_do_simplify):
422         Remove debug info.
423
424         * gst/gsterror.h:
425         Define error for stream stopped.
426
427         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
428         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
429         Do proper return values.
430
431         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
432         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
433         (gst_pad_get_range):
434         Better return values.
435
436         * gst/gstpad.h:
437         Reorganise return values, add macro to check for fatal errors.
438
439         * gst/gstqueue.c: (gst_queue_chain):
440         Return proper GstFlowReturn values,
441
442 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
443
444         * docs/gst/gstreamer-sections.txt:
445         * docs/gst/gstreamer.types:
446         * docs/gst/tmpl/gst.sgml:
447         * docs/gst/tmpl/gstbasesink.sgml:
448         * docs/gst/tmpl/gstbasesrc.sgml:
449         * docs/gst/tmpl/gstbasetransform.sgml:
450         * docs/gst/tmpl/gstbin.sgml:
451         * docs/gst/tmpl/gstbuffer.sgml:
452         * docs/gst/tmpl/gstcaps.sgml:
453         * docs/gst/tmpl/gstclock.sgml:
454         * docs/gst/tmpl/gstcompat.sgml:
455         * docs/gst/tmpl/gstconfig.sgml:
456         * docs/gst/tmpl/gstelement.sgml:
457         * docs/gst/tmpl/gstelementdetails.sgml:
458         * docs/gst/tmpl/gstelementfactory.sgml:
459         * docs/gst/tmpl/gstenumtypes.sgml:
460         * docs/gst/tmpl/gsterror.sgml:
461         * docs/gst/tmpl/gstevent.sgml:
462         * docs/gst/tmpl/gstfakesink.sgml:
463         * docs/gst/tmpl/gstfakesrc.sgml:
464         * docs/gst/tmpl/gstfilesink.sgml:
465         * docs/gst/tmpl/gstfilesrc.sgml:
466         * docs/gst/tmpl/gstfilter.sgml:
467         * docs/gst/tmpl/gstformat.sgml:
468         * docs/gst/tmpl/gstghostpad.sgml:
469         * docs/gst/tmpl/gstimplementsinterface.sgml:
470         * docs/gst/tmpl/gstindex.sgml:
471         * docs/gst/tmpl/gstindexfactory.sgml:
472         * docs/gst/tmpl/gstinfo.sgml:
473         * docs/gst/tmpl/gstiterator.sgml:
474         * docs/gst/tmpl/gstmacros.sgml:
475         * docs/gst/tmpl/gstmemchunk.sgml:
476         * docs/gst/tmpl/gstminiobject.sgml:
477         * docs/gst/tmpl/gstobject.sgml:
478         * docs/gst/tmpl/gstpad.sgml:
479         * docs/gst/tmpl/gstpadtemplate.sgml:
480         * docs/gst/tmpl/gstparse.sgml:
481         * docs/gst/tmpl/gstpipeline.sgml:
482         * docs/gst/tmpl/gstplugin.sgml:
483         * docs/gst/tmpl/gstpluginfeature.sgml:
484         * docs/gst/tmpl/gstquery.sgml:
485         * docs/gst/tmpl/gstqueue.sgml:
486         * docs/gst/tmpl/gstregistry.sgml:
487         * docs/gst/tmpl/gstregistrypool.sgml:
488         * docs/gst/tmpl/gstscheduler.sgml:
489         * docs/gst/tmpl/gstschedulerfactory.sgml:
490         * docs/gst/tmpl/gststructure.sgml:
491         * docs/gst/tmpl/gstsystemclock.sgml:
492         * docs/gst/tmpl/gsttaglist.sgml:
493         * docs/gst/tmpl/gsttagsetter.sgml:
494         * docs/gst/tmpl/gsttrace.sgml:
495         * docs/gst/tmpl/gsttrashstack.sgml:
496         * docs/gst/tmpl/gsttypefind.sgml:
497         * docs/gst/tmpl/gsttypefindfactory.sgml:
498         * docs/gst/tmpl/gsttypes.sgml:
499         * docs/gst/tmpl/gsturihandler.sgml:
500         * docs/gst/tmpl/gsturitype.sgml:
501         * docs/gst/tmpl/gstutils.sgml:
502         * docs/gst/tmpl/gstvalue.sgml:
503         * docs/gst/tmpl/gstversion.sgml:
504         * docs/gst/tmpl/gstxml.sgml:
505         * docs/libs/tmpl/gstcontrol.sgml:
506         * docs/libs/tmpl/gstdataprotocol.sgml:
507         * docs/libs/tmpl/gstdparam.sgml:
508         * docs/libs/tmpl/gstdplinint.sgml:
509         * docs/libs/tmpl/gstdpman.sgml:
510         * docs/libs/tmpl/gstdpsmooth.sgml:
511         * docs/libs/tmpl/gstgetbits.sgml:
512         * docs/libs/tmpl/gstunitconvert.sgml:
513         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
514         (gst_push_src_base_init), (gst_push_src_class_init),
515         (gst_push_src_init), (gst_push_src_create):
516         * gst/base/gstpushsrc.h:
517         * gst/elements/gstelements.c:
518         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
519         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
520         (gst_fake_sink_init), (gst_fake_sink_set_property),
521         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
522         (gst_fake_sink_event), (gst_fake_sink_preroll),
523         (gst_fake_sink_render), (gst_fake_sink_change_state):
524         * gst/elements/gstfakesink.h:
525         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
526         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
527         (gst_fake_src_base_init), (gst_fake_src_class_init),
528         (gst_fake_src_init), (gst_fake_src_event_handler),
529         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
530         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
531         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
532         (gst_fake_src_create_buffer), (gst_fake_src_create),
533         (gst_fake_src_start), (gst_fake_src_stop):
534         * gst/elements/gstfakesrc.h:
535         * gst/elements/gstfilesink.c: (_do_init),
536         (gst_file_sink_base_init), (gst_file_sink_class_init),
537         (gst_file_sink_init), (gst_file_sink_dispose),
538         (gst_file_sink_set_location), (gst_file_sink_set_property),
539         (gst_file_sink_get_property), (gst_file_sink_open_file),
540         (gst_file_sink_close_file), (gst_file_sink_query),
541         (gst_file_sink_event), (gst_file_sink_render),
542         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
543         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
544         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
545         * gst/elements/gstfilesink.h:
546         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
547         (gst_file_src_class_init), (gst_file_src_init),
548         (gst_file_src_finalize), (gst_file_src_set_location),
549         (gst_file_src_set_property), (gst_file_src_get_property),
550         (gst_file_src_map_region), (gst_file_src_map_small_region),
551         (gst_file_src_create_mmap), (gst_file_src_create_read),
552         (gst_file_src_create), (gst_file_src_is_seekable),
553         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
554         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
555         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
556         (gst_file_src_uri_handler_init):
557         * gst/elements/gstfilesrc.h:
558           more autistic cleanliness in functions/names/defines
559
560 2005-07-13  Andy Wingo  <wingo@pobox.com>
561
562         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
563         source couldn't negotiate.
564
565         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
566         connections again.
567
568         * gst/gstutils.h:
569         * gst/gstutils.c (gst_element_link_pads_filtered): New old
570         function. I am channeling Hades. Put your boots on suckers!!!
571
572 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
573
574         * testsuite/caps/Makefile.am:
575         * testsuite/caps/value_compare.c:
576         * testsuite/caps/value_intersect.c:
577         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
578           move two testsuite apps over to the check dir
579
580 2005-07-12  Wim Taymans  <wim@fluendo.com>
581
582         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
583         Added more debug info in the negotiate process.
584
585         * gst/gstmessage.h:
586         Prepare for segment playback.
587
588         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
589         Better debugging.
590
591         * gst/gstutils.c:
592         Some more docs.
593
594         * tools/gst-launch.c: (main):
595         NULL pipeline on errors.
596
597 2005-07-12  Andy Wingo  <wingo@pobox.com>
598
599         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
600         not it comes from a malloc region. Make sure our copy gets freed.
601
602 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
603
604         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
605         * check/gst/gstmessage.c: (GST_START_TEST):
606         * check/gst/gststructure.c: (GST_START_TEST),
607         (gst_structure_suite), (main):
608           more testing
609         * gst/gstelement.c: (gst_element_message_full):
610           clean up GError and debug string now that they get copied
611         * gst/gstmessage.c: (gst_message_new_error),
612         (gst_message_new_warning), (gst_message_parse_error),
613         (gst_message_parse_warning):
614           use GST_TYPE_G_ERROR for structure_new, and take copies of
615           arguments, so that we don't mess up refcounting
616
617 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
618
619         * check/Makefile.am:
620           add per-test valgrind targets
621         * check/gst-libs/gdp.c: (GST_START_TEST),
622         (gst_data_protocol_suite), (main):
623           clean up
624
625 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * check/Makefile.am:
628           instate more valgrindable tests
629         * check/elements/gstfakesrc.c: (chain_func), (event_func),
630         (GST_START_TEST), (fakesrc_suite):
631         * check/gst/gstpad.c: (GST_START_TEST):
632         * check/gst/gststructure.c: (GST_START_TEST):
633           fix test leaks
634         * docs/gst/tmpl/gstminiobject.sgml:
635         * gst/gstpad.c: (gst_pad_finalize):
636           fix the static mutex leak
637
638 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
639
640         * check/Makefile.am:
641           add two more tests for valgrinding
642         * check/gst/gstvalue.c: (GST_START_TEST):
643           test refcount of deserialized buffer, found a leak
644         * docs/gst/gstreamer-docs.sgml:
645         * docs/gst/gstreamer-sections.txt:
646         * docs/gst/gstreamer.types:
647         * docs/gst/tmpl/gstminiobject.sgml:
648           add miniobject to docs
649         * gst/gstminiobject.c:
650           add some docs
651         * gst/gstvalue.c: (gst_value_deserialize_buffer),
652         (gst_string_unwrap):
653           fix a hard-to-find invalid write for one of the tests
654           fix a leak for deserialized buffers
655
656 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
657
658         * docs/pwg/advanced-events.xml:
659         * docs/pwg/advanced-request.xml:
660         * docs/pwg/advanced-scheduling.xml:
661         * docs/pwg/appendix-porting.xml:
662         * docs/pwg/building-boiler.xml:
663         * docs/pwg/intro-preface.xml:
664         * docs/pwg/other-ntoone.xml:
665           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
666           of example code and explanation for pad activation, loop() and
667           getrange() functions and a bit more. Remove old comments pointing
668           to loop-functions.
669         * examples/pwg/Makefile.am:
670           Add loop/getrange examples.
671
672 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
673
674         * configure.ac:
675           check for valgrind binary + some fixes
676         * check/gst.supp:
677           valgrind suppressions for the tests
678         * check/Makefile.am:
679           add a valgrind: target that valgrinds the unit tests
680         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
681         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
682         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
683         * check/gst/gstghostpad.c:
684           added some cleanup
685         * check/gst/gstdata.c:
686           removed
687         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
688         (thread_unref), (gst_mini_object_suite), (main):
689           added
690         * gst/gst.c: (gst_deinit):
691         * gst/gst.h:
692           add a method to clean up.
693         * gst/gstsystemclock.c: (gst_system_clock_dispose),
694         (gst_system_clock_obtain):
695           allow for disposing the system clock.
696         * tools/gst-launch.c: (main):
697           deinit
698
699 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
700
701         * docs/gst/tmpl/gstbasesrc.sgml:
702         * docs/gst/tmpl/gstfakesrc.sgml:
703         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
704         (gst_base_src_init), (gst_base_src_set_property),
705         (gst_base_src_get_property), (gst_base_src_get_range),
706         (gst_base_src_start):
707         * gst/base/gstbasesrc.h:
708           add num-buffers property
709         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
710         (gst_fakesrc_init), (gst_fakesrc_set_property),
711         (gst_fakesrc_get_property), (gst_fakesrc_create),
712         (gst_fakesrc_start):
713           remove num-buffers property
714
715 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * docs/gst/gstreamer-sections.txt:
718         * docs/gst/tmpl/gstbasesink.sgml:
719         * docs/gst/tmpl/gstbasesrc.sgml:
720         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
721         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
722         (gst_base_sink_finalize), (gst_base_sink_set_clock),
723         (gst_base_sink_set_property), (gst_base_sink_get_property),
724         (gst_base_sink_handle_object), (gst_base_sink_event),
725         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
726         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
727         (gst_base_sink_loop), (gst_base_sink_deactivate),
728         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
729         (gst_base_sink_change_state):
730         * gst/base/gstbasesink.h:
731         * gst/base/gstbasesrc.h:
732         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
733         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
734         (gst_filesink_init):
735           more macro splitting
736
737 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
738
739         * gst/gstelement.c: (gst_element_get_bus):
740           add debug
741         * tools/gst-launch.c: (check_intr), (event_loop):
742           fix bus leaks
743
744 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
745
746         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
747           fix a caps leak
748
749 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
750
751         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
752         (gst_base_src_finalize):
753           add finalize method and clean up properly
754         * gst/gstpipeline.c: (gst_pipeline_dispose):
755           add debug
756
757 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
758
759         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
760         (gst_bin_suite):
761           add more things to check
762         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
763         * gst/gstelement.c:
764           more debug
765
766 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
767
768         * check/elements/gstfakesrc.c: (chain_func), (event_func),
769         (GST_START_TEST), (fakesrc_suite):
770         * check/gst-libs/gdp.c: (GST_START_TEST):
771         * check/gst/gst.c: (GST_START_TEST):
772         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
773         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
774         * check/gst/gstbus.c: (GST_START_TEST):
775         * check/gst/gstcaps.c: (GST_START_TEST):
776         * check/gst/gstdata.c: (GST_START_TEST):
777         * check/gst/gstelement.c: (GST_START_TEST):
778         * check/gst/gstghostpad.c: (GST_START_TEST):
779         * check/gst/gstiterator.c: (GST_START_TEST):
780         * check/gst/gstmessage.c: (GST_START_TEST):
781         * check/gst/gstobject.c: (GST_START_TEST):
782         * check/gst/gstpad.c: (GST_START_TEST):
783         * check/gst/gststructure.c: (GST_START_TEST):
784         * check/gst/gstsystemclock.c: (GST_START_TEST),
785         (gst_systemclock_suite):
786         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
787         * check/gst/gstvalue.c: (GST_START_TEST):
788         * check/pipelines/cleanup.c: (GST_START_TEST):
789         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
790         * check/states/sinks.c: (GST_START_TEST):
791         * check/gstcheck.c: (gst_check_init):
792         * check/gstcheck.h:
793           add debugging category
794           use GST_START_TEST now, so we add a debug line
795
796 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
797
798         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
799           add test for state change message on a bin
800         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
801           add another test
802         * gst/gstbin.c: (gst_bin_init):
803         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
804         * gst/gstelement.c: (gst_element_post_message),
805         (gst_element_set_state):
806         * gst/gstelementfactory.c: (gst_element_factory_create):
807         * gst/gstmessage.c: (gst_message_new):
808         * gst/gstscheduler.c:
809           various debugging additions and cleanups
810
811 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * check/Makefile.am:
814         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
815         (main):
816           adding tests for elements
817         * gst/gstelement.c: (gst_element_dispose):
818
819 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
820
821         * gst/registries/gstlibxmlregistry.c: (load_feature):
822           plug more leaks.  A simple gst_init() now is leakfree, yay.
823
824 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
825
826         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
827         (gst_xml_registry_load):
828           plug another memleak
829
830 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
831
832         * configure.ac:
833           use GST_SET_ERROR_CFLAGS
834         * docs/faq/cvs.xml:
835           change to ERROR_CFLAGS
836
837 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
838
839         * configure.ac:
840           make GST_ERROR_CFLAGS overridable and re-enable Werror
841         * docs/faq/cvs.xml:
842           add a note about error CFLAGS
843         * docs/gst/tmpl/gstfakesrc.sgml:
844         * gst/elements/gstfakesrc.c:
845           comment out some unused code
846         * gst/gst.c: (split_and_iterate):
847         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
848         (load_feature):
849           plug some memleaks
850
851 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
852
853         * common/Makefile.am:
854         * common/gtk-doc.mak:
855         * docs/gst/Makefile.am:
856           factor out gtk-doc.mak
857
858 2005-07-07  Wim Taymans  <wim@fluendo.com>
859
860         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
861         (gst_thread_scheduler_dispose):
862         Unlock the STREAM_LOCK completely.
863
864 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
865
866         * check/Makefile.am:
867         * check/elements/.cvsignore:
868         * check/elements/gstfakesrc.c: (chain_func), (event_func),
869         (START_TEST), (fakesrc_suite), (main):
870         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
871         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
872         (gst_fakesrc_create), (gst_fakesrc_start):
873         * gst/elements/gstfakesrc.h:
874           adding a first element test
875
876 2005-07-07  Andy Wingo  <wingo@pobox.com>
877
878         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
879         debug message.
880
881 2005-07-07  Wim Taymans  <wim@fluendo.com>
882
883         * gst/gstquery.c:
884         * gst/gstquery.h:
885         Remove old types
886
887 2005-07-07  Wim Taymans  <wim@fluendo.com>
888
889         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
890         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
891         Allow subclasses to implement their own negotiation.
892
893 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
894
895         * docs/design/part-gstbin.txt:
896         * docs/design/part-gstpipeline.txt:
897           Update design notes to reflect the movement of
898           responsibility for bus handling from GstPipeline to
899           GstBin
900
901 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
902
903         * configure.ac:
904           Remove unnecessary queue2/3/4 examples.
905
906 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
907
908         * examples/Makefile.am:
909         * examples/helloworld/helloworld.c: (event_loop), (main):
910         * examples/queue/queue.c: (event_loop), (main):
911         * examples/queue2/queue2.c: (main):
912           Update a couple of the examples to work again.
913
914         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
915         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
916          Spelling corrections and extra debug.
917         
918         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
919         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
920         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
921         * gst/gstbin.h:
922         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
923         (gst_pipeline_change_state):
924         * gst/gstpipeline.h:
925           Move the bus handler for children to the GstBin, and create a
926           separate bus for receiving messages from children to the one the
927           bus sends 'upwards' on.
928
929 2005-07-06  Wim Taymans  <wim@fluendo.com>
930
931         * gst/base/README:
932         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
933         (gst_base_sink_handle_object), (gst_base_sink_loop),
934         (gst_base_sink_change_state):
935         * gst/base/gstbasesink.h:
936         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
937         (gst_base_src_init), (gst_base_src_setcaps),
938         (gst_base_src_getcaps), (gst_base_src_loop),
939         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
940         (gst_base_src_start), (gst_base_src_change_state):
941         * gst/base/gstbasesrc.h:
942         Make basesrc negotiate.
943         Handle the case where preroll fails in basesink.
944         Update README.
945
946 2005-07-06  Wim Taymans  <wim@fluendo.com>
947
948         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
949         Implement the fixate function.
950         Clean up acceptcaps.
951
952 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
953
954         * docs/pwg/building-filterfactory.xml:
955         * docs/pwg/pwg.xml:
956           Remove never-written filter-factory chapter; I'll add the various
957           base classes to part 4 ("other element types") later on.
958
959 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
960
961         * docs/pwg/advanced-negotiation.xml:
962         * docs/pwg/building-boiler.xml:
963         * docs/pwg/building-pads.xml:
964         * docs/pwg/pwg.xml:
965         * examples/pwg/Makefile.am:
966           Add a chapter on caps negotiation, simplify the original code
967           samples a bit w.r.t. caps negotiation, add link to the advanced
968           section. Add a bunch of examples showing different use cases of
969           different types of caps negotiation. Upstream renegotiation isn't
970           fully documented yet since nobody knows how that works.
971
972 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         * check/gst/gstpad.c:
975         * check/gstcheck.c:
976         * gst/gstpad.c: (gst_pad_get_internal_links_default):
977           if pad has no parent, return NULL as list of internal links
978
979 2005-07-05  Andy Wingo  <wingo@pobox.com>
980
981         * gst/elements/gstfilesrc.c:
982         * gst/elements/gstfakesrc.c: 
983         * gst/base/gstpushsrc.c:
984         * gst/base/gstbasesrc.h: 
985         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
986         
987 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
988
989         * Makefile.am:
990           better report generation target (lcov needs a patch)
991
992 2005-07-05  Andy Wingo  <wingo@pobox.com>
993
994         * gst/elements, testsuite: Null if we got it...
995
996 2005-07-05  Wim Taymans  <wim@fluendo.com>
997
998         * configure.ac:
999         * libs/gst/dataprotocol/Makefile.am:
1000         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1001         * libs/gst/dataprotocol/dataprotocol.h:
1002         * pkgconfig/Makefile.am:
1003         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1004         * pkgconfig/gstreamer-dataprotocol.pc.in:
1005         Ported dataprotol to 0.9. 
1006         Added pkgconfig files.
1007
1008 2005-07-05  Andy Wingo  <wingo@pobox.com>
1009
1010         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1011         Default to returning TRUE for the case when tranform_caps returns
1012         a fixed caps, like for identity or volume.
1013
1014         * check/gst/gstbus.c (pound_bus_with_messages): 
1015         * check/gst/gstmessage.c (START_TEST): 
1016         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1017         message API change.
1018
1019         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1020         logic weaks here: always run transform_caps, trying passthrough
1021         operation only if the original caps intersects with the transform.
1022
1023         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1024         source and sink caps.
1025
1026         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1027         Intersect the peer caps with the pad template before going into
1028         transform_caps.
1029         (gst_base_transform_transform_caps): More debugging.
1030
1031         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1032         src argument.
1033
1034 2005-07-04  Edward Hervey  <edward@fluendo.com>
1035
1036         * gst/gstutils.c:
1037         * gst/gstutils.h:
1038         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1039         in bindings.
1040
1041 2005-07-04  Andy Wingo  <wingo@pobox.com>
1042
1043         * check/gst/gstpad.c: Only set explicit caps on pads.
1044
1045 2005-07-01  Andy Wingo  <wingo@pobox.com>
1046
1047         * tests/network-clock.scm: Commentary update.
1048
1049         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1050         Didn't really make sense, not implementable with basetransform,
1051         etc.
1052         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1053         attempt at implementing the sync property, needs an unlock method.
1054
1055         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1056         New func, by default returns the same caps (the identity
1057         transformation).
1058         (gst_base_transform_getcaps): Uses transform_caps to return
1059         something sensible.
1060         (gst_base_transform_setcaps): Complicated logic to get caps on
1061         both pads, even if they are different, and to call set_caps once
1062         for every time both pads get their caps set.
1063         (gst_base_transform_handle_buffer): Give the ref to the transform
1064         function. Allows in-place modification of the buffer.
1065
1066         * gst/base/gstbasetransform.h (transform_caps): New class method.
1067         Given caps on one side, what can I do on the other.
1068         (set_caps): Take two caps, one for each side of the element.
1069
1070         * gst/gstpad.h:
1071         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1072         caps in place. This is safe because we can check the mutability of
1073         the caps, and a good idea because fixate functions are just called
1074         as a matter of last resort. (Not actually implemented.)
1075         (gst_pad_set_caps): If the caps we're setting is actually the same
1076         as the existing pad caps, just update the pointer without calling
1077         setcaps. Assert that caps is either NULL or fixed, as per the
1078         docs.
1079
1080         * gst/gstghostpad.c: Update for fixate changes.
1081
1082 2005-07-02  Andy Wingo  <wingo@pobox.com>
1083
1084         * gst/gstcaps.c:
1085         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1086         two refcounts makes it immutable, which is enough. Doc more.
1087
1088 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1089
1090         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1091           Put the mini_object into GValue as a mini_object,
1092           not a gpointer, since that's how we declared
1093           the signal.
1094
1095 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1096
1097         * examples/pwg/Makefile.am:
1098           Fix buildbot again.
1099
1100 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1101
1102         * docs/pwg/building-testapp.xml:
1103           Add extra check.
1104         * examples/pwg/Makefile.am:
1105           Fix buildbot.
1106
1107 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1108
1109         * configure.ac:
1110         * examples/Makefile.am:
1111         * examples/pwg/Makefile.am:
1112         * examples/pwg/extract.pl:
1113           Enable building the PWG examples.
1114         * docs/pwg/advanced-interfaces.xml:
1115           Add URI interface stub.
1116         * docs/pwg/advanced-types.xml:
1117         * docs/pwg/other-autoplugger.xml:
1118         * docs/pwg/appendix-porting.xml:
1119         * docs/pwg/pwg.xml:
1120           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1121         * docs/pwg/building-boiler.xml:
1122         * docs/pwg/building-chainfn.xml:
1123         * docs/pwg/building-pads.xml:
1124         * docs/pwg/building-props.xml:
1125         * docs/pwg/building-state.xml:
1126         * docs/pwg/building-testapp.xml:
1127           Update the building-*.xml parts for 0.9 changes. All examples
1128           code blocks compile in examples/pwg/*.
1129
1130 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1131
1132         * docs/manual/advanced-autoplugging.xml:
1133         * docs/manual/appendix-checklist.xml:
1134         * docs/manual/appendix-integration.xml:
1135         * docs/manual/highlevel-components.xml:
1136           Fix playbin/decodebin examples, update docs a bit, mention bus
1137           instead of signals in various places, mention kmplayer and
1138           kaffeine since they have a working GStreamer backend in the KDE
1139           section.
1140
1141 2005-06-30  Wim Taymans  <wim@fluendo.com>
1142
1143         * CHANGES-0.9:
1144         * docs/design/draft-ghostpads.txt:
1145         * docs/design/draft-push-pull.txt:
1146         * docs/design/draft-query.txt:
1147         * docs/design/part-TODO.txt:
1148         * docs/design/part-query.txt:
1149         Added CHANGES-0.9 doc, updated status of other docs.
1150         
1151         * gst/gstquery.h:
1152         Remove "hmm" macro
1153
1154 2005-06-30  Wim Taymans  <wim@fluendo.com>
1155
1156         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1157         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1158         (gst_base_sink_change_state):
1159         * gst/base/gstbasesink.h:
1160         Some tweaks, only EOS and a buffer complete a preroll.
1161
1162 2005-06-30  Andy Wingo  <wingo@pobox.com>
1163
1164         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1165         activate_push down to the internal pad as well.
1166
1167 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1168
1169         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1170
1171         * gst/gsttaginterface.c:
1172           Some documentation fixes (#307394 and #307397).
1173
1174 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1175
1176         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1177
1178         * gst/gstvalue.c: (gst_value_intersect_list):
1179           Fix memleak (#309125).
1180
1181 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1182
1183         * docs/manual/advanced-dataaccess.xml:
1184           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1185         * docs/manual/basics-pads.xml:
1186           Add reference for filtered caps to above chapter.
1187
1188 2005-06-30  Wim Taymans  <wim@fluendo.com>
1189
1190         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1191         (gst_bin_change_state):
1192         Probes are gone.
1193         Lame attempt at making the state change function a bit
1194         more readable.
1195
1196 2005-06-30  Wim Taymans  <wim@fluendo.com>
1197
1198         * docs/design/part-clocks.txt:
1199         * docs/design/part-element-sink.txt:
1200         * docs/design/part-events.txt:
1201         * docs/design/part-preroll.txt:
1202         * docs/design/part-states.txt:
1203         Some more tweeks and additions to the docs.
1204
1205 2005-06-30  Wim Taymans  <wim@fluendo.com>
1206
1207         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1208         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1209         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1210         (gst_pad_check_pull_range), (gst_pad_get_range),
1211         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1212         * gst/gstpad.h:
1213         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1214         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1215         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1216         (gst_pad_remove_buffer_probe):
1217         Removed atomic operations, use existing LOCK.
1218         Move exception handling out of main code path.
1219
1220 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1221
1222         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1223         (silly_return_true_function), (gst_pad_class_init),
1224         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1225         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1226         (gst_pad_send_event):
1227           Fix accumulator, add default value by using _emitv() instead
1228           of _emit() for signal emission.
1229
1230 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1231
1232         * docs/manual/advanced-dataaccess.xml:
1233         * examples/manual/Makefile.am:
1234           Add probe example.
1235         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1236           Make work (??).
1237
1238 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1239
1240         * gst/elements/gstfilesink.c: (gst_filesink_render):
1241           Simplify code so that we don't have to handle short
1242           writes and return GST_FLOW_ERROR if an error occured.
1243
1244 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1245
1246         * docs/gst/gstreamer-docs.sgml:
1247           Remove probes more.
1248
1249 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1250
1251         * docs/gst/gstreamer-sections.txt:
1252         * docs/gst/tmpl/gstpad.sgml:
1253         * docs/gst/tmpl/gstprobe.sgml:
1254         * gst/Makefile.am:
1255         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1256         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1257         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1258         (gst_pad_push_event), (gst_pad_send_event):
1259         * gst/gstpad.h:
1260         * gst/gstutils.c: (gst_pad_add_data_probe),
1261         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1262         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1263         (gst_pad_remove_buffer_probe):
1264         * gst/gstutils.h:
1265           Remove old probes, add new g-signal-based probes and some utility
1266           functions.
1267
1268 2005-06-29  Edward Hervey  <edward@fluendo.com>
1269
1270         * gst/gstelementfactory.c:
1271         * gst/gstutils.h:
1272         * gst/gstutils.c:
1273         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1274         the definition to the header file.
1275
1276 2005-06-29  Andy Wingo  <wingo@pobox.com>
1277
1278         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1279         plugins from the source directory.
1280
1281 2005-06-29  Wim Taymans  <wim@fluendo.com>
1282
1283         * docs/gst/tmpl/gstbuffer.sgml:
1284         * docs/gst/tmpl/gstclock.sgml:
1285         Some fixings for blantently wrong text.
1286
1287 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1288
1289         * check/Makefile.am:
1290         * gst/gst.c: (add_path_func), (init_pre):
1291         * gst/gstregistry.c: (gst_registry_add_path):
1292           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1293           only scan the GST_PLUGIN_PATH locations, and not add
1294           system locations
1295
1296 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1297
1298         * docs/gst/gstreamer-sections.txt:
1299         * docs/gst/tmpl/gstbasesrc.sgml:
1300         * gst/gstelement.c:
1301         * gst/gstelement.h:
1302         * gst/gstevent.c:
1303         * gst/gstutils.c:
1304           doc fixes
1305
1306 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1307
1308         * docs/manual/advanced-autoplugging.xml:
1309           Fix autoplugging example.
1310
1311 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1312
1313         * docs/manual/advanced-autoplugging.xml:
1314         * docs/manual/mime-world.fig:
1315           Try to get autoplugging working, fix type detection. Fix text
1316           in hello-world image.
1317
1318 2005-06-29  Wim Taymans  <wim@fluendo.com>
1319
1320         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1321         (gst_base_sink_change_state):
1322         Small debug line.
1323
1324         * gst/gstclock.h:
1325         map SIGNAL and BROADCAST to the right function.
1326
1327         * gst/gstobject.h:
1328         Remove redundant braces.
1329
1330         * gst/gstpad.c: (gst_pad_set_caps):
1331         Don't call setcaps function when reseting caps to NULL.
1332
1333         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1334         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1335         (gst_system_clock_id_unschedule):
1336         Use BROADCAST as this is what we do.
1337
1338 2005-06-29  Wim Taymans  <wim@fluendo.com>
1339
1340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1341         We are actually prerolling before commiting the state
1342         change. 
1343
1344 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1345
1346         * docs/manual/advanced-clocks.xml:
1347         * docs/manual/advanced-interfaces.xml:
1348         * docs/manual/advanced-metadata.xml:
1349         * docs/manual/advanced-position.xml:
1350         * docs/manual/advanced-schedulers.xml:
1351         * docs/manual/advanced-threads.xml:
1352         * docs/manual/appendix-porting.xml:
1353         * docs/manual/basics-bins.xml:
1354         * docs/manual/basics-bus.xml:
1355         * docs/manual/basics-elements.xml:
1356         * docs/manual/basics-helloworld.xml:
1357         * docs/manual/basics-pads.xml:
1358         * docs/manual/highlevel-components.xml:
1359         * docs/manual/manual.xml:
1360         * docs/manual/thread.fig:
1361           Update (until threads/scheduling) Application Development Manual;
1362           remove GstThread, add GstBus, add simple porting checklist, add
1363           documentation for tag writing, clocks, make all examples until this
1364           part compile and run.
1365         * examples/manual/Makefile.am:
1366           Update from changes to Application Development Manual; add bus
1367           example, remove thread example.
1368
1369 2005-06-28  Wim Taymans  <wim@fluendo.com>
1370
1371         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1372         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1373         (gst_bus_source_dispatch):
1374         Add debugging messages.
1375         Make internal methods static.
1376         Handle the case where the bus is flushed in the handler.
1377         
1378         * gst/gstelement.c: (gst_element_get_bus):
1379         Fix refcount in _get_bus();
1380
1381         * gst/gstpipeline.c: (gst_pipeline_change_state),
1382         (gst_pipeline_get_clock_func):
1383         Clock refcounting fixes.
1384         Handle the case where preroll timed out more gracefully.
1385         
1386         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1387         Clean up the internal thread in dispose. This is needed
1388         for subclasses that actually get disposed.
1389         
1390         * gst/schedulers/threadscheduler.c:
1391         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1392         (gst_thread_scheduler_dispose):
1393         Free thread pool in dispose.
1394
1395 2005-06-28  Andy Wingo  <wingo@pobox.com>
1396
1397         * tests/network-clock-utils.scm (debug, print-event): New utils.
1398
1399         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1400         (*packet-loss*): Unified loss probability.
1401         (network-time): Report out-of-band events.
1402
1403         * tests/plot-data: Add support for out-of-band events. Hack it
1404         into this script instead of passing it down the pipe; should fix
1405         this later.
1406
1407 2005-06-28  Wim Taymans  <wim@fluendo.com>
1408
1409         * docs/gst/gstreamer.types:
1410         * docs/gst/tmpl/gstbasesrc.sgml:
1411         * docs/gst/tmpl/gstpad.sgml:
1412         Docs fixes.
1413
1414 2005-06-28  Wim Taymans  <wim@fluendo.com>
1415
1416         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1417         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1418         (gst_proxy_pad_do_fixatecaps):
1419         Correctly proxy the check_pull_range function.
1420
1421 2005-06-28  Andy Wingo  <wingo@pobox.com>
1422
1423         * tests/network-clock.scm: Removed need for slib.
1424         
1425 2005-06-28  Wim Taymans  <wim@fluendo.com>
1426
1427         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1428         (gst_basesink_preroll_queue_flush):
1429         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1430         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1431         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1432         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1433         (gst_proxy_pad_set_property):
1434         * gst/gstpad.c:
1435         * gst/gstpad.h:
1436         * gst/gstqueue.c: (gst_queue_init):
1437         The deprecated pad loop function is removed now.
1438
1439 2005-06-28  Andy Wingo  <wingo@pobox.com>
1440
1441         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1442         New parameters, simulate network packet loss.
1443
1444         * tests/network-clock-utils.scm: Initialize the RNG.
1445
1446 2005-06-28  Wim Taymans  <wim@fluendo.com>
1447
1448         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1449         (gst_basesink_event), (gst_basesink_deactivate):
1450         Flushing the preroll queue always needs to unlock the waiters.
1451
1452 2005-06-28  Edward Hervey  <edward@fluendo.com>
1453
1454         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1455         Wheen a seek was successful on a pipeline, set the stream_time to the
1456         seek offset in order to have a synchronized stream_time.
1457
1458 2005-06-28  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1461         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1462         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1463         (gst_proxy_pad_do_fixatecaps):
1464         Call wrapper function instead of just calling the function
1465         pointers. This takes care of any locking and whatmore.
1466
1467 2005-06-28  Wim Taymans  <wim@fluendo.com>
1468
1469         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1470         (gst_pad_pull_range):
1471         * gst/gstpad.h:
1472         CONNECTED -> LINKED.
1473
1474 2005-06-28  Andy Wingo  <wingo@pobox.com>
1475
1476         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1477         source-munging commit!!!
1478
1479         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1480         (gst_object_sink): Take gpointer arguments, not GstObject --
1481         avoids casts. Like GLib.
1482
1483         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1484         activate.
1485
1486 2005-06-27  Andy Wingo  <wingo@pobox.com>
1487
1488         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1489         remaining buffer.
1490
1491         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1492         returns a sorted copy of the trace list.
1493         (gst_alloc_trace_print_live): New API, only prints traces with
1494         live objects. Sort the list.
1495         (gst_alloc_trace_print_all): Sort the list.
1496         (gst_alloc_trace_print): Align columns.
1497
1498         * gst/elements/gstttypefindelement.c:
1499         * gst/elements/gsttee.c:
1500         * gst/base/gstbasesrc.c:
1501         * gst/base/gstbasesink.c:
1502         * gst/base/gstbasetransform.c:
1503         * gst/gstqueue.c: Adapt for pad activation changes.
1504
1505         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1506         sched.
1507         (gst_pipeline_dispose): Drop ref on sched.
1508
1509         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1510         (gst_pad_activate_default): Push mode by default.
1511         (pre_activate_switch, post_activate_switch): New stubs, things to
1512         do before and after switching activation modes on pads.
1513         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1514         the pad's activate function to choose which mode to activate.
1515         Shortcut on deactivation and call the right function directly.
1516         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1517         mode.
1518         (gst_pad_activate_push): New API, same for push mode.
1519         (gst_pad_set_activate_function) 
1520         (gst_pad_set_activatepull_function) 
1521         (gst_pad_set_activatepush_function): Setters for new API.
1522
1523         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1524         Trace all miniobjects.
1525         (gst_mini_object_make_writable): Unref the arg if we copy, like
1526         gst_caps_make_writable.
1527
1528         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1529
1530         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1531         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1532         Adapt for new pad API.
1533
1534         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1535
1536         * gst/gstelement.h:
1537         * gst/gstelement.c (gst_element_iterate_src_pads) 
1538         (gst_element_iterate_sink_pads): New API functions.
1539         
1540         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1541         should fold into gstiterator.c in some form.
1542         (gst_element_pads_activate): Simplified via use of fold and
1543         delegation of decisions to gstpad->activate.
1544
1545         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1546         help in debugging.
1547
1548         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1549         class once in init, like gstmessage. Didn't run into this issue
1550         but it seems correct. Don't initialize a trace, gstminiobject does
1551         that.
1552
1553         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1554         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1555         to the bus.
1556         (assert_live_count): New util function, uses alloc traces to check
1557         cleanup.
1558
1559         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1560         To be modified when unlink drops the internal pad.
1561
1562 2005-06-27  Wim Taymans  <wim@fluendo.com>
1563
1564         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1565         (gst_bin_change_state):
1566         Cleanup the get_state() function a little, make sure it
1567         iterates the same set of elements.
1568         Added stub iterate_state_order().
1569
1570 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1571
1572         * docs/gst/gstreamer-docs.sgml:
1573         * docs/gst/gstreamer-sections.txt:
1574         * docs/gst/gstreamer.types:
1575         * docs/gst/tmpl/gstbasesink.sgml:
1576         * docs/gst/tmpl/gstbasesrc.sgml:
1577         * docs/gst/tmpl/gstbasetransform.sgml:
1578         * docs/gst/tmpl/gstelement.sgml:
1579         * docs/gst/tmpl/gstiterator.sgml:
1580         * gst/base/gstbasesrc.c:
1581         * gst/base/gstbasesrc.h:
1582         * gst/base/gstbasetransform.h:
1583         * gst/gstelement.c:
1584         * gst/gstiterator.h:
1585           adding basetransform and iterator docs
1586
1587 2005-06-27  Andy Wingo  <wingo@pobox.com>
1588
1589         * docs/design/part-activation.txt: Notes on how activation should
1590         work -- not quite implemented yet.
1591
1592 2005-06-25  Wim Taymans  <wim@fluendo.com>
1593
1594         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1595         At least get the chain function correct, needs more
1596         fixing.
1597
1598 2005-06-25  Wim Taymans  <wim@fluendo.com>
1599
1600         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1601         (gst_basesink_handle_object), (gst_basesink_event),
1602         (gst_basesink_do_sync), (gst_basesink_handle_event),
1603         (gst_basesink_change_state):
1604         * gst/gsttask.h:
1605         Right, two problems here: ghostpads don't take locks and
1606         glib _rec_mutex_lock_full() with depth==0 still locks.
1607         Catch illegal locking and g_warn them.
1608
1609 2005-06-25  Wim Taymans  <wim@fluendo.com>
1610
1611         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1612         Have to check for completion now...
1613
1614 2005-06-25  Wim Taymans  <wim@fluendo.com>
1615
1616         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1617         (gst_basesink_handle_object), (gst_basesink_event),
1618         (gst_basesink_do_sync), (gst_basesink_handle_event),
1619         (gst_basesink_change_state):
1620         * gst/gstpad.h:
1621         Unlock STREAM_LOCK whatever the recursion was.
1622
1623 2005-06-25  Wim Taymans  <wim@fluendo.com>
1624
1625         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1626         (gst_basesink_preroll_queue_empty),
1627         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1628         (gst_basesink_event), (gst_basesink_do_sync),
1629         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1630         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1631         (gst_basesink_change_state):
1632         Reworked the base sink, handle event and buffer serialisation
1633         correctly and removed possible deadlock.
1634         Handle EOS correctly.
1635
1636 2005-06-25  Wim Taymans  <wim@fluendo.com>
1637
1638         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1639         (gst_pipeline_change_state):
1640         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1641         Allow elements to post EOS in the state change function.
1642         Fix up -launch, make it exit the poll loop when the
1643         pipeline actually changed state.
1644         Fix up warning parsing in -launch.
1645
1646 2005-06-25  Wim Taymans  <wim@fluendo.com>
1647
1648         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1649         (gst_tee_sink_activate):
1650         Core takes STREAM_LOCK for us now.
1651
1652 2005-06-25  Wim Taymans  <wim@fluendo.com>
1653
1654         * gst/gstelement.c: (gst_element_get_state_func),
1655         (gst_element_set_state):
1656         * gst/gstelement.h:
1657         * gst/gstmessage.c: (gst_message_parse_error),
1658         (gst_message_parse_warning):
1659         Keep track of current target state while performing a state
1660         change so that subclasses can do something interesting.
1661         Fix parsing of warning/error messages when GError is NULL.
1662
1663 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1664
1665         * docs/gst/Makefile.am:
1666         * docs/gst/gstreamer-docs.sgml:
1667         * docs/gst/gstreamer-sections.txt:
1668         * docs/gst/gstreamer.types:
1669         * docs/gst/tmpl/gstbasesink.sgml:
1670         * docs/gst/tmpl/gstbasesrc.sgml:
1671         * docs/gst/tmpl/gstbin.sgml:
1672         * docs/gst/tmpl/gstcompat.sgml:
1673         * docs/gst/tmpl/gstfakesink.sgml:
1674         * docs/gst/tmpl/gstfakesrc.sgml:
1675         * docs/gst/tmpl/gstfilesink.sgml:
1676         * docs/gst/tmpl/gstfilesrc.sgml:
1677         * docs/gst/tmpl/gstindex.sgml:
1678         * docs/manual/appendix-quotes.xml:
1679         * gst/base/gstbasesrc.h:
1680         * gst/elements/gstfakesrc.h:
1681         * gst/gstmessage.h:
1682           start pulling in base classes and elements in our docs
1683
1684 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1685
1686         * docs/gst/Makefile.am:
1687         * docs/libs/Makefile.am:
1688           fixed make distcheck with gtk-doc 1.3
1689
1690 2005-06-23  Wim Taymans  <wim@fluendo.com>
1691
1692         * gst/gstelement.c: (gst_element_get_state_func),
1693         (gst_element_set_state), (gst_element_change_state):
1694         When the state did not change, also report NO_PREROLL
1695         when it matters.
1696
1697 2005-06-23  Wim Taymans  <wim@fluendo.com>
1698
1699         * gst/gstpad.c: (gst_pad_event_default):
1700         * gst/gstqueue.c: (gst_queue_loop):
1701         No unsafe task pausing please.
1702
1703 2005-06-23  Wim Taymans  <wim@fluendo.com>
1704
1705         * gst/schedulers/threadscheduler.c:
1706         (gst_thread_scheduler_task_start),
1707         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1708         Ref the task before pushing it on the threadpool. This
1709         makes sure that we have a ref when the threadfunction is
1710         actually called.
1711
1712 2005-06-23  Andy Wingo  <wingo@pobox.com>
1713
1714         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1715         offset is greater than the file's size.
1716
1717         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1718         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1719         * gst/gstobject.c (gst_object_class_init): Make the class lock
1720         recursive. Wim won't let me drop deep_notify. Decodebin works
1721         again, whoopdy doo.
1722
1723         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1724         internal pad, and hacks accordingly. Doesn't do it on the target
1725         pad because we change its caps. Probably catches all cases of
1726         interest tho.
1727         (gst_ghost_pad_set_property): Connect to notify::caps as
1728         appropritate.
1729
1730         * tests/network-clock.scm (plot-simulation): Pipe data to the
1731         elite python skript.
1732
1733         * tests/network-clock-utils.scm (define-parameter): New macro,
1734         defines a parameter that can be set via the command line.
1735         (set-parameter!, parse-parameter-arguments): Command line args
1736         parser.
1737
1738         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1739         stdin.
1740
1741 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1742
1743         * gst/elements/gsttypefindelement.c:
1744         (gst_type_find_element_handle_event):
1745           Don't restart typefinding on a discont.
1746         * gst/gstelement.c: (gst_element_set_state):
1747           Debug spelling fix.
1748         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1749           Allow changing mode of an active pad.
1750           Debug output fixes.
1751         * gst/registries/gstlibxmlregistry.c: (load_feature):
1752           Don't cast a static pad template to a normal pad template.
1753
1754 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1755
1756         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1757         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1758           remove gst_strtoll completely, since it didn't actually do
1759           anything more than what g_ascii_strtoull already does.
1760           check for range errors when deserializing
1761           do a cast for the unsigned cases; but further fixing needs
1762           a decision on what the interpretation of "(int)" and
1763           deserialization should be for values that fall outside the
1764           type's boundaries (ie, refuse, or interpret as casting)
1765
1766 2005-06-23  Wim Taymans  <wim@fluendo.com>
1767
1768         * check/Makefile.am:
1769         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1770         * docs/design/part-live-source.txt:
1771         * docs/design/part-states.txt:
1772         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1773         (gst_basesrc_set_live), (gst_basesrc_is_live),
1774         (gst_basesrc_get_range), (gst_basesrc_activate),
1775         (gst_basesrc_change_state):
1776         * gst/base/gstbasesrc.h:
1777         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1778         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1779         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1780         * gst/gstelement.c: (gst_element_get_state_func),
1781         (gst_element_set_state):
1782         * gst/gstelement.h:
1783         * gst/gsttypes.h:
1784         * tools/gst-launch.c: (event_loop), (main):
1785         Added support for live sources and other elements that
1786         cannot do preroll.
1787         Updated design docs, added live-source design doc.
1788         Implemented live source functionality in basesrc
1789         Fix error condition in _bin_get_state()
1790         Implement live source handling in -launch.
1791         Added check for live sources.
1792         Fixed case in GstBin where elements were changed state
1793         multiple times.
1794
1795
1796 2005-06-23  Andy Wingo  <wingo@pobox.com>
1797
1798         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1799         borken refcounting.
1800
1801         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1802         gst_caps_replace takes care of this for us.
1803
1804         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1805         gst_pad_set_caps on the target, not just its setcaps() function.
1806
1807         * tests/network-clock.scm: 
1808         * tests/network-clock-utils.scm: A network clock simulator.
1809         Something of an algorithmic testbed before doing something in C.
1810
1811 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * check/Makefile.am:
1814         * check/gst/capslist.h:
1815           copy over from 0.8, and add two with bitmasks specified with
1816           (int) 0xFF...
1817         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1818           add test to parse everything from capslist.h
1819         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1820         (main):
1821           add test for structure deserialization
1822         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1823           add tests for deserialization of strings to int types
1824         * gst/gststructure.c: (gst_structure_nth_field_name):
1825         * gst/gststructure.h:
1826           add a way to get the name of a field referenced by index
1827         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1828           instead of checking if the resulting long long lies between
1829           min and max, we check if the long long would fit into
1830           a number of bytes for the final type.
1831           This fixes cases where a string represents 2^32 - 1, which
1832           when cast to int would be the (valid) -1, but is bigger than
1833           G_MAXINT
1834
1835 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * gst/parse/grammar.y:
1838           add a log line for type deserialization
1839
1840 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1841
1842         * check/gst/gstvalue.c: (START_TEST):
1843         * gst/gstvalue.c: (gst_value_deserialize):
1844           return long long, not int, so gint64 deserialization actually
1845           works.  Is there any flag that makes the compiler check this ?
1846           Fixes #308559
1847
1848 2005-06-22  Wim Taymans  <wim@fluendo.com>
1849
1850         * gst/gstbuffer.h:
1851         Added convenience macros for setting buffers in GValue.
1852
1853 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1854
1855         * check/gst/.cvsignore:
1856         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1857           add a test deserializing int64, and comment part out because
1858           it fails, yay !
1859
1860 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1861
1862         * check/Makefile.am:
1863         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1864         * testsuite/Makefile.am:
1865         * testsuite/caps/Makefile.am:
1866         * testsuite/caps/value_serialize.c:
1867         * testsuite/test_gst_init.c:
1868           move a value_serialize test over
1869
1870 2005-06-20  Wim Taymans  <wim@fluendo.com>
1871
1872         * gst/gstpad.c:
1873         Small doc updates.
1874         
1875         * gst/gstvalue.c: (gst_value_compare_buffer),
1876         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1877         (gst_value_compare_flags), (gst_value_serialize_flags),
1878         (gst_value_deserialize_flags), (_gst_value_initialize):
1879         Fix serialisation of buffers, they are not boxed types anymore
1880
1881 2005-06-20  Wim Taymans  <wim@fluendo.com>
1882
1883         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1884         Testcase to show error in buffer-on-caps serialisation.
1885
1886 2005-06-20  Andy Wingo  <wingo@pobox.com>
1887
1888         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1889         will be adding to later.
1890
1891         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1892         if its socks fill with rocks.
1893         (gst_system_clock_obtain): Set the name on object construction.
1894         Avoid double-checked locking.
1895
1896 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1897
1898         * gst/gsturi.c: (gst_element_make_from_uri):
1899           Fix potential endless loop.
1900
1901 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1902
1903         * check/Makefile.am:
1904           add gsttag
1905         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1906         (main):
1907           move over from testsuite dir and clean up
1908         * configure.ac:
1909         * gst/gsttag.c:
1910         * testsuite/Makefile.am:
1911         * testsuite/tags/.cvsignore:
1912         * testsuite/tags/Makefile.am:
1913         * testsuite/tags/merge.c:
1914           remove testsuite/tags
1915
1916 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1917
1918         * docs/gst/gstreamer-sections.txt:
1919         * docs/gst/tmpl/gstenumtypes.sgml:
1920         * win32/gstenumtypes.c:
1921           clean up documentation build a little
1922
1923 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1924
1925         * check/gstcheck.h:
1926           add macros for checking refcounts on objects and caps
1927         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1928           add some more unit tests
1929         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1930         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1931           fix leaked refcounts (I hope :)) so unittest works
1932         * gst/gstpad.h:
1933           whitespace removal
1934
1935 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1936
1937         * configure.ac: back to HEAD
1938
1939 === release 0.9.1 ===
1940
1941 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1942
1943         * NEWS:
1944         * RELEASE:
1945           updated
1946
1947 2005-06-17  Andy Wingo  <wingo@pobox.com>
1948
1949         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1950         assert; it's always possible that the pad gets deactivated in
1951         between the checks in gstpad.c and the implementation. Rely on
1952         finish_preroll() to return a FLUSHING or similar instead of on the
1953         assert.
1954         
1955         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1956         clock and post an EOS message if we come out of finish_preroll in
1957         the playing state.
1958
1959 2005-06-16  David Schleef  <ds@schleef.org>
1960
1961         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1962         (gst_capsfilter_set_property): Allow NULL as possible value
1963         for filter_caps property, indicating GST_CAPS_ANY.
1964
1965 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1966
1967         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1968           fix debug output
1969         * gst/schedulers/Makefile.am:
1970           use libgst prefix
1971         * gstreamer.spec.in:
1972           fix spec for it
1973
1974 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1975
1976         * gstreamer.spec.in:
1977           clean up
1978
1979 2005-06-08  Andy Wingo  <wingo@pobox.com>
1980
1981         * gst/gstutils.c: RPAD fixes all around.
1982         (gst_element_link_pads): Refcounting fixes.
1983
1984         * tools/gst-inspect.c:
1985         * tools/gst-xmlinspect.c:
1986         * parse/grammar.y:
1987         * gst/base/gsttypefindhelper.c:
1988         * gst/base/gstbasesink.c:
1989         * gst/gstqueue.c: RPAD fixes.
1990
1991         * gst/gstghostpad.h:
1992         * gst/gstghostpad.c: New ghost pad implementation as full proxy
1993         pads. The tricky thing is they provide both source and sink
1994         interfaces, since they proxy the internal pad for the external
1995         pad, and vice versa. Implement with lower-level ProxyPad objects,
1996         with the interior proxy pad as a child of the exterior ghost pad.
1997         Should write a doc on this.
1998         
1999         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2000         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2001         gst_object API.
2002         
2003         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2004         pads are real pads. No ghost pads in this file. Not documenting
2005         the myriad s/RPAD/PAD/ and REALIZE fixes.
2006         (gst_pad_class_init): Add properties for "direction" and
2007         "template". Both are construct-only, so they can't change during
2008         the life of the pad. Fixes properly deriving from GstPad.
2009         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2010         derived objects, just set properties when creating the objects via
2011         g_object_new.
2012         (gst_pad_get_parent): Implement as a function, return NULL if the
2013         parent is not an element.
2014         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2015         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2016         
2017         * gst/gstobject.c (gst_object_class_init): Make name a construct
2018         property. Don't set it in the object init.
2019
2020         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2021         with UNKNOWN direction.
2022         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2023         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2024         (gst_element_remove_pad): Remove ghost-pad special cases.
2025         (gst_element_pads_activate): Remove rpad cruft.
2026
2027         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2028         catch the pad's-parent-not-an-element case.
2029
2030         * gst/gst.h: Include gstghostpad.h.
2031
2032         * gst/gst.c (init_post): No more real, ghost pads.
2033
2034         * gst/Makefile.am: Add gstghostpad.[ch].
2035
2036         * check/Makefile.am:
2037         * check/gst/gstbin.c:
2038         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2039         into a bin creates ghost pads, and that the refcounts are right.
2040         Partly moved from gstbin.c.
2041
2042 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2043
2044         * check/gst-libs/.cvsignore:
2045         * check/gst/.cvsignore:
2046         * check/pipelines/.cvsignore:
2047           ignore more
2048         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2049         (START_TEST), (cleanup_suite), (main):
2050           add some tests related to cleanup after running pipelines
2051
2052 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2053
2054         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2055           add a testsuite for GstBuffer
2056
2057 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2058
2059         * gst/gstminiobject.h:
2060           add defines for accessing the refcount
2061
2062 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2063
2064         * Makefile.am: added support for html unit test coverage reports
2065
2066 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2067
2068         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2069           Free existing caps if the capsfilter changes. Add a FIXME about
2070           setting those caps on the pads.
2071
2072         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2073           Before adding a ghost pad to a parent bin, check that there isn't
2074           already one for the element on the bin. Prevents infinite recursion
2075           when using decodebin in parse pipelines. Andy says he'll rewrite the
2076           way this works anyway, so ignore the hack.
2077
2078 2005-06-02  Andy Wingo  <wingo@pobox.com>
2079
2080         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2081         file size, pass it on to the type find helper.
2082
2083         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2084         segment_start and segment_end properly according to the seek
2085         method. Segment_end is still a bit flaky because offset can be
2086         negative for CUR and END cases, but it takes -1 as an "unset"
2087         value.
2088
2089 2005-06-02  Wim Taymans  <wim@fluendo.com>
2090
2091         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2092         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2093         (gst_basesink_activate):
2094         * gst/base/gstbasesink.h:
2095         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2096         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2097         (gst_pad_query), (gst_pad_start_task):
2098         * gst/gstpad.h:
2099         * gst/gstqueue.c: (gst_queue_bufferalloc),
2100         (gst_queue_handle_sink_event), (gst_queue_chain):
2101         Bufferalloc: return GstFlowReturn to more accuratly report
2102         why allocation failed.
2103
2104 2005-06-02  Wim Taymans  <wim@fluendo.com>
2105
2106         * gst/gstpipeline.c: (gst_pipeline_send_event):
2107         Take snapshot of state without blocking.
2108
2109 2005-06-02  Wim Taymans  <wim@fluendo.com>
2110
2111         * docs/design/part-TODO.txt:
2112         * docs/design/part-caps.txt:
2113         * docs/design/part-clocks.txt:
2114         * docs/design/part-negotiation.txt:
2115         * docs/design/part-preroll.txt:
2116         Small doc updates 
2117
2118 2005-05-30  Wim Taymans  <wim@fluendo.com>
2119
2120         * gst/elements/gstidentity.c: (gst_identity_event),
2121         (gst_identity_transform), (gst_identity_get_property):
2122         Protect last_message property as it is accessed from
2123         multiple threads.
2124
2125 2005-05-30  Wim Taymans  <wim@fluendo.com>
2126
2127         * gst/gstelement.c: (gst_element_init),
2128         (gst_element_pads_activate), (gst_element_change_state):
2129         Slicker pad activation code.
2130
2131 2005-05-30  Wim Taymans  <wim@fluendo.com>
2132
2133         * gst/Makefile.am:
2134         * gst/gstelement.h:
2135         * gst/gstelementfactory.h:
2136         * gst/gsttypes.h:
2137         Move elementfactory methods to separate .h file.
2138
2139 2005-05-30  Wim Taymans  <wim@fluendo.com>
2140
2141         * docs/design/part-overview.txt:
2142         * gst/gstsystemclock.h:
2143         Small typo fixes, doc updates.
2144
2145 2005-05-30  Wim Taymans  <wim@fluendo.com>
2146
2147         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2148         (init_popt_callback):
2149         Remove cpu-opt flag.
2150
2151 2005-05-30  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2154         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2155         * gst/gstbuffer.h:
2156         Avoid typechecking in places where not needed.
2157         Added accessor for malloc_data.
2158
2159 2005-05-30  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2162         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2163         (gst_pad_configure_sink), (gst_pad_configure_src),
2164         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2165         (gst_pad_start_task):
2166         Propagate errors from _set_caps() in configure_src/sink
2167         functions instead of returning TRUE.
2168         FLUSH events can travel up and downstream
2169
2170
2171 2005-05-30  Wim Taymans  <wim@fluendo.com>
2172
2173         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2174         (gst_basesink_activate):
2175         Handle EOS in preroll.
2176
2177 2005-05-30  Wim Taymans  <wim@fluendo.com>
2178
2179         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2180         (gst_queue_loop), (gst_queue_handle_src_event):
2181         Remove old pieces of code
2182         Flushing the queue in an upstream event is a very bad idea.
2183
2184 2005-05-26  Andy Wingo  <wingo@pobox.com>
2185
2186         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2187         gst_value_set_mini_object so as to add a ref on the object (which
2188         will be removed when the value is unset).
2189
2190         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2191         arg type in ::handoff.
2192
2193         * gst/gstelement.c (gst_element_change_state): Also deactivate
2194         pads in READY->NULL, just in case the element didn't make it to
2195         PAUSED. Wingo tested, Wim approved.
2196
2197 2005-05-26  Wim Taymans  <wim@fluendo.com>
2198
2199         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2200         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2201         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2202         A flushing pad cannot be used to alloc_buffer from.
2203
2204 2005-05-26  Wim Taymans  <wim@fluendo.com>
2205
2206         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2207         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2208         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2209         (gst_bus_create_watch), (gst_bus_add_watch_full):
2210         * gst/gstbus.h:
2211         Implement a real GSource and use g_main_context_wakeup() to
2212         signal new messages instead of the socketpair.
2213
2214 2005-05-25  Wim Taymans  <wim@fluendo.com>
2215
2216         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2217         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2218         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2219         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2220         (gst_pad_send_event), (gst_pad_start_task):
2221         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2222         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2223         (gst_queue_sink_activate), (gst_queue_src_activate),
2224         (gst_queue_change_state):
2225         * gst/gstqueue.h:
2226         Fix state changes for non sinks. We now change sinks, then elements
2227         with unconnected srcpads, then the rest.
2228         More efficient queue unlocking in flush and state changes.
2229         Set the pad activate mode even if it does not have an activate
2230         function.
2231
2232 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2233
2234         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2235           Don't go in pull mode for non-seekable sources.
2236         * gst/elements/gsttypefindelement.h:
2237         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2238         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2239         (free_entry), (stop_typefinding),
2240         (gst_type_find_element_handle_event), (find_peek),
2241         (gst_type_find_element_chain), (do_pull_typefind),
2242         (gst_type_find_element_change_state):
2243           Allow typefinding (w/o seeking) in push-mode, simplified version
2244           of what was in 0.8.
2245         * gst/gstutils.c: (gst_buffer_join):
2246         * gst/gstutils.h:
2247           gst_buffer_join() from 0.8.
2248
2249 2005-05-25  Wim Taymans  <wim@fluendo.com>
2250
2251         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2252         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2253         (gst_pad_send_event), (gst_pad_start_task):
2254         Disable attempt at mode switching until it is figured out.
2255
2256 2005-05-25  Wim Taymans  <wim@fluendo.com>
2257
2258         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2259         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2260         (gst_basesink_finish_preroll), (gst_basesink_chain),
2261         (gst_basesink_loop), (gst_basesink_activate),
2262         (gst_basesink_change_state):
2263         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2264         (gst_basesrc_get_range), (gst_basesrc_loop),
2265         (gst_basesrc_activate):
2266         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2267         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2268         (gst_real_pad_init), (gst_real_pad_set_property),
2269         (gst_real_pad_get_property), (gst_pad_set_active),
2270         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2271         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2272         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2273         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2274         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2275         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2276         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2277         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2278         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2279         (gst_pad_stop_task):
2280         * gst/gstpad.h:
2281         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2282         (gst_queue_loop), (gst_queue_src_activate):
2283         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2284         (gst_task_get_state):
2285         * gst/gsttask.h:
2286         * gst/schedulers/threadscheduler.c:
2287         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2288         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2289         in task function.
2290         Remove ACTIVE pad flag, use FLUSHING everywhere
2291         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2292         functions.
2293         Add locks around IS_FLUSHING when reading.
2294         Take STREAM lock in chain(), get_range() functions so plugins
2295         don't need to take it anymore.
2296         
2297
2298
2299 2005-05-25  Wim Taymans  <wim@fluendo.com>
2300
2301         * tools/gst-launch.c: (event_loop):
2302         Unref message after using its contents instead of
2303         before.
2304
2305 2005-05-24  Wim Taymans  <wim@fluendo.com>
2306
2307         * docs/design/draft-ghostpads.txt:
2308         * docs/design/draft-push-pull.txt:
2309         * docs/design/draft-query.txt:
2310         * docs/design/part-overview.txt:
2311         Docs updates, added general overview doc.
2312
2313 2005-05-21  David Schleef  <ds@schleef.org>
2314
2315         * docs/gst/tmpl/old/GstBin.sgml:
2316         * docs/gst/tmpl/old/GstBuffer.sgml:
2317         * docs/gst/tmpl/old/GstCaps.sgml:
2318         * docs/gst/tmpl/old/GstClock.sgml:
2319         * docs/gst/tmpl/old/GstCompat.sgml:
2320         * docs/gst/tmpl/old/GstData.sgml:
2321         * docs/gst/tmpl/old/GstElement.sgml:
2322         * docs/gst/tmpl/old/GstEvent.sgml:
2323         * docs/gst/tmpl/old/GstIndex.sgml:
2324         * docs/gst/tmpl/old/GstStructure.sgml:
2325         * docs/gst/tmpl/old/GstTag.sgml:
2326         * docs/gst/tmpl/old/cothreads.sgml:
2327         * docs/gst/tmpl/old/cothreads_compat.sgml:
2328         * docs/gst/tmpl/old/gettext.sgml:
2329         * docs/gst/tmpl/old/gobject2gtk.sgml:
2330         * docs/gst/tmpl/old/grammar.tab.sgml:
2331         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2332         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2333         * docs/gst/tmpl/old/gst_private.sgml:
2334         * docs/gst/tmpl/old/gstaggregator.sgml:
2335         * docs/gst/tmpl/old/gstarch.sgml:
2336         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2337         * docs/gst/tmpl/old/gstbufferstore.sgml:
2338         * docs/gst/tmpl/old/gstdata_private.sgml:
2339         * docs/gst/tmpl/old/gstdisksink.sgml:
2340         * docs/gst/tmpl/old/gstdisksrc.sgml:
2341         * docs/gst/tmpl/old/gstelementfactory.sgml:
2342         * docs/gst/tmpl/old/gstextratypes.sgml:
2343         * docs/gst/tmpl/old/gstfakesink.sgml:
2344         * docs/gst/tmpl/old/gstfakesrc.sgml:
2345         * docs/gst/tmpl/old/gstfdsink.sgml:
2346         * docs/gst/tmpl/old/gstfdsrc.sgml:
2347         * docs/gst/tmpl/old/gstfilesink.sgml:
2348         * docs/gst/tmpl/old/gstfilesrc.sgml:
2349         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2350         * docs/gst/tmpl/old/gstidentity.sgml:
2351         * docs/gst/tmpl/old/gstindexfactory.sgml:
2352         * docs/gst/tmpl/old/gstmarshal.sgml:
2353         * docs/gst/tmpl/old/gstmd5sink.sgml:
2354         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2355         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2356         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2357         * docs/gst/tmpl/old/gstpipefilter.sgml:
2358         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2359         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2360         * docs/gst/tmpl/old/gstshaper.sgml:
2361         * docs/gst/tmpl/old/gstspider.sgml:
2362         * docs/gst/tmpl/old/gstspideridentity.sgml:
2363         * docs/gst/tmpl/old/gststatistics.sgml:
2364         * docs/gst/tmpl/old/gsttee.sgml:
2365         * docs/gst/tmpl/old/gsttimecache.sgml:
2366         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2367         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2368         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2369         * docs/gst/tmpl/old/types.sgml:
2370           I didn't intend to add these or check them in.
2371
2372 2005-05-19  David Schleef  <ds@schleef.org>
2373
2374         * configure.ac: Use -no-common everywhere.  In a sane world, it
2375           would be the default in libtool, because without it, you can't
2376           build DLLs on Windows.
2377         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2378         * docs/gst/gstreamer-sections.txt:
2379         * docs/gst/tmpl/gstcpu.sgml:
2380         * docs/gst/tmpl/gstdata.sgml:
2381         * docs/gst/tmpl/gstthread.sgml:
2382
2383 2005-05-19  David Schleef  <ds@schleef.org>
2384
2385         * gst/gstminiobject.c: (gst_value_set_mini_object),
2386         (gst_value_take_mini_object), (gst_value_get_mini_object):
2387         * gst/gstminiobject.h: Add GValue set/get functions.
2388
2389 2005-05-19  Wim Taymans  <wim@fluendo.com>
2390
2391         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2392         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2393         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2394         * gst/gstbuffer.h:
2395         * gst/gstbus.c: (gst_bus_post):
2396         * gst/gstelement.c: (gst_element_get_random_pad):
2397         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2398         Make subbufer unref the parent in finalize.
2399         some more debugging info.
2400
2401
2402 2005-05-19  Wim Taymans  <wim@fluendo.com>
2403
2404         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2405         (gst_basesink_init), (gst_basesink_finalize),
2406         (gst_basesink_activate), (gst_basesink_change_state):
2407         Don't free preroll queue too early.
2408
2409 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2410
2411         * gst/Makefile.am:
2412         * gst/ROADMAP:
2413           Hi, I'm outdated. Please shoot me.
2414
2415 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2416
2417         * gst/gstpipeline.c: (gst_pipeline_send_event):
2418           Do not access variables after they have been deleted.
2419
2420 2005-05-19  Wim Taymans  <wim@fluendo.com>
2421
2422         * tools/gst-inspect.c: (print_plugin_features):
2423         A plugin feature does unfortunatly not use the
2424         object name yet...
2425
2426 2005-05-18  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2429         Port _span() functions to new subbuffers.
2430
2431 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2432
2433         * gst/gstbin.c: (gst_bin_add_func):
2434           Fix clock settery in bins when adding kids after the clock has
2435           been selected.
2436
2437 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2438
2439         * gst/elements/gstidentity.c: (gst_identity_class_init):
2440           Workaround until signals support GstMiniObject.
2441
2442 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2443
2444         * gst/gstbuffer.c:
2445         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2446
2447 2005-05-18  Wim Taymans  <wim@fluendo.com>
2448
2449         * gst/base/Makefile.am:
2450         * gst/base/gstadapter.c: (gst_adapter_base_init),
2451         (gst_adapter_class_init), (gst_adapter_init),
2452         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2453         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2454         (gst_adapter_flush), (gst_adapter_available),
2455         (gst_adapter_available_fast):
2456         * gst/base/gstadapter.h:
2457         Ported and added adapter to the base classes.
2458
2459 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2460
2461         * gst/gst.c:
2462         * gst/gstmessage.c:
2463           Make sure the class is reffed/unreffed once before threads can be
2464           used.  Fixes #304551.
2465
2466 2005-05-17  Wim Taymans  <wim@fluendo.com>
2467
2468         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2469         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2470         * gst/gstminiobject.c: (gst_mini_object_get_type),
2471         (gst_mini_object_free):
2472         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2473         (gst_pad_push), (gst_pad_push_event):
2474         * gst/gstqueue.c: (gst_queue_change_state):
2475         Don't queue buffers in basesink when we are flushing.
2476         Unref buffer when flushing in basesink.
2477         Flush queue when going to READY
2478         Unref buffer when _push() returns an error.
2479         Don't free MiniObject instance when refcount is incremented
2480         in _finalize() so that we can recover objects.
2481
2482 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * docs/manual/advanced-schedulers.xml:
2485         * docs/manual/appendix-checklist.xml:
2486         * docs/pwg/advanced-clock.xml:
2487         * docs/pwg/advanced-interfaces.xml:
2488         * docs/pwg/advanced-request.xml:
2489         * docs/pwg/advanced-types.xml:
2490         * docs/pwg/intro-preface.xml:
2491         * examples/plugins/example.c: (gst_example_get_type),
2492         (gst_example_class_init), (gst_example_chain),
2493         (gst_example_set_property), (gst_example_get_property),
2494         (gst_example_change_state), (plugin_init):
2495         * examples/plugins/example.h:
2496           small doc fixes
2497
2498 2005-05-17  Wim Taymans  <wim@fluendo.com>
2499
2500         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2501         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2502         * gst/gstqueue.c: (gst_queue_change_state):
2503         Clear queue when going to READY.
2504         Remove IN_SETCAPS flag too.
2505
2506 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2507
2508         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2509           Remove implicit cast from gboolean to GstElementStateReturn;
2510           make sure we still return failure in paused => ready case if
2511           the parent class fails to change state and our own stop 
2512           vfunc succeeds.
2513
2514 2005-05-17  Wim Taymans  <wim@fluendo.com>
2515
2516         * tools/gst-launch.c: (event_loop):
2517         Message was unreffed too soon.
2518
2519 2005-05-16  Andy Wingo  <wingo@pobox.com>
2520
2521         * gst/gstbin.c (sink_iterator_filter): Err... um...
2522
2523         * check/gst/gstbin.c (test_ghost_pads): New test for the
2524         ghosting-if-elements-not-in-same-bin behavior.
2525
2526 2005-05-16  David Schleef  <ds@schleef.org>
2527
2528         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2529         accessing refcount directly.
2530
2531 2005-05-15  David Schleef  <ds@schleef.org>
2532
2533         * check/Makefile.am: remove GstData checks
2534         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2535         * gst/Makefile.am: add miniobject, remove data
2536         * gst/gst.h: add miniobject, remove data
2537         * gst/gstdata.c: remove
2538         * gst/gstdata.h: remove
2539         * gst/gstdata_private.h: remove
2540         * gst/gsttypes.h: remove GstEvent and GstMessage
2541         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2542         * gst/gstmarshal.list: change BOXED -> OBJECT
2543
2544         Implement GstMiniObject.
2545         * gst/gstminiobject.c:
2546         * gst/gstminiobject.h:
2547
2548         Modify to be subclasses of GstMiniObject.
2549         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2550         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2551         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2552         (gst_subbuffer_get_type), (gst_subbuffer_init),
2553         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2554         (gst_buffer_span):
2555         * gst/gstbuffer.h:
2556         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2557         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2558         (_gst_event_copy), (gst_event_new):
2559         * gst/gstevent.h:
2560         * gst/gstmessage.c: (_gst_message_initialize),
2561         (gst_message_get_type), (gst_message_class_init),
2562         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2563         (gst_message_new), (gst_message_new_error),
2564         (gst_message_new_warning), (gst_message_new_tag),
2565         (gst_message_new_state_changed), (gst_message_new_application):
2566         * gst/gstmessage.h:
2567         * gst/gstprobe.c: (gst_probe_perform),
2568         (gst_probe_dispatcher_dispatch):
2569         * gst/gstprobe.h:
2570         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2571         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2572         (_gst_query_copy), (gst_query_new):
2573
2574         Update elements for GstData -> GstMiniObject changes
2575         * gst/gstquery.h:
2576         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2577         (gst_queue_chain), (gst_queue_loop):
2578         * gst/elements/gstbufferstore.c:
2579         (gst_buffer_store_add_buffer_func),
2580         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2581         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2582         (gst_fakesink_render):
2583         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2584         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2585         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2586         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2587         (gst_filesrc_create_read):
2588         * gst/elements/gstidentity.c: (gst_identity_class_init):
2589         * gst/elements/gsttypefindelement.c:
2590         (gst_type_find_element_src_event), (free_entry_buffers),
2591         (gst_type_find_element_handle_event):
2592         * libs/gst/dataprotocol/dataprotocol.c:
2593         (gst_dp_header_from_buffer):
2594         * libs/gst/dataprotocol/dataprotocol.h:
2595         * libs/gst/dataprotocol/dp-private.h:
2596
2597 2005-05-15  David Schleef  <ds@schleef.org>
2598
2599         * gst/elements/gstelements.c: Don't include headers that were
2600         just removed.
2601
2602 2005-05-15  David Schleef  <ds@schleef.org>
2603
2604         * gst/elements/Makefile.am: Remove some elements that don't
2605         need to be in the core (or even exist at all).
2606         * gst/elements/gstaggregator.c:
2607         * gst/elements/gstaggregator.h:
2608         * gst/elements/gstmd5sink.c:
2609         * gst/elements/gstmd5sink.h:
2610         * gst/elements/gstmultifilesrc.c:
2611         * gst/elements/gstmultifilesrc.h:
2612         * gst/elements/gstpipefilter.c:
2613         * gst/elements/gstpipefilter.h:
2614         * gst/elements/gstshaper.c:
2615         * gst/elements/gstshaper.h:
2616         * gst/elements/gststatistics.c:
2617         * gst/elements/gststatistics.h:
2618         * po/POTFILES.in: Remove above files.
2619
2620 2005-05-14  Andy Wingo  <wingo@pobox.com>
2621
2622         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2623         so as to get the refs right.
2624         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2625         unreffing objects that don't pass the filter.
2626
2627         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2628         gst_element_set_bus.
2629         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2630         normal cases, this will destroy the bus.
2631
2632         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2633         object.
2634
2635         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2636         has no sinks.
2637
2638 2005-05-13  Andy Wingo  <wingo@pobox.com>
2639
2640         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2641         gst_pad_link, call pad_link_maybe_ghosting,
2642         (pad_link_maybe_ghosting): Links pads, making sure that the
2643         elements being linked are in the same bin.
2644         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2645         Helpers for pad_link_maybe_ghosting.
2646
2647 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * configure.ac:
2650           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2651
2652 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654         * docs/design/part-element-source.txt:
2655           Mention GstPushSrc
2656
2657 2005-05-12  Wim Taymans  <wim@fluendo.com>
2658
2659         * gst/base/gstbasesink.c: (gst_basesink_init),
2660         (gst_basesink_activate):
2661         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2662         (gst_basesrc_is_seekable):
2663         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2664         (bin_element_is_sink), (gst_bin_change_state):
2665         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2666         * gst/gstelement.h:
2667         Identify sinks by their flag to avoid overly complicated
2668         checks (fow now).
2669         Do state changes even for elements not reachable from the
2670         sinks.
2671         BaseSink is a sink now :)
2672         Some more debugging info in the basesrc.
2673
2674
2675 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2676
2677         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2678           Implement _query on a bin, similar to _send_event.
2679
2680 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2681
2682         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2683           Discont event offset format should be GST_FORMAT_BYTES,
2684           not GST_FORMAT_TIME.
2685
2686 2005-05-12  Wim Taymans  <wim@fluendo.com>
2687
2688         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2689         Same fix as Ronald's but without the signal. 
2690
2691 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2692
2693         * gst/gstutils.c: (gst_element_query_position):
2694           No, an element is not a pad.
2695
2696 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2697
2698         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2699         (gst_bin_get_state):
2700           If a child is removed from a bin while we remove the child from
2701           the bin and while we're retrieving its state, signal this to the
2702           get_state function so we abort the wait (instead of waiting for
2703           a timeout) and can immediately re-iterate over all other elements.
2704
2705 2005-05-12  Wim Taymans  <wim@fluendo.com>
2706
2707         * gst/base/Makefile.am:
2708         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2709         (gst_basesrc_start):
2710         * gst/base/gstbasesrc.h:
2711         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2712         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2713         (gst_pushsrc_init), (gst_pushsrc_create):
2714         * gst/base/gstpushsrc.h:
2715         Added is_seekable to BaseSrc
2716         Added simple PushSrc.
2717
2718 2005-05-11  Wim Taymans  <wim@fluendo.com>
2719
2720         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2721         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2722         (gst_element_link_pads), (gst_element_query_position),
2723         (gst_element_query_convert), (intersect_caps_func),
2724         (gst_pad_query_position), (gst_pad_query_convert):
2725         Fix refcounting in utils function.
2726         No point in trying to activate a pad when it's added, it could
2727         be added from the state change function and then we deadlock, the
2728         element has to decide what to do.
2729
2730 2005-05-10  Andy Wingo  <wingo@pobox.com>
2731
2732         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2733         *all* the arguments.
2734
2735         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2736         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2737         lock (according to the docs -- if this is wrong change the docs).
2738
2739         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2740         flush messages in the NULL state.
2741
2742         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2743         message immediately and return.
2744         (gst_bus_set_flushing): New function. If a bus is flushing, it
2745         flushes out any queued messages and immediately unrefs new
2746         messages. This is so when an element goes to NULL, all of the
2747         unhandled messages coming from it can be freed, and their
2748         references to the element dropped. In other words: message source
2749         ref considered harmful :P
2750
2751         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2752         we're finished with it.
2753
2754         * gst/gstmessage.c (gst_message_new_state_changed): 
2755
2756 2005-05-10  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstvalue.c: (gst_value_compare_flags),
2759         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2760         (_gst_value_initialize):
2761         Added flags serialize/deserialize/compare code.
2762
2763 2005-05-09  Andy Wingo  <wingo@pobox.com>
2764
2765         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2766         Intersect the peer's caps with our caps.
2767
2768 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2769
2770         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2771         * gst/elements/gsttypefindelement.c: (find_peek):
2772           Handle negative offsets better. Fixes decodebin.
2773
2774 2005-05-09  Wim Taymans  <wim@fluendo.com>
2775
2776         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2777         (gst_base_transform_event):
2778         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2779         Implement accept_caps.
2780         Fix silly lock/unlock mismatch in base class.
2781
2782 2005-05-09  Wim Taymans  <wim@fluendo.com>
2783
2784         * docs/design/draft-push-pull.txt:
2785         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2786         * gst/elements/gstfilesink.c: (gst_filesink_init),
2787         (gst_filesink_query):
2788         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2789         (gst_type_find_handle_src_query), (find_element_get_length):
2790         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2791         * gst/gstelement.h:
2792         * gst/gstmessage.c:
2793         * gst/gstmessage.h:
2794         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2795         (gst_real_pad_get_caps_unlocked),
2796         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2797         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2798         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2799         (gst_real_pad_dispose), (gst_real_pad_finalize),
2800         (gst_pad_load_and_link), (gst_pad_save_thyself),
2801         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2802         (gst_pad_check_pull_range), (gst_pad_pull_range),
2803         (gst_pad_template_get_type), (gst_pad_template_class_init),
2804         (gst_pad_template_init), (gst_pad_template_dispose),
2805         (name_is_valid), (gst_static_pad_template_get),
2806         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2807         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2808         (gst_pad_get_element_private), (gst_pad_start_task),
2809         (gst_pad_pause_task), (gst_pad_stop_task),
2810         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2811         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2812         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2813         (gst_ghost_pad_new):
2814         * gst/gstpad.h:
2815         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2816         (gst_query_new_position), (gst_query_set_position),
2817         (gst_query_parse_position), (gst_query_new_convert),
2818         (gst_query_set_convert), (gst_query_parse_convert):
2819         * gst/gstquery.h:
2820         * gst/gstqueryutils.c:
2821         * gst/gstqueryutils.h:
2822         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2823         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2824         (gst_queue_handle_src_query):
2825         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2826         (gst_element_query_position), (gst_element_query_convert),
2827         (intersect_caps_func), (gst_pad_query_position),
2828         (gst_pad_query_convert):
2829         * gst/gstutils.h:
2830         * tools/gst-inspect.c: (print_pad_info):
2831         * tools/gst-xmlinspect.c: (print_element_info):
2832         Remove old query functions. Ported old code.
2833         Added position/convert helper functions to gstutils.
2834         Reordered gstpad.c code, grouping relevant things.
2835         Remove gst_message_new(), always need to speficy a specific
2836         message.
2837
2838
2839 2005-05-09  Andy Wingo  <wingo@pobox.com>
2840
2841         * gst/gstiterator.h: Add some includes.
2842
2843         * gst/gstqueryutils.h: Include more headers.
2844
2845         * gst/gstpad.h:
2846         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2847         some uses of gst_pad_query.
2848
2849         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2850         NULL out parameters.
2851         (gst_query_new_position): New proc, allocates a new position
2852         query.
2853
2854         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2855         gstqueryutils.c to the build.
2856
2857         * gst/gststructure.c (gst_structure_set_valist): Implement with
2858         the generic G_VALUE_COLLECT.
2859         
2860 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2861
2862         * gst/Makefile.am: (gst_headers):
2863         Added gstqueryutils.h to the list of headers to install, that was
2864         a 'nachty' move wingo :)
2865
2866 2005-05-06  Andy Wingo  <wingo@pobox.com>
2867
2868         * gst/gstquery.h
2869         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2870         GstData, init a memchunk.
2871         (standard_definitions): Add a few query types, deprecate a few.
2872         (gst_query_get_type): New proc.
2873         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2874         implementation.
2875         (gst_query_new_application, gst_query_get_structure): New public
2876         procs.
2877
2878         * docs/design/draft-query.txt: Removed LINKS from the query types,
2879         because all the rest can be dispatched to other pads -- seemed
2880         ugly to have a query that couldn't be dispatched. internal_links
2881         is fine as a pad method.
2882
2883         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2884         in gstpad.c, but maintain binary compatibility for the moment.
2885         Will fix before 0.9 is out.
2886
2887         * gst/gstqueryutils.c: 
2888         * gst/gstqueryutils.h: New files, implement 3 methods for each
2889         query type: parse_query, parse_response, and set. Probably need an
2890         allocator as well.
2891
2892         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2893
2894         * gst/elements/gstfilesink.c (gst_filesink_query2):
2895         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2896         query_types, and formats methods.
2897
2898         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2899         (gst_pad_set_query2_function): New functions.
2900         (gst_real_pad_init): Set query2_default as the default query2
2901         function. Basically just dispatches to internally linked pads.
2902
2903         Needs review!
2904         
2905         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2906         without using the atomic operations. Only one thread can possibly
2907         be accessing the data at this point. Changed so as to avoid
2908         gst_atomic operations.
2909
2910 2005-05-06  Wim Taymans  <wim@fluendo.com>
2911
2912         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2913         Also set caps if we use the fallback buffer alloc.
2914
2915 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2916
2917         * docs/gst/Makefile.am:
2918         * docs/gst/gstreamer-docs.sgml:
2919         * docs/gst/gstreamer-sections.txt:
2920         * docs/gst/tmpl/gstatomic.sgml:
2921         * docs/gst/tmpl/gstmemchunk.sgml:
2922         * testsuite/elements/struct_i386.h:
2923         * win32/GStreamer.vcproj:
2924         * win32/Makefile:
2925           Purge GstAtomic stuff from docs and win32 makefiles as well
2926
2927 2005-05-06  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2930         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2931         * gst/gstpad.c: (gst_pad_peer_get_caps):
2932         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2933         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2934         (gst_queue_src_activate), (gst_queue_change_state):
2935         * gst/gstqueue.h:
2936         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2937         (intersect_caps_func):
2938         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2939         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2940         Some fixes for the peer_get_caps() change.
2941
2942 2005-05-06  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2945         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2946         (gst_basesink_activate):
2947         Actually do something with error codes returned from the push
2948         functions.
2949
2950 2005-05-06  Wim Taymans  <wim@fluendo.com>
2951
2952         * docs/design/part-element-sink.txt:
2953         * docs/design/part-element-source.txt:
2954         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2955         (gst_basesink_event), (gst_basesink_activate):
2956         * gst/base/gstbasesink.h:
2957         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2958         (gst_basesrc_activate):
2959         * gst/base/gstbasesrc.h:
2960         * gst/gstelement.c: (gst_element_pads_activate):
2961         Some more documentation.
2962         Fixed scheduling decision in _pads_activate().
2963
2964 2005-05-05  Andy Wingo  <wingo@pobox.com>
2965
2966         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2967         the test suite.
2968
2969 2005-05-05  Wim Taymans  <wim@fluendo.com>
2970
2971         * gst/base/Makefile.am:
2972         * gst/base/gstbasesink.h:
2973         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2974         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2975         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2976         (gst_collectpads_class_init), (gst_collectpads_init),
2977         (gst_collectpads_finalize), (gst_collectpads_new),
2978         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2979         (find_pad), (gst_collectpads_remove_pad),
2980         (gst_collectpads_is_active), (gst_collectpads_collect),
2981         (gst_collectpads_collect_range), (gst_collectpads_start),
2982         (gst_collectpads_stop), (gst_collectpads_peek),
2983         (gst_collectpads_pop), (gst_collectpads_available),
2984         (gst_collectpads_read), (gst_collectpads_flush),
2985         (gst_collectpads_chain):
2986         * gst/base/gstcollectpads.h:
2987         * gst/elements/Makefile.am:
2988         * gst/elements/gstelements.c:
2989         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2990         (gst_fakesink_get_times), (gst_fakesink_event),
2991         (gst_fakesink_preroll), (gst_fakesink_render):
2992         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2993         (gst_filesink_init), (gst_filesink_set_location),
2994         (gst_filesink_open_file), (gst_filesink_close_file),
2995         (gst_filesink_pad_query), (gst_filesink_event),
2996         (gst_filesink_render), (gst_filesink_change_state):
2997         * gst/elements/gstfilesink.h:
2998         Added object to help in making collect pad based elements.
2999         Ported filesink.
3000         Make event function in sink baseclass return gboolean.
3001
3002 2005-05-05  Wim Taymans  <wim@fluendo.com>
3003
3004         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3005         (gst_bin_get_by_name):
3006         * gst/gstbuffer.h:
3007         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3008         (gst_clock_finalize):
3009         * gst/gstdata.c: (gst_data_replace):
3010         * gst/gstdata.h:
3011         * gst/gstelement.c: (gst_element_request_pad),
3012         (gst_element_pads_activate):
3013         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3014         (gst_object_unref):
3015         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3016         (gst_pad_set_checkgetrange_function),
3017         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3018         (gst_pad_check_pull_range), (gst_pad_pull_range),
3019         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3020         (gst_pad_pause_task), (gst_pad_stop_task):
3021         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3022         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3023         Fix name lookup in GstBin.
3024         Added _data_replace() function and _buffer_replace()
3025         Use finalize method to clean up clock.
3026         Fix refcounting on request pads.
3027         Fix pad schedule mode error.
3028         Some more object refcounting debug info,
3029
3030
3031 2005-05-04  Andy Wingo <wingo@pobox.com>
3032
3033         * check/Makefile.am:
3034         * docs/gst/tmpl/gstatomic.sgml:
3035         * docs/gst/tmpl/gstplugin.sgml:
3036         * gst/base/gstbasesink.c: (gst_basesink_activate):
3037         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3038         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3039         (gst_basesrc_query), (gst_basesrc_set_property),
3040         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3041         (gst_basesrc_activate):
3042         * gst/base/gstbasesrc.h:
3043         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3044         (gst_base_transform_src_activate):
3045         * gst/elements/gstelements.c:
3046         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3047         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3048         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3049         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3050         (gst_type_find_element_checkgetrange),
3051         (gst_type_find_element_activate):
3052         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3053         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3054         (gst_caps_load_thyself):
3055         * gst/gstelement.c: (gst_element_pads_activate),
3056         (gst_element_save_thyself), (gst_element_restore_thyself):
3057         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3058         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3059         * gst/gstpad.h:
3060         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3061         (gst_xml_parse_file), (gst_xml_parse_memory),
3062         (gst_xml_get_element), (gst_xml_make_element):
3063         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3064         (_file_index_id_save_xml), (gst_file_index_commit):
3065         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3066         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3067         (load_paths):
3068         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3069         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3070         * tools/gst-complete.c: (main):
3071         * tools/gst-compprep.c: (main):
3072         * tools/gst-inspect.c: (print_element_properties_info):
3073         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3074         * tools/gst-xmlinspect.c: (print_element_properties):
3075         GCC 4 fixen.
3076         
3077 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3078
3079         * gst/gstplugin.c: (gst_plugin_check_module),
3080         (gst_plugin_check_file), (gst_plugin_load_file):
3081             apply patch from #172526 to make register work on MacOSX
3082
3083 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3084
3085         * docs/gst/tmpl/gstconfig.sgml:
3086         * gst/gstconfig.h.in:
3087           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3088         * testsuite/debug/printf_extension.c: (main):
3089           Do not use GST_PTR_FORMAT on pointers to types with
3090           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3091         * testsuite/elements/property.h:
3092           use correct printf format
3093
3094 2005-05-02  Wim Taymans  <wim@fluendo.com>
3095
3096         * docs/design/draft-push-pull.txt:
3097         * docs/design/draft-query.txt:
3098         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3099         (gst_basesrc_start):
3100         Added draft for new query API.
3101         Added draft for better selecting scheduling methods.
3102         Make basesrc ignore length if the subclass does not support
3103         it.
3104
3105 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3106
3107         * gst/Makefile.am:
3108           possible fixes for automake-1.5 - _LIBADD is reserved
3109
3110 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3111
3112         * docs/faq/Makefile.am:
3113         * docs/manual/Makefile.am:
3114         * docs/manuals.mak:
3115         * docs/pwg/Makefile.am:
3116         * gst/Makefile.am:
3117           possible fixes for automake-1.5
3118
3119 2005-04-28  Wim Taymans  <wim@fluendo.com>
3120
3121         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3122         (gst_basesink_pad_getcaps), (gst_basesink_init),
3123         (gst_basesink_do_sync):
3124         * gst/gstclock.c: (gst_clock_entry_new):
3125         * gst/gstevent.c: (gst_event_discont_get_value):
3126         * gst/gstpipeline.c: (pipeline_bus_handler),
3127         (gst_pipeline_change_state):
3128         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3129         Better debugging of clocking info.
3130         Allow NULL values when getting discont values.
3131
3132 2005-04-27  Wim Taymans  <wim@fluendo.com>
3133
3134         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3135         * check/gst/gstpad.c: (gst_pad_suite):
3136         Increase timeout for checks.
3137
3138 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3139
3140         * check/Makefile.am:
3141           fix the broken rule for cleanup.  Apparently this rule is
3142           only needed on FC2, so maybe this warrants further autotool
3143           inspection.
3144
3145 2005-04-26  Wim Taymans  <wim@fluendo.com>
3146
3147         * gst/gsttrashstack.h:
3148         Ooohh. a nasty one! After having a failed pop() from the stack,
3149         it's possible that the stack is empty. In that case, don't
3150         follow the NULL pointer.
3151
3152 2005-04-25  Wim Taymans  <wim@fluendo.com>
3153
3154         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3155         (gst_pad_set_checkgetrange_function),
3156         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3157         (gst_pad_check_pull_range), (gst_pad_pull_range),
3158         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3159         (gst_pad_pause_task), (gst_pad_stop_task):
3160         * gst/gstplugin.c: (gst_plugin_load):
3161         * gst/gstplugin.h:
3162         Remove gst_library_load as it does more harm than good with
3163         the new g_module flags.
3164         Revert bogus caps template check in pad linking, pad caps
3165         are important when linking not the template, which is more
3166         general than the current caps.
3167
3168 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3169
3170         * gst/autoplug/.cvsignore:
3171         * gst/autoplug/Makefile.am:
3172         * gst/autoplug/gstsearchfuncs.c:
3173         * gst/autoplug/gstsearchfuncs.h:
3174         * gst/autoplug/gstspider.c:
3175         * gst/autoplug/gstspider.h:
3176         * gst/autoplug/gstspideridentity.c:
3177         * gst/autoplug/gstspideridentity.h:
3178         * gst/autoplug/spidertest.c:
3179           Die, spider, die.
3180
3181 2005-04-25  Wim Taymans  <wim@fluendo.com>
3182
3183         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3184         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3185         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3186         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3187         * gst/gstpad.h:
3188         Added stubs for unimplemented functions. 
3189
3190 2005-04-24  David Schleef  <ds@schleef.org>
3191
3192         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3193         please fix.
3194
3195 2005-04-24  David Schleef  <ds@schleef.org>
3196
3197         Convert everything from GstAtomicInt to g_atomic_int_*, and
3198         remove gstatomic.
3199         * gst/Makefile.am:
3200         * gst/gstatomic.c:
3201         * gst/gstatomic.h:
3202         * gst/gstatomic_impl.h:
3203         * gst/gstbuffer.c:
3204         * gst/gstcaps.c:
3205         * gst/gstcaps.h:
3206         * gst/gstclock.c:
3207         * gst/gstclock.h:
3208         * gst/gstdata.c:
3209         * gst/gstdata.h:
3210         * gst/gstdata_private.h:
3211         * gst/gstevent.c:
3212         * gst/gstinfo.c:
3213         * gst/gstinfo.h:
3214         * gst/gstmessage.c:
3215         * gst/gstobject.c:
3216         * gst/gstobject.h:
3217         * gst/gststructure.c:
3218         * gst/gststructure.h:
3219         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3220         * gst/gstutils.h:
3221
3222 2005-04-24  David Schleef  <ds@schleef.org>
3223
3224         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3225         make the regressions tests work.  Remove some code that is no
3226         longer true.
3227         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3228         Disable warning for pads without templates.
3229
3230 2005-04-24  David Schleef  <ds@schleef.org>
3231
3232         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3233         functions that handle filtered links.
3234         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3235         removed functions.
3236         * gst/gstutils.c: Fix/remove utility functions that handle
3237         filtered caps.
3238         * gst/gstutils.h:
3239         * gst/gstvalue.c: Add serialization/deserialization of caps
3240         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3241         requires fixing so that the filter caps notation creates
3242         a capsfilter element and sets the filter_caps property.  I
3243         think everyone probably wants to keep the shorthand notation.
3244         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3245         * docs/gst/tmpl/gstpad.sgml:
3246
3247         * gst/elements/gstelements.c: Register capsfilter element.
3248         * gst/Makefile.am: fix spacing
3249         * docs/random/ds/0.9-suggested-changes: random
3250
3251 2005-04-23  David Schleef  <ds@schleef.org>
3252
3253         * gst/elements/Makefile.am:
3254         * gst/elements/gstcapsfilter.c: New element that acts like an
3255         identity, but filters caps.  Will eventually replace filtered
3256         caps in pad linking.
3257         * gst/gstutils.c: (gst_element_create_all_pads): New function
3258         to create all the ALWAYS pads that are registered with an
3259         element class.  This functionality should eventually be
3260         merged in with GstElement initialization.
3261         * gst/gstutils.h:
3262         * testsuite/trigger/README: part of trigger test code that should
3263         have been checked in a long time ago.
3264
3265 2005-04-23  David Schleef  <ds@schleef.org>
3266
3267         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3268         needed with new versions of libtool (nobody will confirm this),
3269         and hard to carry around.
3270         * gst/autoplug/Makefile.am:
3271         * gst/base/Makefile.am:
3272         * gst/elements/Makefile.am:
3273         * gst/indexers/Makefile.am:
3274         * gst/schedulers/Makefile.am:
3275         * libs/gst/bytestream/Makefile.am:
3276         * libs/gst/control/Makefile.am:
3277         * libs/gst/dataprotocol/Makefile.am:
3278         * libs/gst/getbits/Makefile.am:
3279
3280 2005-04-21  Wim Taymans  <wim@fluendo.com>
3281
3282         * docs/design/draft-push-pull.txt:
3283         * docs/design/part-MT-refcounting.txt:
3284         * docs/design/part-TODO.txt:
3285         * docs/design/part-caps.txt:
3286         * docs/design/part-events.txt:
3287         * docs/design/part-gstbus.txt:
3288         * docs/design/part-gstpipeline.txt:
3289         * docs/design/part-messages.txt:
3290         * docs/design/part-push-pull.txt:
3291         * docs/design/part-query.txt:
3292         Some more docs.
3293
3294 2005-04-21  Wim Taymans  <wim@fluendo.com>
3295
3296         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3297         (gst_message_new), (gst_message_new_error),
3298         (gst_message_new_warning), (gst_message_new_tag),
3299         (gst_message_new_state_changed), (gst_message_new_application),
3300         (gst_message_get_structure):
3301         * gst/gstmessage.h:
3302         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3303         (gst_structure_copy_conditional):
3304         Use parent refcount in GstMessage to ensure GstStructure
3305         consistency.
3306         Cleaned up headers a bit.
3307         
3308
3309 2005-04-20  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3312         (gst_basesink_pad_getcaps), (gst_basesink_init),
3313         (gst_basesink_chain_unlocked):
3314         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3315         (gst_type_find_helper):
3316         * gst/elements/gsttypefindelement.c:
3317         (gst_type_find_element_have_type), (gst_type_find_element_init),
3318         (stop_typefinding), (gst_type_find_element_handle_event),
3319         (find_suggest), (gst_type_find_element_chain),
3320         (gst_type_find_element_checkgetrange),
3321         (gst_type_find_element_getrange), (do_typefind),
3322         (gst_type_find_element_activate):
3323         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3324         (gst_buffer_default_free), (gst_buffer_default_copy),
3325         (gst_buffer_set_caps):
3326         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3327         (gst_caps_replace):
3328         * gst/gstmessage.c: (gst_message_new),
3329         (gst_message_new_state_changed):
3330         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3331         (gst_pad_set_checkgetrange_function),
3332         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3333         (gst_pad_set_caps), (gst_pad_check_pull_range),
3334         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3335         * gst/gstpad.h:
3336         * gst/gsttypefind.c: (gst_type_find_register):
3337         Make gst_caps_replace() work like other _replace() functions.
3338         Use _caps_replace() where possible.
3339         Make sure _message_new() initialises its field.
3340         Add gst_static_pad_template_get_caps()
3341
3342
3343 2005-04-18  Andy Wingo  <wingo@pobox.com>
3344
3345         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3346         on the peer, not the pad. I think that was a typo. Pass an extra
3347         arg to see if random access is possible. Activate the pads as
3348         PULL_RANGE if possible.
3349
3350         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3351
3352         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3353         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3354         to PROP_....
3355
3356 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3357
3358         * docs/faq/using.xml:
3359           Add note on gstreamer-properties (#154996).
3360
3361 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3362
3363         * docs/random/bbb/optional-properties:
3364           Some analysis on optional properties.
3365
3366 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3367
3368         * docs/gst/tmpl/gstelementfactory.sgml:
3369         * gst/gstelement.h:
3370         * gst/gstelementfactory.c: (gst_element_factory_init),
3371         (gst_element_factory_cleanup), (gst_element_register),
3372         (__gst_element_factory_add_static_pad_template),
3373         (gst_element_factory_get_static_pad_templates),
3374         (gst_element_factory_can_src_caps),
3375         (gst_element_factory_can_sink_caps):
3376         * gst/registries/Makefile.am:
3377         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3378         (gst_xml_registry_class_init), (gst_xml_registry_init),
3379         (gst_xml_registry_new), (gst_xml_registry_set_property),
3380         (gst_xml_registry_get_property), (get_time), (make_dir),
3381         (gst_xml_registry_get_perms_func),
3382         (plugin_times_older_than_recurse), (plugin_times_older_than),
3383         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3384         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3385         (add_to_char_array), (read_string), (read_uint), (read_enum),
3386         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3387         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3388         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3389         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3390         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3391         (gst_xml_registry_rebuild):
3392         * gst/registries/gstlibxmlregistry.h:
3393         * tools/gst-compprep.c: (main):
3394         * tools/gst-inspect.c: (print_pad_templates_info):
3395         * tools/gst-xmlinspect.c: (print_element_info):
3396           Use libxml2 for registry parsing, use staticpadtemplates in
3397           elementfactories. Makes gst_init() +/- 10x faster.
3398
3399 2005-04-12  Wim Taymans  <wim@fluendo.com>
3400
3401         * gst/base/Makefile.am:
3402         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3403         (gst_basesink_pad_getcaps), (gst_basesink_init),
3404         (gst_basesink_event), (gst_basesink_change_state):
3405         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3406         (gst_basesrc_init), (gst_basesrc_query),
3407         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3408         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3409         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3410         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3411         (gst_basesrc_stop), (gst_basesrc_activate),
3412         (gst_basesrc_change_state):
3413         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3414         (helper_find_suggest), (gst_type_find_helper):
3415         * gst/base/gsttypefindhelper.h:
3416         * gst/elements/Makefile.am:
3417         * gst/elements/gstelements.c:
3418         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3419         (gst_fakesink_get_times), (gst_fakesink_event),
3420         (gst_fakesink_preroll), (gst_fakesink_render):
3421         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3422         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3423         (gst_fakesrc_get_property), (gst_fakesrc_create),
3424         (gst_fakesrc_start), (gst_fakesrc_stop):
3425         * gst/elements/gstfakesrc.h:
3426         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3427         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3428         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3429         (gst_filesrc_create_read), (gst_filesrc_create),
3430         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3431         (gst_filesrc_start):
3432         * gst/elements/gsttypefindelement.c:
3433         (gst_type_find_element_have_type), (gst_type_find_element_init),
3434         (start_typefinding), (stop_typefinding), (push_buffer_store),
3435         (gst_type_find_element_handle_event),
3436         (gst_type_find_element_chain),
3437         (gst_type_find_element_checkgetrange),
3438         (gst_type_find_element_getrange), (do_typefind),
3439         (gst_type_find_element_activate),
3440         (gst_type_find_element_change_state):
3441         * gst/elements/gsttypefindelement.h:
3442         * gst/gstpipeline.c: (pipeline_bus_handler):
3443         Added typefind helper.
3444         Small preroll fix in the base sink.
3445         Disable typefind code in basesrc.
3446         Crude port of typefindelement.
3447         Fakesrc cleanups.
3448
3449
3450 2005-04-11  Wim Taymans  <wim@fluendo.com>
3451
3452         * check/gst/gstbus.c: (gstbus_suite):
3453         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3454         * check/gstcheck.h:
3455           Fix up the timeout so that the test does not fail.
3456
3457 2005-04-06  Wim Taymans  <wim@fluendo.com>
3458
3459         * gst/base/README:
3460         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3461         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3462         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3463         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3464         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3465         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3466         (gst_basesrc_stop), (gst_basesrc_activate),
3467         (gst_basesrc_change_state), (basesrc_find_peek),
3468         (basesrc_find_suggest), (gst_basesrc_type_find):
3469         * gst/base/gstbasesrc.h:
3470         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3471         (gst_filesrc_class_init), (gst_filesrc_init),
3472         (gst_filesrc_finalize), (gst_filesrc_set_location),
3473         (gst_filesrc_set_property), (gst_filesrc_get_property),
3474         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3475         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3476         (gst_filesrc_create_read), (gst_filesrc_create),
3477         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3478         * gst/elements/gstfilesrc.h:
3479         * gst/gstelement.c: (gst_element_get_state_func),
3480         (gst_element_lost_state), (gst_element_pads_activate):
3481         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3482         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3483         (gst_pad_pull_range):
3484         * gst/gstpad.h:
3485         More work on the generic source base class, implement seeking,
3486         query.
3487         Make filesrc extend the base source class.
3488         Added gst_pad_set_checkgetrange_function to GstPad.
3489
3490 2005-04-06  Andy Wingo  <wingo@pobox.com>
3491
3492         * pkgconfig/gstreamer-base.pc.in:
3493         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3494
3495         * pkgconfig/Makefile.am:
3496         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3497
3498 2005-04-04  Wim Taymans  <wim@fluendo.com>
3499
3500         * gst/base/Makefile.am:
3501         * gst/base/README:
3502         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3503         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3504         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3505         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3506         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3507         (gst_basesrc_base_init), (gst_basesrc_class_init),
3508         (gst_basesrc_init), (gst_basesrc_get_formats),
3509         (gst_basesrc_get_query_types), (gst_basesrc_query),
3510         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3511         (gst_basesrc_set_property), (gst_basesrc_get_property),
3512         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3513         (gst_basesrc_loop), (gst_basesrc_activate),
3514         (gst_basesrc_change_state):
3515         * gst/base/gstbasesrc.h:
3516         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3517         (gst_fakesrc_class_init), (gst_fakesrc_init),
3518         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3519         (gst_fakesrc_get_property), (gst_fakesrc_create):
3520         * gst/elements/gstfakesrc.h:
3521         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3522         (gst_filesrc_open_file), (gst_filesrc_loop),
3523         (gst_filesrc_activate), (filesrc_find_peek),
3524         (gst_filesrc_type_find):
3525         Made base source class, make fakesrc extend it.
3526         Add comments to basesink class.
3527         Some filesrc cleanup.
3528
3529 2005-03-31  David Schleef  <ds@schleef.org>
3530
3531         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3532         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3533         expected to link against libgstreamer.
3534         * gst/base/Makefile.am: link against libgstreamer
3535         * gst/elements/Makefile.am: same
3536
3537 2005-03-31  Andy Wingo  <wingo@pobox.com>
3538
3539         * tests/instantiate/Makefile.am:
3540         * tests/instantiate/caps.c: Add test to test speed of caps copy
3541         and free.
3542
3543         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3544         GMemChunk to be fair.
3545
3546         * gst/gsttrashstack.h: Remove warning about using the fallback
3547         trash stack implementation, it's still faster than malloc.
3548
3549 2005-03-30  Andy Wingo  <wingo@pobox.com>
3550
3551         * tests/complexity.c: Add a copyright.
3552
3553 2005-03-31  Wim Taymans  <wim@fluendo.com>
3554
3555         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3556         (gst_base_transform_class_init), (gst_base_transform_init),
3557         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3558         (gst_base_transform_get_property),
3559         (gst_base_transform_sink_activate),
3560         (gst_base_transform_src_activate),
3561         (gst_base_transform_change_state):
3562         * gst/base/gstbasetransform.h:
3563         * gst/elements/gstidentity.c: (gst_identity_class_init),
3564         (gst_identity_event), (gst_identity_check_perfect),
3565         (gst_identity_transform), (gst_identity_start),
3566         (gst_identity_stop):
3567         Added start/stop methods to transform base class so subclasses 
3568         don't need to deal with state changes even.
3569
3570 2005-03-31  Wim Taymans  <wim@fluendo.com>
3571
3572         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3573         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3574         * gst/gstevent.h:
3575         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3576         (gst_pad_pull_range):
3577         Added rate to the discont event to prepare for variable speed
3578         and reverse playback.
3579
3580 2005-03-29  David Schleef  <ds@schleef.org>
3581
3582         * configure.ac:
3583         * testsuite/trigger/Makefile.am:
3584         * testsuite/trigger/trigger.c: A little example program to show
3585         how trigger-based elements can work.
3586
3587 2005-03-29  Wim Taymans  <wim@fluendo.com>
3588
3589         * gst/base/Makefile.am:
3590         * gst/base/README:
3591         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3592         (gst_basesink_base_init), (gst_basesink_class_init),
3593         (gst_basesink_pad_getcaps), (gst_basesink_init),
3594         (gst_basesink_activate), (gst_basesink_change_state):
3595         * gst/base/gstbasesink.h:
3596         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3597         (gst_base_transform_base_init), (gst_base_transform_finalize),
3598         (gst_base_transform_class_init), (gst_base_transform_init),
3599         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3600         (gst_base_transform_event), (gst_base_transform_getrange),
3601         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3602         (gst_base_transform_set_property),
3603         (gst_base_transform_get_property),
3604         (gst_base_transform_sink_activate),
3605         (gst_base_transform_src_activate),
3606         (gst_base_transform_change_state):
3607         * gst/base/gstbasetransform.h:
3608         * gst/elements/gstidentity.c: (gst_identity_finalize),
3609         (gst_identity_class_init), (gst_identity_init),
3610         (gst_identity_event), (gst_identity_check_perfect),
3611         (gst_identity_transform), (gst_identity_set_property),
3612         (gst_identity_get_property), (gst_identity_change_state):
3613         * gst/elements/gstidentity.h:
3614         * gst/gstelement.c: (gst_element_get_state_func),
3615         (gst_element_lost_state), (gst_element_pads_activate):
3616         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3617         (gst_pad_check_pull_range), (gst_pad_pull_range):
3618         * gst/gstpad.h:
3619         Simplify pad activation.
3620         Added function to check if pull_range can be performed.
3621         Error out when pulling inactive or flushing pads.
3622         Removed const from refcounted types as it does not make sense.
3623         Simplify pad templates in basesink
3624         Added base class for simple 1-to-1 transforms.
3625         Make identity subclass the base transform.
3626
3627 2005-03-29  Andy Wingo  <wingo@pobox.com>
3628
3629         * docs/libs/gstreamer-libs-overrides.txt: 
3630         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3631         really don't understand what's going on, but like whatever. I want
3632         green buildbot!
3633
3634         * docs/gst/Makefile.am:
3635         * docs/libs/Makefile.am: Dist the overrides files.
3636
3637         * check/Makefile.am (clean-local): Remove .libs directories.
3638
3639         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3640         elements to EXTRA_DIST, so po/ files are happy.
3641
3642         * po/POTFILES.in: Er, remove it here.
3643
3644         * po/POTFILES: Remove gstspider.c.
3645
3646         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3647
3648         * docs/libs/gstreamer-libs-docs.sgml: 
3649         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3650         bytestream.
3651
3652         * tests/complexity.c (main): Set the length of the preroll queue
3653         on the sinks to prevent a lockup.
3654
3655         * libs/gst/dataprotocol/Makefile.am: 
3656         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3657         the same as the one in check/gst-libs/gdp.c.
3658
3659         * po/, docs/gst/: Commit automatic changes to docs and po files.
3660
3661         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3662         the versioned libgstbase.
3663
3664         * check/Makefile.am: Depend on an unversioned gst-register, seems
3665         to make autoconf happier.
3666
3667         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3668
3669 2005-03-28  Wim Taymans  <wim@fluendo.com>
3670
3671         * configure.ac:
3672         * docs/design/part-gstelement.txt:
3673         * docs/design/part-negotiation.txt:
3674         * docs/design/part-preroll.txt:
3675         * docs/design/part-scheduling.txt:
3676         * docs/design/part-states.txt:
3677         * gst/Makefile.am:
3678         * gst/base/Makefile.am:
3679         * gst/base/README:
3680         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3681         (gst_basesink_base_init), (gst_basesink_class_init),
3682         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3683         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3684         (gst_basesink_set_pad_functions),
3685         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3686         (gst_basesink_set_property), (gst_basesink_get_property),
3687         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3688         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3689         (gst_basesink_preroll_queue_push),
3690         (gst_basesink_preroll_queue_empty),
3691         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3692         (gst_basesink_event), (gst_basesink_get_times),
3693         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3694         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3695         (gst_basesink_loop), (gst_basesink_activate),
3696         (gst_basesink_change_state):
3697         * gst/base/gstbasesink.h:
3698         * gst/elements/Makefile.am:
3699         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3700         (gst_fakesink_class_init), (gst_fakesink_init),
3701         (gst_fakesink_set_property), (gst_fakesink_get_property),
3702         (gst_fakesink_get_times), (gst_fakesink_event),
3703         (gst_fakesink_preroll), (gst_fakesink_render),
3704         (gst_fakesink_change_state):
3705         * gst/elements/gstfakesink.h:
3706         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3707         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3708         * gst/gstelement.c: (gst_element_add_pad),
3709         (gst_element_get_state_func), (gst_element_abort_state),
3710         (gst_element_commit_state), (gst_element_lost_state),
3711         (gst_element_set_state), (gst_element_pads_activate):
3712         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3713         * gst/gstpipeline.c: (gst_pipeline_send_event),
3714         (gst_pipeline_change_state):
3715         Added state change code.
3716         Added/updated docs.
3717         Added sink base class, make fakesink extend the base class.
3718         Small cleanups in GstPipeline.
3719
3720 2005-03-26  David Schleef  <ds@schleef.org>
3721
3722         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3723         is broken and should be implemented in a different library.
3724         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3725         * gst/gst.h: remove gstcpu.h
3726         * gst/gstcpu.c: remove
3727         * gst/gstcpu.h: remove
3728         * gst/Makefile.am.future: Remove this file.  It's ancient.
3729
3730 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3731
3732         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3733         (gst_bin_send_event):
3734           Add default event/set_manager handlers. The set_manager handler
3735           takes care that the manager is distributed over kids that were
3736           already in the bin before the manager was set. The event handler
3737           is a utility virtual function that sends the event over all sinks,
3738           so that gst_element_send_event (bin, event); has the expected
3739           behaviour.
3740         * gst/gstpad.c: (gst_pad_event_default):
3741           Re-install default event handling for discontinuities, so that
3742           seeking works without requiring hacks in applications or extra
3743           code in sinks.
3744         * gst/gstpipeline.c: (gst_pipeline_class_init),
3745         (gst_pipeline_send_event):
3746           Half hack, half utility: set a pipeline to PAUSED for seek events,
3747           since that is the only way we can guarantee a/v sync. Means that
3748           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3749           and it "just works".
3750
3751 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3752
3753         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3754           Lock/unlock mismatch.
3755
3756 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3757
3758         * docs/faq/gst-uninstalled:
3759           add gst-plugins-base
3760         * docs/gst/Makefile.am:
3761           don't error out until docs are fixed
3762         * docs/gst/gstreamer.types:
3763           remove thread
3764
3765 2005-03-22  Wim Taymans  <wim@fluendo.com>
3766
3767         * check/Makefile.am:
3768         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3769         * gst/gststructure.c: (gst_structure_set_valist),
3770         (gst_structure_copy_conditional):
3771         Activated more tests.
3772         Added message test.
3773         Added G_TYPE_POINTER to GstStructure.
3774         
3775
3776 2005-03-22  Wim Taymans  <wim@fluendo.com>
3777
3778         * docs/design/part-TODO.txt:
3779         * docs/design/part-events.txt:
3780         * docs/design/part-gstbin.txt:
3781         * docs/design/part-gstbus.txt:
3782         * docs/design/part-gstpipeline.txt:
3783         * docs/design/part-messages.txt:
3784         * gst/gstbus.c:
3785         * gst/gstmessage.c:
3786         Docs updates
3787
3788 2005-03-21  Wim Taymans  <wim@fluendo.com>
3789
3790         * gst/gstbus.c: (gst_bus_post):
3791         Fix copy-and-paste error.
3792
3793 2005-03-21  Wim Taymans  <wim@fluendo.com>
3794
3795         * check/Makefile.am:
3796         * gst/Makefile.am:
3797         * gst/elements/Makefile.am:
3798         * gst/elements/gstelements.c:
3799         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3800         (gst_fakesink_event), (gst_fakesink_chain):
3801         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3802         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3803         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3804         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3805         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3806         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3807         (gst_fakesrc_loop), (gst_fakesrc_activate),
3808         (gst_fakesrc_change_state):
3809         * gst/elements/gstfakesrc.h:
3810         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3811         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3812         (gst_filesrc_open_file), (gst_filesrc_loop),
3813         (gst_filesrc_activate), (gst_filesrc_change_state),
3814         (filesrc_find_peek), (filesrc_find_suggest),
3815         (gst_filesrc_type_find):
3816         * gst/elements/gstidentity.c: (gst_identity_finalize),
3817         (gst_identity_class_init), (gst_identity_init),
3818         (gst_identity_proxy_getcaps), (identity_queue_push),
3819         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3820         (gst_identity_getrange), (gst_identity_chain),
3821         (gst_identity_sink_loop), (gst_identity_src_loop),
3822         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3823         (gst_identity_set_property), (gst_identity_get_property),
3824         (gst_identity_change_state):
3825         * gst/elements/gstidentity.h:
3826         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3827         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3828         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3829         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3830         (gst_tee_sink_activate):
3831         * gst/elements/gsttee.h:
3832         * gst/gst.c: (gst_register_core_elements), (init_post):
3833         * gst/gst.h:
3834         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3835         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3836         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3837         (gst_bin_change_state):
3838         * gst/gstbin.h:
3839         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3840         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3841         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3842         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3843         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3844         (bus_watch_callback), (bus_watch_destroy),
3845         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3846         (poll_timeout), (gst_bus_poll):
3847         * gst/gstbus.h:
3848         * gst/gstcaps.h:
3849         * gst/gstdata.h:
3850         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3851         (gst_element_post_message), (gst_element_message_full),
3852         (gst_element_get_state_func), (gst_element_get_state),
3853         (gst_element_abort_state), (gst_element_commit_state),
3854         (gst_element_lost_state), (gst_element_set_state),
3855         (gst_element_pads_activate), (gst_element_change_state),
3856         (gst_element_dispose), (gst_element_set_manager_func),
3857         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3858         (gst_element_set_manager), (gst_element_get_manager),
3859         (gst_element_set_bus), (gst_element_get_bus),
3860         (gst_element_set_scheduler), (gst_element_get_scheduler):
3861         * gst/gstelement.h:
3862         * gst/gstevent.c: (gst_event_new_segment_seek),
3863         (gst_event_new_flush):
3864         * gst/gstevent.h:
3865         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3866         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3867         (gst_message_new_eos), (gst_message_new_error),
3868         (gst_message_new_warning), (gst_message_new_tag),
3869         (gst_message_new_state_changed), (gst_message_new_application),
3870         (gst_message_get_structure), (gst_message_parse_tag),
3871         (gst_message_parse_state_changed), (gst_message_parse_error),
3872         (gst_message_parse_warning):
3873         * gst/gstmessage.h:
3874         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3875         (gst_real_pad_set_property), (gst_pad_set_active),
3876         (gst_pad_is_active), (gst_pad_set_blocked_async),
3877         (gst_pad_set_blocked), (gst_pad_is_blocked),
3878         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3879         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3880         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3881         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3882         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3883         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3884         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3885         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3886         (gst_pad_set_caps), (gst_pad_configure_sink),
3887         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3888         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3889         (gst_real_pad_dispose), (gst_real_pad_finalize),
3890         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3891         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3892         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3893         * gst/gstpad.h:
3894         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3895         (pipeline_bus_handler), (gst_pipeline_change_state),
3896         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3897         * gst/gstpipeline.h:
3898         * gst/gstprobe.h:
3899         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3900         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3901         (gst_queue_link_src), (gst_queue_bufferalloc),
3902         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3903         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3904         (gst_queue_loop), (gst_queue_handle_src_event),
3905         (gst_queue_handle_src_query), (gst_queue_src_activate),
3906         (gst_queue_change_state):
3907         * gst/gstqueue.h:
3908         * gst/gstscheduler.c: (gst_scheduler_init),
3909         (gst_scheduler_dispose), (gst_scheduler_create_task),
3910         (gst_scheduler_factory_create):
3911         * gst/gstscheduler.h:
3912         * gst/gststructure.c: (gst_structure_get_type),
3913         (gst_structure_copy_conditional):
3914         * gst/gststructure.h:
3915         * gst/gsttaginterface.h:
3916         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3917         (gst_task_init), (gst_task_dispose), (gst_task_create),
3918         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3919         (gst_task_pause):
3920         * gst/gsttask.h:
3921         * gst/gstthread.c:
3922         * gst/gstthread.h:
3923         * gst/gsttypes.h:
3924         * gst/schedulers/Makefile.am:
3925         * gst/schedulers/cothreads_compat.h:
3926         * gst/schedulers/entryscheduler.c:
3927         * gst/schedulers/faircothreads.c:
3928         * gst/schedulers/faircothreads.h:
3929         * gst/schedulers/fairscheduler.c:
3930         * gst/schedulers/gstbasicscheduler.c:
3931         * gst/schedulers/gstoptimalscheduler.c:
3932         * gst/schedulers/gthread-cothreads.h:
3933         * gst/schedulers/threadscheduler.c:
3934         (gst_thread_scheduler_task_get_type),
3935         (gst_thread_scheduler_task_class_init),
3936         (gst_thread_scheduler_task_init),
3937         (gst_thread_scheduler_task_start),
3938         (gst_thread_scheduler_task_stop),
3939         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3940         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3941         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3942         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3943         (plugin_init):
3944         * libs/gst/Makefile.am:
3945         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3946         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3947         (gst_file_pad_parent_set):
3948         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3949         (gst_dp_event_from_packet):
3950         * tests/complexity.c: (main):
3951         * tests/mass_elements.c: (main):
3952         * testsuite/states/locked.c: (message_received), (main):
3953         * testsuite/states/parent.c: (main):
3954         * tools/gst-inspect.c: (print_element_flag_info),
3955         (print_implementation_info), (print_pad_info):
3956         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3957         (main):
3958         * tools/gst-md5sum.c: (event_loop), (main):
3959         * tools/gst-typefind.c: (main):
3960         * tools/gst-xmlinspect.c: (print_element_info):
3961         Next big merge.
3962         Added GstBus for mainloop integration.
3963         Added GstMessage for sending notifications on the bus.
3964         Added GstTask as an abstraction for pipeline entry points.
3965         Removed GstThread.
3966         Removed Schedulers.
3967         Simplified GstQueue for multithreaded core.
3968         Made _link threadsafe, removed old capsnego.
3969         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3970         Added pad blocking functions.
3971         Reworked scheduling functions in GstPad to prepare for
3972         scheduling updates soon.
3973         Moved events out of data stream.
3974         Simplified GstEvent types.
3975         Added return values to push/pull.
3976         Removed clocking from GstElement.
3977         Added prototypes for state change function for next merge.
3978         Removed iterate from bins and state change management.
3979         Fixed some elements, disabled others for now.
3980         Fixed -inspect and -launch.
3981         Added check for GstBus.
3982
3983 2005-03-10  Wim Taymans  <wim@fluendo.com>
3984
3985         * docs/design/part-MT-refcounting.txt:
3986         * docs/design/part-clocks.txt:
3987         * docs/design/part-gstelement.txt:
3988         * docs/design/part-gstobject.txt:
3989         * docs/design/part-standards.txt:
3990         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3991         (gst_bin_remove_func), (gst_bin_remove):
3992         * gst/gstbin.h:
3993         * gst/gstbuffer.c:
3994         * gst/gstcaps.h:
3995         * testsuite/clock/clock1.c: (main):
3996         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3997         (main):
3998         * testsuite/dlopen/loadgst.c: (do_test):
3999         * testsuite/refcounting/bin.c: (add_remove_test1),
4000         (add_remove_test2), (main):
4001         * testsuite/refcounting/element.c: (main):
4002         * testsuite/refcounting/element_pad.c: (main):
4003         * testsuite/refcounting/pad.c: (main):
4004         * tools/gst-launch.c: (sigint_handler_sighandler):
4005         * tools/gst-typefind.c: (main):
4006         Doc updates.
4007         Added doc about clock.
4008         removed gst_bin_iterate_recurse_up(), marked methods
4009         for removal.
4010         Fix more testsuites.
4011
4012 2005-03-09  Wim Taymans  <wim@fluendo.com>
4013
4014         * gst/gstpad.c: (gst_pad_get_direction),
4015         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4016         (gst_pad_collect_valist):
4017         * testsuite/bins/interface.c: (main):
4018         * testsuite/caps/audioscale.c: (test_caps):
4019         * testsuite/caps/caps.c: (test1), (test2), (test3):
4020         * testsuite/caps/deserialize.c: (main):
4021         * testsuite/caps/enumcaps.c: (main):
4022         * testsuite/caps/filtercaps.c: (main):
4023         * testsuite/caps/intersect2.c: (main):
4024         * testsuite/caps/random.c: (main):
4025         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4026         * testsuite/caps/sets.c: (check_caps):
4027         * testsuite/caps/simplify.c: (check_caps), (main):
4028         * testsuite/caps/subtract.c: (check_caps):
4029         Fix _pad_get_direction wrt ghostpads.
4030         Fix caps testsuite.
4031
4032 2005-03-09  Wim Taymans  <wim@fluendo.com>
4033
4034         * check/Makefile.am:
4035         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4036         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4037         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4038         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4039         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4040         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4041         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4042         (bin_element_is_sink), (gst_bin_iterate_sinks),
4043         (gst_bin_iterate_all_by_interface):
4044         * gst/gstbin.h:
4045         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4046         (gst_element_change_state), (gst_element_dispose),
4047         (gst_element_finalize), (gst_element_set_loop_function):
4048         * gst/gstelement.h:
4049         * gst/gstiterator.c: (find_custom_fold_func):
4050         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4051         (gst_pad_collectv), (gst_pad_collect_valist),
4052         (gst_pad_template_new):
4053         * gst/gstpipeline.c: (gst_pipeline_class_init),
4054         (gst_pipeline_dispose), (gst_pipeline_set_property),
4055         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4056         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4057         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4058         * gst/gstutils.h:
4059         * gst/schedulers/entryscheduler.c:
4060         * gst/schedulers/gstbasicscheduler.c:
4061         (gst_basic_scheduler_cothreaded_chain),
4062         (gst_basic_scheduler_chain_add_element):
4063         * testsuite/bins/interface.c: (main):
4064         Added GstBin test.
4065         Added GstSystemClock test.
4066         Implemented clock distribution code in GstBin.
4067         Implemented iterate sinks method for future use.
4068         Rearranged gstelement.h
4069         Fix GstIterator comparison bug.
4070         Moved some code to GstPipeline, mostly clocking related.
4071
4072 2005-03-09  Wim Taymans  <wim@fluendo.com>
4073
4074         * configure.ac:
4075         * gst/gst_private.h:
4076         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4077         (gst_bin_remove_func), (gst_bin_remove),
4078         (gst_bin_get_by_name_recurse_up):
4079         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4080         (gst_clock_id_compare_func), (gst_clock_id_wait),
4081         (gst_clock_id_wait_async), (gst_clock_init),
4082         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4083         * gst/gstelement.h:
4084         * gst/gstinfo.c: (_gst_debug_init):
4085         * gst/gstobject.h:
4086         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4087         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4088         * gst/gstpad.h:
4089         Bump version number, we're now 0.9.0
4090         Add future debugging category.
4091         Fix NULL _unref() in _get_by_name_recurse_up
4092         Rearrange gstpad.h.
4093         Update some docs.
4094
4095 2005-03-08  Wim Taymans  <wim@fluendo.com>
4096
4097         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4098         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4099         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4100         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4101         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4102         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4103         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4104         * gst/elements/gstidentity.c: (gst_identity_class_init):
4105         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4106         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4107         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4108         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4109         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4110         (gst_tee_link):
4111         * gst/gstelement.c: (gst_element_class_init),
4112         (gst_element_base_class_init), (gst_element_init),
4113         (gst_element_get_random_pad), (gst_element_wait_state_change),
4114         (gst_element_change_state), (gst_element_dispose),
4115         (gst_element_finalize), (gst_element_set_loop_function):
4116         * gst/gstelement.h:
4117         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4118         * gst/gstthread.c: (gst_thread_class_init),
4119         (gst_thread_release_children_locks), (gst_thread_change_state):
4120         * gst/schedulers/gstbasicscheduler.c:
4121         (gst_basic_scheduler_loopfunc_wrapper),
4122         (gst_basic_scheduler_chain_wrapper),
4123         (gst_basic_scheduler_src_wrapper),
4124         (gst_basic_scheduler_remove_element):
4125         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4126         Remove threadsafe properties. Fix elements because GObject
4127         complains when installing a property before declaring a
4128         set/get_property handler.
4129         Rearrange gstelement.h file, use STATE macros for state locks.
4130         Free mutexes in the finalize method instead of dispose.
4131
4132 2005-03-08  Wim Taymans  <wim@fluendo.com>
4133
4134         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4135         * gst/gstthread.c: (gst_thread_release_children_locks):
4136         Added parentage check.
4137         Fix build og GstThread again.
4138
4139 2005-03-08  Wim Taymans  <wim@fluendo.com>
4140
4141         * docs/design/part-MT-refcounting.txt:
4142         * docs/design/part-conventions.txt:
4143         * docs/design/part-gstobject.txt:
4144         * docs/design/part-relations.txt:
4145         * docs/design/part-standards.txt:
4146         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4147         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4148         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4149         (gst_bin_iterate_all_by_interface):
4150         * gst/gstbuffer.h:
4151         * gst/gstclock.h:
4152         * gst/gstelement.c: (gst_element_class_init),
4153         (gst_element_change_state), (gst_element_set_loop_function):
4154         * gst/gstelement.h:
4155         * gst/gstiterator.c:
4156         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4157         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4158         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4159         (gst_object_set_parent), (gst_object_unparent),
4160         (gst_object_check_uniqueness):
4161         * gst/gstobject.h:
4162         Docs updates, clean up some headers.
4163
4164 2005-03-07  Wim Taymans  <wim@fluendo.com>
4165
4166         * check/.cvsignore:
4167         * check/Makefile.am:
4168         * check/gst-libs/.cvsignore:
4169         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4170         * check/gst/.cvsignore:
4171         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4172         (START_TEST), (gstbus_suite), (main):
4173         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4174         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4175         (gst_data_suite), (main):
4176         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4177         (add_fold_func), (gstiterator_suite), (main):
4178         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4179         (thread_name_object), (thread_name_object_default),
4180         (gst_object_name_compare), (gst_object_suite), (main):
4181         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4182         (gst_pad_suite), (main):
4183         * check/gstcheck.c: (gst_check_log_message_func),
4184         (gst_check_log_critical_func), (gst_check_init):
4185         * check/gstcheck.h:
4186         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4187         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4188         Added checks.
4189
4190 2005-03-07  Wim Taymans  <wim@fluendo.com>
4191
4192         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4193         (gst_list_iterator_next), (gst_list_iterator_resync),
4194         (gst_list_iterator_free), (gst_iterator_new_list),
4195         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4196         (gst_iterator_free), (gst_iterator_push), (filter_next),
4197         (filter_resync), (filter_uninit), (filter_free),
4198         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4199         (gst_iterator_foreach), (find_custom_fold_func),
4200         (gst_iterator_find_custom):
4201         * gst/gstiterator.h:
4202         Added missing files.
4203
4204 2005-03-07  Wim Taymans  <wim@fluendo.com>
4205
4206         * Makefile.am:
4207         * configure.ac:
4208         * docs/design/part-MT-refcounting.txt:
4209         * docs/design/part-conventions.txt:
4210         * docs/design/part-gstobject.txt:
4211         * docs/design/part-relations.txt:
4212         * examples/mixer/mixer.c: (main):
4213         * examples/thread/thread.c: (eos), (main):
4214         * gst/Makefile.am:
4215         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4216         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4217         (gst_spider_plug_from_srcpad):
4218         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4219         (gst_spider_identity_change_state),
4220         (gst_spider_identity_sink_loop_type_finding):
4221         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4222         * gst/elements/gstidentity.c: (gst_identity_init):
4223         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4224         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4225         * gst/elements/gsttypefindelement.c: (free_entry):
4226         * gst/gst.c:
4227         * gst/gst.h:
4228         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4229         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4230         (gst_bin_set_index), (gst_bin_set_element_sched),
4231         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4232         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4233         (gst_bin_iterate_elements), (iterate_child_recurse),
4234         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4235         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4236         (compare_interface), (gst_bin_get_by_interface),
4237         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4238         * gst/gstbin.h:
4239         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4240         (gst_buffer_default_free), (gst_buffer_default_copy),
4241         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4242         (gst_buffer_create_sub):
4243         * gst/gstbuffer.h:
4244         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4245         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4246         (gst_caps_unref), (gst_static_caps_get),
4247         (gst_caps_remove_and_get_structure), (gst_caps_append),
4248         (gst_caps_append_structure), (gst_caps_remove_structure),
4249         (gst_caps_copy_nth), (gst_caps_set_simple),
4250         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4251         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4252         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4253         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4254         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4255         (gst_caps_structure_figure_out_union),
4256         (gst_caps_switch_structures), (gst_caps_do_simplify),
4257         (gst_caps_replace), (gst_caps_from_string),
4258         (gst_caps_copy_conditional):
4259         * gst/gstcaps.h:
4260         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4261         (_gst_clock_id_free), (gst_clock_id_unref),
4262         (gst_clock_id_compare_func), (gst_clock_id_wait),
4263         (gst_clock_id_wait_async), (gst_clock_class_init),
4264         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4265         (gst_clock_get_time), (gst_clock_set_time_adjust),
4266         (gst_clock_set_property), (gst_clock_get_property):
4267         * gst/gstclock.h:
4268         * gst/gstcompat.h:
4269         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4270         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4271         * gst/gstdata.h:
4272         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4273         (gst_element_requires_clock), (gst_element_provides_clock),
4274         (gst_element_set_clock), (gst_element_clock_wait),
4275         (gst_element_wait), (gst_element_set_time_delay),
4276         (gst_element_is_indexable), (gst_element_add_pad),
4277         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4278         (pad_compare_name), (gst_element_get_static_pad),
4279         (gst_element_request_pad), (gst_element_get_request_pad),
4280         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4281         (gst_element_class_get_pad_template_list),
4282         (gst_element_class_get_pad_template), (gst_element_error_func),
4283         (gst_element_get_random_pad), (gst_element_get_event_masks),
4284         (gst_element_send_event), (gst_element_seek),
4285         (gst_element_get_query_types), (gst_element_query),
4286         (gst_element_get_formats), (gst_element_convert),
4287         (gst_element_is_locked_state), (gst_element_set_locked_state),
4288         (gst_element_sync_state_with_parent), (gst_element_change_state),
4289         (gst_element_finalize), (gst_element_yield),
4290         (gst_element_interrupt), (gst_element_set_scheduler),
4291         (gst_element_get_scheduler), (gst_element_set_loop_function):
4292         * gst/gstelement.h:
4293         * gst/gstevent.h:
4294         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4295         (gst_format_get_by_nick), (gst_format_get_details),
4296         (gst_format_iterate_definitions):
4297         * gst/gstformat.h:
4298         * gst/gstindex.c: (gst_index_gtype_resolver):
4299         * gst/gstinfo.c:
4300         * gst/gstinfo.h:
4301         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4302         (gst_mem_chunk_free):
4303         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4304         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4305         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4306         (gst_object_dispatch_properties_changed),
4307         (gst_object_set_name_default), (gst_object_set_name),
4308         (gst_object_get_name), (gst_object_set_name_prefix),
4309         (gst_object_get_name_prefix), (gst_object_set_parent),
4310         (gst_object_get_parent), (gst_object_unparent),
4311         (gst_object_check_uniqueness), (gst_object_save_thyself),
4312         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4313         (gst_object_set_property), (gst_object_get_property),
4314         (gst_object_get_path_string):
4315         * gst/gstobject.h:
4316         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4317         (gst_real_pad_init), (gst_real_pad_get_property),
4318         (gst_pad_custom_new), (gst_pad_get_direction),
4319         (gst_pad_set_active), (gst_pad_is_active),
4320         (gst_pad_set_event_function), (gst_pad_is_linked),
4321         (gst_pad_link_free), (gst_pad_link_intersect),
4322         (gst_pad_link_fixate), (gst_pad_set_caps),
4323         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4324         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4325         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4326         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4327         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4328         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4329         (gst_pad_realize), (gst_pad_get_allowed_caps),
4330         (gst_real_pad_dispose), (gst_real_pad_finalize),
4331         (gst_pad_collectv), (gst_pad_collect_valist),
4332         (gst_pad_template_dispose), (gst_pad_template_new),
4333         (gst_pad_get_internal_links):
4334         * gst/gstpad.h:
4335         * gst/gstpipeline.c: (gst_pipeline_dispose),
4336         (gst_pipeline_change_state):
4337         * gst/gstpipeline.h:
4338         * gst/gstplugin.c:
4339         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4340         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4341         * gst/gstpluginfeature.h:
4342         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4343         * gst/gstquery.c: (_gst_query_type_initialize),
4344         (gst_query_type_register), (gst_query_type_get_by_nick),
4345         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4346         * gst/gstquery.h:
4347         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4348         * gst/gstscheduler.c: (gst_scheduler_add_element),
4349         (gst_scheduler_factory_create):
4350         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4351         (gst_structure_free), (gst_structure_set_name),
4352         (gst_structure_id_set_value), (gst_structure_set_value),
4353         (gst_structure_set_valist), (gst_structure_remove_field),
4354         (gst_structure_remove_fields),
4355         (gst_structure_remove_fields_valist),
4356         (gst_structure_remove_all_fields), (gst_structure_foreach),
4357         (gst_structure_map_in_place),
4358         (gst_caps_structure_fixate_field_nearest_int),
4359         (gst_caps_structure_fixate_field_nearest_double):
4360         * gst/gststructure.h:
4361         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4362         (gst_system_clock_init), (gst_system_clock_dispose),
4363         (gst_system_clock_async_thread),
4364         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4365         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4366         * gst/gstsystemclock.h:
4367         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4368         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4369         * gst/gsttaginterface.c:
4370         * gst/gstthread.c: (gst_thread_dispose),
4371         (gst_thread_release_children_locks), (gst_thread_change_state),
4372         (gst_thread_main_loop):
4373         * gst/gsttrashstack.h:
4374         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4375         * gst/gsttypes.h:
4376         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4377         (gst_element_request_pad), (gst_element_get_pad_from_template),
4378         (gst_element_request_compatible_pad),
4379         (gst_element_get_compatible_pad_filtered),
4380         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4381         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4382         (gst_element_link_many), (gst_element_link),
4383         (gst_element_link_pads), (gst_element_unlink_pads),
4384         (gst_element_unlink_many), (gst_element_unlink),
4385         (gst_pad_can_link_filtered), (gst_pad_can_link),
4386         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4387         (gst_object_default_error), (gst_bin_add_many),
4388         (gst_bin_remove_many), (gst_element_populate_std_props),
4389         (gst_element_class_install_std_props), (gst_buffer_merge),
4390         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4391         (link_fold_func), (gst_pad_proxy_setcaps):
4392         * gst/gstutils.h:
4393         * gst/gstvalue.c: (gst_value_deserialize_string):
4394         * gst/parse/grammar.y:
4395         * gst/schedulers/gstbasicscheduler.c:
4396         (gst_basic_scheduler_cothreaded_chain),
4397         (gst_basic_scheduler_chain_recursive_add),
4398         (gst_basic_scheduler_pad_link):
4399         * gst/schedulers/gstoptimalscheduler.c:
4400         (get_group_schedule_function),
4401         (gst_opt_scheduler_state_transition),
4402         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4403         * libs/gst/bytestream/bytestream.c:
4404         * libs/gst/dataprotocol/dataprotocol.c:
4405         (gst_dp_header_from_buffer):
4406         * po/nb.po:
4407         * po/ru.po:
4408         * tests/threadstate/threadstate2.c: (eos):
4409         * tools/gst-compprep.c: (main):
4410         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4411         (print_pad_info), (print_children_info):
4412         * tools/gst-launch.c: (idle_func), (main):
4413         * tools/gst-md5sum.c: (idle_func), (main):
4414         * tools/gst-xmlinspect.c: (print_element_info):
4415         First THREADED backport attempt, focusing on adding locks and
4416         making sure the API is threadsafe. Needs more work. More docs
4417         follow this week.
4418
4419 2005-02-24  Andy Wingo  <wingo@pobox.com>
4420
4421         * tests/bench-complexity.scm:
4422         * tests/complexity.gnuplot: New files, good for running complexity
4423         benchmarks.
4424
4425         * tests/Makefile.am:
4426         * tests/complexity.c: New test, sets up N elements, at each level
4427         teeing into M streams per element. Eeeenteresting.
4428
4429         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4430         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4431         running bench-mass_elements.scm.
4432
4433         * tests/bench-mass_elements.scm: New script, runs mass_elements
4434         for various numbers of identities, outputting the results to a
4435         file. Requires guile 1.6. Just for testing.
4436
4437 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4438
4439         * gst/schedulers/fairscheduler.c:
4440           compile with debug disabled
4441
4442 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4443
4444         * configure.ac:
4445           hunting season on 0.9 is now OPEN
4446
4447 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4448
4449         * docs/libs/tmpl/gstcontrol.sgml:
4450         * docs/libs/tmpl/gstdparam.sgml:
4451         * docs/libs/tmpl/gstdplinint.sgml:
4452         * docs/libs/tmpl/gstdpman.sgml:
4453         * docs/libs/tmpl/gstdpsmooth.sgml:
4454         * docs/libs/tmpl/gstunitconvert.sgml:
4455           more docs for the state of dparams
4456
4457 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4458
4459         * gst/gstelementfactory.c: (gst_element_factory_create):
4460         * gst/gstobject.c: (gst_object_init),
4461         (gst_object_set_name_default), (gst_object_set_name):
4462           name objects by default, not in gst_element_factory_create. Allows
4463           using elements created with g_object_new. (fixes #167283)
4464
4465 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4466
4467         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4468           make the time that debugging functions print relative to when
4469           gst_init was called
4470
4471 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4472
4473         * gst/gsttaginterface.c:
4474           Fix inline docs: tag setter vararg functions are NULL-terminated,
4475           GST_TAG_INVALID doesn't exist any more.
4476
4477 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4478
4479         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4480         Allocate the 1 byte more memory that was forgotten!!!!!
4481         fixes memory corruption on 64bit platforms
4482
4483 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4484
4485         * docs/pwg/building-pads.xml:
4486         * docs/pwg/intro-basics.xml:
4487           fixed a few typos, relabeled introductionary list of types
4488         * docs/random/ensonic/dparams.txt:
4489           more notes abut dparam changes
4490         * libs/gst/control/dparam.c: (gst_dparam_attach):
4491         * libs/gst/control/dparammanager.c:
4492         * libs/gst/control/dparammanager.h:
4493           - many comments and notes on dparam implementation
4494           - new dparams are were not initialized to the default value
4495             from param spec
4496
4497 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4498
4499         submitted by: Peter Astakhov
4500
4501         * po/LINGUAS:
4502         * po/ru.po:
4503           adding Russian translation
4504
4505 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4506
4507         * configure.ac:
4508         * docs/gst/Makefile.am:
4509         * docs/libs/Makefile.am:
4510           make sure popt is added to gtk-doc flags.  Fixes #147782.
4511
4512 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4513
4514         * docs/faq/using.xml:
4515           Fix typo in FAQ (artssink => artsdsink)
4516
4517 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4518
4519         * tools/gst-launch.1.in:
4520           Fix typo (#166699).
4521
4522 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4523
4524         * docs/faq/using.xml:
4525           Add -v argument to fakesrc/fakesink gst-launch line,
4526           so that the promised output will actually show up.
4527
4528 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4529
4530         * gst/gstthread.c: (gst_thread_change_state):
4531           Implement state-change error handling (#166073).
4532
4533 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4534
4535         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4536           Release interrupt after handling (#166250).
4537
4538 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4539
4540         * configure.ac:
4541           back to HEAD
4542
4543 === release 0.8.9 ===
4544
4545 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4546
4547         * NEWS:
4548         * RELEASE:
4549         * configure.ac:
4550           releasing 0.8.9, "Like Eating Glass"
4551
4552 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4553
4554         submitted by: Clytie Siddall
4555
4556         * po/vi.po: Added Vietnamese translation
4557
4558 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4559
4560         patch by: Tim Philipp-Müller
4561
4562         * configure.ac:
4563         * gst/gstpad.c:
4564           unref data when probe function returns FALSE.  Fixes #166362
4565
4566 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4567
4568         * gst/gst.c: (gst_init_get_popt_table):
4569           Fix typo (#166269).
4570
4571 2005-02-04  Andy Wingo  <wingo@pobox.com>
4572
4573         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4574         the debugging on whether the caps are compatible.
4575
4576 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4577
4578         * docs/manual/basics-elements.xml:
4579           Fix two typos.
4580
4581 2005-02-02  Wim Taymans  <wim@fluendo.com>
4582
4583         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4584         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4585         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4586         Remove some FIXMEs after analysing and commenting why they
4587         are not issues.
4588
4589 2005-02-02  Wim Taymans  <wim@fluendo.com>
4590
4591         * gst/schedulers/gstoptimalscheduler.c:
4592         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4593         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4594         (get_invalid_call), (chain_invalid_call),
4595         (get_group_schedule_function), (loop_group_schedule_function),
4596         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4597         (gst_opt_scheduler_state_transition),
4598         (gst_opt_scheduler_add_element),
4599         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4600         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4601         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4602         (gst_opt_scheduler_show):
4603         Added lock to protect scheduler data structures.
4604
4605 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4606
4607         * testsuite/threads/threadi.c: (cb_data):
4608           Fix buglet in test.
4609
4610 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4611
4612         * testsuite/threads/Makefile.am:
4613         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4614           On Wim's request, split the test in three separately-compiled
4615           tests that each test a very specific bug. Two of them still fail,
4616           will create bugs for those. threadi.c indicates why they fail.
4617
4618 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4619
4620         * gst/schedulers/gstoptimalscheduler.c:
4621         (get_group_schedule_function):
4622           Try to work with the threading mess that queue_link is.
4623
4624 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4625
4626         * gst/gstbin.c: (gst_bin_remove_func):
4627           Explicitely make an element release locks in a group when being
4628           remove from a bin.
4629         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4630           If there's no scheduler, always return immediately (similar to
4631           gst_element_interrupt).
4632
4633 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4634
4635         * gst/gstbin.c: (gst_bin_child_state_change_func):
4636           Remove a piece of code that could never be reached.
4637         * docs/gst/gstreamer-sections.txt:
4638         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4639         (gst_pad_call_get_function):
4640         * gst/gstpad.h:
4641         * testsuite/pad/Makefile.am:
4642           Fix #150546, enable tests.
4643
4644 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4645
4646         * docs/pwg/advanced-types.xml:
4647           Fix description for buffer-frames=0.
4648         * docs/gst/tmpl/gstbin.sgml:
4649         * gst/gstbin.c: (gst_bin_child_state_change_func),
4650         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4651         * gst/gstbin.h:
4652         * testsuite/threads/Makefile.am:
4653         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4654         (cb_state), (cb_play), (main):
4655           Fix non-recursive state changes to *really* change the state
4656           of the object, and not just call parent_class->state_change.
4657           Fix a lot of lockups caused by this. Fixes #132775. Add test
4658           for the problem. Also enable test to show #142588 (fixed).
4659         * gst/gstthread.c: (gst_thread_change_state),
4660         (gst_thread_child_state_change):
4661           Don't exit the thread if we go to NULL and are inside thread
4662           context. Instead, return control to the main thread context
4663           and exit from there.
4664         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4665           Don't unset virtual functions, since those may still be used.
4666           That's not necessarily correct, but suffices for now.
4667         * configure.ac:
4668         * testsuite/Makefile.am:
4669         * testsuite/pad/Makefile.am:
4670         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4671         (gst_test_sink_base_init), (gst_test_sink_chain),
4672         (gst_test_sink_init), (main):
4673         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4674         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4675         (main):
4676         * testsuite/pad/link.c: (gst_test_element_class_init),
4677         (gst_test_element_base_init), (gst_test_src_get),
4678         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4679         (gst_test_filter_loop), (gst_test_filter_init),
4680         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4681         (cb_error), (main):
4682           Add tests to show #150546. Pass, but should fail (currently
4683           disabled from the testsuite).
4684         * gst/gstscheduler.c: (gst_scheduler_dispose):
4685           Dereference child schedulers on dispose (#94464).
4686         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4687           Fix typo.
4688         * testsuite/threads/thread.c: (main):
4689           Add more debug.
4690
4691 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4692
4693         * gst/gstpad.c: (gst_pad_push):
4694           Oops, revert previous commit, broke testsuite...
4695
4696 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4697
4698         * gst/gstpad.c: (gst_pad_push):
4699           Add check that the pad on which the push is performed is not a
4700           get-based pad (#150546).
4701
4702 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4703
4704         * gst/elements/gsttypefindelement.c:
4705         (gst_type_find_element_handle_event):
4706           Fix buffer pushing if stream EOSes during typefinding.
4707
4708 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4709
4710         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4711
4712         * gst/gstvalue.c: (gst_string_wrap):
4713           Allow NULL-strings as argument (#165365).
4714
4715 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4716
4717         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4718
4719         * gst/schedulers/faircothreads.c:
4720         (gst_fair_scheduler_cothread_queue_show):
4721           Fix build without debug enabled.
4722
4723 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4724
4725         * docs/gst/gstreamer-sections.txt:
4726         * docs/libs/gstreamer-libs-docs.sgml:
4727         * docs/libs/gstreamer-libs-sections.txt:
4728         * docs/libs/tmpl/gstcontrol.sgml:
4729         * docs/libs/tmpl/gstdparam.sgml:
4730         * docs/libs/tmpl/gstdplinint.sgml:
4731         * docs/libs/tmpl/gstdpman.sgml:
4732         * docs/libs/tmpl/gstdpsmooth.sgml:
4733         * docs/libs/tmpl/gstputbits.sgml:
4734         * docs/libs/tmpl/gstunitconvert.sgml:
4735         * libs/gst/control/dparam.c:
4736         * libs/gst/control/dparam.h:
4737         * libs/gst/control/dparammanager.c:
4738         (gst_dpman_add_required_dparam_callback),
4739         (gst_dpman_add_required_dparam_direct),
4740         (gst_dpman_add_required_dparam_array),
4741         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4742         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4743         (gst_dpman_get_manager)
4744           restructured DParam docs
4745
4746 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4747
4748         * gst-element-check.m4:
4749           Only check for gst-inspect if we haven't already
4750           found it in previous element check runs
4751
4752 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4753
4754         * docs/gst/Makefile.am:
4755         * docs/libs/Makefile.am:
4756           fixed install rules to treat style.css as optional
4757
4758 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4759
4760         * docs/gst/Makefile.am:
4761         * docs/libs/Makefile.am:
4762           install style.css along with docs
4763         * docs/gst/tmpl/gstbin.sgml:
4764         * docs/gst/tmpl/gstclock.sgml:
4765         * docs/gst/tmpl/gstdata.sgml:
4766         * docs/gst/tmpl/gstelement.sgml:
4767         * gst/gstbin.h:
4768         * gst/gstelement.c: (gst_element_class_init):
4769         * gst/gstelement.h:
4770           fixing incomplete docs
4771
4772 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4773
4774         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4775           Don't unref seek event twice when fflush() fails
4776           
4777 2005-01-22  David Schleef  <ds@schleef.org>
4778
4779         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4780
4781 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4782
4783         * docs/gst/Makefile.am:
4784         * docs/libs/Makefile.am:
4785           added params for deprecation guards
4786         * gst/gst.c:
4787         * gst/gst.h:
4788         * gst/gsterror.c: (_gst_resource_errors_init),
4789         (_gst_stream_errors_init):
4790         * gst/gsterror.h:
4791           documented some more enums
4792
4793 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4794         * gst/autoplug/gstspideridentity.c:
4795         Cosmetic fix - spider_find_peek should be static
4796         * gst/parse/parse.l:
4797         Applying fix for #164261
4798
4799 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4800
4801         * docs/gst/gstreamer-sections.txt:
4802         * docs/gst/tmpl/gstplugin.sgml:
4803         * docs/libs/gstreamer-libs-sections.txt:
4804         * docs/libs/tmpl/gstcontrol.sgml:
4805         * gst/gstbuffer.h:
4806         * gst/gsttag.h:
4807         * gst/gstvalue.c:
4808           added docs for the TAG defines
4809
4810 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4811
4812         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4813           Only unref entry if there is an entry.
4814
4815 2005-01-17  Wim Taymans  <wim@fluendo.com>
4816
4817         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4818         (remove_from_group), (schedule_group), (normalize_group),
4819         (gst_opt_scheduler_iterate):
4820         Also ref/unref decoupled elements before iterating the
4821         group since they are not added to the list of elements.
4822
4823 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4824
4825         * docs/manual/highlevel-components.xml:
4826           Add subtitle/streamselection as new features to playbin.
4827
4828 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4829
4830         * docs/manual/manual.xml:
4831           Re-enable dataaccess docs (oops).
4832
4833 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4834
4835         * docs/pwg/advanced-types.xml:
4836         * docs/random/mimetypes:
4837           Add documentation on libsndfile types (#163309), by Steve Baker
4838           <steve@stevebaker.org>.
4839         * gst/gstelement.c: (gst_element_release_request_pad):
4840           If an element has no explicit function, just remove the pad.
4841
4842 2005-01-17  Luca Ognibene  <luogni@tin.it>
4843
4844         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4845
4846         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4847           Fix memleak (#163801).
4848
4849 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4850
4851         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4852           I think this is actually more correct...
4853
4854 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4855
4856         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4857           Another workaround for memory access while destroyed in callback.
4858           Please, someone with refcount knowledge, have a look at this.
4859
4860 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4861
4862         * docs/faq/faq.xml:
4863         * docs/faq/legal.xml:
4864           move the legal Q&A here
4865
4866 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4867
4868         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4869         (gst_tee_request_new_pad):
4870           Fix negotiation.
4871
4872 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4873
4874         * docs/random/omega/caps2:
4875         * testsuite/caps/caps_strings:
4876           replace framerate aproximations by their real value
4877           (24000/1001, 30000/1001, 60000/1001)
4878           Partially fixes bug #164049
4879
4880 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * docs/gst/Makefile.am:
4883           don't fail on the stupid GstPoptOption
4884
4885 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4886
4887         * gst/gstpad.h:
4888         * gst/gstprobe.c:
4889           allow probes to work on ghost pads by realizing the pad
4890           probe debugging
4891
4892 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4893
4894         * docs/gst/gstreamer-sections.txt:
4895         * docs/gst/tmpl/gstpad.sgml:
4896         * gst/gstpad.c: (gst_pad_set_active_recursive):
4897         * gst/gstpad.h:
4898           Add gst_pad_set_active_recursive().
4899
4900 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4901
4902         * docs/random/release:
4903           updates
4904         * gst/gst_private.h:
4905         * gst/gstinfo.c:
4906         * gst/gstobject.c:
4907           move deep_notify logging to a new category
4908         * gst/gstprobe.c:
4909         * gst/gstprobe.h:
4910           add stuff so bindings can wrap probes
4911
4912 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4913
4914         * gst/gstplugin.c: (gst_plugin_load):
4915           Fix plugin loading if plugin/lib was already loaded. Fixes
4916           #163383
4917
4918 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4919
4920         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4921
4922         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4923           Protect plugin loading by a mutex so it's threadsafe. Fixes
4924           #163234.
4925
4926 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4927
4928         * gst/gstevent.c: (_gst_event_copy):
4929           Reference source object when copying events, since it'll be
4930           dereferenced on event dereferencing as well.
4931
4932 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4933
4934         * docs/gst/gstreamer-sections.txt:
4935         * docs/gst/tmpl/gstevent.sgml:
4936         * gst/gstevent.c: (gst_event_new_filler_stamped),
4937         (gst_event_filler_get_duration):
4938         * gst/gstevent.h:
4939           Add two new functions for filler events (which are used to
4940           synchronize streams if one of them is not having any data
4941           for a while) without interrupting the actual data-stream.
4942           Basically a no-op.
4943         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4944         (gst_queue_link_sink), (gst_queue_link_src),
4945         (gst_queue_change_state):
4946           Allow for renegotiation while filled. Required for stream
4947           switching while playing.
4948
4949 2005-01-08  Benjamin Otte  <otte@gnome.org>
4950
4951         * gst/gstelement.c: (gst_element_link_many):
4952           fix up g_return_if_fail's
4953         * po/LINGUAS:
4954         * po/de.po:
4955           add German translation, that was somehow not included
4956
4957 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4958
4959         * docs/random/mimetypes:
4960           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4961           do not add them to riff-lib as they are not common
4962
4963 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4964
4965         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4966           Check for existence of probe after performing the probe before
4967           re-accessing it to prevent segfaults caused by removal of the
4968           probe in the callback.
4969
4970 2005-01-05  David Schleef  <ds@schleef.org>
4971
4972         * testsuite/registry/Makefile.am:
4973         * testsuite/registry/gst-print-formats.c:
4974         (print_pad_templates_info), (print_element_list),
4975         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4976         (g_list_uniqify), (get_pad_templates_info),
4977         (get_element_mime_list), (print_mime_list), (main): A little
4978         program that looks through the registry to find elements of
4979         a given type.  Not particularly interesting as a test, except
4980         that there's no other test covering the same area.
4981
4982 2005-01-05  David Schleef  <ds@schleef.org>
4983
4984         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4985         (fault_handler_sigaction), (fault_spin),
4986         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4987         in signal.h-type signal handlers by not calling forbidden functions,
4988         including gst_element_set_state().
4989
4990 2005-01-05  David Schleef  <ds@schleef.org>
4991
4992         * gst/gstvalue.h: Mark _gst_reserved[] as private
4993
4994 2005-01-05  David Schleef  <ds@schleef.org>
4995
4996         * gst/gstvalue.c: Fix doc build problem.
4997
4998 2005-01-05  David Schleef  <ds@schleef.org>
4999
5000         * gst/gstvalue.c: Add some documentation
5001
5002 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5003
5004         * docs/README:
5005           another shell oneliner for empty return value docs
5006         * gst/gstcaps.c:
5007         * gst/gstvalue.c:
5008         * libs/gst/control/dparam.c:
5009           more doc fixes (parameters and return values)
5010
5011 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5012
5013         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5014
5015         * gst/gstregistry.h:
5016         * gst/registries/gstxmlregistry.c:
5017           Fix macro's for Mingw (fixes #162276).
5018
5019 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5020
5021         * docs/README:
5022           quick shell oneliner to find undocumented members
5023         * docs/gst/tmpl/gstplugin.sgml:
5024         * docs/gst/tmpl/gstscheduler.sgml:
5025         * docs/gst/tmpl/gstthread.sgml:
5026           more enumtypes cleanup
5027         * gst/gsterror.h:
5028           activated documentation comments, now someone needs to document
5029           the enums :(
5030
5031 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5032
5033         * docs/manual/manual.xml:
5034           Add dataaccess part (doh!).
5035
5036 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5037
5038         * docs/manual/advanced-autoplugging.xml:
5039           Fix typo (intiate -> initiate).
5040
5041 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5042
5043         * docs/random/bbb/streamselection:
5044           Add some notes on how to handle multi-subtitle/-audio streams.
5045
5046 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5047
5048         * docs/gst/gstreamer-docs.sgml:
5049         * docs/gst/gstreamer-sections.txt:
5050         * docs/gst/tmpl/gstenumtypes.sgml:
5051         * docs/gst/tmpl/gsterror.sgml:
5052         * docs/gst/tmpl/gstevent.sgml:
5053         * docs/gst/tmpl/gstpad.sgml:
5054         * docs/gst/tmpl/gstpadtemplate.sgml:
5055         * docs/gst/tmpl/gstthread.sgml:
5056           removed gstenumtypes section from docs and put all the enums into
5057           their sections
5058
5059 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5060
5061         * gst/gstplugin.c:
5062           document gst_library_load a bit more (riff special case + return
5063           value if already loaded)
5064         * testsuite/bytestream/filepadsink.c:
5065           plugin name is 'gstbytestream', not 'bytestream'
5066
5067 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5068
5069         * docs/random/bbb/subtitles:
5070           Add some first mind rumblings on proper subtitle support.
5071
5072 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5073
5074         * po/ca.po:
5075         * po/sv.po:
5076           updated translations
5077
5078 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5079
5080         * docs/manual/advanced-dataaccess.xml:
5081           Add section on how to use fakesrc/fakesink/identity in your
5082           application, plus section on how to embed plugins. Also mention
5083           probes.
5084         * docs/manual/appendix-checklist.xml:
5085         * docs/manual/appendix-debugging.xml:
5086         * docs/manual/appendix-gnome.xml:
5087         * docs/manual/appendix-integration.xml:
5088           Debug -> checklist, GNOME -> integration, add sections on Linux,
5089           KDE integration and add other things useful for application
5090           development.
5091         * docs/manual/manual.xml:
5092           Remove some fixmes, update some file pointers.
5093         * docs/pwg/appendix-checklist.xml:
5094           Fix typo.
5095         * docs/pwg/building-boiler.xml:
5096           Remove ugly header and add commented fixme.
5097         * docs/pwg/pwg.xml:
5098           Add fixme.
5099         * examples/manual/Makefile.am:
5100           Add example for added docs.
5101
5102 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * configure.ac:
5105           back to HEAD
5106
5107 === release 0.8.8 ===
5108
5109 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5110
5111         * NEWS:
5112         * RELEASE:
5113         * configure.ac:
5114           Releasing 0.8.8, "I'll Take Care Of You"
5115
5116 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * configure.ac:
5119           second prerelease
5120
5121 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5122
5123         patch by: Wim Taymans
5124
5125         * gst/gstbin.c:
5126           Fix for #159852 - make iterate emission threadsafe
5127
5128 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * docs/faq/cvs.xml:
5131           notes about new fdo account request
5132
5133 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5134
5135         * docs/gst/gstreamer-docs.sgml:
5136         * docs/gst/tmpl/gstenumtypes.sgml:
5137         * docs/gst/tmpl/gstplugin.sgml:
5138         * docs/libs/gstreamer-libs-docs.sgml:
5139           Added missing short docs. Added ids for navigation.
5140
5141 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5142
5143         * docs/manual/advanced-autoplugging.xml:
5144         * docs/manual/advanced-schedulers.xml:
5145         * docs/manual/advanced-threads.xml:
5146           Rewrites. Remove cothreads, go a bit into opt specifically,
5147           document threads and their gotchas, and do some technical stuff
5148           on autoplugging plus add some working examples. Fixes #157395.
5149         * examples/manual/Makefile.am:
5150           Add typefind/autoplugger example (one that actually works).
5151           Remove queue example since it's a duplicate of the thread one.
5152
5153 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5154
5155         * gst/gstvalue.c: (gst_value_deserialize_string):
5156           use deprecated g_value_set_string_take_ownership to keep compatible
5157           with glib 2.2
5158
5159 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5160
5161         * gst/gstvalue.c: (gst_value_deserialize_string):
5162           revert last patch, only dom a g_utf8_validate now before accepting
5163           the string - caps parsing strips " from strings so we can't rely on
5164           them
5165         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5166           disable a test that tested the above and comment it
5167
5168 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5169
5170         Patch reviewed by David Schleef  <ds@schleef.org>
5171
5172         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5173         bug #153882)
5174         * win32/gstenumtypes.h: same
5175
5176 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5177
5178         * gst/gstpad.c: (gst_pad_query):
5179           Do query on realized pad, similar to how convert/send_event handle
5180           this. Also makes sense, since this pad belongs to the function to
5181           which this query will be sent. Fixes #158163.
5182
5183 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5184
5185         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5186
5187 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5188
5189         * docs/faq/general.xml: fix pipeline to actually work
5190
5191 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5192
5193         * gst/gstvalue.c: (gst_value_deserialize_string):
5194           check that a simple string that gets deserialized does not contain
5195           invalid characters
5196         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5197           remove a test that tested a wring behaviour
5198
5199 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5200
5201         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5202
5203         * docs/manual/intro-motivation.xml:
5204           Fix typos.
5205
5206 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5207
5208         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5209
5210         * docs/gst/tmpl/gstprobe.sgml:
5211           Fix documentation of probe callback - it is supposed to return
5212           FALSE, not TRUE, to remove data from the stream (#159087).
5213
5214 2004-12-16  Daniel Gazard  <dany42@free.fr>
5215
5216         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5217
5218         * gst/gstelementfactory.c: (gst_element_factory_create):
5219           Fix compile failure if compiling without libxml2 support (#149936).
5220
5221 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5222
5223         * docs/manual/advanced-autoplugging.xml:
5224         * docs/manual/highlevel-components.xml:
5225           Move spider from autoplugging to components. Autoplugging is for
5226           internals, not for solutions. ;-).
5227
5228 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5229
5230         * docs/random/ds/0.9-suggested-changes:
5231           Make note on device/location/uri property names.
5232
5233 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5234
5235         * docs/manual/advanced-autoplugging.xml:
5236         * docs/manual/advanced-clocks.xml:
5237         * docs/manual/advanced-interfaces.xml:
5238         * docs/manual/advanced-metadata.xml:
5239         * docs/manual/advanced-position.xml:
5240         * docs/manual/advanced-schedulers.xml:
5241         * docs/manual/advanced-threads.xml:
5242         * docs/manual/appendix-gnome.xml:
5243         * docs/manual/appendix-programs.xml:
5244         * docs/manual/appendix-quotes.xml:
5245         * docs/manual/autoplugging.xml:
5246         * docs/manual/basics-bins.xml:
5247         * docs/manual/basics-data.xml:
5248         * docs/manual/basics-elements.xml:
5249         * docs/manual/basics-helloworld.xml:
5250         * docs/manual/basics-init.xml:
5251         * docs/manual/basics-pads.xml:
5252         * docs/manual/basics-plugins.xml:
5253         * docs/manual/bins-api.xml:
5254         * docs/manual/bins.xml:
5255         * docs/manual/buffers-api.xml:
5256         * docs/manual/buffers.xml:
5257         * docs/manual/clocks.xml:
5258         * docs/manual/components.xml:
5259         * docs/manual/cothreads.xml:
5260         * docs/manual/debugging.xml:
5261         * docs/manual/dparams-app.xml:
5262         * docs/manual/dynamic.xml:
5263         * docs/manual/elements-api.xml:
5264         * docs/manual/elements.xml:
5265         * docs/manual/factories.xml:
5266         * docs/manual/gnome.xml:
5267         * docs/manual/goals.xml:
5268         * docs/manual/helloworld.xml:
5269         * docs/manual/helloworld2.xml:
5270         * docs/manual/highlevel-components.xml:
5271         * docs/manual/highlevel-xml.xml:
5272         * docs/manual/init-api.xml:
5273         * docs/manual/intro-basics.xml:
5274         * docs/manual/intro-motivation.xml:
5275         * docs/manual/intro-preface.xml:
5276         * docs/manual/intro.xml:
5277         * docs/manual/links-api.xml:
5278         * docs/manual/links.xml:
5279         * docs/manual/manual.xml:
5280         * docs/manual/motivation.xml:
5281         * docs/manual/pads-api.xml:
5282         * docs/manual/pads.xml:
5283         * docs/manual/plugins-api.xml:
5284         * docs/manual/plugins.xml:
5285         * docs/manual/programs.xml:
5286         * docs/manual/queues.xml:
5287         * docs/manual/quotes.xml:
5288         * docs/manual/schedulers.xml:
5289         * docs/manual/states-api.xml:
5290         * docs/manual/states.xml:
5291         * docs/manual/threads.xml:
5292         * docs/manual/typedetection.xml:
5293         * docs/manual/win32.xml:
5294         * docs/manual/xml.xml:
5295           Try 2. This time, include a short preface as a "general
5296           introduction", also add code blocks around all code samples
5297           so they get compiled. We still need a way to tell readers
5298           the filename of the code sample. In some cases, don't show
5299           all code in the documentation, but do include it in the generated
5300           code. This allows for focussing on specific bits in the docs,
5301           while still having a full test application available.
5302         * examples/manual/Makefile.am:
5303           Fix up examples for new ADM. Add several of the new examples that
5304           were either added or were missing from the build system.
5305         * examples/manual/extract.pl:
5306           Allow nameless blocks.
5307
5308 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5309
5310         * docs/manual/elements-api.xml:
5311         * docs/manual/helloworld.xml:
5312         * examples/manual/extract.pl:
5313           fix last example.  Add example of adding code blocks that are not
5314           shown in docbook output.
5315
5316 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5317
5318         * docs/manual/dynamic.xml:
5319         * docs/manual/elements-api.xml:
5320         * docs/manual/gnome.xml:
5321         * docs/manual/helloworld2.xml:
5322         * docs/manual/init-api.xml:
5323         * docs/manual/queues.xml:
5324         * docs/manual/threads.xml:
5325         * docs/manual/xml.xml:
5326         * examples/manual/extract.pl:
5327           Make it possible to extract example code from separate blocks.
5328           Should make Ronald happy.
5329
5330 2004-12-15  Wim Taymans  <wim@fluendo.com>
5331
5332         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5333         (remove_from_group), (group_elements_set_visited),
5334         (normalize_group), (gst_opt_scheduler_iterate):
5335         Fix bug where a flag was not updated on a decoupled entry point 
5336         because we were just checking the group element list and decoupled
5337         elements are not in that list..
5338
5339 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5340
5341         * docs/manual/advanced-autoplugging.xml:
5342         * docs/manual/advanced-clocks.xml:
5343         * docs/manual/advanced-dparams.xml:
5344         * docs/manual/advanced-interfaces.xml:
5345         * docs/manual/advanced-metadata.xml:
5346         * docs/manual/advanced-position.xml:
5347         * docs/manual/advanced-schedulers.xml:
5348         * docs/manual/advanced-threads.xml:
5349         * docs/manual/appendix-debugging.xml:
5350         * docs/manual/appendix-gnome.xml:
5351         * docs/manual/appendix-programs.xml:
5352         * docs/manual/appendix-quotes.xml:
5353         * docs/manual/appendix-win32.xml:
5354         * docs/manual/autoplugging.xml:
5355         * docs/manual/basics-bins.xml:
5356         * docs/manual/basics-data.xml:
5357         * docs/manual/basics-elements.xml:
5358         * docs/manual/basics-helloworld.xml:
5359         * docs/manual/basics-init.xml:
5360         * docs/manual/basics-pads.xml:
5361         * docs/manual/basics-plugins.xml:
5362         * docs/manual/bins-api.xml:
5363         * docs/manual/bins.xml:
5364         * docs/manual/buffers-api.xml:
5365         * docs/manual/buffers.xml:
5366         * docs/manual/clocks.xml:
5367         * docs/manual/components.xml:
5368         * docs/manual/cothreads.xml:
5369         * docs/manual/debugging.xml:
5370         * docs/manual/dparams-app.xml:
5371         * docs/manual/dynamic.xml:
5372         * docs/manual/elements-api.xml:
5373         * docs/manual/elements.xml:
5374         * docs/manual/factories.xml:
5375         * docs/manual/gnome.xml:
5376         * docs/manual/goals.xml:
5377         * docs/manual/helloworld.xml:
5378         * docs/manual/helloworld2.xml:
5379         * docs/manual/highlevel-components.xml:
5380         * docs/manual/highlevel-xml.xml:
5381         * docs/manual/init-api.xml:
5382         * docs/manual/intro-motivation.xml:
5383         * docs/manual/intro-preface.xml:
5384         * docs/manual/intro.xml:
5385         * docs/manual/links-api.xml:
5386         * docs/manual/links.xml:
5387         * docs/manual/manual.xml:
5388         * docs/manual/motivation.xml:
5389         * docs/manual/pads-api.xml:
5390         * docs/manual/pads.xml:
5391         * docs/manual/plugins-api.xml:
5392         * docs/manual/plugins.xml:
5393         * docs/manual/programs.xml:
5394         * docs/manual/queues.xml:
5395         * docs/manual/quotes.xml:
5396         * docs/manual/schedulers.xml:
5397         * docs/manual/states-api.xml:
5398         * docs/manual/states.xml:
5399         * docs/manual/threads.xml:
5400         * docs/manual/typedetection.xml:
5401         * docs/manual/win32.xml:
5402         * docs/manual/xml.xml:
5403           First try at rewriting the ADM. Needs lotsamore work, but some
5404           parts might already be somewhat useful.
5405         * docs/pwg/advanced-interfaces.xml:
5406           Remove properties interface, it never actually existed (except for
5407           on my HD...).
5408
5409 2004-12-13  David Schleef  <ds@schleef.org>
5410
5411         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5412         be NULL (bug #160220).
5413
5414 2004-12-13  David Schleef  <ds@schleef.org>
5415
5416         * configure.ac: remove all mmx stuff, because it's not used.
5417         * docs/random/ds/0.9-suggested-changes: additional notes
5418         * include/Makefile.am: we don't use these anymore
5419         * include/mmx.h: remove
5420         * include/sse.h: remove
5421
5422 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5423
5424         * docs/random/mimetypes:
5425           Add FOURCC code for h264 codec (VSSH)
5426           Add alternate FOURCC codes for h263 related codecs
5427
5428 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5429
5430         * docs/manual/programs.xml:
5431           Added more gst-launch examples.
5432
5433 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5434
5435         * gst/gstqueue.c: (gst_queue_handle_src_query):
5436           Check for availability again.
5437
5438 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5439
5440         * gst/gstcaps.c: (gst_caps_compare_structures):
5441           Simple caps go first. This has the nice side-effect of fixing an
5442           obscure warning.
5443
5444 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5445
5446         * gst/gstversion.h.in:
5447           Protect header.
5448
5449 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5450
5451         * gst/schedulers/gstoptimalscheduler.c:
5452         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5453         (gst_opt_scheduler_get_wrapper):
5454           When we're recursing into a chain run, only run the directly
5455           related group, not all queued ones. This will fix a possible
5456           deadlock in chains with more than two groups.
5457
5458 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5459
5460         * autogen.sh:
5461           remove patch if autopoint fails
5462
5463 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5464
5465         * docs/gst/gstreamer-sections.txt:
5466           Document Thomas' addition, fix build, make Luis the sheriff happy.
5467
5468 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5469
5470         * gst/gstplugin.c:
5471         * gst/gstplugin.h:
5472           add accessor for version field
5473
5474 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         submitted by: Luca Ferretti <elle.uca@infinito.it>
5477
5478         * po/LINGUAS:
5479         * po/it.po:
5480           New tranlation added: Italian
5481
5482 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5483
5484         * gst/gstpad.c: (gst_pad_is_negotiated),
5485         (gst_pad_get_negotiated_caps):
5486           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5487           it doesn't actually check the contents), so be sure to hand it
5488           a RealPad else we'll crash.
5489
5490 2004-12-03  Wim Taymans  <wim@fluendo.com>
5491
5492         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5493         (gst_queue_link), (gst_queue_handle_src_query):
5494         Reverted to 1.110 until this makes the testsuite and various
5495         apps work.
5496
5497 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5498
5499         * docs/upload.mak: fix included CVS conflict strings
5500
5501 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5502
5503         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5504
5505         * gst/gstelement.c: (gst_element_error_full):
5506           Use g_error_new_literal because error text may have
5507           percentage signs in it. Fixes #160019.
5508
5509 2004-12-01  Benjamin Otte  <otte@gnome.org>
5510
5511         * gst/elements/gstbufferstore.c:
5512         (gst_buffer_store_add_buffer_func):
5513           don't try to make subbuffers bigger than they can be. (fixes
5514           #159970)
5515
5516 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5517
5518         * docs/gst/gstreamer-sections.txt:
5519         * docs/gst/tmpl/gstvalue.sgml:
5520           Add new function to docs to fix build.
5521
5522 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5523
5524         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5525         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5526         (_gst_pad_default_fixate_foreach):
5527         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5528         * gst/gstvalue.h:
5529           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5530           in some cases (arrays), the fixedness depends on the content.
5531         * gst/gstqueue.c: (gst_queue_handle_src_query):
5532           Check for availability before doing something.
5533
5534 2004-11-29  Wim Taymans  <wim@fluendo.com>
5535
5536         * testsuite/threads/Makefile.am:
5537         * testsuite/threads/signals.c: (gst_test_get_type),
5538         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5539         (gst_test_set_property), (gst_test_get_property),
5540         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5541         (gst_test_do_prop), (run_thread), (main):
5542         Added a bunch of testcases that show threadsafety bugs in glib.
5543
5544 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5545
5546         * docs/manual/programs.xml:
5547           Added a first batch of gst-launch examples, as provided by Ronald
5548           and others from the devel-mlist
5549
5550 2004-11-28  Benjamin Otte  <otte@gnome.org>
5551
5552         * gst/gstelement.c: (gst_element_negotiate_pads):
5553           simplify
5554         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5555         (gst_value_serialize_string), (gst_value_deserialize_string):
5556           add unwrapping of previously wrapped strings. Fix bug in wrapping
5557           while at it.
5558         * testsuite/caps/value_serialize.c: (test1),
5559         (test_string_serialization), (test_string_deserialization), (main):
5560           add tests for string (de)serialization
5561
5562 2004-11-26  Wim Taymans  <wim@fluendo.com>
5563
5564         * testsuite/threads/159566.c: (object_deep_notify), (main):
5565         * testsuite/threads/Makefile.am:
5566         Added testsuite to show bug #159566
5567
5568 2004-11-25  Wim Taymans  <wim@fluendo.com>
5569
5570         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5571         (gst_thread_child_state_change), (gst_thread_main_loop):
5572         Ref the thread object in the GThread mainloop. Break out of the
5573         thread mainloop if it holds the last ref. This properly exits
5574         the threads when disposing the thread from its own context. It
5575         also avoids possible deadlocks in the dispose function.
5576
5577 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5578
5579         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5580         it is necessary to wait.
5581
5582 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5583
5584         * docs/pwg/building-boiler.xml:
5585           Make description somewhat clearer.
5586
5587 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5588
5589         * docs/upload.mak:
5590           Apparently docs changed location on FDO's server.
5591
5592 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5593
5594         * docs/pwg/appendix-checklist.xml:
5595           Add some random notes on things to check when writing an element.
5596           This list can be extended as people see fit.
5597
5598 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5599
5600         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5601         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5602         pad. The queue will now wait until it is empty and forward the new
5603         caps to the source.
5604         * gst/gstbin.c (gst_bin_set_element_sched)
5605         (gst_bin_unset_element_sched): Make sure that all elements and
5606         links are registered and unregistered with the scheduler exactly
5607         once. This elaborates on a fix by Benjamin Otte, but
5608         guarantees that decoupled elements are also registered.
5609
5610 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5611
5612         * docs/manual/quotes.xml:
5613           add a quote
5614         * configure.ac:
5615         * gst/gst.c:
5616         * gst/gstinfo.c:
5617           add LIBDIR and move init message higher up so it's at the start
5618
5619 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5620
5621         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5622         * gstreamer.spec.in: add fair
5623
5624 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5625
5626         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5627         * gst/elements/gstidentity.c: (gst_identity_class_init):
5628           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5629           <teuf@gnome.org> (#157263).
5630         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5631         (gst_type_find_handle_src_query):
5632           Subtract size of internally stored data from position queries.
5633
5634 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5635
5636         * gst/schedulers/fairscheduler.c:
5637         * gst/schedulers/faircothreads.c:
5638         * gst/schedulers/faircothreads.h:
5639         New cothread based scheduler: Fair scheduler.
5640         * gst/schedulers/gthread-cothreads.h: 
5641         Add the standard #if around the whole file.
5642         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5643         compilation of the functions defined in this file. This is
5644         necessary to be able to use this file as a normal header.
5645         * gst/schedulers/Makefile.am: Add compiling support for fair
5646         scheduler.
5647         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5648         scheduler cothreads layer from documentation generation.
5649
5650 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5651
5652         * gst/autoplug/gstspideridentity.c:
5653         (gst_spider_identity_sink_loop_type_finding):
5654           Don't crash if that function is not implemented.
5655
5656 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5657
5658         * docs/pwg/advanced-types.xml:
5659           Another typo.
5660
5661 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5662
5663         * docs/pwg/intro-preface.xml:
5664           Hm, ok, so the brackets weren't really useful...
5665         * docs/pwg/other-ntoone.xml:
5666           Fix embarassing typo.
5667
5668 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5669
5670         * docs/pwg/intro-preface.xml:
5671           Rewrite preface.
5672
5673 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5674
5675         * docs/pwg/advanced-scheduling.xml:
5676         * docs/pwg/advanced-tagging.xml:
5677         * docs/pwg/advanced-types.xml:
5678         * docs/pwg/building-boiler.xml:
5679         * docs/pwg/building-chainfn.xml:
5680         * docs/pwg/building-signals.xml:
5681         * docs/pwg/building-state.xml:
5682         * docs/pwg/building-testapp.xml:
5683         * docs/pwg/intro-basics.xml:
5684         * docs/pwg/other-manager.xml:
5685         * docs/pwg/other-source.xml:
5686           Typo fixes.
5687         * docs/pwg/other-manager.xml:
5688           Add some first content. No example code yet.
5689         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5690           Remove double newlines.
5691
5692 2004-11-04  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5695         (remove_from_group), (normalize_group), (group_migrate_connected),
5696         (gst_opt_scheduler_iterate):
5697         * testsuite/schedulers/.cvsignore:
5698         * testsuite/schedulers/Makefile.am:
5699         * testsuite/schedulers/queue_link.c: (main):
5700         Added testcase for scheduler segfault.
5701         Fix scheduler segfault when removing a decoupled
5702         entry point as the last element from a group.
5703
5704 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5705
5706         * gst/gstmarshal.list: add missing marshaller, fixes build
5707
5708 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5709
5710         * docs/random/signal: added notes about using BOXED for GstBuffer
5711         signal marshallers, not POINTER
5712
5713 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5714
5715         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5716         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5717         POINTER=>BOXED changes to marshal GstBuffers
5718
5719 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5720
5721         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5722         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5723
5724 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5725
5726         * docs/gst/gstreamer-sections.txt:
5727         * docs/gst/tmpl/gstcaps.sgml:
5728         * docs/gst/tmpl/gsterror.sgml:
5729         * docs/gst/tmpl/gstinfo.sgml:
5730         * docs/gst/tmpl/gstmacros.sgml:
5731         * docs/gst/tmpl/gstutils.sgml:
5732         * docs/random/ensonic/interfaces.txt:
5733         * gst/gstinfo.h:
5734           added some more docs, removed two obsolete defines
5735
5736 2004-11-02  Kjartan Maraas <as at gnome.org>
5737
5738         reviewed by: Wim Taymans, Ronald Bultje.
5739
5740         * gst/cothreads.c: (cothread_create):
5741         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5742         (gst_bin_child_state_change_func):
5743         * gst/gstbuffer.c: (gst_buffer_span):
5744         * gst/gstelement.c: (gst_element_get_index),
5745         (gst_element_get_event_masks), (gst_element_get_query_types),
5746         (gst_element_get_formats):
5747         * gst/gsterror.c: (_gst_core_errors_init),
5748         (_gst_library_errors_init), (_gst_resource_errors_init),
5749         (_gst_stream_errors_init):
5750         * gst/gstobject.c: (gst_object_default_deep_notify):
5751         * gst/gstpad.c: (gst_pad_get_event_masks),
5752         (gst_pad_get_internal_links_default):
5753         * gst/gstplugin.c: (gst_plugin_register_func),
5754         (gst_plugin_get_module):
5755         * gst/gststructure.c: (gst_structure_get_string),
5756         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5757         (gst_structure_to_abbr):
5758         * gst/gstutils.c: (gst_print_element_args):
5759         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5760         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5761         Aplied part of patch #157127: Cleanup of issues reported by 
5762         sparse.
5763         Also do not try to use cothreads when there is no cothread
5764         context yet.
5765
5766 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5767
5768         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5769         (gst_opt_scheduler_iterate):
5770         Applied patch #154061. Running a pipeline in which an element 
5771         calls GST_ELEMENT_ERROR in the chain function, the opt 
5772         scheduler doesn't unref the chain so it never gets freed.
5773
5774 2004-11-02  Wim Taymans  <wim@fluendo.com>
5775
5776         * gst/gststructure.c: (gst_structure_get_abbrs),
5777         (gst_structure_from_abbr), (gst_structure_to_abbr):
5778         Remove that ugly if-then thing in the code that converts
5779         between strings and types.
5780
5781 2004-11-02  Wim Taymans  <wim@fluendo.com>
5782
5783         * gst/gstscheduler.c: (gst_scheduler_add_element),
5784         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5785         Aplied clock distribution patch, this should fix bug
5786         #148787.
5787
5788 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5789
5790         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5791
5792         * po/LINGUAS:
5793         * po/nb.po:
5794           Added Norwegian Bokmaal translation
5795
5796 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5797
5798         * tools/gst-inspect.c: (print_signal_info):
5799           print signal arguments as pointers if they are
5800
5801 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5802
5803         * docs/pwg/building-boiler.xml:
5804           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5805
5806 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5807
5808         * gst/parse/parse.l:
5809         * testsuite/parse/parse1.c: (main):
5810         Since parse can do 'element name=a:b' make 'a:b.' work as
5811         well. 
5812         Added testcase to verify fix.
5813
5814 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5815
5816         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5817         Use the realpad when printing the direction.
5818         Add extra \n when printing extensions of typefind factories.
5819
5820 2004-10-13  David Schleef  <ds@schleef.org>
5821
5822         * examples/manual/Makefile.am: $< isn't portable in Makefile
5823         rules.
5824
5825 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5826
5827         * docs/gst/tmpl/gstobject.sgml:
5828         * docs/gst/tmpl/gstplugin.sgml:
5829         * docs/gst/tmpl/gstpluginfeature.sgml:
5830         * docs/gst/tmpl/gstregistry.sgml:
5831         * docs/gst/tmpl/gstversion.sgml:
5832         * gst/gstbin.c:
5833           more api documentation
5834         * gst/gstplugin.c: (gst_plugin_register_func),
5835         (gst_plugin_check_file), (gst_plugin_load_file):
5836           better error signaling and logging
5837
5838 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5839
5840         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5841           Subtract current queue contents from position queries.
5842
5843 2004-10-11  Johan Dahlin  <johan@gnome.org>
5844
5845         * gst/gsturi.c (gst_uri_get_location): unescape string
5846         (gst_uri_construct): escape string.
5847
5848 2004-10-11  Benjamin Otte  <otte@gnome.org>
5849
5850         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5851         (gst_pad_try_set_caps_nonfixed):
5852           allow renegotiation of unconnected pads (as inside spider). Simply
5853           return OK if unconnected - mimic try_set_caps there.
5854
5855 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5856
5857         * gst/gstbin.c: (gst_bin_sync_children_state):
5858           Add missing break.
5859
5860 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5861
5862         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5863         Set element to EOS before sending EOS event
5864
5865 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5866
5867         * gst/elements/gsttypefindelement.c:
5868         (gst_type_find_element_handle_event):
5869         Handle EOS events when doing the transition from
5870         typefind to data passing. This should fix the
5871         infinite loops in short files.
5872
5873 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5874
5875         * gst/gstthread.c: (gst_thread_change_state),
5876         (gst_thread_child_state_change):
5877         Make sure no iteration happens while performing
5878         the state change as it could mess up the internal
5879         consistency of the thread state.
5880
5881 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5882
5883         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5884         (gst_thread_change_state), (gst_thread_child_state_change):
5885         Do not try to grab the iterate lock in the state change method
5886         when we are in the same thread as the iterate or else we
5887         could deadlock. Some other cleanups.
5888
5889 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * configure.ac:
5892           bump nano to cvs
5893
5894 === release 0.8.7 ===
5895
5896 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5897
5898         * configure.ac:
5899         * NEWS:
5900         * RELEASE:
5901         * configure.ac:
5902           releasing 0.8.7, "A Cruise"
5903
5904 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5905
5906         * docs/random/mimetypes:
5907         Add an entry for Sony ATRAC3 audio format with mime-type
5908         used by rmdemux et riff-read
5909
5910 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5911
5912         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5913         Push the buffer store instead of clearing it in case that
5914         the stream is not seekable.
5915
5916 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5917
5918         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5919         (gst_thread_main_loop):
5920         Lock the iteration and the state change so that automatic
5921         negotiation and fixation does not happen at the same time
5922         as the in stream negotiation.
5923
5924 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5925
5926         * configure.ac:
5927           bump nano to cvs
5928
5929 === release 0.8.6 ===
5930
5931 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * configure.ac:
5934         * NEWS:
5935         * RELEASE:
5936         * configure.ac:
5937           releasing 0.8.6, "Narc"
5938
5939 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5940
5941         * configure.ac:
5942           prerel bump
5943
5944 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         patch by: Steve Lhomme
5947
5948         * gst/elements/gstfakesrc.c:
5949         * gst/elements/gstidentity.c:
5950         * gst/gstthread.c:
5951           Fix for #153881
5952
5953 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5954
5955         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5956         Fix threadsafety of the crc checking function.
5957
5958 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         patch by: Ronald Bultje
5961
5962         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5963         (gst_type_find_element_handle_event),
5964         (gst_type_find_element_chain):
5965         * gst/elements/gsttypefindelement.h:
5966          #153657.
5967          Filter out discont event from seekable sources when typefind
5968          asks them to seek.  Fixes typefind with demuxers for
5969          avi, asf and matroska.
5970
5971 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * docs/gst/gstreamer-sections.txt:
5974         * gst/gstcaps.c:
5975         * gst/gstcaps.h:
5976         * gst/gstpad.c:
5977           Revert preferred caps: (#147789)
5978
5979 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5980
5981         * win32/dirent.c:
5982           fix a memory leak
5983
5984 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5985
5986         * configure.ac:
5987           bump for prerelease
5988
5989 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5990
5991         * docs/Makefile.am:
5992         * docs/manual/elements-api.xml:
5993           restructure so that common stuff is shown first
5994         * docs/manual/init-api.xml:
5995           convert to examples
5996         * docs/manual/manual.xml:
5997         * docs/manuals.mak:
5998         * docs/url.entities:
5999           link to API on the website, possibly override later in build
6000         * examples/manual/.cvsignore:
6001           ignore more
6002         * examples/manual/Makefile.am:
6003           add more examples
6004         * examples/manual/extract.pl:
6005           error out on failure
6006
6007 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * docs/gst/tmpl/gstthread.sgml:
6010         * docs/manual/init-api.xml:
6011         * examples/manual/Makefile.am:
6012           convert two code bits to examples
6013
6014 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6015
6016         * gst/gstelement.c: (gst_element_change_state):
6017           Well, actually, I was about to remove this insane assert when
6018           I noticed Wim already did that. A warning is nice so we can
6019           fix actual ugs (using --g-fatal-warnings and backtraces), so
6020           I added that instead.
6021
6022 2004-09-06  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6025         (gst_element_threadsafe_properties_post_run),
6026         (gst_element_set_state), (gst_element_change_state):
6027         Added extra refcounting around various places. 
6028
6029 2004-09-06  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6032         Fix debug info.
6033
6034 2004-09-06  Wim Taymans  <wim@fluendo.com>
6035
6036         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6037         (remove_from_group):
6038         Some more debug info.
6039
6040 2004-09-03  Wim Taymans  <wim@fluendo.com>
6041
6042         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6043         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6044         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6045         (gst_fakesrc_get), (gst_fakesrc_change_state):
6046         * gst/elements/gstfakesrc.h:
6047         * gst/elements/gstidentity.c: (gst_identity_class_init),
6048         (gst_identity_init), (gst_identity_chain),
6049         (gst_identity_set_property), (gst_identity_get_property),
6050         (gst_identity_change_state):
6051         * gst/elements/gstidentity.h:
6052         Added datarate properties to limit the datarate.
6053
6054 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6055
6056         * gst/autoplug/gstspider.c: (plugin_init):
6057           don't set a rank. We don't want to autoplug by inserting spiders.
6058
6059 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6060
6061         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6062         (gst_spider_identity_plug):
6063           add a template for spider's sink
6064         * gst/gst.c: (gst_register_core_elements):
6065           queue's rank should be NULL, we don't want spider to add it.
6066
6067 2004-08-18  David Schleef  <ds@schleef.org>
6068
6069         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6070         * docs/libs/Makefile.am: same
6071         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6072         * docs/random/ds/0.9-planning: random additions
6073         * docs/random/ds/0.9-suggested-changes: same
6074         * gst/gstxml.h: remove vestigal GstXMLNs definition
6075
6076         Preferred caps: (#147789)
6077         * docs/gst/gstreamer-sections.txt: Add symbols
6078         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6079         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6080         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6081         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6082         (gst_caps_get_preferred), (gst_caps_set_preferred),
6083         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6084         (gst_caps_use_preferred): Handle caps preferences
6085         * gst/gstcaps.h: Add caps preferences
6086         * gst/gstpad.c: (gst_pad_link_get_preferred),
6087         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6088         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6089         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6090         negotiation.
6091
6092 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6093
6094         * gst/autoplug/gstspideridentity.c:
6095         (gst_spider_identity_request_new_pad):
6096         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6097         (gst_aggregator_init):
6098         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6099         (gst_fakesink_init):
6100         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6101         (gst_fakesrc_init):
6102         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6103         (gst_fdsink_init):
6104         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6105         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6106         (gst_filesink_init):
6107         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6108         (gst_filesrc_init):
6109         * gst/elements/gstidentity.c: (gst_identity_base_init),
6110         (gst_identity_init):
6111         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6112         (gst_multifilesrc_init):
6113         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6114         (gst_pipefilter_init):
6115         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6116         (gst_statistics_init):
6117         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6118         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6119           s/gst_pad_new/&_from_template/
6120           register pad templates in the base_init function
6121           add static pad template definitions
6122
6123 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6124
6125         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6126         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6127         * testsuite/refcounting/pad.c: (main):
6128         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6129           s/gst_pad_new/&_from_template/
6130           prepare deprecation of gst_pad_new
6131
6132 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6133
6134         patch by: Luca Ognibene <skaboy81@virgilio.it>
6135
6136         * gst/gstcaps.c:
6137         * gst/gstelement.c:
6138         * gst/gstpad.c:
6139         * gst/gstxml.c:
6140           fix memleaks.  Fixes #150001
6141
6142 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6143
6144         * docs/random/ds/0.9-suggested-changes:
6145           add notes - mostly about pad templates
6146
6147 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6148
6149         * win32/GStreamer.vcproj:
6150           temporary locale files are .gmo not .mo
6151
6152 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         * configure.ac: bump nano to cvs
6155
6156 === release 0.8.5 ===
6157
6158 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * configure.ac:
6161           releasing 0.8.5, "Stuttgart"
6162         * NEWS:
6163         * RELEASE:
6164         * configure.ac:
6165         * docs/random/release:
6166           updates for release
6167
6168 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6169
6170         patch by: Wim Taymans (wim@fluendo.com)
6171
6172         * gst/gstbuffer.c:
6173         * gst/gstindex.h:
6174         * libs/gst/dataprotocol/dataprotocol.c:
6175           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6176
6177 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6178
6179         * Makefile.am:
6180         * win32/MANIFEST:
6181           add win32 dir to the build.  Fixes #149981.
6182
6183 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6184
6185         * configure.ac:
6186           bump libtool versioning
6187         * gst/gststructure.c:
6188           mark function as static
6189         * po/af.po:
6190         * po/az.po:
6191         * po/ca.po:
6192         * po/cs.po:
6193         * po/en_GB.po:
6194         * po/fr.po:
6195         * po/nl.po:
6196         * po/sq.po:
6197         * po/sr.po:
6198         * po/sv.po:
6199         * po/tr.po:
6200         * po/uk.po:
6201           translations update
6202         * win32/README.txt:
6203           trademark protection
6204
6205 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6206
6207         * configure.ac:
6208           fix GST_ORIGIN
6209           set GST_PACKAGE to source, and distinguish between release and other
6210         * tools/gst-inspect.c:
6211           print out plugin an element factory is part of so we see this info
6212
6213 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6214
6215         * docs/gst/gstreamer-sections.txt:
6216         * docs/gst/tmpl/gstbuffer.sgml:
6217         * docs/gst/tmpl/gstschedulerfactory.sgml:
6218           reorder docs a little, make GstBuffer's more sensible.
6219         * gst/gstbuffer.h:
6220           API: added GST_BUFFER_FLAG_DELTA_UNIT
6221         * gst/gstscheduler.c:
6222           comment API addition
6223
6224 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6225
6226         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6227           work with non-regular files that can be mmapped (like /dev/zero)
6228         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6229           get rid of typefinds that require a seek when we can't seek instead
6230           of trying them over and over again
6231         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6232           return non-zero failure value when the pipeline was interrupted or
6233           an error occurred
6234
6235 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6236
6237         * win32/config.h:
6238         * win32/GStreamer.vcproj:
6239           compile and install the locales
6240
6241 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6242
6243         * gst/gstvalue.c:
6244           fix a possible memory leak under Windows
6245
6246 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6247
6248         * win32/GStreamer.vcproj:
6249           fix a memory leak that occured under Windows
6250         * win32/gstreamer.def:
6251           add gst_scheduler_register
6252
6253 2004-08-11  Benjamin Otte  <otte@gnome.org>
6254
6255         * docs/gst/gstreamer-sections.txt:
6256         * gst/gstscheduler.c: (gst_scheduler_register):
6257         * gst/gstscheduler.h:
6258           API:
6259           add gst_scheduler_register shortcut similar to gst_element_register
6260         * gst/schedulers/entryscheduler.c: (plugin_init):
6261         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6262         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6263           use it
6264
6265 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6266
6267         * gst/gstvalue.h:
6268           fix a memory leak that occured under Windows
6269
6270 2004-08-10  Colin Walters  <walters@redhat.com>
6271
6272         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6273         Don't use O_EXCL to open temporary registry.  It will prevent
6274         registry creation if a temporary one already exists, which
6275         is unnecessary.
6276
6277 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6278
6279         * docs/gst/gstreamer-sections.txt:
6280         * docs/gst/tmpl/gstvalue.sgml:
6281           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6282
6283 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6284
6285         * win32/gstbytestream.vcproj:
6286         * win32/gstelements.vcproj:
6287         * win32/gstgetbits.vcproj:
6288         * win32/gst-inspect.vcproj:
6289         * win32/gst-launch.vcproj:
6290         * win32/gstoptimalscheduler.vcproj:
6291         * win32/GStreamer.vcproj:
6292         * win32/gst-register.vcproj:
6293         * win32/gstspider.vcproj:
6294           update the include and lib dirs to fit standard libraries as
6295           described in the Win32 manual
6296
6297 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6298
6299         * win32/config.h:
6300         * win32/gstversion.h:
6301           enable NLS again, push the version number for the coming 0.8.5 release
6302
6303 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6304
6305         * gst/gstvalue.h:
6306           export gst_type_XXX for windows DLLs
6307
6308 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * docs/faq/gst-uninstalled:
6311           fix PKG_CONFIG_PATH and PYTHONPATH
6312         * gst/schedulers/Makefile.am:
6313           cleanup
6314         * libs/gst/bytestream/bytestream.c:
6315           remove newline
6316         * po/LINGUAS:
6317         * po/sq.po:
6318           adding Albanian translation (Laurent Dhima)
6319         * po/cs.po:
6320           updated
6321
6322 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6323
6324         * po/ca.po:
6325         * po/sv.po:
6326           updated translations
6327
6328 2004-08-04  Benjamin Otte  <otte@gnome.org>
6329
6330         * tests/mass_elements.c: (main):
6331           allow specifying src and sink element explicitly, so I can test
6332           videotestsrc instead of fakesrc
6333
6334 2004-08-04  Benjamin Otte  <otte@gnome.org>
6335
6336         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6337         (gst_structure_id_empty_new), (gst_structure_empty_new),
6338         (gst_structure_copy):
6339           add gst_structure_id_empty_new_with_size to allow preallocating
6340           value array sizes. Use this in gst_structure_copy to get rid of
6341           reallocs.
6342           don't do quark=>string=>quark when copying structures
6343
6344 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6345
6346         * docs/manual/win32.xml:
6347         * win32/README.txt:
6348           update documentation with the clean version of dependencies
6349
6350 2004-08-03  Benjamin Otte  <otte@gnome.org>
6351
6352         * gst/schedulers/entryscheduler.c:
6353         (gst_entry_scheduler_remove_element):
6354           fix for GST_DISABLE_DEBUG
6355         * tools/gst-launch.c: (print_tag):
6356           fixes for G_DISABLE_ASSERT
6357
6358 2004-08-03  Benjamin Otte  <otte@gnome.org>
6359
6360         * gst/gst.c: (gst_register_core_elements):
6361           fix for G_DISABLE_ASSERT
6362         * gst/gstinfo.c: (__gst_in_valgrind):
6363           add for GST_DISABLE_DEBUG
6364
6365 2004-08-03  Benjamin Otte  <otte@gnome.org>
6366
6367         * gst/parse/parse.l:
6368           fix for G_DISABLE_ASSERT
6369
6370 2004-08-03  Wim Taymans  <wim@fluendo.com>
6371
6372         * gst/gstbin.c: (gst_bin_get_type),
6373         (gst_bin_child_state_change_func):
6374         * gst/gstthread.c: (gst_thread_change_state):
6375         Backported some debug logging from a reverted patch
6376         Don't try to destroy the thread twice. Added some more
6377         debugging in GstThread. Unlock and signal even if we
6378         are in the thread context.
6379
6380 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6381
6382         * po/uk.po:
6383           updated translation
6384
6385 2004-07-30  David Schleef  <ds@schleef.org>
6386
6387         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6388
6389 2004-07-29  David Schleef  <ds@schleef.org>
6390
6391         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6392         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6393
6394 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6397         (gst_bin_add_func), (gst_bin_remove_func),
6398         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6399         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6400         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6401         (gst_bin_sync_children_state):
6402         * gst/gstbin.h:
6403         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6404         (gst_thread_change_state):
6405         * testsuite/states/Makefile.am:
6406           revert state change patches as agreed so we can rework them
6407           gradually
6408
6409 2004-07-29  Benjamin Otte  <otte@gnome.org>
6410
6411         * libs/gst/control/Makefile.am:
6412           link to libgstreamer (fixes Debian bug 262019, see
6413           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6414
6415 2004-07-29  Wim Taymans  <wim@fluendo.com>
6416
6417         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6418         (check_from_fraction_convert), (transform_test), (main):
6419         Make the test less pedantic about float roundoff errors.
6420
6421 2004-07-29  Benjamin Otte  <otte@gnome.org>
6422
6423         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6424         (gst_filesrc_srcpad_event):
6425           make seek events to before start/after end of file not fail, but
6426           seek to start/end instead
6427         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6428           add more output
6429
6430 2004-07-29  Benjamin Otte  <otte@gnome.org>
6431
6432         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6433           check that caps are fixed
6434         * gst/gstpad.c: (gst_pad_template_new):
6435           don't try to simplify caps, costs too much time on gst_init
6436         * gst/gstplugin.c: (gst_plugin_add_feature):
6437           G_ERROR if features are added twice
6438         * gst/gsttypefind.c: (gst_type_find_register):
6439         * gst/gstelementfactory.c: (gst_element_register):
6440           don't add features twice
6441         * docs/random/ds/0.9-suggested-changes:
6442           add note about possible gst_init optimization
6443
6444 2004-07-28  David Schleef  <ds@schleef.org>
6445
6446         * testsuite/elements/Makefile.am:
6447         * testsuite/elements/struct_i386.h:
6448         * testsuite/elements/struct_size.c: (main):  A little test
6449         to keep distcheck from working if someone changes a structure
6450         size accidentally.
6451
6452 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * docs/libs/Makefile.am:
6455         * docs/libs/gstreamer-libs-docs.sgml:
6456         * docs/libs/gstreamer-libs-sections.txt:
6457         * docs/libs/tmpl/gstbytestream.sgml:
6458         * docs/libs/tmpl/gstcontrol.sgml:
6459         * docs/libs/tmpl/gstdataprotocol.sgml:
6460         * docs/libs/tmpl/gstgetbits.sgml:
6461         * libs/gst/bytestream/Makefile.am:
6462         * libs/gst/bytestream/bytestream.c:
6463         * libs/gst/bytestream/bytestream.h:
6464         * libs/gst/control/Makefile.am:
6465         * libs/gst/dataprotocol/Makefile.am:
6466         * libs/gst/getbits/Makefile.am:
6467         * libs/gst/getbits/getbits.h:
6468           various doc and style fixes, adding bytestream to libs docs.
6469
6470 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6471
6472         * docs/gst/gstreamer-docs.sgml:
6473         * docs/libs/Makefile.am:
6474         * docs/libs/gstreamer-libs-docs.sgml:
6475         * docs/libs/gstreamer-libs-sections.txt:
6476         * libs/gst/control/dparam.c:
6477           more doc fixes.  gst-libs docs now build the same way as gst.
6478
6479 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6480
6481         * configure.ac:
6482         * testsuite/Makefile.am:
6483         * testsuite/bins/Makefile.am:
6484         * testsuite/caps/Makefile.am:
6485         * testsuite/cleanup/Makefile.am:
6486         * testsuite/clock/Makefile.am:
6487         * testsuite/debug/Makefile.am:
6488         * testsuite/dlopen/Makefile.am:
6489         * testsuite/dynparams/Makefile.am:
6490         * testsuite/elements/.cvsignore:
6491         * testsuite/elements/Makefile.am:
6492         * testsuite/enumcaps/Makefile.am:
6493         * testsuite/enumcaps/enumcaps.c:
6494         * testsuite/ghostpads/Makefile.am:
6495         * testsuite/indexers/Makefile.am:
6496         * testsuite/negotiation/Makefile.am:
6497         * testsuite/parse/Makefile.am:
6498         * testsuite/plugin/Makefile.am:
6499         * testsuite/refcounting/Makefile.am:
6500         * testsuite/schedulers/.cvsignore:
6501         * testsuite/states/Makefile.am:
6502         * testsuite/tags/Makefile.am:
6503         * testsuite/threads/Makefile.am:
6504           fold enumcaps into caps dir
6505           clean up Makefile.am's for testsuite
6506
6507 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6508
6509         * docs/gst/Makefile.am:
6510         * docs/libs/Makefile.am:
6511           clean up docs build.  Fixes needless rebuilding of template files.
6512
6513 2004-07-28  Wim Taymans  <wim@fluendo.com>
6514
6515         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6516         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6517         Make sure that a bin state change tries to keep the children
6518         in sync. 
6519         Added debug logging to the thread.
6520
6521 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6522
6523         * win32/GStreamer.vcproj:
6524         * win32/gstreamer.def:
6525           more exports for the plugins
6526
6527 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6528
6529         * win32/gstgetbits.vcproj:
6530         * win32/gstgetbits.def:
6531         * win32/msvc71.sln:
6532           add support for the getbits plugin
6533
6534 2004-07-27  Wim Taymans  <wim@fluendo.com>
6535
6536         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6537         (gst_value_transform_fraction_double), (_gst_value_initialize):
6538         * testsuite/caps/Makefile.am:
6539         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6540         (check_from_fraction_convert), (transform_test), (main):
6541         Added transform functions between double and fraction.
6542         Added testcase to verify transforms
6543
6544 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6545
6546         * win32/GStreamer.vcproj:
6547           rename GStreamer-0.8.lib to libgstreamer.lib
6548
6549 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6550
6551         * win32/gstelements.vcproj:
6552         * win32/gstoptimalscheduler.vcproj:
6553           fixes for the Release build
6554
6555 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6556
6557         * win32/config.h:
6558           update the version number
6559
6560 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6561
6562         * win32/GStreamer.vcproj:
6563           add gstinterface to the build
6564
6565 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6566
6567         * win32/gstreamer.def:
6568           add many definitions needed by plugins,
6569           GST_CAT_DEFAULT only available in the Debug build ?
6570
6571 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6572
6573         * gst/gstelement.c: (gst_element_set_eos_recursive):
6574           various whitespace fixes.
6575           doc fix, fixes #148497
6576
6577 2004-07-25  Benjamin Otte  <otte@gnome.org>
6578
6579         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6580           don't delay links on the sink elements, it causes unnegotiated
6581           links.
6582         * gst/elements/gsttypefindelement.c:
6583         (gst_type_find_element_base_init):
6584           add our padtemplates, we indeed do have some.
6585         * gst/elements/gsttypefindelement.c:
6586         (gst_type_find_element_handle_event),
6587         (gst_type_find_element_chain):
6588           don't push data when typefinding failed.
6589         * gst/gstpad.c: (gst_pad_link_fixate):
6590           check that no fixate function returns empty caps.
6591         * gst/gstpad.c: (gst_pad_push):
6592           check that the link is negotiated before data gets pushed.
6593         * tools/gst-register.c: (main):
6594           don't assert (fixes #148283)
6595
6596 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6597
6598         * docs/gst/gstreamer-sections.txt:
6599         * docs/gst/tmpl/gstconfig.sgml:
6600           add GST_PLUGIN_EXPORT definition
6601
6602 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6603
6604         * gst/gstplugin.h:
6605         * gst/gstconfig.h.in:
6606         * win32/gstconfig.h:
6607         * win32/gstelements.def:
6608         * win32/gstelements.vcproj:
6609         * win32/gstoptimalscheduler.def:
6610         * win32/gstoptimalscheduler.vcproj:
6611         * win32/gstspider.def:
6612         * win32/gstspider.vcproj:
6613           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6614
6615 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * docs/gst/gstreamer-sections.txt:
6618           remove GST_CAT_DEFAULT because the type has changed
6619
6620 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6621
6622         * win32/gstbytestream.vcproj:
6623         * win32/gstelements.vcproj:
6624         * win32/gst-inspect.vcproj:
6625         * win32/gst-launch.vcproj:
6626         * win32/gstoptimalscheduler.vcproj:
6627         * win32/GStreamer.vcproj:
6628         * win32/gst-register.vcproj:
6629         * win32/gstspider.vcproj:
6630         * win32/msvc71.sln:
6631           Copy the files where needed after building, The testsuite will be
6632           built separately
6633
6634 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6635
6636         * win32/config.h:
6637         * win32/README.txt:
6638         * docs/manual/win32.xml:
6639         Fixed the plugin and GStreamer location
6640
6641 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6642
6643         * win32/gstreamer.def:
6644         More exports for the plugins
6645
6646 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6647
6648         * gst/gstinfo.h:
6649         Marc was right, we need to export literally GST_CAT_DEFAULT
6650
6651 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6652
6653         * win32/config.h:
6654         NLS crashes in gettext, disabled until this is solved
6655
6656 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6657
6658         * win32/gst-inspect.vcproj:
6659         * win32/gst-launch.vcproj:
6660         Should use NLS when available
6661
6662 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6663
6664         * gst/registries/gstxmlregistry.c:
6665         removing the file doesn't seem to be a good idea on Linux
6666
6667 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6668
6669         * gst/registries/gstxmlregistry.c:
6670         Remove the registry before renaming the tempfile (needed for Windows)
6671
6672 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6673
6674         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6675         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6676         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6677         * gst/elements/gstmultifilesrc.h:
6678         Added newmedia property so it generates newmedia events between each
6679         file when property is set, as well as fixed eos handling
6680
6681 2004-07-22  David Schleef  <ds@schleef.org>
6682
6683         * gst/gststructure.c: (gst_structure_id_empty_new),
6684         (gst_structure_empty_new):  Set type field correctly.
6685         * gst/gststructure.h: Check type field correctly.
6686         * testsuite/caps/Makefile.am:
6687         * testsuite/caps/structure.c: (test1), (main): Add a very small
6688         test for structures.
6689
6690 2004-07-22  David Schleef  <ds@schleef.org>
6691
6692         * docs/random/ds/0.9-suggested-changes: more comments
6693         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6694
6695 2004-07-22  Benjamin Otte  <otte@gnome.org>
6696
6697         * gst/gstelementfactory.c: (gst_element_register):
6698           set the factory in the class struct, so gst_element_get_factory
6699           actually works
6700         * gst/parse/grammar.y:
6701           set element to playing when it gets unlocked as we can't rely on the
6702           bin state - all elements in the bin state might still be locked in
6703           NULL)
6704
6705 2004-07-22  Benjamin Otte  <otte@gnome.org>
6706
6707         * gst/gstelement.c: (gst_element_set_state_func):
6708           make this a static function
6709
6710 2004-07-22  Wim Taymans  <wim@fluendo.com>
6711
6712         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6713         (gst_opt_scheduler_pad_link):
6714         fix 147894-2 and the group_link problem.
6715
6716 2004-07-22  Wim Taymans  <wim@fluendo.com>
6717
6718         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6719         (handoff_identity), (main):
6720         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6721         (handoff_identity), (main):
6722         * testsuite/schedulers/Makefile.am:
6723         * testsuite/schedulers/group_link.c: (main):
6724         Show bug in scheduler when linking chain and loop based element 
6725         where the chain based element was not yet in a group.
6726
6727 2004-07-21  Benjamin Otte  <otte@gnome.org>
6728
6729         * gst/.cvsignore:
6730         * gst/autoplug/.cvsignore:
6731         * gst/elements/.cvsignore:
6732         * gst/indexers/.cvsignore:
6733         * libs/gst/bytestream/.cvsignore:
6734         * libs/gst/control/.cvsignore:
6735         * libs/gst/getbits/.cvsignore:
6736         * testsuite/states/.cvsignore:
6737         * testsuite/threads/.cvsignore:
6738           keep this up to date, since I seem to be the only one who cares
6739           about not missing files on commits (editor's note: no you don't,
6740           but feel free to change them at the time you add stuff instead
6741           of later on)
6742
6743 2004-07-21  Benjamin Otte  <otte@gnome.org>
6744
6745         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6746         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6747         (gst_bin_child_state_change_func), (set_kid_state_func),
6748         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6749           make state changes work correctly and reentrant (so removing
6750           elements from bins during state changes of bins doesn't cause
6751           segfaults or even wrong states)
6752           add debugging category and debugging output to print children states
6753         * gst/gstbin.c: (gst_bin_dispose): 
6754           add some assertion checks
6755         * gst/gstbin.h:
6756         * gst/gstbin.c: (gst_bin_sync_children_state):
6757           deprecate this function - it just does gst_bin_set_state (bin,
6758           GST_STATE (bin)) 
6759         * testsuite/threads/queue.c: (main):
6760           don't use gst_bin_sync_children_state anymore
6761         * testsuite/states/Makefile.am:
6762         * testsuite/states/bin.c:
6763           test that the state changes of bins work as expected
6764         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6765           some adjustments to change states correctly, too
6766         * gst/gstthread.c: (gst_thread_change_state):
6767           don't enable/disable "threadsafe" properties, they're unused and
6768           cause random segfaults
6769         * testsuite/threads/Makefile.am:
6770           the queue check randomly passes now, ignore it
6771
6772 2004-07-21  Benjamin Otte  <otte@gnome.org>
6773
6774         * gst/gstpad.c:
6775           check if data is NULL before outputting debug info. (fixes #145100)
6776
6777 2004-07-21  Benjamin Otte  <otte@gnome.org>
6778
6779         * gst/schedulers/entryscheduler.c:
6780         (gst_entry_scheduler_loop_wrapper),
6781         (gst_entry_scheduler_chain_wrapper),
6782         (gst_entry_scheduler_get_wrapper):
6783           reset the state when the cothread starts, so we don't get assertion
6784           failures on restarting of cothreads
6785
6786 2004-07-20  Benjamin Otte  <otte@gnome.org>
6787
6788         * gst/gstelement.c: (gst_element_link_pads_filtered):
6789           use correct sinkpad, if only sinkpad is specified, but not srcpad
6790           (fixes #147889)
6791         * gst/gstelement.c: (gst_element_set_state_func),
6792         (gst_element_change_state): ref/unref the element, signal handlers
6793         could get rid of the element otherwise
6794
6795 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6796
6797         * docs/random/ds/0.9-suggested-changes:
6798           Make note about renaming fixed-list to array.
6799         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6800         (_gst_value_initialize):
6801           Add array intersections.
6802         * testsuite/caps/intersect2.c: (main):
6803           Add test for array intersections.
6804
6805 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6806
6807         * configure.ac: back to cvs
6808
6809 === release 0.8.4 ===
6810
6811 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6812
6813         * configure.ac:
6814           releasing 0.8.4, "Paella"
6815           bump libtool versioning
6816
6817 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6818
6819         * po/LINGUAS:
6820         * po/ca.po:
6821           adding Catalan translation (Jordi Mallach)
6822
6823 2004-07-20  Wim Taymans  <wim@fluendo.com>
6824
6825         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6826         (handoff_identity), (main):
6827         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6828         (handoff_identity), (main):
6829         * testsuite/schedulers/Makefile.am:
6830         Added failing testcase for variant of #147894
6831
6832 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         patch by: David Moore
6835
6836         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6837         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6838         (group_migrate_connected):
6839         * testsuite/schedulers/Makefile.am:
6840           fix for #142813 (Deadlock in optimal scheduler)
6841
6842 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6843
6844         patch by: Wim Taymans
6845
6846         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6847         (gst_opt_scheduler_schedule_run_queue),
6848         (gst_opt_scheduler_get_wrapper), (get_group),
6849         (group_migrate_connected):
6850         * testsuite/schedulers/Makefile.am:
6851           fix for #147819 (Add some checks in the opt scheduler)
6852
6853 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6854
6855         patch by: Benjamin Otte
6856
6857         * gst/gstelementfactory.c: (__gst_element_details_set):
6858           fix for #147929: running gst-register in non-utf8 locale can cause
6859           invalid registry
6860
6861 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6862
6863         patch by: Wim Taymans
6864
6865         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6866         (group_has_element), (element_get_reachables_func),
6867         (group_migrate_connected):
6868           fix for #147894 (opt scheduler decoupled elements mismanagement)
6869         * testsuite/schedulers/Makefile.am:
6870           testsuite app now passes
6871
6872 2004-07-19  Wim Taymans  <wim@fluendo.com>
6873
6874         * testsuite/schedulers/147819.c: (handoff_identity1),
6875         (handoff_identity2), (main):
6876         * testsuite/schedulers/Makefile.am:
6877         Added testcase for bug 147819
6878
6879 2004-07-19  Wim Taymans  <wim@fluendo.com>
6880
6881         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6882         (handoff_identity), (main):
6883         * testsuite/schedulers/Makefile.am:
6884         Added testcase for bug 147894
6885
6886 2004-07-16  Wim Taymans  <wim@fluendo.com>
6887
6888         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6889         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6890         * testsuite/schedulers/Makefile.am:
6891         Added testsuite for bug 142183 in its two incarnations. Refcount
6892         is not increased for scheduled elements and threadsafe properties
6893         mutexes are not properly unlocked.
6894
6895 2004-07-16  Wim Taymans  <wim@fluendo.com>
6896
6897         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6898         (create_chain), (destroy_chain), (create_group), (destroy_group),
6899         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6900         (group_dec_link), (gst_opt_scheduler_pad_link),
6901         (group_inc_links_for_element), (group_migrate_connected):
6902         Call group_inc_link with the proper src->sink ordering -- 
6903         break this, and we break sort_chain. patch from wingo for bug
6904         147713.
6905         Partially revert patch 1.89. When adding a loop based element to 
6906         the scheduler, the links to other groups are automatically followed
6907         and incremented. This should not happen because the bin will call
6908         pad_link explicitly for those connection, resulting in them counted 
6909         twice. Results in assertion failure on pipeline cleanup.
6910
6911 2004-07-16  Wim Taymans  <wim@fluendo.com>
6912
6913         * testsuite/schedulers/143777-2.c: (main):
6914         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6915         (main):
6916         * testsuite/schedulers/Makefile.am:
6917         Added cleanup code to testcase 143777-2.
6918         Added testcase to show bug 147713, does not really show the
6919         deadlock as I can't figure out how to trigger it, but it does
6920         demonstrate bad ordering in the scheduler.
6921
6922 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6925           change strndup to g_strndup.  Fixes #147707
6926
6927 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         * po/af.po:
6930         * po/az.po:
6931         * po/cs.po:
6932         * po/en_GB.po:
6933         * po/fr.po:
6934         * po/nl.po:
6935         * po/sr.po:
6936         * po/sv.po:
6937         * po/tr.po:
6938         * po/uk.po:
6939           updated translations
6940
6941 2004-07-16  Benjamin Otte  <otte@gnome.org>
6942
6943         * gst/gstvalue.c: (gst_greatest_common_divisor):
6944           use ints and return ints, fractions only use ints, too, so this
6945           avoids accidently casting multiplications to unsigned
6946         (gst_value_lcopy_fraction): it's ints, not uint32
6947         (gst_value_set_fraction): disallow minint, multiplying and negation
6948           are broken with it
6949         (gst_value_fraction_multiply): fix to make large numbers work and get
6950         rid of the assumption that the multiplication of two ints fits an
6951         int64 - dunno if that's true for all systems
6952         * testsuite/caps/Makefile.am:
6953         * testsuite/caps/fraction-multiply-and-zero.c:
6954         (check_multiplication), (check_equal), (zero_test), (main):
6955           add tests for all the stuff above
6956         * testsuite/caps/value_compare.c: (test1):
6957           fix comment
6958         * tests/.cvsignore:
6959         * testsuite/caps/.cvsignore:
6960         * testsuite/debug/.cvsignore:
6961         * testsuite/dlopen/.cvsignore:
6962         * testsuite/states/.cvsignore:
6963           get up to date
6964
6965 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6966
6967         * docs/manual/bins-api.xml:
6968         * docs/manual/factories.xml:
6969         * docs/manual/helloworld.xml:
6970         * docs/manual/links-api.xml: 
6971           fixes for out of date info, incorrect info and grammar
6972
6973 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6974
6975         * docs/manual/pads.xml:
6976         * docs/manual/pads-api.xml: grammar fix
6977
6978 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6979
6980         * docs/manual/pads-api.xml: typo + grammar fix
6981
6982 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * docs/gst/gstreamer-sections.txt:
6985           add new symbols
6986         * docs/gst/tmpl/gstelement.sgml:
6987         * docs/gst/tmpl/gstpad.sgml:
6988         * docs/gst/tmpl/gsttypes.sgml:
6989         * docs/gst/tmpl/gstvalue.sgml:
6990           update docs
6991         * gst/gststructure.c: (gst_structure_set_valist),
6992         (gst_structure_from_abbr), (gst_structure_to_abbr):
6993         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
6994         (gst_greatest_common_divisor), (gst_value_init_fraction),
6995         (gst_value_copy_fraction), (gst_value_collect_fraction),
6996         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6997         (gst_value_get_fraction_numerator),
6998         (gst_value_get_fraction_denominator),
6999         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7000         (gst_value_deserialize_fraction),
7001         (gst_value_transform_fraction_string),
7002         (gst_value_transform_string_fraction),
7003         (gst_value_compare_fraction), (_gst_value_initialize):
7004         * gst/gstvalue.h:
7005           adding GstFraction GValue type, get/set, and multiply
7006         * testsuite/caps/Makefile.am:
7007         * testsuite/caps/fraction.c: (test), (main):
7008         * testsuite/caps/string-conversions.c: (main):
7009         * testsuite/caps/value_compare.c: (test1), (main):
7010           add regression tests for GstFraction
7011
7012 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7013         
7014         * docs/manual/init-api.xml: Grammar fix
7015
7016 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7017
7018         * docs/manual/states.xml: Fix inconsistent information
7019
7020 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7021
7022         * gst/gstelement.c: (gst_element_set_state):
7023         * gst/gstpad.c: (gst_pad_try_set_caps):
7024         * gst/gststructure.c:
7025         * gst/gstthread.c: (gst_thread_child_state_change):
7026         * gst/gstvalue.c: (gst_value_compare_double):
7027         * gst/gstvalue.h:
7028         * testsuite/parse/parse1.c: (main):
7029           debugging additions and style cleanups
7030
7031 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7032
7033         * docs/manual/states.xml: Grammar fix
7034
7035 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7036
7037         * docs/manual/pads.xml: Grammar fix
7038
7039 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7040
7041         * docs/manual/elements.xml: Fixed image reference
7042
7043 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7044
7045         * docs/manual/goals.xml: Grammar fix
7046
7047 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7048
7049         * docs/manual/motivation.xml:
7050         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7051
7052 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7053
7054         * docs/manual/motivation.xml: Fix spelling
7055
7056 2004-07-15  Benjamin Otte  <otte@gnome.org>
7057
7058         * gst/gstelement.h: 
7059           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7060           strings.
7061         * gst/gstelement.c (gst_element_class_init):
7062           GError's are boxed, not objects
7063         * gst/gstmarshal.list:
7064           update list for the fixed error signal
7065
7066 2004-07-14  Andy Wingo  <wingo@pobox.com>
7067
7068         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7069         there all along, but the function wasn't. (guile-gstreamer's build
7070         system uses the address of the function -- I wasn't actually
7071         trying to use this.)
7072
7073 2004-07-14  Andy Wingo  <wingo@pobox.com>
7074
7075         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7076         as gst_pad_proxy_pad_link) just link to every other pad when they
7077         are called. In the case where the graph has cycles, this will mean
7078         that a call to try_set_caps will recurse. Allow this recursion
7079         and return OK, while we wait for the first try_set_caps to give a
7080         proper return value.
7081         (gst_pad_link_call_link_functions): Since this function is the
7082         only one to set the NEGOTIATING flag on a pad, if the flag is set
7083         it means that the link functions have indirectly recursed. If this
7084         happens, error out to avoid infinite recursion and an eventual
7085         SEGV.
7086         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7087         (gst_pad_proxy_getcaps): Intersect the result with the template
7088         caps to ensure that the return value is valid.
7089
7090 2004-07-14  Andy Wingo  <wingo@pobox.com>
7091
7092         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7093         one refcount, the calling function is the owner of the buffer.
7094
7095 2004-07-14  Wim Taymans  <wim@fluendo.com>
7096
7097         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7098         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7099         Fix stupid warning when an element is to be migrated but
7100         is already migrated.
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         Make sure that a single non-loop-based element does not 
7107         end up in a group. This fixes the testsuite again.
7108
7109 2004-07-14  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7112         (add_to_group), (merge_groups), (schedule_group),
7113         (gst_opt_scheduler_get_wrapper), (group_elements),
7114         (group_dec_link), (gst_opt_scheduler_pad_link),
7115         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7116         (gst_opt_scheduler_iterate):
7117         move isolated groups to a new chain.
7118         Emit a warning instead of segfaulting in some error cases.
7119         Fix a bug where the link count between groups was not calculated 
7120         correctly. Fixes #144510.
7121
7122 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7123         * gst/elements/gstfilesrc.c:
7124           Binary files support under Windows now OK
7125       
7126 2004-07-13  Benjamin Otte  <otte@gnome.org>
7127
7128           compatibility fixes for Solaris 8/gcc 2.95
7129         * configure.ac:
7130           include libintl libs in LDFLAGS
7131         * gstvalue.c (gst_value_deserialize_buffer):
7132           cast isxdigit stuff to int to silence compiler warning
7133
7134 2004-07-12  Benjamin Otte  <otte@gnome.org>
7135
7136         * gst/gsttypes.h:
7137           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7138           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7139           just causes support madness
7140         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7141           make it work without this
7142         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7143         (gst_file_index_commit):
7144           glib IO channels don't want binary mode
7145         * testsuite/bytestream/filepadsink.c: (main):
7146         * testsuite/bytestream/test1.c: (read_param_file):
7147           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7148
7149 2004-07-12  Benjamin Otte  <otte@gnome.org>
7150
7151         * gst/gstelement.c: (gst_element_class_init),
7152         (gst_element_set_state), (gst_element_set_state_func):
7153           virutalize gst_element_set_state, use set_state member in class
7154           struct that was already added in 0.7 for this.
7155         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7156         (gst_bin_change_state):
7157           make gst_bin_foreach works similar to other foreach functions, plug
7158           memleaks in it. Make functions using it work with the new approach.
7159           Document gst_bin_foreach, so it can be exported if we want to
7160         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7161           use virtualized set_state to make set_state on bins set the state of
7162           all its children.
7163
7164 2004-07-12  Benjamin Otte  <otte@gnome.org>
7165
7166         * configure.ac:
7167           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7168           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7169         * gst/gstpad.c: (gst_pad_alloc_buffer):
7170           allow buffer_alloc functions to return NULL and allocate a normal
7171           buffer in that case
7172
7173 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7174         * gst/elements/gstfilesink.c:
7175         * gst/elements/gstfilesrc.c:
7176         * gst/indexers/gstfileindex.c:
7177         * gst/gsttypes.h:
7178         * testsuite/bytestream/filepadsink.c:
7179         * testsuite/bytestream/test1.c:
7180           Handle binary files under Windows
7181
7182 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7183         * docs/manual/win32.xml:
7184         * win32/config.h:
7185         * win32/gst-register.vcproj:
7186         * win32/gstreamer.def:
7187           Update to another gettext public build
7188
7189 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7190         * gst/gstplugin.c:
7191           Fix an impossible C syntax
7192         * win32/config.h:
7193           Disable i18n under Windows for the moment
7194         * win32/gst-register.vcproj:
7195           Use this configuration
7196
7197 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7198         * docs/manual/quotes.xml:
7199           Keep the quotes file alive
7200         * docs/random/ds/0.9-suggested-changes:
7201           Add the suggestion of including a 'rowstride' as part of video
7202           format caps
7203
7204 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * gst/gstelement.c: (gst_element_set_state),
7207         (gst_element_change_state):
7208           d'oh.  Set PENDING state correctly before forcing bin to change.
7209         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7210         (gst_structure_parse_fixed_list):
7211         * gst/schedulers/gstoptimalscheduler.c:
7212         (gst_opt_scheduler_state_transition):
7213         * testsuite/states/parent.c: (main):
7214           remove comment now that it's fixed.
7215
7216 2004-07-11  Benjamin Otte  <otte@gnome.org>
7217
7218         * gst/gstclock.h:
7219           GST_SECOND shouldn't cause a conversion to unsigned.
7220         * testsuite/clock/.cvsignore:
7221         * testsuite/clock/Makefile.am:
7222         * testsuite/clock/signedness.c: (main):
7223           make sure it never will again
7224
7225 2004-07-11  Andy Wingo  <wingo@pobox.com>
7226
7227         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7228         whose state is higher than the bin state, raise the bin state to
7229         ensure that bin state := highest child state.
7230         
7231 2004-07-11  Andy Wingo  <wingo@pobox.com>
7232
7233         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7234         procedure on the children of a bin. Assumes that the procedure can
7235         change the set of children.
7236         (set_kid_state_func): New static function.
7237         (gst_bin_change_state): Use gst_bin_foreach to call
7238         set_kid_state_func. Fixes a bug: if a child had a state-change
7239         handler that removes it from the bin, there would be a segfault.
7240         Hopefully it should also work in the case where the state-change
7241         handler on one child adds or removes other children. In any case,
7242         fixes should go to gst_bin_foreach.
7243
7244 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7245
7246         * gst/gstelement.c: (gst_element_set_state):
7247           compatibility fix for latest plugins release.  Change loop back
7248           to while {}
7249
7250 2004-07-09  Wim Taymans  <wim@fluendo.com>
7251
7252         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7253         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7254         (gst_thread_main_loop):
7255         Since remove is virtual in GstBin we must not assume the 
7256         elements GList to have anothing useful.
7257         Add some more logging to GstThread and be a bit more paranoid
7258         when resetting the scheduler.
7259         Set the state of the bin to NULL before removing the children.
7260
7261 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7262
7263         * testsuite/threads/Makefile.am:
7264         * testsuite/threads/threadg.c:
7265           added test to check if problem when removing all elements from a
7266           GstThread before setting GstThread state to NULL
7267
7268 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7269
7270         * docs/gst/tmpl/gstelement.sgml:
7271         * docs/gst/tmpl/gsttypes.sgml:
7272         * gst/gstbin.c: (gst_bin_change_state):
7273         * gst/gstelement.c: (gst_element_set_state),
7274         (gst_element_change_state):
7275           rework so that for bins we try to set the state on all children
7276           as well even if the bin is in the correct state already.
7277           change while to do so at least one iteration is done.
7278           For regular elements, we fall back to the previous behaviour for
7279           now since we first need a new plugins release.
7280         * testsuite/states/parent.c: (main):
7281           test for this case
7282           Fixes #123774
7283
7284 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7285
7286         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7287         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7288         (gst_queue_release_locks), (gst_queue_change_state),
7289         (gst_queue_set_property):
7290           add proper lock debugging.  Change dispose to finalize, since
7291           we're freeing mutexes and other stuff which should happen only once.
7292
7293 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7294
7295         * docs/gst/tmpl/gstelement.sgml:
7296         * docs/gst/tmpl/gstplugin.sgml:
7297         * docs/gst/tmpl/gsttypes.sgml:
7298         * docs/pwg/building-state.xml:
7299         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7300         * gst/gstelement.c: (gst_element_change_state):
7301         * gst/gstthread.c: (gst_thread_change_state):
7302           catch wrong state changes in element base class.
7303
7304 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7305
7306         * gst/gstinfo.h:
7307           clean up layout a little.
7308
7309 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7310
7311         * configure.ac:
7312         * testsuite/Makefile.am:
7313         * testsuite/states/Makefile.am:
7314         * testsuite/states/parent.c: (main):
7315           re-enable states testsuite dir.  Add test for state changes and
7316           parent behaviour
7317
7318 2004-07-09  Wim Taymans  <wim@fluendo.com>
7319
7320         * gst/schedulers/gstoptimalscheduler.c:
7321         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7322         (element_get_reachables_func), (element_get_reachables),
7323         (debug_element), (rechain_group), (group_migrate_connected),
7324         (gst_opt_scheduler_pad_unlink):
7325         Do not try to migrate decoupled elements to a new group since
7326         they are not added to groups.
7327
7328 2004-07-08  Benjamin Otte  <otte@gnome.org>
7329
7330         * gst/gstelement.c: (gst_element_error_func):
7331           make reentrant (= allow removing elements in error handler)
7332
7333 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7334
7335         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7336         (gst_pad_send_event), (gst_pad_call_chain_function):
7337           events sent to elements below PAUSED cannot be handled, so
7338           don't try to
7339
7340 2004-07-08  Wim Taymans  <wim@fluendo.com>
7341
7342         * gst/schedulers/gstoptimalscheduler.c:
7343         (chain_recursively_migrate_group), (create_group),
7344         (schedule_group), (gst_opt_scheduler_pad_link),
7345         (group_elements_set_visited), (element_get_reachables_func),
7346         (element_get_reachables), (group_can_reach_group), (debug_element),
7347         (rechain_group), (group_migrate_connected),
7348         (gst_opt_scheduler_pad_unlink):
7349         * testsuite/schedulers/Makefile.am:
7350         Implemented group splitting and rechaining.
7351         Fixes 143777 and 143777-2 in the testsuite.
7352
7353 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7354
7355         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7356           extra debugging
7357         * gst/gstevent.h:
7358         * gst/gstinfo.c: (gst_debug_log_default):
7359           print time nicely.  add thread pointer until someone figures out
7360           a completely portable way of getting at thread id's.
7361         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7362         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7363         (gst_pad_call_chain_function):
7364           extra debugging
7365         * gst/schedulers/gstoptimalscheduler.c:
7366         (get_group_schedule_function), (loop_group_schedule_function),
7367         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7368         (pad_clear_queued), (gst_opt_scheduler_iterate):
7369           rename BUFPEN and friends to DATAPEN since that's what they are.
7370
7371 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7372
7373         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7374         * gst/gstbuffer.h:
7375         * gst/gstpad.c:
7376           cleanups and debugging
7377
7378 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7379
7380         * configure.ac:
7381         * gst/gstvalue.c: (gst_value_compare_enum),
7382         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7383         (gst_value_can_compare), (gst_value_compare):
7384         * testsuite/Makefile.am:
7385         * testsuite/enumcaps/Makefile.am:
7386         * testsuite/enumcaps/enumcaps.c:
7387           Fix enum serialization, deserialization, comparison in caps, add
7388           a test to ensure that this continues working in the future.
7389
7390 2004-07-06  David Schleef  <ds@schleef.org>
7391
7392         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7393         Fix memleak.
7394
7395 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7396
7397         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7398         * gst/gstplugin.h:
7399         * gst/registries/gstxmlregistry.c:
7400         (plugin_times_older_than_recurse), (plugin_times_older_than),
7401         (gst_xml_registry_parse_padtemplate):
7402           only rebuild registry when actual plugins have a newer time than
7403           the registry.  Fixes #145520
7404
7405 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7406
7407         * docs/manual/manual.xml:
7408         * docs/manual/win32.xml:
7409           add chapter on win32 building.  fixes #142422
7410
7411 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7412
7413         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7414
7415         * gst/autoplug/gstspider.c: (gst_spider_init),
7416         (gst_spider_dispose):
7417           fix spider memleaks.  fixes #137863
7418
7419 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7420
7421         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7422
7423         * gst/schedulers/gstoptimalscheduler.c:
7424         (gst_opt_scheduler_pad_unlink):
7425           fix SIGBUS error, fixes #145338
7426
7427 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7428
7429         * gst/gstobject.c: (gst_object_replace):
7430         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7431         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7432           clean up clock lifecycle.  Fixes #109831
7433
7434 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * po/LINGUAS:
7437         * po/cs.po:
7438           added Czech translation (Miloslav Trmac)
7439
7440 2004-07-04  David Schleef  <ds@schleef.org>
7441
7442         * tools/Makefile.am:
7443         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7444
7445 2004-07-04  David Schleef  <ds@schleef.org>
7446
7447         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7448
7449 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * gst/gstbin.c: (gst_bin_restore_thyself):
7452           chain to parent restore so the bins get restored correctly
7453           in the editor
7454
7455 2004-07-03  David Schleef  <ds@schleef.org>
7456
7457         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7458         Actually do something in these functions, like before the big
7459         caps change.  (bug #145137)
7460
7461 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7462
7463         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7464         (gst_element_get_compatible_pad_filtered):
7465         * gst/gstthread.c: (gst_thread_main_loop):
7466           more debugging
7467
7468 2004-07-02  David Schleef  <ds@schleef.org>
7469
7470         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7471         * gst/gstobject.h:
7472         * gst/gstparse.h:
7473         * gst/gsttrace.h:
7474         * gst/gstxml.h:
7475
7476 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7477
7478         * gst/gstpad.c: (gst_pad_check_schedulers),
7479         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7480         (gst_pad_link_prepare):
7481           revert until testsuite is fixed
7482
7483 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7484
7485         * testsuite/Makefile.am:
7486         * testsuite/caps/filtercaps.c: (main):
7487         * testsuite/clock/clock1.c: (main):
7488         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7489           fix some more tests
7490
7491 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7492
7493         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7494         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7495         * testsuite/cleanup/cleanup4.c: (main):
7496           fix testsuite
7497
7498 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         * libs/gst/control/control.c:
7501         * libs/gst/control/dparam.c:
7502         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7503         * libs/gst/control/dparammanager.c:
7504         * libs/gst/control/dparammanager.h:
7505         * testsuite/dynparams/Makefile.am:
7506         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7507         (gst_dptest_change_state), (gst_dptest_chain), (main):
7508           fix testcase for dparams
7509           add debugging category
7510
7511 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7512
7513         * testsuite/Rules:
7514           change path
7515
7516 2004-07-02  Benjamin Otte  <otte@gnome.org>
7517
7518         * tests/.cvsignore:
7519         * tests/Makefile.am:
7520         * tests/mass_elements.c: (gst_get_current_time), (main):
7521           add simple benchmark to test various speeds of fakesrc ! identity !
7522           identity ! ... ! fakesink.
7523           Usage: mass_elements [num_identities] [num_buffers]
7524           If not specified they default to 1000.
7525
7526 2004-07-02  Benjamin Otte  <otte@gnome.org>
7527
7528         * gst/gstpad.c: (gst_pad_check_schedulers),
7529         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7530         (gst_pad_link_prepare):
7531           check that pads that get linked belong to the same manager. The old
7532           code allowed linking elements before putting them into bins, so it
7533           worked to link them and then put them in different threads, which
7534           lead to weird behaviour.
7535           Since this effectively disallows linking elements before putting
7536           them in a bin, some applications might not work after this and error
7537           out. If these applications are too critical, we might need to revert
7538           that patch. Please test this before the next release...
7539
7540 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7541
7542         * gst/gstpad.c: (gst_pad_get_caps):
7543           throw an error if the getcaps function does not return a subset of
7544           the template caps.
7545         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7546           make disconts without position info an error in debugging
7547         * tests/spidey_bench.c: (handoff), (main):
7548           don't count first try when averaging
7549
7550 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7551
7552         * gst/gstplugin.c: (gst_plugin_load_file):
7553           figure out problem with dynamic test
7554
7555 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7556
7557         * docs/gst/Makefile.am:
7558           fix docs build
7559
7560 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * po/POTFILES.in:
7563         * po/af.po:
7564         * po/az.po:
7565         * po/en_GB.po:
7566         * po/fr.po:
7567         * po/nl.po:
7568         * po/sr.po:
7569         * po/sv.po:
7570         * po/tr.po:
7571         * po/uk.po:
7572         * tools/gst-register.c: (plugin_added_func), (main):
7573           i18n-ize -register, fix plural
7574
7575 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7576
7577         * gst/elements/gstidentity.c: (gst_identity_class_init),
7578         (gst_identity_init), (gst_identity_chain),
7579         (gst_identity_set_property), (gst_identity_get_property):
7580         * gst/elements/gstidentity.h:
7581           check for perfect stream
7582
7583 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7584
7585         * gst/elements/gstidentity.c: (gst_identity_chain):
7586           print offset_end
7587
7588 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7589
7590         * docs/gst/Makefile.am:
7591         * docs/gst/gstreamer-docs.sgml:
7592           doc fixes
7593
7594 2004-06-24  David Schleef  <ds@schleef.org>
7595
7596         * autogen.sh:  Remove call to env, since the buildbot isn't
7597         broken anymore.
7598
7599 2004-06-24  Wim Taymans  <wim@fluendo.com>
7600
7601         * gst/elements/Makefile.am:
7602         * gst/elements/gstelements.c:
7603         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7604         (gst_multifdsink_class_init), (gst_multifdsink_init),
7605         (gst_multifdsink_add), (gst_multifdsink_remove),
7606         (gst_multifdsink_clear), (gst_multifdsink_chain),
7607         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7608         * gst/elements/gstmultifdsink.h:
7609         Added an element that writes to multiple filedescriptors at once.
7610
7611 2004-06-24  Benjamin Otte  <otte@gnome.org>
7612
7613         * gst/parse/grammar.y:
7614           don't try to link elements before they have been added to bins
7615
7616 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7617
7618         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7619         (gst_file_pad_get_length):
7620         * libs/gst/bytestream/filepad.h:
7621           add 2 new functions
7622
7623 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7624
7625         * docs/gst/gstreamer-sections.txt:
7626         remove from docs, the define that Benjamin removed from gstelement.h
7627
7628 2004-06-22  Benjamin Otte  <otte@gnome.org>
7629
7630         * gst/gstelement.h:
7631           remove define that referenced a nonexisting GstElement struct member
7632
7633 2004-06-20  Benjamin Otte  <otte@gnome.org>
7634
7635         * gst/gstdata.c: (gst_data_is_writable):
7636           whoops, return values were wrong, so writable data was marked as
7637           non-writable and vice versa. (fixes #143953, spotted by Francis
7638           Labonte)
7639           Shows how rarely we need to copy data ;)
7640
7641 2004-06-20  Benjamin Otte  <otte@gnome.org>
7642
7643         * testsuite/schedulers/.cvsignore:
7644         * testsuite/schedulers/Makefile.am:
7645         * testsuite/schedulers/143777-2.c: (main):
7646           add test for opt breakage in bug #143777
7647
7648 2004-06-20  Benjamin Otte  <otte@gnome.org>
7649
7650         * gst/gstpad.c: (gst_pad_call_chain_function):
7651           check for if we were unlinked while inside the chainfunction (fixes
7652           entrygthread having issues with #143777)
7653         * testsuite/schedulers/143777.c: (main):
7654         * testsuite/schedulers/Makefile.am:
7655           add a test for that fix
7656
7657 2004-06-20  Benjamin Otte  <otte@gnome.org>
7658
7659         * gst/gstvalue.c: (gst_value_set_int_range):
7660           test that start is smaller then end
7661         * libs/gst/bytestream/Makefile.am:
7662         * libs/gst/bytestream/filepad.c: 
7663         * libs/gst/bytestream/filepad.h:
7664           add GstFilePad - a pad that behaves like a FILE*
7665         * testsuite/bytestream/.cvsignore:
7666         * testsuite/bytestream/Makefile.am:
7667         * testsuite/bytestream/filepadsink.c: 
7668           test for the GstFilePad
7669
7670 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7671
7672         * gst/elements/gstidentity.c: (gst_identity_class_init),
7673         (gst_identity_init), (gst_identity_set_clock),
7674         (gst_identity_chain), (gst_identity_set_property),
7675         (gst_identity_get_property):
7676         * gst/elements/gstidentity.h:
7677         * gst/gstclock.c: (gst_clock_id_wait):
7678           add a "sync" property to sync to the clock
7679
7680 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7681
7682         * gst/gstelementfactory.c: (gst_element_factory_create):
7683           make the freakin "elementfactory bla has no type" message more
7684           useful. So we actually can do something when someone shows up
7685           complaining about it.
7686
7687 2004-06-15  Johan Dahlin  <johan@gnome.org>
7688
7689         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7690         found. This matches the old behavior better. Thanks to Thomas for
7691         pointing out.
7692
7693 2004-06-14  David Schleef  <ds@schleef.org>
7694
7695         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7696         -fomit-frame-pointer.  Appears to generate correct code in
7697         other cases as well.
7698
7699 2004-06-14  Johan Dahlin  <johan@gnome.org>
7700
7701         * tools/gst-inspect.c (main): Add two new command line options: -a
7702         to print all elements and -n to print the name on each line. Also
7703         fix some error reporting.
7704         (main): Simplify, remove -n and always print names if -a is specified
7705
7706 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7707
7708         * win32/gstconfig.h:
7709         * win32/GSTreamer.vcproj:
7710         * win32/Makefile:
7711         * gst/gstconfig.h.in:
7712         * gst/gst.h:
7713         * gst/gstbin.h:
7714         * gst/gstelement.h:
7715         * gst/gstevent.h:
7716         * gst/gstobject.h:
7717         * gst/gstpad.h:
7718         * docs/gst/gstreamer-sections.txt:
7719         * docs/gst/tmpl/gstconfig.sgml:
7720           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7721
7722 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7723         * docs/gst/gstreamer-sections.txt:
7724         * docs/gst/tmpl/gstconfig.sgml:
7725         Add the GSTREAMER_EXPORT macro to the docs
7726
7727 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7728
7729         * tools/gst-compprep.c: (handle_xmlerror), (main):
7730         Add a check for the version that introduced SetStructuredError to fix
7731         the build on FC1
7732
7733 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7734
7735         * win32/msvc71.sln:
7736         * win32/testsuite/:
7737           prepare to compile the testsuite with MSVC
7738
7739 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7740
7741         * docs/manual/win32.xml:
7742           attempt to transform the Win32 README into an XML doc
7743
7744 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7745
7746         * gst/gst.c:
7747         * gst/gstbin.*:
7748         * gst/config.h.in:
7749         * gst/gstelement.*:
7750         * gst/gstevent.h:
7751         * gst/gstobject.*:
7752         * gst/gstpad.h:
7753         * tools/gst-register.c:
7754         * win32/gstreamer.def:
7755           extern symbols are now exported for the Windows DLL
7756
7757 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7758
7759         * gst/gstinfo.h:
7760           fix a problem to enable/disable DEBUG under MSVC
7761
7762 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7763
7764         * win32/:
7765           enable more debug code in DEBUG build
7766
7767 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7768
7769         * win32/config.h:
7770         * gst/gst-i18n-app.h:
7771           enable NLS under Windows
7772
7773 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7774         * tools/gst-compprep.c: (handle_xmlerror), (main):
7775           Make an error that baffled me a bit clearer
7776
7777 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7778
7779         * gst/gstqueue.c:
7780           don't use g_queue_get_length () because it's 2.4, use ->length
7781
7782 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7783
7784         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7785
7786         * tools/gst-inspect.c: (print_signal_info):
7787           don't free random data twice. (fixes #144185)
7788
7789 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * gst/gstqueue.c:
7792         * gst/gstqueue.h:
7793           fix removing from the wrong queue on event timeout
7794           fix disposing of the event queue by casting correctly
7795           add mutexes for handling the event queue
7796           someone was sleeping when fixing queue last time around :)
7797
7798 2004-06-10  Johan Dahlin  <johan@gnome.org>
7799
7800         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7801         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7802
7803 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7804
7805         * docs/random/gdp:
7806         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7807         * libs/gst/dataprotocol/dataprotocol.c:
7808         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7809         (gst_dp_buffer_from_header):
7810         * libs/gst/dataprotocol/dataprotocol.h:
7811         * libs/gst/dataprotocol/dp-private.h:
7812           rev version to 0.1, add buffer flags and copy them
7813
7814 2004-06-09  Johan Dahlin  <johan@gnome.org>
7815
7816         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7817         the flags from the buffer we're copying.
7818
7819 2004-06-09  Wim Taymans  <wim@fluendo.com>
7820
7821         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7822         * gst/elements/gstidentity.c: (gst_identity_init),
7823         (gst_identity_chain):
7824         Print more buffer info in fakesink.
7825         Make identity output similar to fakesink.
7826
7827 2004-06-07  Daniel Gazard  <dany42@free.fr>
7828
7829         reviewed by Benjamin Otte  <otte@gnome.org>
7830
7831         * configure.ac:
7832           fix cross compiling not working. (fixes #143741)
7833
7834 2004-06-07  Benjamin Otte  <otte@gnome.org>
7835
7836         * gst/gstelement.c: (gst_element_set_time_delay):
7837           add failure check
7838         * gst/gstinfo.h:
7839           put brackets around macro arguments of GST_TIME_ARGS, add note to
7840           move it to correct header in 0.9
7841
7842 2004-06-07  Benjamin Otte  <otte@gnome.org>
7843
7844         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7845         (gst_file_index_load), (_file_index_id_save_entries),
7846         (gst_file_index_commit), (gst_file_index_add_association),
7847         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7848         (gst_file_index_plugin_init):
7849           make debugging use a default category
7850
7851 2004-06-06  David Moore  <dcm@acm.org>
7852
7853         reviewed by Benjamin Otte  <otte@gnome.org>
7854
7855         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7856         (gst_fdsrc_change_state):
7857           reset offset counter when going READY => PAUSED. (fixes #142903)
7858
7859 2004-06-06  ed@catmur.co.uk
7860
7861         reviewed by Benjamin Otte  <otte@gnome.org>
7862
7863         * gst/registries/gstxmlregistry.c:
7864         (gst_xml_registry_rebuild_recurse):
7865           don't rely on g_dir_open to figure out if a file is a directory, use
7866           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7867           directories. (fixes #142850)
7868
7869 2004-06-06  Benjamin Otte  <otte@gnome.org>
7870
7871         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7872           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7873         * libs/gst/bytestream/adapter.c:
7874         * libs/gst/bytestream/adapter.h:
7875           fix copyright in header and typo in debugging category name
7876
7877 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7878
7879         * configure.ac:
7880           bump nano to cvs
7881
7882 === release 0.8.3 ===
7883
7884 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         * configure.ac:
7887           update libtool versioning
7888           do a new release
7889         * docs/gst/tmpl/gstelement.sgml:
7890         * docs/gst/tmpl/gsttypes.sgml:
7891         * gst/gstinfo.c: (_gst_debug_init):
7892           put back GST_CAT_DATAFLOW to fix API breakage
7893
7894 2004-06-04  David Schleef  <ds@schleef.org>
7895
7896         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7897
7898 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7899
7900         * configure.ac:
7901           bump nano to cvs
7902
7903 === release 0.8.2 ===
7904
7905 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7906
7907         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7908           check GST_DEBUG environment variable which is parsed the same way
7909           as --gst-debug=
7910
7911 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7912
7913         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7914                             gstmd5sink.c gstshaper.c gsttee.c
7915                             gsttypefindelement.c
7916         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7917
7918           - removing trailing commas at end of enums
7919             it is correct C99 code but C90 compilers would complain
7920             (AIX, Forte, ...)
7921             ('should' fix #143290, at least partially)
7922
7923 2004-05-27  Wim Taymans  <wim@fluendo.com>
7924
7925         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7926         (chain_group_set_enabled), (create_group), (add_to_group),
7927         (merge_groups), (setup_group_scheduler), (group_elements),
7928         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7929         Don't try to follow the pad connections with other groups
7930         when a loop based element is added to the scheduler because
7931         the bin will inform the scheduler about the pad links a little
7932         later.
7933
7934 2004-05-27  Wim Taymans  <wim@fluendo.com>
7935
7936         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7937         (remove_from_chain), (chain_group_set_enabled),
7938         (setup_group_scheduler), (group_element_set_enabled),
7939         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7940         (gst_opt_scheduler_show):
7941         Elements without a group can do a state change as well, just wait
7942         with the setup of the scheduling function when it is added to a
7943         chain.
7944
7945 2004-05-27  Wim Taymans  <wim@fluendo.com>
7946
7947         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7948         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7949         (merge_groups), (setup_group_scheduler),
7950         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7951         (gst_opt_scheduler_show):
7952         Fixes to maintain internal consistency of the scheduler data
7953         structures. 
7954          - adding an enabled group to a chain should increment the
7955            number of enabled elements in that chain.
7956          - removing an enabled group from a chain could disable the
7957            chain.
7958          - removing a disabled group from a chain could enable the
7959            chain.
7960          - add g_assert when internal inconsistency is detected.
7961          - adding an element to a group could increase the number of
7962            links this group has with other groups.
7963          - merging two groups also merges the chains.
7964          - also show group links in the _show method.
7965            
7966
7967 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7968
7969         * gst/gstcaps.c: (gst_caps_structure_simplify):
7970           don't print error messages when there is no error
7971         * gst/gstvalue.c: (gst_value_compare_int_range):
7972           compare the second value, too
7973         * testsuite/caps/Makefile.am:
7974         * testsuite/caps/random.c: (assert_on_error), (main):
7975           add tests to make sure the two things above are checked for
7976
7977 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7978
7979         * configure.ac:
7980         * libs/gst/dataprotocol/Makefile.am:
7981         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7982         * libs/gst/dataprotocol/dataprotocol.h:
7983           wrap header in GST_ENABLE_NEW.  make code use it
7984
7985 2004-05-23  Johan Dahlin  <johan@gnome.org>
7986
7987         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7988         so verbose and print GstElement signal names all the time.
7989
7990 2004-05-22  David Schleef  <ds@schleef.org>
7991
7992         * gst/registries/gstxmlregistry.c:
7993         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
7994         (bug #142957)
7995
7996 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7997
7998         * configure.ac:
7999           scrub cflags for glib2 so gcc doesn't complain when glib is in
8000           /usr/local
8001
8002 2004-05-21  Johan Dahlin  <johan@gnome.org>
8003
8004         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8005         __GNUC__, patch from Brian Cameron, fixes bug #142804
8006
8007 2004-05-20  David Schleef  <ds@schleef.org>
8008
8009         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8010         comparison code.  (bug #142819)
8011
8012 2004-05-20  Wim Taymans  <wim@fluendo.com>
8013
8014         * gst/gstbuffer.c: (gst_buffer_default_copy):
8015         * gst/gstbuffer.h:
8016         Added Comment to a flag.
8017         copy relevant flags in _buffer_copy.
8018
8019 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         reviewed by: Wim Taymans <wim at fluendo dot com>
8022
8023         * gst/gstbuffer.h:
8024           add GST_BUFFER_IN_CAPS buffer flag
8025         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8026         (gst_structure_parse_any_list), (gst_structure_parse_list),
8027         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8028         * gst/gstvalue.c: (gst_value_serialize_any_list),
8029         (gst_value_transform_any_list_string),
8030         (gst_value_list_prepend_value), (gst_value_list_append_value),
8031         (gst_value_list_get_size), (gst_value_list_get_value),
8032         (gst_value_transform_list_string),
8033         (gst_value_transform_fixed_list_string),
8034         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8035         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8036         (_gst_value_initialize):
8037         * gst/gstvalue.h:
8038           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8039           < , > as a format.
8040         * testsuite/caps/string-conversions.c: (main):
8041           add regression tests for < >
8042
8043 2004-05-20  Johan Dahlin  <johan@gnome.org>
8044
8045         * docs/gst/Makefile.am (all-local): Re-add
8046
8047 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8048
8049         * docs/gst/Makefile.am:
8050         * docs/gst/gstreamer-docs.sgml:
8051         * docs/libs/Makefile.am:
8052         * docs/libs/gstreamer-libs-docs.sgml:
8053           fix distcheck issues
8054
8055 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8056
8057         * libs/gst/dataprotocol/Makefile.am:
8058           add to autotest
8059
8060 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8061
8062         * libs/gst/dataprotocol/Makefile.am:
8063         * libs/gst/dataprotocol/dataprotocol.c:
8064         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8065         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8066         * libs/gst/dataprotocol/dp-private.h:
8067           use GST macros to read/write fixed length ints
8068           add some more asserts
8069
8070 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8071
8072         * docs/libs/gstreamer-libs-docs.sgml:
8073         * docs/libs/gstreamer-libs-sections.txt:
8074           remove idct and putbits
8075         * configure.ac:
8076         * docs/libs/tmpl/gstdataprotocol.sgml:
8077         * libs/gst/Makefile.am:
8078         * libs/gst/dataprotocol/Makefile.am:
8079         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8080         (buffer_test), (caps_test), (event_test), (main):
8081         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8082         (gst_dp_dump_byte_array), (gst_dp_init),
8083         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8084         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8085         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8086         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8087         (gst_dp_validate_header), (gst_dp_validate_payload),
8088         (gst_dp_validate_packet), (plugin_init):
8089         * libs/gst/dataprotocol/dataprotocol.h:
8090         * libs/gst/dataprotocol/dp-private.h:
8091           add dataprotocol
8092
8093 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8094
8095         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8096           fix int variable deserialization and add a helper so we can actually
8097           debug this.
8098
8099 2004-05-18  David Schleef  <ds@schleef.org>
8100
8101         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8102           argv[0].  Calling yourself is probably not the best way to
8103           construct a test like this, btw.
8104
8105 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8106
8107         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8108           don't claim to be more intelligent than a scheduler when the
8109           scheduler claims the pipeline is stopped
8110         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8111         (safe_cothread_destroy),
8112         (gst_entry_scheduler_remove_all_cothreads),
8113         (gst_entry_scheduler_reset), (_remove_cothread),
8114         (gst_entry_scheduler_state_transition):
8115           hold off cothread destruction if we're not in main cothread
8116         * configure.ac:
8117         * testsuite/Makefile.am:
8118           add new test dir
8119         * testsuite/schedulers/.cvsignore:
8120         * testsuite/schedulers/Makefile.am:
8121           add tests
8122         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8123           check relinking and adding/removing elements from a running pipeline
8124         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8125           check unlinking in a running pipeline
8126         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8127           check unreffing a running pipeline
8128         * testsuite/schedulers/useless_iteration.c: (main):
8129           check iterating a pipeline that contains running threads works
8130
8131 2004-05-18  David Schleef  <ds@schleef.org>
8132
8133         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8134           is false.
8135
8136 2004-05-18  Wim Taymans  <wim@fluendo.com>
8137
8138         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8139         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8140         Fixed an error introduced with patch for 1.63. When setting
8141         a get based element as the entry point in a group, make sure
8142         to mark the group as GET based.
8143
8144 2004-05-18  Wim Taymans  <wim@fluendo.com>
8145
8146         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8147         (setup_group_scheduler), (loop_group_schedule_function),
8148         (gst_opt_scheduler_pad_link):
8149         Added some more debug info and fixed a bug where the group
8150         type was set to LOOP but it was in fact unknown.
8151
8152 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8153
8154         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8155           make resetting scheduler work twice in a row
8156
8157 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8158
8159         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8160         (CREATE_USERIALIZATION), (_gst_value_initialize),
8161         (gst_value_compare_float), (gst_value_serialize_float),
8162         (gst_value_deserialize_float), (gst_value_compare_enum),
8163         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8164           add serialization and comparison functions for long, int64, enum and
8165           float values
8166         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8167           use best serialization function in type hierarchy instead of only a
8168           matching one. This is required for enums to work.
8169         * gst/parse/grammar.y:
8170           use gst_caps_deserialize
8171         * testsuite/parse/Makefile.am:
8172           parse1 now works
8173         * testsuite/parse/parse1.c: (main):
8174           remove aggregator check, aggregator is broken, this test works now
8175           but fails because of bug #138012
8176         * testsuite/parse/parse2.c: (main):
8177           s/xvideosink/xvimagesink - this test looks a lot like we should
8178           disable it
8179
8180 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8181
8182         * gst/gstelement.c: (gst_element_class_init):
8183           whoops, store the signal id correctly
8184         * gst/schedulers/gstbasicscheduler.c:
8185         (gst_basic_scheduler_chain_wrapper):
8186           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8187           chain function isn't linked
8188
8189 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8190         * configure.ac:
8191         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8192         support until we decide where the flags should be used
8193         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8194         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8195         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8196         Output refused caps in the debug info
8197
8198 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8199
8200         * gst/elements/gstidentity.c: (gst_identity_chain):
8201           add duration debug
8202         * gst/gstinfo.c: (gst_debug_log_default):
8203           add timestamp
8204
8205 2004-05-13  Benjamin Otte  <otte@gnome.org>
8206
8207         * gst/gstpipeline.c: (gst_pipeline_dispose),
8208         (gst_pipeline_change_state):
8209           call gst_scheduler_reset on dispose (fixes #141416)
8210
8211 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8212
8213         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8214           compute mapsize correctly
8215         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8216           use correct datatypes when calling a varargs function
8217         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8218           push a DISCONT event as first thing
8219         * gst/gst_private.h:
8220         * gst/gstinfo.c: (_gst_debug_init):
8221           remove GST_DATAFLOW debugging category
8222         * gst/gstbin.c: (gst_bin_iterate):
8223           use GST_SCHEDULING category
8224         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8225         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8226         (gst_pad_call_get_function):
8227           add GST_DATAFLOW to easily track flow of buffers or events.
8228         * gst/gstqueue.c: (gst_queue_get_type),
8229         (gst_queue_handle_pending_events), (gst_queue_chain),
8230         (gst_queue_get), (gst_queue_handle_src_event):
8231           use own static debugging category GST_DATAFLOW for dataflow,
8232           use DEBUG category for showing which path events go, use LOG
8233           category for buffers.
8234
8235 2004-05-10  David Schleef  <ds@schleef.org>
8236
8237         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8238
8239 2004-05-10  David Schleef  <ds@schleef.org>
8240
8241         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8242         symbols, because otherwise we don't know what they are.  Thanks,
8243         the GStreamer team.
8244         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8245
8246 2004-05-10  David Schleef  <ds@schleef.org>
8247
8248         (from Steve Lhomme)
8249         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8250         are deleted.  Fix.
8251         * win32/Makefile.inspect:
8252         * win32/Makefile.launch:
8253         * win32/Makefile.register:
8254
8255 2004-05-10  David Schleef  <ds@schleef.org>
8256
8257         * gst/gstinfo.h: Add missing inline function.
8258         * gst/gsttrace.c: add include
8259         * gst/parse/grammar.y: remove unused code
8260         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8261         more portable.
8262         * tools/gst-register.c: wrap unistd.h
8263         
8264         More additions/fixes from Steve for the MSVC build.
8265         * win32/GStreamer.vcproj:
8266         * win32/Makefile:
8267         * win32/Makefile.inspect:
8268         * win32/Makefile.launch:
8269         * win32/Makefile.register:
8270         * win32/README.txt:
8271         * win32/gst-inspect.vcproj:
8272         * win32/gst-launch.vcproj:
8273         * win32/gst-register.vcproj:
8274         * win32/gstbytestream.def:
8275         * win32/gstbytestream.vcproj:
8276         * win32/gstconfig.h:
8277         * win32/gstelements.def:
8278         * win32/gstelements.vcproj:
8279         * win32/gstenumtypes.c:
8280         * win32/gstenumtypes.h:
8281         * win32/gstoptimalscheduler.def:
8282         * win32/gstoptimalscheduler.vcproj:
8283         * win32/gstreamer.def:
8284         * win32/gstspider.def:
8285         * win32/gstspider.vcproj:
8286         * win32/gstversion.h:
8287         * win32/msvc71.sln:
8288
8289 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8290
8291         * gst/gstelement.c: (gst_element_class_init),
8292         (gst_element_no_more_pads):
8293         * gst/gstelement.h:
8294           add gst_element_no_more_pads and the "no-more-pads" signal
8295
8296 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8297
8298         * gst/gstregistry.c: (gst_registry_add_plugin):
8299           refuse to add plugins when a plugin with same name is already
8300           registered. Fixes a bunch of "How to remove plugins?" issues.
8301           May lead to other problems though, let's test
8302
8303 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8304
8305         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8306         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8307         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8308
8309 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8310
8311         * tests/Makefile.am: fix am16 issue
8312
8313 2004-05-09  Benjamin Otte  <otte@gnome.org>
8314
8315         * libs/gst/bytestream/Makefile.am:
8316           we should indeed add .c files to makefiles or they won't be built
8317           (d'oh)
8318
8319 2004-05-08  Benjamin Otte  <otte@gnome.org>
8320
8321         * gst/gstpad.c: (gst_pad_proxy_fixate):
8322           really reduce the set of caps
8323
8324 2004-05-08  Benjamin Otte  <otte@gnome.org>
8325
8326         * tests/Makefile.am:
8327         * tests/spidey_bench.c: (handoff), (main):
8328           add benchmark to test how long spider needs to create a pipeline
8329
8330 2004-05-08  Benjamin Otte  <otte@gnome.org>
8331
8332         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8333           mark links as unengaged when unnegotiating instead of deactivating.
8334           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8335
8336 2004-05-08  Benjamin Otte  <otte@gnome.org>
8337
8338         * docs/manual/helloworld.xml:
8339           s/audiosink/osssink (patch by Patrick Guimond)
8340
8341 2004-05-07  David Schleef  <ds@schleef.org>
8342
8343         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8344         since it contains important stuff.
8345
8346 2004-05-07  David Schleef  <ds@schleef.org>
8347
8348         * testsuite/caps/caps.c: (test3), (main): A check for appending
8349         ANY caps.
8350
8351 2004-05-07  David Schleef  <ds@schleef.org>
8352
8353         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8354         which may contain commas.  Fixes detection of -Wa,-mregnames
8355
8356 2004-05-06  David Schleef  <ds@schleef.org>
8357
8358         Changes to handle compilers that don't have variadic macro
8359         support.  In particular, glib headers define some inlines
8360         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8361         builds.
8362         * gst/Makefile.am:
8363         * gst/cothreads.c:
8364         * gst/elements/gstfdsink.c:
8365         * gst/elements/gstfdsrc.c:
8366         * gst/elements/gstfilesink.c:
8367         * gst/elements/gstfilesrc.c:
8368         * gst/gst_private.h:
8369         * gst/gstatomic.c:
8370         * gst/gstcaps.c: (gst_caps_append):
8371         * gst/gstcpu.c: (gst_cpuid_i386):
8372         * gst/gstelement.c:
8373         * gst/gsterror.c:
8374         * gst/gstfilter.c:
8375         * gst/gstinfo.h:
8376         * gst/gstprobe.c:
8377         * gst/gstquery.c:
8378         * gst/gstregistry.c:
8379         * gst/gststructure.c:
8380         * gst/gsttaginterface.c:
8381         * gst/gsttrace.c: (gst_trace_new):
8382         * gst/gsttrashstack.c:
8383         * gst/gsturi.c:
8384         * gst/gstvalue.c:
8385         * gst/parse/grammar.y:
8386         * gst/parse/parse.l:
8387         * tools/gst-inspect.c: (main):
8388         * tools/gst-launch.c: (main):
8389         * tools/gst-xmlinspect.c: (PUT_STRING):
8390
8391 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8392
8393         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8394         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8395         * gst/elements/gstfilesrc.h:
8396           send NEW_MEDIA events correctly
8397         * gst/elements/gsttypefindelement.c: (start_typefinding),
8398         (gst_type_find_element_handle_event):
8399           restart typefinding when we get a NEW_MEDIA event
8400         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8401         (gst_bin_dispose):
8402           don't die when someone removes elements in callbacks
8403         * gst/gstelement.c: (gst_element_change_state):
8404           improve debugging
8405         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8406           we need a NEW_MEDIA event to engage a link
8407         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8408           don't g_print debugging stuff
8409         * testsuite/caps/simplify.c: (check_caps):
8410
8411 2004-05-04  Benjamin Otte  <otte@gnome.org>
8412
8413         * gst/parse/grammar.y:
8414           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8415
8416 2004-05-04  Benjamin Otte  <otte@gnome.org>
8417
8418         * testsuite/caps/renegotiate.c: (main):
8419           improve output in error case
8420
8421 2004-05-04  Benjamin Otte  <otte@gnome.org>
8422
8423         * gst/parse/grammar.y:
8424           fix assert to not trigger when there's no error argument
8425         * gst/parse/parse.l:
8426           fix definition of caps to allow more than two structures
8427         * testsuite/caps/Makefile.am:
8428         * testsuite/caps/renegotiate.c: (main):
8429           it's sinesrc and works in that case
8430
8431 2004-05-04  Wim Taymans  <wim@fluendo.com>
8432
8433         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8434         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8435         when removing an element from a group, we always need to
8436         decrement the link count that this group had with other 
8437         groups through the element.
8438         added an extra assert to catch inconsistencies when decrementing
8439         the link count.
8440
8441 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8442
8443         * configure.ac:
8444         * docs/gst/Makefile.am:
8445         * docs/gst/gstreamer-sections.txt:
8446         * docs/gst/tmpl/gstcompat.sgml:
8447         * examples/appreader/Makefile.am:
8448         * examples/cutter/Makefile.am:
8449         * examples/events/Makefile.am:
8450         * examples/helloworld/Makefile.am:
8451         * examples/helloworld2/Makefile.am:
8452         * examples/launch/Makefile.am:
8453         * examples/manual/Makefile.am:
8454         * examples/mixer/Makefile.am:
8455         * examples/pingpong/Makefile.am:
8456         * examples/plugins/Makefile.am:
8457         * examples/queue/Makefile.am:
8458         * examples/queue2/Makefile.am:
8459         * examples/queue3/Makefile.am:
8460         * examples/queue4/Makefile.am:
8461         * examples/retag/Makefile.am:
8462         * examples/thread/Makefile.am:
8463         * examples/typefind/Makefile.am:
8464         * examples/xml/Makefile.am:
8465         * gst/Makefile.am:
8466         * gst/autoplug/Makefile.am:
8467         * gst/elements/Makefile.am:
8468         * gst/gstcompat.h:
8469         * gst/indexers/Makefile.am:
8470         * gst/parse/Makefile.am:
8471         * gst/registries/Makefile.am:
8472         * gst/schedulers/Makefile.am:
8473         * libs/gst/bytestream/Makefile.am:
8474         * libs/gst/control/Makefile.am:
8475         * libs/gst/getbits/Makefile.am:
8476         * po/af.po:
8477         * po/az.po:
8478         * po/en_GB.po:
8479         * po/fr.po:
8480         * po/nl.po:
8481         * po/sr.po:
8482         * po/sv.po:
8483         * po/tr.po:
8484         * po/uk.po:
8485         * tests/Makefile.am:
8486         * tests/bufspeed/Makefile.am:
8487         * tests/instantiate/Makefile.am:
8488         * tests/memchunk/Makefile.am:
8489         * tests/muxing/Makefile.am:
8490         * tests/negotiation/Makefile.am:
8491         * tests/probes/Makefile.am:
8492         * tests/sched/Makefile.am:
8493         * tests/seeking/Makefile.am:
8494         * tests/threadstate/Makefile.am:
8495         * testsuite/caps/Makefile.am:
8496         * testsuite/cleanup/Makefile.am:
8497         * testsuite/dlopen/Makefile.am:
8498         * testsuite/dynparams/Makefile.am:
8499         * testsuite/plugin/Makefile.am:
8500         * testsuite/states/Makefile.am:
8501         * tools/Makefile.am:
8502           reorganize compile/link flags to be consistent
8503           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8504
8505 2004-05-04  David Schleef  <ds@schleef.org>
8506
8507         The "once more, with feeling" check-in.
8508         * testsuite/caps/Makefile.am: dist caps_strings
8509         * testsuite/caps/renegotiate.c: (main): This test triggers a
8510           segfault in the core.  Marking as failing.
8511
8512 2004-05-03  David Schleef  <ds@schleef.org>
8513
8514         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8515           by the build bots.
8516         * testsuite/caps/renegotiate.c: (main): Same.
8517
8518 2004-05-03  David Schleef  <ds@schleef.org>
8519
8520         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8521
8522 2004-05-03  David Schleef  <ds@schleef.org>
8523
8524         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8525           variable to find our source file.
8526
8527 2004-05-03  David Schleef  <ds@schleef.org>
8528
8529         * configure.ac:  Link plugins with libgstreamer and dependent
8530           libraries
8531         * testsuite/caps/Makefile.am:
8532         * testsuite/caps/caps_strings:
8533         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8534           through a file of caps strings and test each one
8535
8536 2004-05-04  Benjamin Otte  <otte@gnome.org>
8537
8538         * libs/gst/bytestream/Makefile.am:
8539         * libs/gst/bytestream/adapter.c: 
8540         * libs/gst/bytestream/adapter.h:
8541           add GstAdapter, similar to bytestream, but doesn't require ugly event
8542           handling or uglier loopbased elements
8543
8544 2004-05-03  David Schleef  <ds@schleef.org>
8545
8546         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8547         * testsuite/caps/erathostenes.c:
8548         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8549
8550 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8551
8552         * docs/pwg/pwg.xml:
8553           remove hardcoded stylesheet path (duh)
8554         * docs/random/release:
8555         * docs/gst/gstreamer-sections.txt:
8556         * gst/Makefile.am:
8557         * gst/gst.h:
8558         * gst/gst_private.h:
8559         * gst/gstcaps.c:
8560         * gst/gstevent.c:
8561         * gst/gstformat.c:
8562         * gst/gstinfo.c:
8563         * gst/gstinfo.h:
8564         * gst/gstinterface.c:
8565         * gst/gstmemchunk.c:
8566         * gst/gstprobe.c:
8567         * gst/gstquery.c:
8568         * gst/gstregistry.c:
8569         * gst/gstregistrypool.c:
8570         * gst/gststructure.c:
8571         * gst/gsttaginterface.c:
8572         * gst/gstthread.c:
8573         * gst/gsttrace.c:
8574         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8575         * gst/gsturi.c:
8576         * gst/gstvalue.c:
8577           deprecate gst_info; remove gstlog.h
8578    
8579
8580 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8581
8582         * Makefile.am:
8583         * po/en_GB.po:
8584         * po/sv.po:
8585         * po/uk.po:
8586           updated translations
8587
8588 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8589
8590         * gst/gstbin.c: (gst_bin_dispose):
8591           better debugging
8592
8593 2004-05-03  Johan Dahlin  <johan@gnome.org>
8594
8595         * gst/schedulers/gstoptimalscheduler.c
8596         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8597         really is a GstElement. Avoids critical when running gst-launch -v
8598         and a oggdemux/decoding pipeline.
8599
8600 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8601
8602         * docs/gst/tmpl/gstpipeline.sgml :
8603         * docs/manual/elements-api.xml :
8604                 doc fix by Patrick Guimond (Protector) from devel ML
8605                 reviewed by ronald
8606
8607 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8608
8609         * docs/gst/Makefile.am :
8610         * docs/libs/Makefile.am :
8611                 apply a patch from Arwed v. Merkatz so that gtk-doc
8612                 generated docs install (same for .devhelp file)
8613                 (fixes part 1 of #138836)
8614
8615 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8616
8617         * docs/faq/dependencies.xml: typo
8618         * docs/faq/getting.xml :
8619             - fix download URL for new gstreamer site
8620             - hide sf.net download page as latest version aren't there
8621             - fix apt URLs
8622             - fill "get via CVS" paragraph (link to dev page on the site)
8623         * docs/faq/general.xml:
8624             hide status tables as they no more exists
8625             change case on plugins license file to reflect reality
8626         * docs/faq/troubleshooting.xml:
8627             remove the wiki question/answer as there is no more wiki
8628
8629 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8630
8631         * gst/gsterror.h:
8632           include the headers needed for declarations used in this header
8633
8634 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8635
8636         * docs/random/uraeus/gstreamer_and_midi.txt :
8637           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8638           (fixes #132288)
8639
8640 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8641
8642         reviewed by Benjamin Otte  <otte@gnome.org>
8643
8644         * gst/schedulers/gthread-cothreads.h:
8645           free allocated data for main cothread, too when destroying context
8646           (fixes #141417)
8647
8648 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8649
8650         * docs/manual/goals.xml : remove duplicated paragraph at end 
8651         of doc page (fixes #141448)
8652
8653 2004-04-29  David Schleef  <ds@schleef.org>
8654
8655         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8656         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8657
8658 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8659
8660         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8661           fix property
8662         * gst/gstcaps.c:
8663           fix doc string
8664         * po/POTFILES.in:
8665           rename typefind source file
8666
8667 2004-04-28  David Schleef  <ds@schleef.org>
8668
8669         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8670         * win32/GStreamer.vcproj:
8671         * win32/Makefile:
8672         * win32/config.h:
8673         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8674         (_trewinddir), (_ttelldir), (_tseekdir):
8675         * win32/dirent.h:
8676         * win32/gst-inspect.vcproj:
8677         * win32/gst-launch.vcproj:
8678         * win32/gst-register.vcproj:
8679         * win32/gstbytestream.vcproj:
8680         * win32/gstelements.vcproj:
8681         * win32/gstoptimalscheduler.vcproj:
8682         * win32/gstspider.vcproj:
8683         * win32/gtchar.h:
8684         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8685         * win32/mman.h:
8686         * win32/mman.inl:
8687         * win32/msvc71.sln:
8688
8689 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8690
8691         * gst/gst.c: (init_post):
8692         * gst/gstinfo.c:
8693           remove useless _gst_progname stuff
8694         * tools/gst-inspect.c: (print_field), (print_caps):
8695           improve caps output
8696
8697 2004-04-28  David Schleef  <ds@schleef.org>
8698
8699         Disable parsing of a lot of files that aren't part of the
8700         exported API.  Move corresponding template files to old/,
8701         waiting for removal when they don't contain anything
8702         interesting.
8703         * docs/gst/Makefile.am:
8704         * docs/gst/gstreamer-sections.txt:
8705         * docs/gst/tmpl/cothreads.sgml:
8706         * docs/gst/tmpl/cothreads_compat.sgml:
8707         * docs/gst/tmpl/gettext.sgml:
8708         * docs/gst/tmpl/gobject2gtk.sgml:
8709         * docs/gst/tmpl/grammar.tab.sgml:
8710         * docs/gst/tmpl/gst-i18n-app.sgml:
8711         * docs/gst/tmpl/gst-i18n-lib.sgml:
8712         * docs/gst/tmpl/gst_private.sgml:
8713         * docs/gst/tmpl/gstaggregator.sgml:
8714         * docs/gst/tmpl/gstarch.sgml:
8715         * docs/gst/tmpl/gstatomic_impl.sgml:
8716         * docs/gst/tmpl/gstbufferstore.sgml:
8717         * docs/gst/tmpl/gstdata_private.sgml:
8718         * docs/gst/tmpl/gstdisksink.sgml:
8719         * docs/gst/tmpl/gstdisksrc.sgml:
8720         * docs/gst/tmpl/gstelementfactory.sgml:
8721         * docs/gst/tmpl/gstextratypes.sgml:
8722         * docs/gst/tmpl/gstfakesink.sgml:
8723         * docs/gst/tmpl/gstfakesrc.sgml:
8724         * docs/gst/tmpl/gstfdsink.sgml:
8725         * docs/gst/tmpl/gstfdsrc.sgml:
8726         * docs/gst/tmpl/gstfilesink.sgml:
8727         * docs/gst/tmpl/gstfilesrc.sgml:
8728         * docs/gst/tmpl/gsthttpsrc.sgml:
8729         * docs/gst/tmpl/gstidentity.sgml:
8730         * docs/gst/tmpl/gstindexfactory.sgml:
8731         * docs/gst/tmpl/gstmarshal.sgml:
8732         * docs/gst/tmpl/gstmd5sink.sgml:
8733         * docs/gst/tmpl/gstmultidisksrc.sgml:
8734         * docs/gst/tmpl/gstmultifilesrc.sgml:
8735         * docs/gst/tmpl/gstpadtemplate.sgml:
8736         * docs/gst/tmpl/gstpipefilter.sgml:
8737         * docs/gst/tmpl/gstschedulerfactory.sgml:
8738         * docs/gst/tmpl/gstsearchfuncs.sgml:
8739         * docs/gst/tmpl/gstshaper.sgml:
8740         * docs/gst/tmpl/gstspider.sgml:
8741         * docs/gst/tmpl/gstspideridentity.sgml:
8742         * docs/gst/tmpl/gststatistics.sgml:
8743         * docs/gst/tmpl/gsttee.sgml:
8744         * docs/gst/tmpl/gsttimecache.sgml:
8745         * docs/gst/tmpl/gsttypefind.sgml:
8746         * docs/gst/tmpl/gsttypefindfactory.sgml:
8747         * docs/gst/tmpl/gstxmlregistry.sgml:
8748         * docs/gst/tmpl/gthread-cothreads.sgml:
8749         * docs/gst/tmpl/old/cothreads.sgml:
8750         * docs/gst/tmpl/old/cothreads_compat.sgml:
8751         * docs/gst/tmpl/old/gettext.sgml:
8752         * docs/gst/tmpl/old/gobject2gtk.sgml:
8753         * docs/gst/tmpl/old/grammar.tab.sgml:
8754         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8755         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8756         * docs/gst/tmpl/old/gst_private.sgml:
8757         * docs/gst/tmpl/old/gstaggregator.sgml:
8758         * docs/gst/tmpl/old/gstarch.sgml:
8759         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8760         * docs/gst/tmpl/old/gstbufferstore.sgml:
8761         * docs/gst/tmpl/old/gstdata_private.sgml:
8762         * docs/gst/tmpl/old/gstdisksink.sgml:
8763         * docs/gst/tmpl/old/gstdisksrc.sgml:
8764         * docs/gst/tmpl/old/gstelementfactory.sgml:
8765         * docs/gst/tmpl/old/gstextratypes.sgml:
8766         * docs/gst/tmpl/old/gstfakesink.sgml:
8767         * docs/gst/tmpl/old/gstfakesrc.sgml:
8768         * docs/gst/tmpl/old/gstfdsink.sgml:
8769         * docs/gst/tmpl/old/gstfdsrc.sgml:
8770         * docs/gst/tmpl/old/gstfilesink.sgml:
8771         * docs/gst/tmpl/old/gstfilesrc.sgml:
8772         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8773         * docs/gst/tmpl/old/gstidentity.sgml:
8774         * docs/gst/tmpl/old/gstindexfactory.sgml:
8775         * docs/gst/tmpl/old/gstmarshal.sgml:
8776         * docs/gst/tmpl/old/gstmd5sink.sgml:
8777         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8778         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8779         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8780         * docs/gst/tmpl/old/gstpipefilter.sgml:
8781         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8782         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8783         * docs/gst/tmpl/old/gstshaper.sgml:
8784         * docs/gst/tmpl/old/gstspider.sgml:
8785         * docs/gst/tmpl/old/gstspideridentity.sgml:
8786         * docs/gst/tmpl/old/gststatistics.sgml:
8787         * docs/gst/tmpl/old/gsttee.sgml:
8788         * docs/gst/tmpl/old/gsttimecache.sgml:
8789         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8790         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8791         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8792         * docs/gst/tmpl/old/types.sgml:
8793         * docs/gst/tmpl/types.sgml:
8794
8795         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8796         gtkdoc-scan doesn't like files with the same name in different
8797         directories.
8798         * gst/elements/Makefile.am:
8799         * gst/elements/gstelements.c:
8800         * gst/elements/gsttypefind.c: 
8801         * gst/elements/gsttypefind.h:
8802         * gst/elements/gsttypefindelement.c:
8803         * gst/elements/gsttypefindelement.h:
8804
8805 2004-04-28  David Schleef  <ds@schleef.org>
8806
8807         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8808         patch (bug #141317):
8809         * gst/gst-i18n-lib.h: Allow disabling gettext.
8810         * gst/gstatomic_impl.h: disable warning when it's dumb.
8811         * gst/gstclock.c: fix include
8812         * gst/gstcompat.h: fix variadic macro
8813         * gst/gstinfo.c: fix include
8814         * gst/gstmacros.h: add defines for inlines on MSVC
8815         * gst/gstplugin.c: fix includes
8816         * gst/gstregistry.c: fix includes
8817         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8818         * gst/gstsystemclock.c: fix include
8819         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8820         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8821         * gst/registries/gstxmlregistry.c:
8822         (gst_xml_registry_parse_element_factory): fix use of non-portable
8823         functions
8824         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8825         * libs/gst/control/dparammanager.h: same
8826
8827 2004-04-28  David Schleef  <ds@schleef.org>
8828
8829         Move a bunch of unused files to old/ with names that are
8830         not case-insensitive-unique.  These files still contain some
8831         useful information that needs to be merged into gstbin.sgml,
8832         etc., so they shouldn't be deleted yet.
8833         * docs/gst/tmpl/GstBin.sgml:
8834         * docs/gst/tmpl/GstBuffer.sgml:
8835         * docs/gst/tmpl/GstCaps.sgml:
8836         * docs/gst/tmpl/GstClock.sgml:
8837         * docs/gst/tmpl/GstCompat.sgml:
8838         * docs/gst/tmpl/GstData.sgml:
8839         * docs/gst/tmpl/GstElement.sgml:
8840         * docs/gst/tmpl/GstEvent.sgml:
8841         * docs/gst/tmpl/GstIndex.sgml:
8842         * docs/gst/tmpl/GstStructure.sgml:
8843         * docs/gst/tmpl/GstTag.sgml:
8844         * docs/gst/tmpl/old/GstBin.sgml:
8845         * docs/gst/tmpl/old/GstBuffer.sgml:
8846         * docs/gst/tmpl/old/GstCaps.sgml:
8847         * docs/gst/tmpl/old/GstClock.sgml:
8848         * docs/gst/tmpl/old/GstCompat.sgml:
8849         * docs/gst/tmpl/old/GstData.sgml:
8850         * docs/gst/tmpl/old/GstElement.sgml:
8851         * docs/gst/tmpl/old/GstEvent.sgml:
8852         * docs/gst/tmpl/old/GstIndex.sgml:
8853         * docs/gst/tmpl/old/GstStructure.sgml:
8854         * docs/gst/tmpl/old/GstTag.sgml:
8855
8856 2004-04-28  David Schleef  <ds@schleef.org>
8857
8858         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8859         (gst_caps_append), (gst_caps_append_structure),
8860         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8861         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8862         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8863         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8864         (gst_caps_intersect), (gst_caps_normalize),
8865         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8866         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8867         * gst/gstcaps.h: use GST_IS_CAPS().
8868
8869 2004-04-26  David Schleef  <ds@schleef.org>
8870
8871         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8872         assembly.  gcc doesn't handle it correctly. (bug #141083)
8873         * gst/gsttrashstack.h: same
8874
8875 2004-04-25  Benjamin Otte  <otte@gnome.org>
8876
8877         * gst/gstelement.c: (gst_element_change_state):
8878           fix assertion to do an int comparison
8879
8880 2004-04-25  Benjamin Otte  <otte@gnome.org>
8881
8882         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8883           better debugging output on error
8884
8885 2004-04-25  Benjamin Otte  <otte@gnome.org>
8886
8887         * gst/gstcaps.c: (gst_caps_subtract):
8888           fix memleak
8889
8890 2004-04-23  Benjamin Otte  <otte@gnome.org>
8891
8892         * gst/gstvalue.c: (gst_value_compare_buffer),
8893         (_gst_value_initialize):
8894           add comparison function for buffers
8895
8896 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8897
8898         * docs/pwg/pwg.xml:
8899           Just found out that this so-called "ima-wav" format is really
8900           just "dvi adpcm" (according to the MS WAV documentation). So
8901           renaming it. We didn't use it yet anyway.
8902
8903 2004-04-23  Benjamin Otte  <otte@gnome.org>
8904
8905         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8906           call gst_caps_is_subset
8907
8908 2004-04-23  Benjamin Otte  <otte@gnome.org>
8909
8910         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8911         (gst_caps_is_subset):
8912           add documentation
8913
8914 2004-04-23  Benjamin Otte  <otte@gnome.org>
8915           
8916         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8917         (gst_caps_structure_subtract), (gst_caps_subtract),
8918         (gst_caps_structure_figure_out_union),
8919         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8920           fix simplifying and subtracting not working correctly with optional
8921           properties
8922           solve assorted problems that make it now simplify ebven more
8923         * docs/gst/tmpl/gstcaps.sgml:
8924         * gst/gstcaps.h:
8925           make gst_caps_do_simplify return a bool to indicate if it simplified
8926         * testsuite/caps/simplify.c: (main):
8927           add more checks. The tests is quite a bit useless right now because
8928           the core is heavily simplifying itself.
8929         * testsuite/caps/caps.h:
8930           fix caps to contain all optional properties
8931
8932 2004-04-22  Benjamin Otte  <otte@gnome.org>
8933
8934         * docs/gst/tmpl/gstcaps.sgml:
8935         * docs/gst/tmpl/gstfilesrc.sgml:
8936         * docs/gst/tmpl/gststructure.sgml:
8937         * docs/gst/tmpl/gstvalue.sgml:
8938           update for recent API changes
8939         * gst/gstcaps.c: (gst_caps_do_simplify):
8940           fix to stop trying with a freed structure
8941         * gst/gstpad.c: (gst_pad_link_fixate):
8942           simplify caps
8943         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8944           remove C++ comment
8945         * gst/gstpad.h:
8946           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8947         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8948         (gst_structure_to_string):
8949           keep the correct type when using lists of ranges
8950         * gst/gstvalue.c: (gst_value_list_prepend_value),
8951         (gst_value_list_append_value):
8952           copy the value before adding to the list (d'oh)
8953         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8954         (gst_value_subtract_int_range_int_range):
8955           handle overflows correctly
8956         * gst/gstvalue.c: (gst_value_subtract_from_list):
8957           fix memleak
8958         * testsuite/caps/caps.h:
8959           add a caps that caused segfaults
8960
8961 2004-04-22  Benjamin Otte  <otte@gnome.org>
8962
8963         * testsuite/refcounting/pad.c: (main):
8964           fix test
8965
8966 2004-04-22  Benjamin Otte  <otte@gnome.org>
8967
8968         * gst/gstcaps.c: (gst_caps_subtract):
8969           allow subtracting ANY and EMPTY from ANY caps
8970
8971 2004-04-22  Benjamin Otte  <otte@gnome.org>
8972
8973         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8974         (gst_caps_union):
8975           only simplify in functions that create new caps. Simplifying in
8976           gst_caps_append breaks tests.
8977
8978 2004-04-22  Benjamin Otte  <otte@gnome.org>
8979
8980         * gst/gstcaps.c: (gst_caps_structure_simplify):
8981           unset GValue after use
8982         * gst/gstcaps.c: (gst_caps_append), 
8983         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8984           use gst_caps_simplify (reduces registry size by 30%)
8985         * gst/gstpad.c: (gst_pad_template_new):
8986           don't allow NULL caps
8987
8988 2004-04-22  Benjamin Otte  <otte@gnome.org>
8989
8990         * docs/gst/gstreamer-sections.txt:
8991           add gst_caps_do_simplify
8992         * gst/gstcaps.c:
8993           add documentation for gst_caps_do_simplify
8994         * gst/gstvalue.h:
8995           fix typo in gst_value_register_subtract_func declaration for gst-doc
8996
8997 2004-04-22  Benjamin Otte  <otte@gnome.org>
8998
8999         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9000           fix bug when converting from empty string.
9001         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9002         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9003           use gst_caps_new_empty to allocate a new caps. Only that function
9004           allocates memory for caps now.
9005         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9006         (gst_caps_remove_structure):
9007           add ability to remove one structure (but not to header yet)
9008         * gst/gstcaps.c: (gst_caps_compare_structures),
9009         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9010         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9011         * gst/gstcaps.h:
9012           add gst_caps_do_simplify that tries to simplify a caps in place.
9013           Deprecate old gst_caps_simplify function.
9014         * testsuite/caps/caps.h:
9015           add caps.h containing a common set of caps to test against.
9016         * testsuite/caps/sets.c: (check_caps), (main):
9017           use it.
9018         * testsuite/caps/.cvsignore:
9019         * testsuite/caps/Makefile.am:
9020         * testsuite/caps/simplify.c: (check_caps), (main):
9021           add test to check correctness and efficency of caps simplification.
9022
9023 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9024
9025         reviewed by Benjamin Otte  <otte@gnome.org>
9026
9027         * gst/gstparse.c: (_gst_parse_escape):
9028           Free the GString used in _gst_parse_escape()
9029
9030 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9031
9032         * gst/gstpad.c: (gst_pad_link_negotiate):
9033           refuse to link if the link is not possible
9034         * configure.ac:
9035         * testsuite/Makefile.am:
9036         * testsuite/negotiation/.cvsignore:
9037         * testsuite/negotiation/Makefile.am:
9038         * testsuite/negotiation/pad_link.c: (main):
9039           add test that checks the above behaviour
9040
9041 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9042
9043         * docs/gst/gstreamer-sections.txt:
9044           add newly added API
9045
9046 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9047
9048         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9049         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9050         (gst_filesrc_open_file), (gst_filesrc_close_file),
9051         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9052         * gst/elements/gstfilesrc.h:
9053           add support for non-regular files (#140734)
9054
9055 2004-04-21  Benjamin Otte  <otte@gnome.org>
9056
9057         * gst/gstpad.c: (gst_pad_link_fixate):
9058           add sophisticated error checking code to see if fixation functions
9059           did their fixation right
9060
9061 2004-04-21  Benjamin Otte  <otte@gnome.org>
9062
9063         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9064           check for ANY caps before appending/unioning
9065         * gst/gstcaps.c: (gst_caps_is_subset),
9066         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9067         (gst_caps_structure_subtract), (gst_caps_subtract):
9068         * gst/gstcaps.h:
9069           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9070           the API. deprecate gst_caps_is_equal_fixed
9071         * gst/gstpad.c: (gst_pad_try_set_caps):
9072         * gst/gstqueue.c: (gst_queue_link):
9073           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9074         * gst/gststructure.c: (gst_structure_get_name_id):
9075         * gst/gststructure.h:
9076           add function gst_structure_get_name_id
9077         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9078         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9079         (gst_value_subtract_int_range_int_range),
9080         (gst_value_subtract_double_double_range),
9081         (gst_value_subtract_double_range_double),
9082         (gst_value_subtract_double_range_double_range),
9083         (gst_value_subtract_from_list), (gst_value_subtract_list),
9084         (gst_value_can_intersect), (gst_value_subtract),
9085         (gst_value_can_subtract), (gst_value_register_subtract_func),
9086         (_gst_value_initialize):
9087         * gst/gstvalue.h:
9088           add support for subtracting values from each other. Note that
9089           subtracting means subtracting as in set theory. Required for caps
9090           stuff above.
9091         * testsuite/caps/.cvsignore:
9092         * testsuite/caps/Makefile.am:
9093         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9094         * testsuite/caps/sets.c: (check_caps), (main):
9095         * testsuite/caps/subtract.c: (check_caps), (main):
9096           add tests for subtraction and equality code.
9097
9098 2004-04-20  David Schleef  <ds@schleef.org>
9099
9100         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9101         * gst/indexers/Makefile.am:
9102         * gst/schedulers/Makefile.am:
9103         * libs/gst/bytestream/Makefile.am:
9104         * libs/gst/control/Makefile.am:
9105         * libs/gst/getbits/Makefile.am:
9106
9107 2004-04-20  David Schleef  <ds@schleef.org>
9108
9109         * common/as-libtool.mak: Fine-tune DLL building.
9110         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9111         (like gst-plugins)
9112         * examples/plugins/Makefile.am: remove plugindir
9113         * gst/autoplug/Makefile.am: DLL building fixes
9114         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9115         Windows.
9116         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9117         * gst/indexers/Makefile.am: DLL building fixes
9118         * gst/schedulers/Makefile.am: DLL building fixes.
9119         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9120         * libs/gst/control/Makefile.am: same
9121         * libs/gst/getbits/Makefile.am: same
9122         * testsuite/Makefile.am: New dlopen directory
9123         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9124         when dlopened.
9125         * testsuite/dlopen/dlopen_gst.c: (main): same
9126         * testsuite/dlopen/loadgst.c: (do_test): same
9127
9128 2004-04-20  David Schleef  <ds@schleef.org>
9129
9130         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9131         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9132
9133 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9134
9135         * gst/gstelement.c: (gst_element_wait),
9136         (gst_element_set_time_delay), (gst_element_change_state):
9137           Use GST_TIME_*
9138
9139 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9140
9141         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9142         (gst_spider_identity_plug):
9143           improve debugging messages
9144         * gst/gstbin.c: (gst_bin_remove_func):
9145           make sure the state_change function is only called with simple state
9146           transitions
9147
9148 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9151         (gst_fakesink_set_property), (gst_fakesink_chain):
9152         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9153         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9154         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9155         * gst/elements/gstidentity.c: (gst_identity_chain),
9156         (gst_identity_set_property):
9157         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9158         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9159           add warnings to _set_property for unknown arguments
9160           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9161
9162 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9163
9164         * Makefile.am:
9165         * docs/manuals.mak:
9166           add .po file download snippet
9167           fix a bug in the doc makefile
9168
9169 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * Makefile.am:
9172         * po/LINGUAS:
9173         * po/en_GB.po:
9174           Added en_GB translation (Gareth Owen)
9175
9176 2004-04-20  Johan Dahlin  <johan@gnome.org>
9177
9178         * gst/gstpad.c (_invent_event): Clean up
9179
9180 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9181
9182         * testsuite/caps/filtercaps.c: (main):
9183           fix test to test things correctly (caps are complicated)
9184
9185 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9186
9187         * testsuite/caps/Makefile.am:
9188         * testsuite/caps/filtercaps.c: (main):
9189           add test (that doesn't work right now, but should)
9190
9191 2004-04-19  David Schleef  <ds@schleef.org>
9192
9193         * configure.ac: Add test for allowing unaligned access.  Add define
9194         to put in gstconfig.h.
9195         * docs/gst/gstreamer-sections.txt: New symbols
9196         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9197         * docs/gst/tmpl/gstfilesrc.sgml:
9198         * docs/gst/tmpl/gstparse.sgml:
9199         * docs/gst/tmpl/gsttypes.sgml:
9200         * docs/gst/tmpl/gstutils.sgml:
9201         * docs/gst/tmpl/gstvalue.sgml:
9202         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9203         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9204         on most !i386/!powerpc architectures.  From Daniel Gazard
9205         <daniel.gazard@free.fr>.  (bug #140156)
9206         * po/af.po: Check in changes made by gettext.
9207         * po/az.po:
9208         * po/fr.po:
9209         * po/nl.po:
9210         * po/sr.po:
9211         * po/sv.po:
9212
9213 2004-04-20  Benjamin Otte  <otte@gnome.org>
9214
9215         * gst/schedulers/entryscheduler.c: 
9216         (gst_entry_scheduler_yield):
9217           refuse to yield when decoupled elements insist on doing that.
9218           At least it's better than crashing
9219
9220 2004-04-19  David Schleef  <ds@schleef.org>
9221
9222         * docs/libs/Makefile.am: Change sinclude to include
9223         * docs/gst/Makefile.am: same
9224         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9225
9226 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9227
9228         * po/LINGUAS:
9229         * po/uk.po:
9230           Added Ukrainian translation (Maxim V. Dziumanenko)
9231
9232 2004-04-19  Johan Dahlin  <johan@gnome.org>
9233
9234         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9235         checking here, do it before calling the function.
9236         Clean up, use for loops instead of while loops while iterating
9237         over lists.
9238
9239         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9240         in debug message.
9241         (gst_spider_create_and_plug): Improve debug message.
9242         General: Replace while loops which iterates over GLists with for
9243         loops. Which are much cleaner, improves readability, especially
9244         for gst_spider_identity_plug
9245
9246         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9247         fixes bug 140477
9248
9249 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9250
9251         * po/LINGUAS:
9252         * po/tr.po:
9253           Added Turkish translation (Baris Cicek)
9254
9255 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9256
9257         * docs/faq/troubleshooting.xml:
9258           Mention gst-register in the FAQ (fixes 139045).
9259
9260 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * docs/gst/gstreamer-sections.txt:
9263
9264 2004-04-17  Benjamin Otte  <otte@gnome.org>
9265
9266         * gst/gstelement.c: (gst_element_dispose):
9267           simplify
9268         * gst/gstpad.c: (gst_pad_call_chain_function):
9269           don't create loads of events due to bad macro usage
9270
9271 2004-04-16  David Schleef  <ds@schleef.org>
9272
9273         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9274         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9275         * gst/gstvalue.c: (gst_value_serialize_buffer),
9276         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9277         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9278         to indicate types that are fixed wrt caps or not.  Switching to
9279         this function fixes (bug #140298).
9280         * gst/gstvalue.h:
9281
9282 2004-04-16  David Schleef  <ds@schleef.org>
9283
9284         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9285         for GST_UNALIGNED_ACESS, since we essentially know which archs
9286         are ok.
9287
9288 2004-04-17  Benjamin Otte  <otte@gnome.org>
9289
9290         * docs/gst/Makefile.am:
9291           ignore gst/parse directory when building docs (fixes #140205)
9292
9293 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * testsuite/refcounting/mem.c: (vmsize):
9296           do error checking
9297
9298 2004-04-16  Johan Dahlin  <johan@gnome.org>
9299
9300         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9301         and gst_pad_call_get_function.
9302
9303 2004-04-15  David Schleef  <ds@schleef.org>
9304
9305         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9306         checks if we can access unaligned memory.
9307         * configure.ac: Use it.
9308
9309 2004-04-16  Benjamin Otte  <otte@gnome.org>
9310
9311         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9312         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9313         * gst/elements/gstfilesrc.h:
9314           s/seek_happened/need_discont/ and require discont before sending any
9315           data
9316
9317 2004-04-15  David Schleef  <ds@schleef.org>
9318
9319         * gst/gstvalue.c: (gst_value_serialize_buffer),
9320         (gst_value_deserialize_buffer), (_gst_value_initialize):
9321         Register these types as fundamental types. (bug #140015)
9322
9323 2004-04-16  Benjamin Otte  <otte@gnome.org>
9324
9325         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9326         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9327         (gst_pad_pull):
9328           implement enforcing discont events before buffers are passed. This
9329           allows state changes of only some elements and later correctly going
9330           on where they left off (or in short: you can now set audio sinks to
9331           NULL to release the device when the pipeline is paused)
9332         * gst/gstpad.c: (gst_pad_call_chain_function),
9333         (gst_pad_call_get_function):
9334         * gst/gstpad.h:
9335           add gst_pad_call_chain_function and gst_pad_call_get_function for
9336           scheduler interaction. They are required because of the changes
9337           above.
9338         * gst/schedulers/entryscheduler.c: (get_buffer),
9339         (gst_entry_scheduler_chain_wrapper),
9340         (gst_entry_scheduler_get_wrapper),
9341         (gst_entry_scheduler_state_transition),
9342         (gst_entry_scheduler_pad_link):
9343         * gst/schedulers/gstbasicscheduler.c:
9344         (gst_basic_scheduler_chain_wrapper),
9345         (gst_basic_scheduler_src_wrapper),
9346         (gst_basic_scheduler_chainhandler_proxy),
9347         (gst_basic_scheduler_gethandler_proxy),
9348         (gst_basic_scheduler_cothreaded_chain),
9349         (gst_basic_scheduler_chain_elements):
9350         * gst/schedulers/gstoptimalscheduler.c:
9351         (get_group_schedule_function), (pad_clear_queued),
9352         (gst_opt_scheduler_pad_link):
9353           use the new functions instead of calling get/chain-functions
9354           directly.
9355
9356 2004-04-15  David Schleef  <ds@schleef.org>
9357
9358         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9359         * docs/gst/tmpl/gstinfo.sgml: same
9360         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9361         gtk-doc put here.
9362         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9363         * examples/queue/queue.c: (main):  We iterate pipelines, not
9364         bins.  (bug #139996)
9365
9366 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9367
9368         * docs/pwg/advanced-types.xml:
9369           Add MS RLE support. Also document Qt RLE although I have no sample
9370           files for that yet. And document an extra property for ADPCM.
9371
9372 2004-04-15  David Schleef  <ds@schleef.org>
9373
9374         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9375         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9376         Windows.
9377
9378 2004-04-15  David Schleef  <ds@schleef.org>
9379
9380         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9381         symbol names to not conflict with new gstinfo.h symbols.
9382         * gst/gstinfo.h: Add inline functions for all those crazy
9383         compilers that don't know how to handle variadic macros (MSVC).
9384
9385 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * configure.ac: bump nano to 1
9388
9389 === release 0.8.1 ===
9390
9391 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9392
9393         * NEWS:
9394         * RELEASE:
9395         * configure.ac:
9396           releasing 0.8.1, "Snow Brigade"
9397
9398 2004-04-14  David Schleef  <ds@schleef.org>
9399
9400         * testsuite/Makefile.am: define tests_ignore
9401         * testsuite/Rules: Added new tests_ignore, which get compiled,
9402         but not run (generally because they're inconsistent or have
9403         heisenbugs).  Now we can ensure all the .c files compile in
9404         testsuite/.
9405         * testsuite/bins/Makefile.am: define tests_ignore
9406         * testsuite/bytestream/Makefile.am:
9407         * testsuite/caps/Makefile.am:
9408         * testsuite/clock/Makefile.am:
9409         * testsuite/debug/Makefile.am:
9410         * testsuite/debug/global.c: (gst_debug_log_one),
9411         (gst_debug_log_two): Fix compilation problem.
9412         * testsuite/dynparams/Makefile.am:
9413         * testsuite/elements/Makefile.am:
9414         * testsuite/ghostpads/Makefile.am:
9415         * testsuite/indexers/Makefile.am:
9416         * testsuite/parse/Makefile.am:
9417         * testsuite/plugin/Makefile.am:
9418         * testsuite/refcounting/Makefile.am:
9419         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9420         results, because it's not calculated correctly.
9421         * testsuite/refcounting/pad.c: (main): same
9422         * testsuite/states/Makefile.am:
9423         * testsuite/tags/Makefile.am:
9424         * testsuite/threads/Makefile.am:
9425
9426 2004-04-14  David Schleef  <ds@schleef.org>
9427
9428         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9429         generating bad code around the cpu detection asm code.
9430
9431 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * tools/gst-inspect.c: (print_element_info):
9434           print numeric version of rank as well, since we added some - 1
9435           rank values to elements
9436
9437 2004-04-13  David Schleef  <ds@schleef.org>
9438
9439         * configure.ac:  Disable various code when compiling for MinGW.
9440         * gst/elements/Makefile.am:
9441         * gst/elements/gstelements.c:
9442         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9443         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9444         * gst/registries/gstxmlregistry.c: (make_dir):
9445
9446 2004-04-13  David Schleef  <ds@schleef.org>
9447
9448         * gst/Makefile.am:
9449         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9450         assembly.
9451         * gst/gstcpuid_i386.s: remove
9452
9453 2004-04-13  David Schleef  <ds@schleef.org>
9454
9455         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9456         seems to think it needs to be done.
9457         * docs/gst/tmpl/gstfakesink.sgml:
9458         * docs/gst/tmpl/gstfakesrc.sgml:
9459         * docs/gst/tmpl/gstfdsink.sgml:
9460         * docs/gst/tmpl/gstfdsrc.sgml:
9461         * docs/gst/tmpl/gstfilesink.sgml:
9462         * docs/gst/tmpl/gstfilesrc.sgml:
9463         * docs/gst/tmpl/gstidentity.sgml:
9464         * docs/gst/tmpl/gstmd5sink.sgml:
9465         * docs/gst/tmpl/gstmultifilesrc.sgml:
9466         * docs/gst/tmpl/gstpipefilter.sgml:
9467         * docs/gst/tmpl/gstshaper.sgml:
9468         * docs/gst/tmpl/gstspider.sgml:
9469         * docs/gst/tmpl/gstspideridentity.sgml:
9470         * docs/gst/tmpl/gststatistics.sgml:
9471         * docs/gst/tmpl/gsttee.sgml:
9472         * docs/gst/tmpl/gsttypefind.sgml:
9473         * docs/gst/tmpl/gstutils.sgml:
9474
9475 2004-04-13  David Schleef  <ds@schleef.org>
9476
9477         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9478         and to build DLLs on Windows.
9479         * gst/Makefile.am:
9480         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9481         (gst_filesrc_open_file):
9482         * gst/schedulers/Makefile.am:
9483
9484 2004-04-13  David Schleef  <ds@schleef.org>
9485
9486         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9487         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9488         fixating lists.
9489
9490 2004-04-12  David Schleef  <ds@schleef.org>
9491
9492         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9493         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9494         to using it.
9495         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9496         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9497         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9498         * gst/gststructure.c: (gst_structure_set_valist),
9499         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9500         support for buffers.
9501         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9502         intended to be const.
9503         * gst/gsttag.h: same
9504         * gst/gstvalue.c: (gst_value_serialize_buffer),
9505         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9506         to (de)serialize buffers.
9507         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9508         * testsuite/caps/string-conversions.c: (main):
9509         * testsuite/caps/value_serialize.c: add new test
9510
9511 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9512
9513         * docs/pwg/advanced-types.xml:
9514           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9515
9516 2004-04-11  Benjamin Otte  <otte@gnome.org>
9517
9518         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9519           rename categories to basic_*
9520         * gst/schedulers/gstbasicscheduler.c: 
9521         (gst_basic_scheduler_chain_wrapper),
9522         (gst_basic_scheduler_chainhandler_proxy),
9523         (gst_basic_scheduler_gethandler_proxy),
9524         (gst_basic_scheduler_eventhandler_proxy):
9525           debugging category fixes - put common stuff in log category
9526         * gst/schedulers/gstbasicscheduler.c: 
9527         (gst_basic_scheduler_chain_elements):
9528           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9529           active and linking two active chains
9530
9531 2004-04-10  Benjamin Otte  <otte@gnome.org>
9532
9533         * docs/pwg/intro-preface.xml:
9534           fix dead links and remove reference to Wiki
9535
9536 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9537
9538         * gst/schedulers/gstbasicscheduler.c:
9539           make sure we can switch back to the main function if we're still in
9540           the main function (supposed to fix #139617)
9541         * gst/schedulers/gthread-cothreads.h:
9542           don't throw an error when switching to the same cothread
9543
9544 2004-04-09  Benjamin Otte  <otte@gnome.org>
9545
9546         * gst/gstbin.c: (gst_bin_get_type):
9547         * gst/gstclock.c: (gst_clock_get_type):
9548         * gst/gstindex.c: (gst_index_get_type):
9549         * gst/gstobject.c: (gst_object_get_type),
9550         (gst_signal_object_get_type):
9551         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9552         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9553         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9554         * gst/gstqueue.c: (gst_queue_get_type):
9555         * gst/gstregistry.c: (gst_registry_get_type):
9556         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9557         * gst/gstthread.c: (gst_thread_get_type):
9558           don't use memchunks for these objects, use malloc instead
9559
9560 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * docs/gst/.cvsignore:
9563         * docs/gst/Makefile.am:
9564         * docs/gst/gstreamer-sections.txt:
9565         * docs/gst/tmpl/gstaggregator.sgml:
9566         * docs/gst/tmpl/gstbuffer.sgml:
9567         * docs/gst/tmpl/gstclock.sgml:
9568         * docs/gst/tmpl/gstelement.sgml:
9569         * docs/gst/tmpl/gstfakesink.sgml:
9570         * docs/gst/tmpl/gstfakesrc.sgml:
9571         * docs/gst/tmpl/gstfdsink.sgml:
9572         * docs/gst/tmpl/gstfdsrc.sgml:
9573         * docs/gst/tmpl/gstfilesink.sgml:
9574         * docs/gst/tmpl/gstfilesrc.sgml:
9575         * docs/gst/tmpl/gstidentity.sgml:
9576         * docs/gst/tmpl/gstindex.sgml:
9577         * docs/gst/tmpl/gstinfo.sgml:
9578         * docs/gst/tmpl/gstmd5sink.sgml:
9579         * docs/gst/tmpl/gstmultifilesrc.sgml:
9580         * docs/gst/tmpl/gstpad.sgml:
9581         * docs/gst/tmpl/gstpipefilter.sgml:
9582         * docs/gst/tmpl/gstpipeline.sgml:
9583         * docs/gst/tmpl/gstpluginfeature.sgml:
9584         * docs/gst/tmpl/gstqueue.sgml:
9585         * docs/gst/tmpl/gstregistry.sgml:
9586         * docs/gst/tmpl/gstscheduler.sgml:
9587         * docs/gst/tmpl/gstshaper.sgml:
9588         * docs/gst/tmpl/gstspider.sgml:
9589         * docs/gst/tmpl/gstspideridentity.sgml:
9590         * docs/gst/tmpl/gststatistics.sgml:
9591         * docs/gst/tmpl/gstsystemclock.sgml:
9592         * docs/gst/tmpl/gsttee.sgml:
9593         * docs/gst/tmpl/gstthread.sgml:
9594         * docs/gst/tmpl/gsttypefind.sgml:
9595         * docs/gst/tmpl/gstutils.sgml:
9596           further doc build fixes
9597
9598 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9599
9600         * docs/gst/Makefile.am:
9601           make docs exit on scanning problems
9602           fix nonsrcdir build issues
9603         * docs/gst/gstreamer-sections.txt:
9604           adding stuff from -unused
9605         * gst/gstqueue.h:
9606           create GstQueueSize
9607         * gst/schedulers/cothreads_compat.h:
9608           fix cothread warnings
9609
9610 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * docs/gst/gstreamer-sections.txt:
9613           remove defines deprecated by Benjamin
9614
9615 2004-04-07  Benjamin Otte  <otte@gnome.org>
9616
9617         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9618           when the buffer is complete, don't check if other buffers are needed
9619         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9620           check that the offset is >0 so we don't try to read before the
9621           beginning of the file
9622         * gst/gstpad.c: (gst_pad_set_pad_template):
9623           sink the template, so we don't end up with 130k pad templates
9624
9625 2004-04-06  Benjamin Otte  <otte@gnome.org>
9626
9627         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9628           don't ref the element, adding already reffed it. And we didn't unref
9629           it later anyway... (huge memleak when you used many spider elements)
9630         * gst/gstelement.c: (gst_element_base_class_finalize):
9631         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9632         (gst_element_register):
9633         * gst/gsturi.c: (gst_element_make_from_uri):
9634           use gst_object_(un)ref instead of g_object(un)ref
9635
9636 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9637
9638         * gst/gstbuffer.h:
9639           remove macro that wouldn't work anymore because struct member has
9640           been removed.
9641         * gst/schedulers/entryscheduler.c: (schedule_forward):
9642           fix segfault for unconnected pads
9643         
9644 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9645
9646         reviewed by David Schleef <ds@schleef.org>
9647
9648         * gst/gstinfo.h:
9649           *_FORMAT modifiers should require putting a % in front of them for
9650           consistency reasons.
9651
9652 2004-04-05  Colin Walters  <walters@redhat.com>
9653
9654         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9655         space.
9656
9657 2004-04-05  Benjamin Otte  <otte@gnome.org>
9658
9659         * configure.ac:
9660         * gst/Makefile.am:
9661         * gst/gst_private.h:
9662         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9663           add support for detecting if GStreamer runs inside valgrind.
9664           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9665           print a big message in valgrind that GStreamer has detected it's
9666           running inside and might now use different code.
9667         * gst/gstmemchunk.c: (populate), (free_area),
9668         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9669         (gst_mem_chunk_free):
9670           flag memchunks for valgrind, so it can detect leaking of chunks.
9671           This allows detecting leaks of GstBuffer and GstEvent correctly
9672           inside valgrind.
9673
9674 2004-04-05  David Schleef  <ds@schleef.org>
9675
9676         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9677           jensgr@gmx.net (Jens Granseuer)
9678
9679 2004-04-05  David Schleef  <ds@schleef.org>
9680
9681         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9682         (gst_buffer_default_free), (gst_buffer_default_copy),
9683         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9684         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9685         structures in one place.
9686
9687 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9688
9689         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9690           (GST_TIME_FORMAT, GST_TIME_ARGS)
9691
9692 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * testsuite/elements/Makefile.am:
9695           disable test until it stops breaking make distcheck
9696
9697 2004-04-05  Johan Dahlin  <johan@gnome.org>
9698
9699         * po/sv.po: Updated translation
9700
9701 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * gst/gstplugin.c: (gst_plugin_load_file):
9704           fix segfault for when original plugin was loaded statically
9705
9706 2004-04-05  Benjamin Otte  <otte@gnome.org>
9707
9708         * testsuite/debug/category.c: (main):
9709         * testsuite/debug/commandline.c: (main):
9710         * testsuite/debug/output.c: (main):
9711           fix tests to work again with debugging enabled
9712
9713 2004-04-05  Benjamin Otte  <otte@gnome.org>
9714
9715         * gst/schedulers/gstbasicscheduler.c:
9716         (gst_basic_scheduler_pad_link):
9717           fix to work with recent scheduling changes
9718
9719 2004-04-05  Benjamin Otte  <otte@gnome.org>
9720
9721         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9722         prepareChangeLog doesn't work when cvs indents):
9723           don't throw an error when no element can be scheduled, there's too
9724           many weird reasons why it doesn't work. Return STOPPED instead.
9725           decoupled elemts' schedulability doesn't depend on bufpens.
9726
9727 2004-04-04  Benjamin Otte  <otte@gnome.org>
9728
9729         * gst/schedulers/gstbasicscheduler.c:
9730         (gst_basic_scheduler_pad_select):
9731           fix uninitialized variable warnings
9732
9733 2004-04-04  Benjamin Otte  <otte@gnome.org>
9734
9735         * gst/gstpad.c: (gst_pad_collect_valist):
9736           fix uninitialized variable warning
9737         * gst/schedulers/entryscheduler.c: (schedule_forward):
9738           fix shadowed variable
9739
9740 2004-04-04  Benjamin Otte  <otte@gnome.org>
9741
9742         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9743         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9744         (gst_pad_select):
9745         * gst/gstpad.h:
9746         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9747         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9748         * gst/gstscheduler.h:
9749           implement gst_pad_collect as replacement for gst_pad_select.
9750           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9751           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9752           new pad_select, lock and unlock calls.
9753         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9754         * gst/cothreads.h:
9755         * gst/schedulers/cothreads_compat.h:
9756         * gst/schedulers/gthread-cothreads.h:
9757           remove unused cothread_lock and cothread_unlock calls
9758         * gst/schedulers/entryscheduler.c:
9759         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9760         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9761         (gst_entry_scheduler_pad_select):
9762           update to new API
9763         * gst/schedulers/gstbasicscheduler.c:
9764         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9765         (gst_basic_scheduler_pad_select):
9766           remove useless lock and unlock calls, update pad_select to new API
9767           (untested)
9768         * gst/schedulers/gstoptimalscheduler.c:
9769         (gst_opt_scheduler_class_init):
9770           remove useless select, lock and unlock function calls
9771         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9772           use gst_pad_collect instead of gst_pad_select
9773
9774 2004-04-04  Benjamin Otte  <otte@gnome.org>
9775
9776         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9777         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9778         (schedule_next_element), (print_entry):
9779           add can_schedule_pad to handle element states.
9780           add schedule_forward to select the correct entry to schedule next
9781
9782 2004-04-03  Benjamin Otte  <otte@gnome.org>
9783
9784         * gst/schedulers/entryscheduler.c: 
9785           remove unused variable, fix error inside Rb, fix compile warning in
9786           unreachable code
9787
9788 2004-04-03  Benjamin Otte  <otte@gnome.org>
9789
9790         * gst/schedulers/entryscheduler.c:
9791           completely revamp the inner workings, so it's a lot easier to
9792           understand and extend
9793
9794 2004-04-03  Andy Wingo  <wingo@pobox.com>
9795
9796         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9797         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9798         This allows better introspection of pipeline topology.
9799         (add_to_chain): Don't do trickery to put loop elements first;
9800         rather, queue a chain sort by marking the chain as dirty.
9801         (remove_from_chain): Mark the chain dirty.
9802         (sort_chain): New function. Sorts the group list so that terminal
9803         sinks are first. This means elements on the sink side will be
9804         preferentially sscheduled before elements on the src side of the
9805         pipeline.
9806         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9807         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9808         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9809         (group_inc_link): Change argument and variable names to match the
9810         new link structure member names (src and sink).
9811         (group_dec_link): Add some description
9812
9813 2004-04-03  Benjamin Otte  <otte@gnome.org>
9814
9815         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9816         * gst/gstinfo.h:
9817         * testsuite/debug/category.c: (main):
9818         * testsuite/debug/commandline.c: (main):
9819         * testsuite/debug/output.c: (main):
9820         * testsuite/debug/printf_extension.c: (main):
9821           fix to successfully build and test with --disable-gst-debug
9822           configure switch (fixes #138705)
9823
9824 2004-04-03  Benjamin Otte  <otte@gnome.org>
9825
9826         * docs/pwg/building-boiler.xml:
9827           add cvs login line and s/anonymous/anoncvs/
9828
9829 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9830
9831         reviewed by Benjamin Otte  <otte@gnome.org>
9832
9833         * gst/gststructure.c: (gst_structure_free):
9834           memleak fix: free fields array (partial fix for #134839)
9835
9836 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9837
9838         * docs/random/ds/0.9-suggested-changes:
9839           Add a note to change handoff use in fakesrc to be usable in
9840           a more generic way (fakesrc should be renamed to appsrc or so).
9841         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9842           Change signal type to scope, so we can fill the buffer in the
9843           handoff handler (that's the whole use of this signal...).
9844
9845 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9846
9847         * docs/pwg/other-ntoone.xml:
9848           Document muxers and n-to-1 elements.
9849
9850 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9851
9852         * gst/registries/gstxmlregistry.c
9853         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9854         determine if a file is a G_MODULE. The old one discards paths
9855         containing "so" somewhere in the middle. My home directory is
9856         called "soto". Go figure...
9857
9858 2004-03-31  David Schleef  <ds@schleef.org>
9859
9860         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9861         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9862         * gst/gstbuffer.h:
9863
9864 2004-03-31  David Schleef  <ds@schleef.org>
9865
9866         * gst/gstvalue.c: (gst_value_union_int_int_range),
9867         (gst_value_union_int_range_int_range), (gst_value_can_union),
9868         (gst_value_union), (_gst_value_initialize):  Add some union
9869         implementations.  We didn't have any previously.
9870         * testsuite/caps/Makefile.am:
9871         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9872         (gst_audioscale_getcaps), (test_caps), (main): A little test
9873         that is the same as the caps manipulation in audioscale.
9874
9875 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9876
9877         * docs/faq/general.xml:
9878           add entry about "does gst support format X?"
9879
9880 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9881
9882         * gst/gstthread.c:
9883           fix docs
9884         * gst/gstutils.h:
9885           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9886
9887 2004-03-30  Benjamin Otte  <otte@gnome.org>
9888
9889         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9890           set the offset of the buffer to the requested offset
9891         * gst/elements/gsttypefind.c: (stop_typefinding):
9892           revert patch 1.18 (which I unfortunately don't know the reason for).
9893           This is needed to allow downstream elements to seek. Otherwise
9894           typefind might overwrite a previous seek by downstream elements.
9895           This lead to errors with id3tag and typefind on some mp3s.
9896         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9897         (gst_entry_scheduler_iterate):
9898           be more verbose when debugging
9899
9900 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9901
9902         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9903           make sure we don't get NULL strings
9904
9905 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9906
9907         * gst/gstcaps.c:
9908         * gst/gstelement.c:
9909         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9910         * gst/gstindex.c: (gst_index_resolver_get_type),
9911         (gst_index_get_type), (gst_index_factory_get_type):
9912         * gst/gstinfo.c:
9913         * gst/gstpad.c:
9914         * gst/gstplugin.c:
9915         * gst/gsturi.c: (gst_uri_handler_get_type):
9916         * gst/gstvalue.c:
9917           first batch of documentation fixes
9918
9919 2004-03-29  David Schleef  <ds@schleef.org>
9920
9921         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9922         * docs/gst/gstreamer-docs.sgml:  More hacking
9923         * docs/gst/gstreamer-sections.txt:
9924         * docs/gst/tmpl/cothreads_compat.sgml:
9925         * docs/gst/tmpl/gstcaps.sgml:
9926         * docs/gst/tmpl/gstclock.sgml:
9927         * docs/gst/tmpl/gstelement.sgml:
9928         * docs/gst/tmpl/gstevent.sgml:
9929         * docs/gst/tmpl/gstpad.sgml:
9930         * docs/gst/tmpl/gstutils.sgml:
9931         * docs/gst/tmpl/gstxml.sgml:
9932         * docs/gst/tmpl/gthread-cothreads.sgml:
9933         * docs/random/ds/0.9-suggested-changes:
9934         * gst/elements/gstfakesink.h: doc fixes
9935         * gst/elements/gstfakesrc.h: doc fixes
9936         * gst/gstcaps.c: doc fixes
9937         * gst/gstcaps.h: doc fixes
9938         * gst/gstelement.c: doc fixes
9939         * gst/gstelement.h: doc fixes
9940         * gst/gstindex.c: doc fixes
9941         * gst/gstinfo.c: doc fixes
9942         * gst/gstpad.c: doc fixes
9943         * gst/gstpad.h: doc fixes
9944         * gst/gstplugin.c: doc fixes
9945         * gst/gsttypefind.h: doc fixes
9946         * gst/gsturi.c: doc fixes
9947         * gst/gstvalue.c: doc fixes
9948
9949 2004-03-29  Colin Walters  <walters@redhat.com>
9950
9951         * gst/registries/gstxmlregistry.c (get_time)
9952         (plugin_times_older_than_recurse):
9953         Use the result of stat to determine whether a path is a file,
9954         so we don't attempt to opendir() files.
9955
9956 2004-03-29  Benjamin Otte  <otte@gnome.org>
9957
9958         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9959           print caps in debugging output when setting caps failed
9960         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9961         (schedule_next_element), (get_buffer), (run_chainhandler),
9962         (element_may_start), (gst_entry_scheduler_chain_handler),
9963         (gst_entry_scheduler_get_handler),
9964         (gst_entry_scheduler_state_transition),
9965         (gst_entry_scheduler_pad_link):
9966           make this scheduler a testcase for mandatory
9967           discont-before-first-buffer which is needed if we want to allow apps
9968           to release the sound device.
9969           add SCHED_ASSERT macro to print scheduler state before an assertion
9970           triggers.
9971
9972 2004-03-29  Benjamin Otte  <otte@gnome.org>
9973
9974         * COPYING:
9975           replace by LGPL (former COPYING.LIB). The core is completely
9976           licensed LGPL.
9977         * COPYING.LIB:
9978           remove
9979
9980 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9981
9982         * po/af.po:
9983         * po/sv.po:
9984           updated Afrikaans and Swedish
9985
9986 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9987
9988         * po/LINGUAS:
9989         * po/az.po:
9990           adding Azerbaijani (Mətin Əmirov)
9991
9992 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
9993
9994         * gst/gstelement.h: 
9995         * gst/gstelement.c (gst_element_set_time_delay): New function for
9996         setting element time taking into account a hardware buffering
9997         delay.
9998         (gst_element_set_time): Now just an invocation of
9999         gst_element_set_time_delay.
10000         * gst/gstclock.h: 
10001         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10002         allowing to set event times in the future.
10003         (gst_clock_get_event_time): Now just an invocation of
10004         gst_clock_get_event_time_delay.
10005
10006 2004-03-28  Benjamin Otte  <otte@gnome.org>
10007
10008         * gst/gstbin.c: (gst_bin_set_element_sched),
10009         (gst_bin_unset_element_sched):
10010           don't add decoupled elements to schedulers - otherwise it's
10011           impossible to control if a link to a decoupled element was already
10012           removed from a scheduler or not.
10013         * gst/schedulers/cothreads_compat.h:
10014         * gst/schedulers/gthread-cothreads.h:
10015           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10016           is no "unused" warning.
10017         * gst/schedulers/Makefile.am:
10018         * gst/schedulers/entryscheduler.c:
10019           add new scheduler, based on ideas from talking to David and Martin.
10020           It's supposed to be small and correct. Currently it's also slow (but
10021           it's not noticable)
10022         * examples/retag/retag.c: (main):
10023         * testsuite/bytestream/test1.c: (main):
10024           fix missing NULLs at end of variadic functions
10025         * testsuite/elements/.cvsignore:
10026           update
10027
10028 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10029
10030         * gst/gstevent.h:
10031         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10032
10033 2004-03-25  David Schleef  <ds@schleef.org>
10034
10035         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10036         * docs/gst/tmpl/gstaggregator.sgml:
10037         * docs/gst/tmpl/gstautoplugfactory.sgml:
10038         * docs/gst/tmpl/gstbin.sgml:
10039         * docs/gst/tmpl/gstbuffer.sgml:
10040         * docs/gst/tmpl/gstbufferstore.sgml:
10041         * docs/gst/tmpl/gstfakesink.sgml:
10042         * docs/gst/tmpl/gstfakesrc.sgml:
10043         * docs/gst/tmpl/gstmd5sink.sgml:
10044         * docs/gst/tmpl/gstreamer-unused.sgml:
10045         * docs/gst/tmpl/gstsearchfuncs.sgml:
10046         * docs/gst/tmpl/gstshaper.sgml:
10047         * docs/gst/tmpl/gstspider.sgml:
10048         * docs/gst/tmpl/gsttee.sgml:
10049         * docs/gst/tmpl/gstutils.sgml:
10050         * docs/gst/tmpl/gstvalue.sgml:
10051         * docs/gst/tmpl/gstxml.sgml:
10052         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10053         and we don't support it.
10054         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10055         (gst_use_threads), (gst_has_threads): same
10056         * gst/gstthreaddummy.c: same
10057         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10058         * gst/autoplug/gstspider.h: same
10059         * gst/elements/gstaggregator.h: Remove bogus function from header
10060         * gst/elements/gstfakesink.h: same
10061         * gst/elements/gstfakesrc.h: same
10062         * gst/elements/gstmd5sink.h: same
10063         * gst/elements/gstshaper.h: same
10064         * gst/elements/gsttee.h: same
10065         * gst/gstbin.c: doc fixes
10066         * gst/gstbin.h: Remove unused definition.
10067         * gst/gstbuffer.c: doc fixes
10068         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10069         * gst/gstfilter.c: doc fixes
10070         * gst/gsttag.c: doc fixes
10071         * gst/gstvalue.c: doc fixes
10072
10073 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10074
10075         * docs/pwg/advanced-types.xml:
10076           Document typefinding.
10077         * docs/pwg/other-oneton.xml:
10078           Document one-to-n elements, demuxers and parsers.
10079
10080 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10081
10082         reviewed by: David Schleef  <ds@schleef.org>
10083
10084         * configure.ac: Check bison version (bug #127838)
10085
10086 2004-03-25  David Schleef  <ds@schleef.org>
10087
10088         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10089         * docs/gst/gstreamer-sections.txt:
10090         * docs/gst/tmpl/gstautoplug.sgml:
10091         * docs/gst/tmpl/gststaticautoplug.sgml:
10092         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10093         * docs/gst/tmpl/gstutils.sgml:
10094         * docs/gst/tmpl/gstxml.sgml:
10095
10096 2004-03-24  David Schleef  <ds@schleef.org>
10097
10098         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10099         manual being such complete crap, that I decided to do major
10100         hacking of it.  This checkin replaces any fine tuning that
10101         may have been done previously, with the benefit of actually
10102         being complete for much of the API that was changed since
10103         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10104         * docs/gst/gstreamer-sections.txt:
10105         * docs/gst/tmpl/GstBin.sgml:
10106         * docs/gst/tmpl/GstBuffer.sgml:
10107         * docs/gst/tmpl/GstCaps.sgml:
10108         * docs/gst/tmpl/GstClock.sgml:
10109         * docs/gst/tmpl/GstCompat.sgml:
10110         * docs/gst/tmpl/GstData.sgml:
10111         * docs/gst/tmpl/GstElement.sgml:
10112         * docs/gst/tmpl/GstEvent.sgml:
10113         * docs/gst/tmpl/GstIndex.sgml:
10114         * docs/gst/tmpl/GstStructure.sgml:
10115         * docs/gst/tmpl/GstTag.sgml:
10116         * docs/gst/tmpl/cothreads.sgml:
10117         * docs/gst/tmpl/cothreads_compat.sgml:
10118         * docs/gst/tmpl/gettext.sgml:
10119         * docs/gst/tmpl/grammar.tab.sgml:
10120         * docs/gst/tmpl/gst-i18n-app.sgml:
10121         * docs/gst/tmpl/gst-i18n-lib.sgml:
10122         * docs/gst/tmpl/gst.sgml:
10123         * docs/gst/tmpl/gst_private.sgml:
10124         * docs/gst/tmpl/gstaggregator.sgml:
10125         * docs/gst/tmpl/gstarch.sgml:
10126         * docs/gst/tmpl/gstatomic.sgml:
10127         * docs/gst/tmpl/gstatomic_impl.sgml:
10128         * docs/gst/tmpl/gstbin.sgml:
10129         * docs/gst/tmpl/gstbuffer.sgml:
10130         * docs/gst/tmpl/gstbufferstore.sgml:
10131         * docs/gst/tmpl/gstcaps.sgml:
10132         * docs/gst/tmpl/gstclock.sgml:
10133         * docs/gst/tmpl/gstcompat.sgml:
10134         * docs/gst/tmpl/gstconfig.sgml:
10135         * docs/gst/tmpl/gstcpu.sgml:
10136         * docs/gst/tmpl/gstdata.sgml:
10137         * docs/gst/tmpl/gstdata_private.sgml:
10138         * docs/gst/tmpl/gstelement.sgml:
10139         * docs/gst/tmpl/gstenumtypes.sgml:
10140         * docs/gst/tmpl/gsterror.sgml:
10141         * docs/gst/tmpl/gstevent.sgml:
10142         * docs/gst/tmpl/gstfakesink.sgml:
10143         * docs/gst/tmpl/gstfakesrc.sgml:
10144         * docs/gst/tmpl/gstfilesink.sgml:
10145         * docs/gst/tmpl/gstfilter.sgml:
10146         * docs/gst/tmpl/gstindex.sgml:
10147         * docs/gst/tmpl/gstinfo.sgml:
10148         * docs/gst/tmpl/gstinterface.sgml:
10149         * docs/gst/tmpl/gstlog.sgml:
10150         * docs/gst/tmpl/gstmacros.sgml:
10151         * docs/gst/tmpl/gstmarshal.sgml:
10152         * docs/gst/tmpl/gstmd5sink.sgml:
10153         * docs/gst/tmpl/gstmultifilesrc.sgml:
10154         * docs/gst/tmpl/gstobject.sgml:
10155         * docs/gst/tmpl/gstpad.sgml:
10156         * docs/gst/tmpl/gstparse.sgml:
10157         * docs/gst/tmpl/gstpipeline.sgml:
10158         * docs/gst/tmpl/gstplugin.sgml:
10159         * docs/gst/tmpl/gstpluginfeature.sgml:
10160         * docs/gst/tmpl/gstqueue.sgml:
10161         * docs/gst/tmpl/gstreamer-unused.sgml:
10162         * docs/gst/tmpl/gstregistry.sgml:
10163         * docs/gst/tmpl/gstregistrypool.sgml:
10164         * docs/gst/tmpl/gstscheduler.sgml:
10165         * docs/gst/tmpl/gstsearchfuncs.sgml:
10166         * docs/gst/tmpl/gstshaper.sgml:
10167         * docs/gst/tmpl/gstspider.sgml:
10168         * docs/gst/tmpl/gstspideridentity.sgml:
10169         * docs/gst/tmpl/gststructure.sgml:
10170         * docs/gst/tmpl/gstsystemclock.sgml:
10171         * docs/gst/tmpl/gsttag.sgml:
10172         * docs/gst/tmpl/gsttaginterface.sgml:
10173         * docs/gst/tmpl/gsttee.sgml:
10174         * docs/gst/tmpl/gstthread.sgml:
10175         * docs/gst/tmpl/gsttrace.sgml:
10176         * docs/gst/tmpl/gsttrashstack.sgml:
10177         * docs/gst/tmpl/gsttypefind.sgml:
10178         * docs/gst/tmpl/gsttypes.sgml:
10179         * docs/gst/tmpl/gsturi.sgml:
10180         * docs/gst/tmpl/gsturitype.sgml:
10181         * docs/gst/tmpl/gstutils.sgml:
10182         * docs/gst/tmpl/gstvalue.sgml:
10183         * docs/gst/tmpl/gstversion.sgml:
10184         * docs/gst/tmpl/gstxml.sgml:
10185         * docs/gst/tmpl/gstxmlregistry.sgml:
10186         * docs/gst/tmpl/gthread-cothreads.sgml:
10187         * docs/gst/tmpl/types.sgml:
10188
10189 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10190
10191         * docs/pwg/other-sink.xml:
10192         * docs/pwg/other-source.xml:
10193           Documentation on how to write source and sink elements. Other
10194           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10195           manager, autoplugger) are all still pending.
10196
10197 2004-03-25  Benjamin Otte  <otte@gnome.org>
10198
10199         * testsuite/elements/Makefile.am:
10200         * testsuite/elements/gst-compprep-check:
10201           add check to make sure gst-compprep works
10202         * testsuite/elements/gst-inspect-check.in:
10203           improve initialization output
10204         * testsuite/Makefile.am:
10205         * testsuite/gst-inspect-check:
10206           remove old file
10207
10208 2004-03-24  David Schleef  <ds@schleef.org>
10209
10210         * testsuite/elements/Makefile.am:
10211         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10212         to the testsuite.
10213
10214 2004-03-24  Benjamin Otte  <otte@gnome.org>
10215
10216         * libs/gst/control/dparam.c: (gst_dparam_attach),
10217         (gst_dparam_detach):
10218         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10219           fix lvalue casts for real
10220
10221 2004-03-24  Benjamin Otte  <otte@gnome.org>
10222
10223         * gst/schedulers/gstbasicscheduler.c:
10224         (gst_basic_scheduler_src_wrapper):
10225         * gst/schedulers/gstoptimalscheduler.c:
10226         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10227         (pad_clear_queued), (gst_opt_scheduler_add_element),
10228         (gst_opt_scheduler_remove_element):
10229           fix GStreamer to not have issues with lvalue casts anymore (fixes
10230           #136841)
10231
10232 2004-03-24  Benjamin Otte  <otte@gnome.org>
10233
10234         * gst/gstelement.c:
10235           add documentation about a gobject quirk where the object hasn't the
10236           correct class pointer set on initialization
10237         * gst/schedulers/gstbasicscheduler.c:
10238         (gst_basic_scheduler_src_wrapper):
10239           make sure to not run into an infinite loop
10240
10241 2004-03-22  Benjamin Otte  <otte@gnome.org>
10242
10243         * gst/gstutils.c: (gst_util_dump_mem):
10244         * gst/gstutils.h:
10245           first argument of gst_util_dump_mem should be const
10246
10247 2004-03-22  Johan Dahlin  <johan@gnome.org>
10248
10249         * gst/gstvalue.h: Clean up a little bit.
10250
10251 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10252
10253         reviewed by Benjamin Otte  <otte@gnome.org>
10254
10255         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10256         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10257         (gst_aggregator_class_init), (gst_aggregator_init):
10258         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10259         (gst_filesrc_dispose), (gst_filesrc_set_location):
10260         * gst/elements/gstidentity.c: (gst_identity_finalize),
10261         (gst_identity_class_init), (gst_identity_chain):
10262         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10263         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10264         (gst_statistics_class_init):
10265         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10266         (gst_tee_get_property):
10267           clean up used memory in this elements correctly on teardown (closes
10268           #137279)
10269
10270 2004-03-20  Colin Walters  <walters@redhat.com>
10271
10272         * gst/registries/gstxmlregistry.c:
10273         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10274         registry saving atomic.
10275
10276 2004-03-20  Colin Walters  <walters@redhat.com>
10277
10278         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10279         Just use
10280         access() instead of actually creating and deleting files.
10281
10282 2004-03-18  David Schleef  <ds@schleef.org>
10283
10284         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10285         (bug #137625)
10286
10287 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10288
10289         * po/sv.po: updated translation (Christian Rose)
10290
10291 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10292
10293         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10294         (gst_filesink_get_query_types), (_do_init),
10295         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10296           return FALSE silently
10297         * po/af.po: updated translation (Petri Jooste)
10298
10299 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10300
10301         * Makefile.am:
10302         * configure.ac:
10303           dist common properly
10304         * po/af.po:
10305         * po/fr.po:
10306         * po/nl.po:
10307         * po/sr.po:
10308         * po/sv.po:
10309           refreshing translations
10310
10311 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * po/LINGUAS:
10314         * po/sv.po:
10315         * po/af.po:
10316           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10317
10318 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * Makefile.am: use common/release.mak
10321
10322 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * docs/faq/gst-uninstalled:
10325           adding gst-monkeysaudio to the list of possible plugin dirs
10326
10327 2004-03-16  David Schleef  <ds@schleef.org>
10328
10329         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10330         (gst_init_check_with_popt_table):  Fix some gettext strings to
10331         make them easier to translate.  Required making the strings
10332         non-const.
10333
10334 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10335
10336         * configure.ac: bump nano to 1
10337
10338 === release 0.8.0 ===
10339
10340 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10341
10342         * configure.ac: release 0.8.0, "Executive Slacks"
10343
10344 2004-03-16  Johan Dahlin  <johan@gnome.org>
10345
10346         * gst/schedulers/gstoptimalscheduler.c
10347         (gst_opt_scheduler_pad_unlink): Remove double ;,
10348         spotted by Scott Wheeler
10349
10350 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10351
10352         * configure.ac: bump libtool version
10353
10354 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10355
10356         * gst/gstcaps.h:
10357         * gst/gststructure.h:
10358           add reserved padding
10359
10360 2004-03-15  Benjamin Otte  <otte@gnome.org>
10361
10362         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10363           set the first parameter for select call correctly.
10364           (fixes #137230)
10365
10366 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10367
10368         * *.c,*.h: don't mix tabs and spaces
10369
10370 2004-03-15  Johan Dahlin  <johan@gnome.org>
10371
10372         * gst/schedulers/gstoptimalscheduler.c
10373         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10374         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10375
10376         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10377         
10378 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * testsuite/Rules:
10381           fix gst-register rules
10382
10383 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * testsuite/Rules:
10386           use versioned gst-register
10387
10388 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10389
10390         * docs/libs/gstreamer-libs-sections.txt:
10391           remove </SUBSECTION>
10392         * gst/gstplugin.c:
10393         * gst/gstregistry.c: (gst_registry_add_plugin):
10394         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10395         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10396           add debugging and fix some comment blocks
10397
10398 2004-03-15  Johan Dahlin  <johan@gnome.org>
10399
10400         * *.h: Revert indent changes.
10401         
10402 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10403
10404         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10405           g_error_free the g_error
10406         * tools/gst-feedback-m.m:
10407           check for other versions of gstreamer
10408         * tools/gst-indent:
10409           use sh, not bash
10410
10411 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10412
10413         * tools/gst-register.c: do not spill paths when registries are not
10414           writable, until we fix the "user running gst-register" case.
10415
10416 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * *.c, *.h: commit of gst-indent run on core
10419
10420 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10421
10422         * tools/gst-indent:
10423         * tools/Makefile.am:
10424           add our indentation style as a script
10425
10426 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10427
10428         * po/sr.po:
10429         * po/LINGUAS:
10430           added Serbian translation
10431
10432 2004-03-13  Benjamin Otte  <otte@gnome.org>
10433
10434         * gst/gstelement.c:
10435           add documentation note about gst_element_found_tags_for_pad not
10436           being usable in getfunctions. (see #137042)
10437
10438 2004-03-12  David Schleef  <ds@schleef.org>
10439
10440         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10441         change API right now!  Readd gst_caps_is_simple() macro.
10442         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10443         uninitialized variable.  I'd bet this caused crashes.
10444         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10445
10446 2004-03-12  Johan Dahlin  <johan@gnome.org>
10447
10448         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10449         * gst/gstcaps.h: Clean up
10450
10451         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10452         _gst_caps_initalize()
10453
10454         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10455         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10456
10457         * gst/gststructure.c (gst_structure_get_type): Ditto
10458
10459         * gst/gststructure.h: Ditto
10460         
10461 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10462
10463         * gst/gstqueue.c: (gst_queue_init):
10464           Reset default max. values in queues. Reason is simply to avoid
10465           braindead use. If you want wider values, use the properties. The
10466           default is supposed to always work. Wider values would make this
10467           beast a memory hog by default (250 full-PAL RGB32 video frames?
10468           That's 440 MB! No thank you).
10469
10470 2004-03-10  David Schleef  <ds@schleef.org>
10471
10472         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10473         were found.  (bug #136793)
10474
10475 2004-03-10  Johan Dahlin  <johan@gnome.org>
10476
10477         * gst/schedulers/gstoptimalscheduler.c
10478         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10479         links to elements within the same group, so we can finally remove
10480         that annoying warning. Refactor the code a little bit
10481         (group_dec_links_for_element): Split out
10482
10483 2004-03-09  David Schleef  <ds@schleef.org>
10484
10485         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10486         (bug #134863)
10487
10488 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * configure.ac: first bug fix due to major/minor bump
10491
10492 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10493
10494         * configure.ac: bump nano to 1
10495
10496 === release 0.7.6 ===
10497
10498 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10499
10500         * NEWS:
10501         * RELEASE:
10502         * configure.ac:
10503           releasing 0.7.6, "Almost"
10504         * po/fr.po:
10505         * po/nl.po:
10506         * tools/Makefile.am:
10507         * tools/gst-feedback-m.m:
10508           unversioned source
10509
10510 2004-03-09  Johan Dahlin  <johan@gnome.org>
10511
10512         Reviewed by: Thomas Vander Stichele
10513
10514         * gst/gstelement.c (gst_element_class_init): register second
10515         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10516         language bindings can (de)marshall correctly.
10517
10518         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10519
10520         * gst/gsterror.c (gst_g_error_get_type): New function
10521
10522         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10523         with VOID:OBJECT,OBJECT,STRING 
10524
10525 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10526
10527         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10528         Free a leaked g_timer on early returns.
10529
10530 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10531
10532         * docs/pwg/advanced-types.xml:
10533           Add cinepak description.
10534
10535 2004-03-07  David Schleef  <ds@schleef.org>
10536
10537         * docs/random/mimetypes:  Added cinepak description
10538
10539 2004-03-07  Andy Wingo  <wingo@pobox.com>
10540
10541         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10542
10543         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10544         there are no links to other groups when a group is destroyed.
10545         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10546         removed from a group, make sure the link count to elements linked
10547         to other pads is appropriately decremented. This really fixes
10548         #135672.
10549
10550         The 1.60->1.61 patch has been reapplied in light of this fix.
10551
10552         * gst/gstelement.c (gst_element_dispose): Really protect against
10553         multiple invocations this time.
10554
10555 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10556
10557         * docs/gst/gstreamer-sections.txt:
10558         * docs/gst/tmpl/gsttag.sgml:
10559           remove some deprecated functions, document some existing ones
10560         * gst/gsttag.c: (gst_tag_get_flag):
10561         * gst/gsttag.h:
10562           add accessor function
10563
10564 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * docs/gst/gstreamer-sections.txt:
10567         * docs/gst/tmpl/gsttag.sgml:
10568         * docs/gst/tmpl/gstxml.sgml:
10569         * gst/gsttag.c: (gst_tag_get_flag):
10570         * gst/gsttag.h:
10571
10572 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10573
10574         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10575         leak
10576
10577 2004-03-05  David Schleef  <ds@schleef.org>
10578
10579         * REQUIREMENTS: Add bison and flex.
10580         * configure.ac: Fix comment about bison.
10581         * docs/random/ds/0.9-suggested-changes: yer ma
10582         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10583
10584 2004-03-05  Benjamin Otte  <otte@gnome.org>
10585
10586         * gst/gstelement.c: (gst_element_error_full):
10587           revert recent recursive state changing commit - messing with other
10588           elements' states is evil and should be done by apps only.
10589
10590 2004-03-05  Benjamin Otte  <otte@gnome.org>
10591
10592         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10593           check for empty intersection instead of NULL caps
10594         (gst_element_get_compatible_pad_filtered):
10595           remove old workaround that is only a bug nowadays
10596
10597 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10598
10599         * gst/gstelement.c: (gst_element_error_full):
10600           make elements try to recursively change state to PAUSED on all
10601           parents after an error to suppress ensuing warnings
10602         * gst/parse/grammar.y:
10603           make it check if it was able to sync the state, and throw an error
10604           if not, so stuff like
10605           oggdemux ! vorbisdec ! osssink gets caught
10606
10607 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10608
10609         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10610           it contains lib64; use AS_AC_EXPAND to handle it properly
10611
10612 2004-03-05  David Schleef  <ds@schleef.org>
10613
10614         * gst/gstcpuid_i386.s:  Remove unused code
10615         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10616         (gst_getbits_newbuf): Remove MMX code
10617         * libs/gst/getbits/getbits.h: Remove MMX code
10618
10619 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10620
10621         * debian/.cvsignore:
10622         * debian/README.Debian:
10623         * debian/changelog:
10624         * debian/control:
10625         * debian/control.in:
10626         * debian/copyright:
10627         * debian/gstreamer-core-libs-dev.files:
10628         * debian/gstreamer-core-libs.files:
10629         * debian/gstreamer-core.files:
10630         * debian/gstreamer-core.postinst:
10631         * debian/gstreamer-core.postrm:
10632         * debian/gstreamer-doc.files:
10633         * debian/gstreamer-doc.links:
10634         * debian/gstreamer-doc.lintian:
10635         * debian/gstreamer-runtime.files:
10636         * debian/gstreamer-runtime.manpages:
10637         * debian/gstreamer-runtime.postinst:
10638         * debian/gstreamer-runtime.postrm:
10639         * debian/gstreamer-tools.files:
10640         * debian/gstreamer-tools.manpages:
10641         * debian/libgstreamer-dev.files:
10642         * debian/libgstreamer0.4.1.files:
10643         * debian/libgstreamerVERSION.files:
10644         * debian/rules:
10645         Debian package info not maintained here.
10646
10647 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10648
10649         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10650         * gst/gstbin.c: (gst_bin_class_init):
10651         * gst/gstelement.c: (gst_element_class_init):
10652         * gst/gstindex.c: (gst_index_class_init):
10653         * gst/gstobject.c: (gst_object_class_init),
10654         (gst_signal_object_class_init):
10655         * gst/gstpad.c: (gst_pad_template_class_init):
10656         * gst/gstregistry.c: (gst_registry_class_init):
10657         * gst/gsturi.c: (gst_uri_handler_base_init):
10658         * gst/gstxml.c: (gst_xml_class_init):
10659         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10660         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10661           make all signal names use dashes instead of underscore
10662
10663 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10664
10665         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10666
10667 2004-03-03  Benjamin Otte  <otte@gnome.org>
10668
10669         * gst/schedulers/gstoptimalscheduler.c:
10670           revert last commit by Andy Wingo. It causes segfaults on unreffing
10671           in Rhythmbox. (see bug #135672)
10672
10673 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10674
10675         * po/fr.po: fix typo
10676
10677 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10678
10679         * tools/gst-inspect.c: (main): 
10680         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10681
10682 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * configure.ac:
10685           get GLIB_ONLY and POPT flags for the nonversioned binaries
10686         * tools/Makefile.am:
10687           use them
10688
10689 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * gst/gst.c: (init_post):
10692           change so that GST_REGISTRY now is where the global registry gets
10693           saved, since that is where plugins now get attached to first, and
10694           spilled over to the user registry.  Note that in the case of using
10695           GST_REGISTRY env var, we don't want to affect any real registries
10696           beyond the one given by this var, and thus we don't set a user
10697           registry to spill to.  So make sure GST_REGISTRY is writable.
10698
10699 2004-03-01  David Schleef  <ds@schleef.org>
10700
10701         * AUTHORS:  Added some names.  Add yourself if you're missing.
10702
10703 2004-03-01  David Schleef  <ds@schleef.org>
10704
10705         * MAINTAINERS: Add
10706
10707 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10708
10709         * configure.ac:
10710           remove whitespace
10711         * docs/gst/tmpl/gstbuffer.sgml:
10712         * docs/gst/tmpl/gstdata.sgml:
10713         * docs/gst/tmpl/gstreamer-unused.sgml:
10714         * docs/gst/tmpl/gstxml.sgml:
10715           doc update
10716         * docs/manuals.mak:
10717           add a FIXME
10718         * docs/pwg/intro-preface.xml:
10719         * docs/pwg/pwg.xml:
10720           remove GNOME
10721         * gst/gst.c: (init_post):
10722           try GST_PLUGIN_PATH paths for the _global_registry first
10723         * gst/gstelement.h:
10724           add the error message as well, otherwise (null) debug info doesn't
10725           make much sense
10726         * tools/gst-register.c: (main):
10727           spill paths to next registry if this registry is not writable
10728         * po/fr.po:
10729         * po/nl.po:
10730           translation updates
10731
10732 2004-03-01  Johan Dahlin  <johan@gnome.org>
10733
10734         * gst/gstbuffer.c (_gst_buffer_initialize): 
10735         * gst/gstdata.c (gst_data_get_type): 
10736         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10737         instead of ref, since some applications that uses GBoxed
10738         routines depends on a function that actually returns a copy.
10739
10740 2004-02-27  Benjamin Otte  <otte@gnome.org>
10741
10742         * gst/gstbuffer.h:
10743           remove gst_buffer_free, use gst_data_unref
10744         * gst/gstdata.c: (gst_data_get_type):
10745           use refcounting in GstData GBoxed registration
10746         * gst/gstdata.h:
10747           remove gst_data_free, use gst_data_unref
10748
10749 2004-02-27  Johan Dahlin  <johan@gnome.org>
10750
10751         * gst/gstdata.c (gst_data_get_type): New function, register
10752         GstData as a GBoxed type.
10753
10754         * gst/gstdata.h (GST_TYPE_DATA): New macro
10755
10756 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10757
10758         * Makefile.am:
10759         * gstreamer.spec.in:
10760           put back RELEASE
10761         * gst/Makefile.am:
10762           clean up non-disting of built files
10763         * testsuite/debug/commandline.c:
10764           test fix for option rename
10765
10766 2004-02-26  David Schleef  <ds@schleef.org>
10767
10768         * configure.ac:  We don't really need glib-2.3.  Also remove
10769         some unneeded checks for library functions.
10770         * gst/Makefile.am:  Instead, we need to not dist files created
10771         by glib-genmarshal.
10772
10773 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * configure.ac:
10776           bump glib required version to 2.3.0 for g_value_takes_boxed
10777
10778  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10779
10780         * common/m4/gst-docs.m4
10781         change flavour text from enable to disable as enable is our default
10782         closes bug Bug 135304
10783
10784 === release 0.7.5 ===
10785  
10786  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10787  
10788         * NEWS:
10789           instate NEWS file
10790         * Makefile.am:
10791         * gstreamer.spec.in:
10792         * RELEASE:
10793           put back release
10794         * configure.ac:
10795         * docs/random/release:
10796           more updates
10797
10798 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10799
10800         * gst/gsttag.c: (_gst_tag_initialize):
10801         * po/fr.po:
10802         * po/nl.po:
10803           remove hyphen from codec tags
10804
10805 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * gst/parse/Makefile.am:
10808           fix dependency so that a make from a clean build works the first
10809           time
10810
10811 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10812
10813         * docs/random/release:
10814           update release strategy
10815         * po/fr.po:
10816           auto-update po file
10817         * po/nl.po:
10818           update dutch translation
10819
10820 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10821
10822         * docs/manual/debugging.xml:
10823         fix manual for new debugging system
10824
10825 2004-02-25  Andy Wingo  <wingo@pobox.com>
10826
10827         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10828         gst_pad_link_prepare. Please email the list with specific reasons
10829         for reverting.
10830
10831 2004-02-24  Andy Wingo  <wingo@pobox.com>
10832
10833         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10834         invocations.
10835
10836         * gst/schedulers/gstoptimalscheduler.c:
10837         I added a mess of prototypes at the top of the file by way of
10838         documentation. Some of the operations on chains and groups were
10839         re-organized.
10840
10841         (create_group): Added a type argument so if the group is enabled,
10842         the setup_group_scheduler knows what to do.
10843         (group_elements): Added a type argument here, too, to be passed on
10844         to create_group.
10845         (group_element_set_enabled): If an unlinked PLAYING element is
10846         added to a bin, we have to create a new group to hold the element,
10847         and this function will be called before the group is added to the
10848         chain. Thus we have a valid case for group->chain==NULL. Instead
10849         of calling chain_group_set_enabled, just set the flag on the group
10850         (the chain's status will be set when the group is added to it).
10851         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10852         Setup the group scheduler when the group is enabled, not
10853         specifically when an element goes PAUSED->PLAYING. This means
10854         PLAYING elements can be added, linked, and scheduled into a
10855         PLAYING pipeline, as was intended.
10856         (add_to_group): Don't ref the group twice. I don't know when this
10857         double-ref got in here. Removing it has the potential to cause
10858         segfaults if other parts of the scheduler are buggy. If you find
10859         that the scheduler is segfaulting for you, put in an extra ref
10860         here and see if that hacks over the underlying issue. Of course,
10861         then find out what code is unreffing a group it doesn't own...
10862         (create_group): Make the extra refcount floating, and remove it
10863         after adding the element. This means that...
10864         (unref_group): Destroy when the refcount reaches 0, not 1, like
10865         every other refcounted object in the known universe.
10866         (remove_from_group): When a group becomes empty, set it to be not
10867         active, and remove it from its chain. Don't unref it again,
10868         there's no floating reference any more.
10869         (destroy_group): We have to remove the group from the chain in
10870         remove_from_group (rather than here) to break refcounting cycles
10871         (the chain always has a ref on the group). So assert that
10872         group->chain==NULL.
10873         (ref_group_by_count): Removed, it was commented out anyway.
10874         (merge_chains): Use the remove_from_chain and add_to_chain
10875         primitives to do the reparenting, instead of rolling our own
10876         implementation.
10877         (add_to_chain): The first non-disabled group in the chain's group
10878         list will be the entry point for the chain. Because buffers can
10879         accumulate in loop elements' peer bufpens, we preferentially
10880         schedule loop groups before get groups to avoid unnecessary
10881         execution of get-based groups when the bufpens are already full.
10882         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10883         (get_group_schedule_function): Ditto.
10884         (loop_group_schedule_function): Ditto.
10885         (gst_opt_scheduler_loop_wrapper): Ditto.
10886         (gst_opt_scheduler_iterate): Ditto.
10887
10888         I understand the opt scheduler now, yippee!
10889
10890         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10891         (gst_pad_get_name, gst_pad_set_chain_function) 
10892         (gst_pad_set_get_function, gst_pad_set_event_function) 
10893         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10894         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10895         (gst_pad_set_query_function, gst_pad_get_query_types) 
10896         (gst_pad_get_query_types_default) 
10897         (gst_pad_set_internal_link_function) 
10898         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10899         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10900         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10901         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10902         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10903         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10904         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10905         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10906         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10907         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10908         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10909         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10910         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10911         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10912         argument checks, and some doc fixes.
10913
10914         (gst_pad_custom_new_from_template): Um, does anyone
10915         use these functions? Actually make a custom pad instead of a
10916         normal one.
10917         (gst_pad_try_set_caps): Transpose some checks.
10918         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10919         the pad is in negotiation.
10920         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10921         
10922         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10923
10924         * gst/gstelement.h: 
10925         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10926         on the list.
10927
10928 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10929
10930         * gst/gstbin.c: (gst_bin_add):
10931           add error for not being able to add elements
10932
10933 2004-02-22  Julien MOUTTE <julien@moutte.net>
10934
10935         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10936         audio-codec and video-codec.
10937
10938 2004-02-22  Benjamin Otte  <otte@gnome.org>
10939
10940         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10941
10942         * autogen.sh:
10943           replace test -e with test -x for mkinstalldirs to be more portable.
10944           (fixes #134816)
10945
10946 2004-02-22  Benjamin Otte  <otte@gnome.org>
10947
10948         * gst/gstpad.c:
10949           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10950           too noisy
10951         * gst/gsttag.c: (_gst_tag_initialize):
10952         * gst/gsttag.h:
10953           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10954         * libs/gst/control/dparam.c: (gst_dparam_attach):
10955         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10956           check that types for attached dparams match
10957
10958 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10959
10960         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10961         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10962         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10963           fix errors
10964
10965 2004-02-20  Andy Wingo  <wingo@pobox.com>
10966
10967         * gst/gstbin.c:
10968         * gst/gstbuffer.c:
10969         * gst/gstplugin.c:
10970         * gst/registries/gstxmlregistry.c: 
10971         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10972
10973         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10974         (gst_element_add_pad): DEBUG->INFO, some fixes.
10975         (gst_element_get_compatible_pad_template): Just see if the
10976         templates' caps intersect, not if one is a strict subset of the
10977         other. This conforms more to what gst_pad_link_intersect() does.
10978         (gst_element_class_add_pad_template): Don't memcpy the pad
10979         template, just ref it.
10980         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10981
10982         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10983         (gst_pad_link_filtered): Debug changes.
10984         (gst_pad_link_prepare): New function, consolidated from
10985         can_link_filtered and link_filtered.
10986
10987         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10988         look more like that of the functions in gstelement.c
10989
10990         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10991         object, and return the empty string if object is NULL.
10992
10993         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
10994         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10995         LOG, not DEBUG. We still get flex info on debug.
10996
10997         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10998         debug string more verbose.
10999         (plugin_times_older_than): DEBUG->LOG.
11000
11001 2004-02-20  Julien MOUTTE <julien@moutte.net>
11002
11003         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11004         will emit found_tag for each stream they demux with the codec.
11005
11006 2004-02-20  Benjamin Otte  <otte@gnome.org>
11007
11008         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11009           copy navigation event correctly. Check freeing tag lists. 
11010         * gst/gstthread.c: (gst_thread_change_state):
11011           don't abort() on state changing mess - it might happen because of
11012           bugs.
11013         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11014           use boxed functions
11015         * gst/gstvalue.h:
11016           fix GST_VALUE_HOLDS_CAPS
11017
11018 2004-02-19  David Schleef  <ds@schleef.org>
11019
11020         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11021         and use it for GST_FUNCTION.  (bug #134750)
11022
11023 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         * po/fr.po:
11026         * po/nl.po:
11027           updating translations
11028
11029 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11030
11031         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11032
11033 2004-02-18  kost@imn.htwk-leipzig.de
11034
11035         reviewed by: David Schleef  <ds@schleef.org>
11036
11037         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11038         for libgstcontrol.
11039
11040 2004-02-18  David Schleef  <ds@schleef.org>
11041
11042         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11043         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11044         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11045         * tools/gst-inspect.c: (print_element_info): Support dumping of
11046         double dparam information.
11047
11048 2004-02-17  David Schleef  <ds@schleef.org>
11049
11050         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11051         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11052         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11053         Use GST_TYPE_CAPS in signal prototype.
11054         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11055         Convert GST_TYPE_CAPS to boxed.
11056         * gst/gstelement.c: (gst_element_class_init):
11057         Use GST_TYPE_TAG_LIST in signal prototype.
11058         * gst/gstindex.c: (gst_index_class_init):
11059         * gst/gstindex.h:
11060         Add GST_TYPE_INDEX_ENTRY type.
11061         * gst/gstmarshal.list:
11062         Add necessary marshal types.
11063         * gst/gstpad.c: (gst_real_pad_class_init),
11064         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11065         (gst_pad_recover_caps_error):
11066         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11067         * gst/gststructure.c: (_gst_structure_initialize),
11068         (gst_structure_copy), (_gst_structure_copy_conditional):
11069         * gst/gststructure.h:
11070         Convert GST_TYPE_STRUCTURE to boxed.
11071         * gst/gsttag.c: (gst_tag_list_get_type):
11072         * gst/gsttag.h:
11073         Add GST_TYPE_TAG_LIST type.
11074
11075 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11076
11077         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11078         to what we agreed with david.
11079         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11080
11081 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * po/nl.po: update translation
11084
11085 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11088           throw an error if spider is trying to play a mime type there is
11089           no decoder for
11090         * po/POTFILES.in:
11091           add gst/autoplug/gstspider.c for translation
11092
11093 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11094
11095         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11096         silently when the pad is negotiating.
11097
11098 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11099
11100         * docs/faq/Makefile.am:
11101           add script to run gstreamer uninstalled 
11102         * docs/faq/faq.xml:
11103         * docs/faq/developing.xml:
11104         * docs/faq/gst-uninstalled:
11105           extract script to run gstreamer uninstalled
11106         * docs/manuals.mak:
11107           add EXTRA_SOURCES variable for Makefile.am's to set to
11108           use additional SOURCE files for the doc build
11109
11110 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11111
11112         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11113
11114 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11115
11116         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11117         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11118         an error was thrown by osssink. Basically a state change failure for
11119         an element in a different scheduling group was considered as
11120         successful, which means that caps nego was going on and weird stuff
11121         happened. Like I wrote in the comment there, if someone wants to
11122         revert that please drop me a mail explaining why because I really see
11123         no point in keeping that broken behaviour there.
11124         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11125         be empty, we then return NULL which will trigger a nice error when 
11126         pulling from the pad.
11127
11128 2004-02-13  David Schleef  <ds@schleef.org>
11129
11130         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11131         (gst_dparam_get_property), (gst_dparam_set_property),
11132         (gst_dparam_do_update_default):
11133         * libs/gst/control/dparam.h:
11134         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11135         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11136         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11137         (gst_dpsmooth_do_update_double):
11138         * libs/gst/control/dparam_smooth.h:
11139         * libs/gst/control/dparammanager.c:
11140         (gst_dpman_inline_direct_update):
11141         Add support for double dparams.
11142
11143 2004-02-13  David Schleef  <ds@schleef.org>
11144
11145         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11146         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11147
11148 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11149
11150         reviewed by: David Schleef  <ds@schleef.org>
11151
11152         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11153         (gst_fdsrc_init), (gst_fdsrc_set_property),
11154         (gst_fdsrc_get_property), (gst_fdsrc_get):
11155         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11156         and sends an EOS event if file descriptor reading times out.
11157
11158 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * configure.ac:
11161           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11162
11163 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11164
11165         * configure.ac: pass required libxml version as argument
11166         (bug reported by Christophe Fergeau)
11167
11168 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11169   
11170         * docs/gst/gstreamer-docs.sgml:
11171         * docs/gst/tmpl/gstxml.sgml:
11172         * docs/libs/gstreamer-libs-docs.sgml:
11173           version API docs
11174
11175 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * gst/gstinfo.c:
11178         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11179         (gst_registry_pool_feature_filter):
11180         * gst/gstthread.c: (gst_thread_class_init):
11181         * gst/gstvalue.c:
11182           add includes exposed by building without libxml
11183         * gst/indexers/Makefile.am:
11184           do not build fileindex when LOADSAVE disabled; we should have
11185           a better libxml check later since fileindex depends on xml, not
11186           LOADSAVE or REGISTRY
11187         * libs/gst/control/Makefile.am:
11188           link with m
11189         * tools/Makefile.am:
11190           fix wrong source code for gst-xmlinspect
11191
11192 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * configure.ac:
11195           fix gcov help output
11196           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11197         * docs/random/release:
11198           some updated releasing notes
11199         * gstreamer.spec.in:
11200           more updates
11201
11202 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11203
11204         * docs/faq/faq.xml:
11205         * docs/manual/manual.xml:
11206         * docs/pwg/pwg.xml:
11207         * docs/pwg/titlepage.xml:
11208           put version in documentation
11209
11210 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11211
11212         * tools/Makefile.am: fix man page installation
11213
11214 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11215
11216         * configure.ac:
11217           don't check for libxml when load/save and registry disabled (#105844)
11218         * gstreamer.spec.in:
11219           sync with fedora candidate spec
11220
11221 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11222
11223         * po/fr.po:
11224         * po/nl.po:
11225           replace multidisksrc with multifilesrc
11226
11227 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11228
11229         * po/POTFILES.in:
11230           update to multidisksrc => multifilesrc file renaming (#134145)
11231
11232 2004-02-11  David Schleef  <ds@schleef.org>
11233
11234         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11235         * docs/gst/tmpl/gstpadtemplate.sgml: same
11236         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11237         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11238         fixing dance.
11239         * gst/gstutils.c: Remove disabled code that uses GstProps.
11240         * gst/registries/gstxmlregistry.h: same
11241         * docs/random/ds/0.9-suggested-changes: random notes
11242
11243 2004-02-11  kost@imn.htwk-leipzig.de
11244
11245         reviewed by: David Schleef  <ds@schleef.org>
11246
11247         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11248         initialisation of clock (bug #134128)
11249
11250 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11251
11252         * configure.ac:
11253         * gst/elements/Makefile.am:
11254         * gst/elements/gstelements.c:
11255         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11256         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11257         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11258         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11259         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11260         * gst/elements/gstmultifilesrc.h:
11261           rename multidisksrc to multifilesrc (part of #122200)
11262
11263 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11264
11265         * docs/manuals.mak:
11266           fix automake complaints
11267         * gst-element-check.m4:
11268           fix unquotedness
11269
11270 2004-02-11  David Schleef  <ds@schleef.org>
11271
11272         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11273         * gst/gstatomic_impl.h: Disable sparc implementation.
11274
11275 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11276
11277         * gst-element-check.m4:
11278           fix underquoted macros as reported by automake 1.8.x (#133800)
11279         * configure.ac:
11280           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11281           by autopoint (fixes #132996)
11282
11283 2004-02-10  Andy Wingo  <wingo@pobox.com>
11284
11285         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11286         way to do inheritance.
11287         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11288         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11289         Routine docs.
11290         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11291         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11292         doc.
11293         (gst_pad_unlink, gst_pad_is_linked): Docs.
11294         (gst_pad_renegotiate): A brief description of capsnego.
11295         (gst_pad_try_set_caps): Document.
11296         (gst_pad_try_set_caps_nonfixed): Document.
11297         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11298         (gst_pad_set_parent): Deprecated (although not out of the API).
11299         (gst_pad_get_parent): Deprecated, although many plugins use this.
11300         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11301         are private and will go away in 0.9.
11302         (gst_pad_perform_negotiate): Doc.
11303         (gst_pad_link_unnegotiate): I think this is meant to be static.
11304         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11305         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11306         (gst_pad_get_peer): Doc updates.
11307         (gst_pad_caps_change_notify): Doc.
11308         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11309         (gst_ghost_pad_new): Doc fixes.
11310
11311         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11312         (gst_object_check_uniqueness): 
11313
11314         * gst/gstelement.c (gst_element_add_pad) 
11315         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11316         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11317         (gst_element_get_static_pad, gst_element_get_pad_list) 
11318         (gst_element_class_get_pad_template_list) 
11319         (gst_element_class_get_pad_template): Work on the docs.
11320         (gst_element_get_pad_template_list): Uses the class method.
11321         (gst_element_get_compatible_pad_template): Docs, and consolidate
11322         some test conditions. 
11323         (gst_element_get_pad_from_template): New static function.
11324         (gst_element_request_compatible_pad): Docs, and work with
11325         non-request compatible templates. 
11326         (gst_element_get_compatible_pad_filtered): Docs and remove
11327         redundant checks.
11328         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11329         (gst_element_link_filtered, gst_element_link_many) 
11330         (gst_element_link, gst_element_link_pads) 
11331         (gst_element_unlink_many): Docs.
11332
11333 2004-02-05  Andy Wingo  <wingo@pobox.com>
11334
11335         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11336         s/pointer/boxed/.
11337
11338         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11339
11340         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11341         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11342         with the type=GST_TYPE_CAPS. This allows language bindings to know
11343         what kind of data they're dealing with.
11344
11345         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11346         to NULL when g_value_init is called. GstCaps, which rolls its own
11347         type implementation, now does the same instead of allocating empty
11348         caps.
11349         (_gst_caps_initialize, _gst_caps_collect_value,
11350         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11351         table methods. This allows G_VALUE_COLLECT to work.
11352
11353 2004-02-05  Andy Wingo  <wingo@pobox.com>
11354
11355         * configure.ac:
11356         * testsuite/Makefile.am (SUBDIRS): 
11357         * testsuite/ghostpads/Makefile.am: 
11358         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11359
11360         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11361         These two routines are the only ones that set
11362         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11363         pad template. They should be made static, depending on ABI needs.
11364         (gst_real_pad_dispose): Handle the case of ghost pads without a
11365         parent. Assert after dealing with ghost pads that the ghost pad
11366         list is empty.
11367         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11368         set after creation.
11369         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11370         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11371         functions. set_property will call add_ghost_pad/remove_ghost_pad
11372         as appropriate.
11373         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11374
11375         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11376         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11377         (gst_element_remove_pad): Handle ghost pads as well.
11378         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11379         depending on API-stability needs).
11380
11381 2004-02-05  Andy Wingo  <wingo@pobox.com>
11382
11383         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11384         of course they're const
11385
11386 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * tools/Makefile.am:
11389         * tools/gst-feedback:
11390         * tools/gst-feedback-0.7:
11391           make gst-feedback versioned too for consistency
11392
11393 2004-02-11  David Schleef  <ds@schleef.org>
11394
11395         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11396         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11397
11398 2004-02-10  Julien MOUTTE <julien@moutte.net>
11399
11400         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11401         the structure does not contain a valid tag list. Adding a safety check
11402         to remove a noisy warning in that case.
11403
11404 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11405
11406         * gst/gst.c: fix name to be in line with others
11407
11408 2004-02-09  Julien MOUTTE <julien@moutte.net>
11409
11410         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11411         not shout that loud when len is 0. Just return 0 silently.
11412
11413 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11414
11415         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11416         because data_unref has one and I prefer the debug to be symetric.
11417         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11418         were refed when added to the queue and unrefed only once when the queue
11419         was flushed. Now the flush handler unref the buffers two times : first
11420         unref for the ref added when pushing in the queue's tail and second
11421         unref to destroy the flushed buffer.
11422
11423 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11426
11427 2004-02-06  David Schleef  <ds@schleef.org>
11428
11429         * docs/random/ds/0.9-suggested-changes: Random ramblings
11430         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11431         to int before printing.
11432         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11433         * gst/parse/parse.l: same.  See bug #129600
11434
11435 2004-02-06  David Schleef  <ds@schleef.org>
11436
11437         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11438         (gst_index_add_entry), (gst_index_add_associationv),
11439         (gst_index_add_association): Add gst_index_add_associationv()
11440         and clean up gst_index_add_association(). #127133
11441
11442 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11443
11444         * autogen.sh: check out common with right tag if CVS/Tag exists
11445
11446 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11447
11448         * testsuite/ghostpads/ghostpads.c: (main):
11449           fix testsuite from segfaulting
11450
11451 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11452
11453         * Makefile.am: add release target
11454         * configure.ac: bump nano to 1
11455         * docs/random/release:
11456
11457 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11458
11459         * gst/gstcaps.h:
11460         * gst/gstelement.c: (gst_element_base_class_init),
11461         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11462         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11463         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11464         (gst_real_pad_dispose):
11465         * gst/gststructure.c: (gst_structure_free),
11466         (gst_structure_from_string):
11467           put reverted patch back in
11468         * gst/gstelement.c: (gst_element_remove_pad):
11469           free explicit caps if they're set
11470         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11471           copy the structure when fixating
11472
11473 2004-02-05  David Schleef  <ds@schleef.org>
11474
11475         * gst/gstmarshal.list:
11476         * gst/gstpad.c: (gst_real_pad_class_init),
11477         (_gst_real_pad_fixate_accumulator):
11478         Revert POINTER->BOXED change in signal marshaller.
11479
11480 === release 0.7.4 ===
11481                                                                                 
11482 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11483                                                                                 
11484         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11485         * configure.ac: changed for release
11486
11487 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11488
11489         * gstreamer.spec.in:
11490           bump required version of gtk-doc
11491
11492 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11493
11494         * gst/gstcaps.h:
11495         * gst/gstelement.c: (gst_element_base_class_init),
11496         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11497         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11498         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11499         (gst_real_pad_dispose):
11500         * gst/gststructure.c: (gst_structure_free),
11501         (gst_structure_from_string):
11502           revert patch that breaks applications, reapply after release
11503           to get this fixed properly
11504
11505 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11506
11507         * gst/gsttag.c: (_gst_tag_initialize):
11508         * gst/gsttag.h:
11509           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11510
11511 2004-02-04  David Schleef  <ds@schleef.org>
11512
11513         Fix some memleaks:
11514         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11515         (gst_spider_plug_from_srcpad):
11516         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11517
11518 2004-02-04  David Schleef  <ds@schleef.org>
11519
11520         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11521         a GstRealPad before accessing its structure members.
11522
11523 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11524
11525         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11526         (gst_clock_get_speed):
11527         * gst/gstclock.h:
11528           reset padding, remove unused fields
11529
11530 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11531
11532         * gst/autoplug/gstspideridentity.c:
11533         (gst_spider_identity_sink_loop_type_finding):
11534           use get_allowed_caps, not get_caps (fixes #132519)
11535         * gst/elements/gsttypefind.c: (stop_typefinding):
11536           use correct order when sending buffers and seeking
11537
11538 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11539
11540         * configure.ac:
11541         * gst/gstelement.h:
11542         * gst/gstpad.h:
11543         * gst/gstqueue.h:
11544           upgrade libtool CURRENT, reset padding
11545
11546 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11547
11548         * configure.ac:
11549           bump to prerelease
11550           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11551
11552 2004-02-04  David Schleef  <ds@schleef.org>
11553
11554         * docs/random/ds/0.9-suggested-changes: random notes
11555         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11556         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11557         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11558         expansion.
11559         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11560         (gst_filesink_get_query_types): same
11561         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11562         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11563         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11564         to use new GST_PTR_FORMAT.
11565         * gst/gstelement.h: deprecate function factory macros
11566         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11567         These are our last variadic macros that can't be replaced with
11568         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11569         attempting to deprecate gst_element_clock_wait().
11570         * gst/gstevent.h: same
11571         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11572         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11573         * gst/gstpad.h: deprecate function factory macros similar to above.
11574
11575 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * configure.ac:
11578         * tools/Makefile.am:
11579         * tools/gst-run.c: (popt_callback), (hash_print_key),
11580         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11581         (get_candidates), (main):
11582           add new source file to generate non-versioned wrapper binaries
11583           for our tools.
11584
11585 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11586
11587         * gst/gstevent.c: (_gst_event_free):
11588           actually break; inside the switch statement
11589         * gst/parse/grammar.y:
11590           fix memleak where GValues weren't unset
11591
11592 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11593
11594         * gst/gststructure.c: (gst_structure_from_string):
11595           fix huge memleak
11596         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11597         (new_entry), (gst_type_find_element_chain):
11598         * gst/gstelement.c: (gst_element_base_class_init),
11599         (gst_element_class_set_details):
11600         * gst/gstpad.c: (gst_pad_can_link_filtered):
11601           fix smaller memleaks
11602         * gst/gstpad.c: (gst_real_pad_dispose):
11603           check that explicit caps are gone
11604         * gst/gststructure.c: (gst_structure_free):
11605           actually free the structure
11606         * gst/gstelement.c: (gst_element_clear_pad_caps):
11607           unset explicit caps
11608
11609 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11610
11611         * tools/Makefile.am:
11612           use AM_CFLAGS since all the CFLAGS are the same
11613           use AM_LDFAGS
11614
11615 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11616
11617         * docs/manual/gnome.xml:
11618           expand example a little
11619         * gst/gst.c: (gst_init_with_popt_table),
11620         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11621           make sure popt option displays are done with right textdomain
11622           use GstPoptOption type
11623         * gst/gst.h:
11624           create GstPoptOption type
11625
11626 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11627
11628         * gst/gsterror.c: (_gst_stream_errors_init):
11629         * gst/gsterror.h:
11630           adding error type for no codec
11631         * po/POTFILES.in:
11632           add gst-inspect
11633         * po/nl.po:
11634           update dutch translation
11635         * tools/gst-inspect.c: (print_element_list), (main):
11636           do proper internationalization
11637         * tools/gst-launch.c: (idle_func):
11638           remove commented out function call
11639
11640 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11641
11642         * docs/README:
11643           add some error fixing notes
11644         * docs/gst/gstreamer-sections.txt:
11645           remove double entries
11646         * docs/gst/tmpl/gstbin.sgml:
11647         * docs/gst/tmpl/gstclock.sgml:
11648           remove override
11649         * docs/gst/tmpl/gstelement.sgml:
11650         * docs/gst/tmpl/gstindex.sgml:
11651         * docs/gst/tmpl/gstobject.sgml:
11652         * docs/gst/tmpl/gstpadtemplate.sgml:
11653         * docs/gst/tmpl/gstreamer-unused.sgml:
11654         * docs/gst/tmpl/gsttag.sgml:
11655         * docs/gst/tmpl/gstthread.sgml:
11656         * docs/gst/tmpl/gstxml.sgml:
11657         * gst/gsttag.h:
11658           sync header prototypes with c decls
11659         * gst/gsttaginterface.c:
11660           fix doc headers
11661
11662 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11663
11664         * gst/parse/Makefile.am:
11665         * gst/gstobject.h:
11666           get rid of gstmarshal.h dependency. It's not needed.
11667         * gst/gst.h:
11668         * gst/elements/gstfakesink.c:
11669         * gst/elements/gstfakesrc.c:
11670         * gst/elements/gstidentity.c:
11671         * gst/gstbin.c:
11672         * gst/gstelement.c:
11673         * gst/gstindex.c:
11674         * gst/gstobject.c:
11675         * gst/gstpad.c:
11676         * gst/gstthread.c:
11677         * gst/gstxml.c:
11678         * libs/gst/control/dparam.c:
11679         * libs/gst/control/dparammanager.c:
11680           include gstmarshal.h.
11681         Fixes #132045
11682
11683 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11684
11685         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11686         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11687         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11688         * gst/elements/gstfilesrc.h:
11689           don't ref the filesrc when creating mmaped buffers. Don't keep a
11690           list of not-yet-destroyed buffers.
11691         * gst/gstbuffer.h:
11692           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11693
11694 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11695
11696         * gst/gst.c: (init_pre):
11697           remove textdomain
11698
11699 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11700
11701         * docs/pwg/advanced-events.xml:
11702         * docs/pwg/advanced-scheduling.xml:
11703         * docs/pwg/intro-basics.xml:
11704         * docs/pwg/other-manager.xml:
11705         * docs/pwg/other-nton.xml:
11706         * docs/pwg/other-ntoone.xml:
11707         * docs/pwg/other-oneton.xml:
11708         * docs/pwg/pwg.xml:
11709           All sort of documentation... Forgot what. Point is that I want this
11710           in before I leave. The 'other-*' will be the last section and will
11711           explain issues specific to these type of elements.
11712
11713 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11714
11715         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11716         (gst_filesrc_get_read):
11717           set all the values on buffers that we can
11718
11719 2004-02-02  David Schleef  <ds@schleef.org>
11720
11721         Change usage of isblah() to g_ascii_isblah() to be more locale
11722         independent.  (#133076)
11723         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11724         * gst/gstutils.c:
11725         * gst/parse/parse.l:
11726
11727 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11728
11729         reviewed by: David Schleef  <ds@schleef.org>
11730
11731         Fix memory leaks:
11732         * gst/gstcaps.c: (gst_caps_to_string):
11733         * gst/registries/gstxmlregistry.c:
11734         (gst_xml_registry_add_path_list_func),
11735         (gst_xml_registry_parse_padtemplate):
11736
11737 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11738
11739         * gst/gstelement.c: (gst_element_default_error):
11740           suffix error messages with period
11741
11742 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11743
11744         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11745         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11746         * gst/gsterror.c: (gst_error_get_message):
11747           Suffix with dots
11748         * po/fr.po:
11749         * po/nl.po:
11750           Update translation files
11751
11752 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * gst/autoplug/gstspideridentity.c:
11755         (gst_spider_identity_sink_loop_type_finding):
11756         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11757         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11758         (gst_filesink_close_file), (gst_filesink_handle_event),
11759         (gst_filesink_chain):
11760         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11761         (gst_filesrc_get_read), (gst_filesrc_open_file):
11762         * gst/elements/gstidentity.c: (gst_identity_chain):
11763         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11764         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11765         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11766         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11767         * gst/gsterror.c: (_gst_core_errors_init),
11768         (_gst_library_errors_init), (_gst_resource_errors_init),
11769         (_gst_stream_errors_init), (gst_error_get_message):
11770         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11771         (gst_pad_recover_caps_error), (gst_pad_pull):
11772         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11773         * gst/schedulers/gstbasicscheduler.c:
11774         (gst_basic_scheduler_chainhandler_proxy),
11775         (gst_basic_scheduler_gethandler_proxy),
11776         (gst_basic_scheduler_cothreaded_chain):
11777           Suffix error messages with period.
11778           Use (NULL) instead of NULL
11779
11780 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11781
11782         * docs/gst/tmpl/gstelement.sgml:
11783         * docs/gst/tmpl/gstxml.sgml:
11784         * gst/gstelement.c: (gst_element_error_full):
11785           add element path to error
11786
11787 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11788
11789         * docs/random/mimetypes:
11790           update raw int/float info
11791         * gst/gsttag.c: (_gst_tag_initialize):
11792         * gst/gsttag.h:
11793           add GST_TAG_ENCODER
11794
11795 2004-01-30  David Schleef  <ds@schleef.org>
11796
11797         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11798           missing (#132991)
11799
11800 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11801
11802         reviewed by Benjamin Otte 
11803           parts of the patch submitted in bug #113913
11804
11805         * configure.ac:
11806           use AC_C_INLINE. Use = instead of == with test
11807         * examples/plugins/example.c:
11808         * gst/autoplug/gstspideridentity.c:
11809         * gst/elements/gstfdsrc.c:
11810         * gst/elements/gstfilesrc.c:
11811         * gst/elements/gstidentity.c:
11812         * gst/elements/gstmultidisksrc.c:
11813         * gst/elements/gststatistics.c:
11814         * gst/gstelement.c:
11815         * gst/gstobject.c:
11816         * gst/gstpad.c:
11817         * gst/gstpipeline.c:
11818         * gst/gstthread.c:
11819           don't end enums with a comma
11820         * gst/gstindex.c: (gst_index_compare_func):
11821           do explicit casting to gint
11822         * gst/gsttrace.c: (gst_trace_text_flush):
11823           #define strsize as a macro
11824
11825 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11826
11827         * docs/README:
11828         * docs/gst/gstreamer-docs.sgml:
11829         * docs/gst/gstreamer-sections.txt:
11830         * docs/gst/tmpl/gstelement.sgml:
11831         * docs/gst/tmpl/gsterror.sgml:
11832         * docs/gst/tmpl/gstinterface.sgml:
11833         * docs/gst/tmpl/gstreamer-unused.sgml:
11834         * docs/gst/tmpl/gststructure.sgml:
11835         * docs/gst/tmpl/gsttag.sgml:
11836         * docs/gst/tmpl/gsttaginterface.sgml:
11837         * docs/gst/tmpl/gstvalue.sgml:
11838         make sure all API ends up in the built docs
11839         * gst/gstinterface.c:
11840         * gst/gststructure.c: (gst_structure_id_set_value),
11841         (gst_structure_set_value), (gst_structure_id_get_value):
11842         * gst/gststructure.h:
11843         * gst/gstvalue.h:
11844         sync .h with .c declarations
11845
11846 2004-01-30  Julien Moutte  <julien@moutte.net>
11847
11848         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11849         Ronald will fix riffread.
11850
11851 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11852
11853         * docs/pwg/advanced-interfaces.xml:
11854           Added tuner interface docs.
11855
11856 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11857
11858         * docs/random/mimetypes:
11859           correct Theora information
11860         * gst/gstelement.h:
11861           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11862
11863 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11864
11865         * gst/gstelement.c: (gst_element_error_full):
11866         * gst/gstelement.h:
11867           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11868
11869 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11870
11871         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11872         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11873         again and even before DISCONT.
11874         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11875         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11876         bytestream so that it's not stopping to fill the bytestream if events
11877         different than EOS or DISCONT are received. Instead it process them so
11878         that they go downstream.
11879
11880 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11881
11882         * docs/gst/tmpl/gstelement.sgml:
11883         * docs/gst/tmpl/gstreamer-unused.sgml:
11884         * docs/gst/tmpl/gstxml.sgml:
11885         * gst/autoplug/gstspideridentity.c:
11886         (gst_spider_identity_sink_loop_type_finding):
11887         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11888         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11889         (gst_filesink_close_file), (gst_filesink_handle_event),
11890         (gst_filesink_chain):
11891         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11892         (gst_filesrc_get_read), (gst_filesrc_open_file):
11893         * gst/elements/gstidentity.c: (gst_identity_chain):
11894         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11895         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11896         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11897         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11898         * gst/gstelement.h:
11899         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11900         (gst_pad_recover_caps_error), (gst_pad_pull):
11901         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11902         * gst/schedulers/gstbasicscheduler.c:
11903         (gst_basic_scheduler_chainhandler_proxy),
11904         (gst_basic_scheduler_gethandler_proxy),
11905         (gst_basic_scheduler_cothreaded_chain):
11906           gst_element_error -> GST_ELEMENT_ERROR
11907
11908 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11909
11910         * docs/Makefile.am:
11911         * docs/gst/tmpl/gstelement.sgml:
11912         * docs/gst/tmpl/gstxml.sgml:
11913         * docs/manuals.mak:
11914         * docs/pwg/advanced-request.xml:
11915         * docs/pwg/advanced-scheduling.xml:
11916         * docs/pwg/advanced-tagging.xml:
11917           fix non-validating docbook using CDATA
11918           make sure make check-local gets run first to check if it validates
11919
11920 2004-01-29  Julien MOUTTE <julien@moutte.net>
11921
11922         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11923         handling (up and downstream).
11924         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11925         my_filter thing.
11926
11927 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11928
11929         * docs/pwg/advanced-tagging.xml:
11930           Add docs about tag writing.
11931
11932 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11933
11934         * docs/pwg/advanced-tagging.xml:
11935           Add a part about tag reading and application signalling... Tag
11936           writing still needs to be documented.
11937         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11938           We can set file locations in READY, too.
11939
11940 2004-01-29  Julien MOUTTE <julien@moutte.net>
11941
11942         * docs/random/ds/element-checklist: Adding some notes about src
11943         events.
11944
11945 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11946
11947         * docs/random/mimetypes:
11948           Update docs to point to correct elements for various mimetypes, and
11949           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11950           <stephane.loeuillet@tiscali.fr>.
11951
11952 2004-01-28  David Schleef  <ds@schleef.org>
11953
11954         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11955
11956 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11957
11958         * docs/random/mimetypes:
11959           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11960           undefined"
11961         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11962           make it only work in NULL.
11963         * gst/gstcaps.c:
11964           don't posion NULL caps
11965         * gst/gstelement.c: (gst_element_set_time):
11966           add debugging statement
11967         * gst/gstelement.c: (gst_element_emit_found_tag),
11968         (gst_element_found_tag_func), (gst_element_found_tags):
11969         * gst/gstelement.h:
11970           These functions take const taglists
11971         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11972           fix memleak
11973         * gst/gstpad.c: (gst_pad_event_default):
11974           make more effort on handling discont and clocks, g_warn if everything
11975           fails
11976         * gst/gststructure.c: (gst_structure_remove_fields),
11977         (gst_structure_remove_fields_valist):
11978         * gst/gststructure.h:
11979           add gst_structure_remove_fields(_valist)
11980         * gst/gsttag.c:
11981           fix doc glitch
11982
11983 2004-01-28  David Schleef  <ds@schleef.org>
11984
11985         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11986         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11987         Fix memory leakage of gst_caps_to_string().
11988
11989         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11990         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11991         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11992         (gst_spider_identity_sink_loop_type_finding):
11993         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11994         (find_suggest):
11995         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11996         (gst_pad_set_explicit_caps):
11997         * gst/parse/grammar.y:
11998
11999 2004-01-28  David Schleef  <ds@schleef.org>
12000
12001         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12002         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12003         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12004         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12005         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12006         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12007         (gst_debug_log_default), (_gst_info_printf_extension),
12008         (_gst_info_printf_extension_arginfo):  Add printf extension.
12009         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12010         * gst/gststructure.c: (gst_structure_to_string),
12011         (_gst_structure_parse_value): Use gst_value_deserialize() and
12012         remove old code.
12013         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12014         (gst_value_deserialize_boolean), (gst_strtoi),
12015         (gst_value_deserialize_int), (gst_value_deserialize_double),
12016         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12017         a bunch of deserialize functions and gst_value_deserialize.
12018         * gst/gstvalue.h: er, _de_serialize, not unserialize
12019         * testsuite/caps/string-conversions.c: (main): We don't currently
12020         handle (float) in caps, so convert these to (double).
12021         * testsuite/debug/Makefile.am: Add new test for the printf extension
12022         * testsuite/debug/printf_extension.c: (main): same
12023
12024 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12025
12026         * docs/random/company/time:
12027           Add some docs about clocking and time
12028
12029 2004-01-28  Julien MOUTTE <julien@moutte.net>
12030
12031         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12032
12033 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12034
12035         * docs/pwg/advanced-clock.xml:
12036         * docs/pwg/advanced-dparams.xml:
12037         * docs/pwg/advanced-events.xml:
12038         * docs/pwg/advanced-interfaces.xml:
12039         * docs/pwg/advanced-midi.xml:
12040         * docs/pwg/advanced-request.xml:
12041         * docs/pwg/advanced-scheduling.xml:
12042         * docs/pwg/advanced-tagging.xml:
12043         * docs/pwg/advanced-types.xml:
12044         * docs/pwg/appendix-checklist.xml:
12045         * docs/pwg/building-boiler.xml:
12046         * docs/pwg/building-chainfn.xml:
12047         * docs/pwg/building-filterfactory.xml:
12048         * docs/pwg/building-pads.xml:
12049         * docs/pwg/building-props.xml:
12050         * docs/pwg/building-signals.xml:
12051         * docs/pwg/building-state.xml:
12052         * docs/pwg/building-testapp.xml:
12053         * docs/pwg/intro-basics.xml:
12054         * docs/pwg/intro-preface.xml:
12055         * docs/pwg/other-autoplugger.xml:
12056         * docs/pwg/other-sink.xml:
12057         * docs/pwg/other-source.xml:
12058         * docs/pwg/titlepage.xml:
12059           fix up id's
12060
12061 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12062
12063         * docs/95NonPath:
12064         * docs/HACKING:
12065         * docs/README:
12066         * docs/building-the-docs-on-debian:
12067           collect relevant bits of doc info
12068
12069 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12070
12071         * docs/pwg/advanced_tagging.xml:
12072           Half-assed commit so Thomas can re-arrange document IDs here to be
12073           consistent, too.
12074
12075 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * docs/manual/autoplugging.xml:
12078         * docs/manual/bins-api.xml:
12079         * docs/manual/bins.xml:
12080         * docs/manual/buffers-api.xml:
12081         * docs/manual/buffers.xml:
12082         * docs/manual/clocks.xml:
12083         * docs/manual/components.xml:
12084         * docs/manual/cothreads.xml:
12085         * docs/manual/debugging.xml:
12086         * docs/manual/dparams-app.xml:
12087         * docs/manual/dynamic.xml:
12088         * docs/manual/elements-api.xml:
12089         * docs/manual/elements.xml:
12090         * docs/manual/factories.xml:
12091         * docs/manual/gnome.xml:
12092         * docs/manual/goals.xml:
12093         * docs/manual/helloworld.xml:
12094         * docs/manual/helloworld2.xml:
12095         * docs/manual/init-api.xml:
12096         * docs/manual/intro.xml:
12097         * docs/manual/links-api.xml:
12098         * docs/manual/links.xml:
12099         * docs/manual/manual.xml:
12100         * docs/manual/motivation.xml:
12101         * docs/manual/pads-api.xml:
12102         * docs/manual/pads.xml:
12103         * docs/manual/plugins-api.xml:
12104         * docs/manual/plugins.xml:
12105         * docs/manual/programs.xml:
12106         * docs/manual/queues.xml:
12107         * docs/manual/quotes.xml:
12108         * docs/manual/schedulers.xml:
12109         * docs/manual/states-api.xml:
12110         * docs/manual/states.xml:
12111         * docs/manual/threads.xml:
12112         * docs/manual/typedetection.xml:
12113         * docs/manual/xml.xml:
12114           use chapter, part, section or misc as id starts for all bits
12115
12116 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12117
12118         * docs/gst/gstreamer-sections.txt:
12119           Fix up TITLE of the sections
12120
12121 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12122
12123         * docs/pwg/advanced_interfaces.xml:
12124           Add documentation on propertyprobing.
12125         * docs/pwg/advanced_events.xml:
12126         * docs/pwg/advanced_tagging.xml:
12127         * docs/pwg/building_boiler.xml:
12128         * docs/pwg/building_filterfactory.xml:
12129         * docs/pwg/pwg.xml:
12130           Move filterfactory and tagging into their own chapter, add a chapter
12131           on events. all these are empty placeholders that will be filled in
12132           some day.
12133
12134 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12135
12136         * docs/pwg/advanced_interfaces.xml:
12137           Docs for mixer interface. Also a check for website uploading.
12138
12139 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12140
12141         * docs/HACKING:
12142         * docs/Makefile.am:
12143         * docs/faq/Makefile.am:
12144         * docs/gst/Makefile.am:
12145         * docs/gst/tmpl/gstelement.sgml:
12146         * docs/gst/tmpl/gstplugin.sgml:
12147         * docs/gst/tmpl/gstreamer-unused.sgml:
12148         * docs/libs/Makefile.am:
12149         * docs/manual/Makefile.am:
12150         * docs/manuals.mak:
12151         * docs/pwg/Makefile.am:
12152         * docs/upload.mak:
12153           Separate out upload target and make it similar for
12154           both docbook and gtk-doc docs
12155
12156 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12157
12158         * docs/manuals.mak:
12159           Fix upload target to work with freedesktop
12160
12161 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12162
12163         * docs/pwg/advanced_types.xml:
12164           Add notes on creating your own types.
12165         * docs/pwg/building_boiler.xml:
12166         * docs/pwg/building_pads.xml:
12167         * docs/pwg/building_state.xml:
12168           Add some stuff about how to retrieve values from structures, how
12169           that relates to types and change layout slightly again to be almost
12170           perfect.
12171
12172 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12173
12174         * docs/pwg/advanced_dparams.xml:
12175         * docs/pwg/advanced_scheduling.xml:
12176           Change index layout slightly.
12177
12178 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12179
12180         * docs/pwg/advanced_clock.xml:
12181         * docs/pwg/advanced_interfaces.xml:
12182         * docs/pwg/advanced_midi.xml:
12183           General placeholders for now.
12184         * docs/pwg/advanced_request.xml:
12185           Explanation about sometimes and request pads.
12186         * docs/pwg/advanced_scheduling.xml:
12187           Concept of bytestream, loopfunctions and schedulers.
12188         * docs/pwg/building_boiler.xml:
12189           Add something about plugin-init.
12190
12191 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12192
12193         * docs/pwg/building_pads.xml:
12194           Fix broken docbook
12195
12196 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12197
12198         * docs/pwg/advanced_interfaces.xml:
12199         * docs/pwg/pwg.xml:
12200           Add as a placeholder for future filling-in.
12201         * docs/pwg/basics_autoplugging.xml:
12202         * docs/pwg/basics_buffers.xml:
12203         * docs/pwg/basics_elements.xml:
12204         * docs/pwg/basics_events.xml:
12205         * docs/pwg/basics_plugins.xml:
12206         * docs/pwg/basics_types.xml:
12207           Remove, because unused (this is all in intro_basics.xml).
12208         * docs/pwg/building_signals.xml:
12209           Short intro to signals + reference to GObject docs - we really
12210           shouldn't go into these sort of things to deply because we don't
12211           use them that extensively anyway.
12212         * docs/pwg/building_state.xml:
12213           Explanation of states. Benjamin, please check.
12214         * docs/pwg/building_testapp.xml:
12215           Put everything in one page - putting only a few lines of content
12216           per page doesn't really make sense.
12217
12218           Time to get into the advanced topics. ;).
12219
12220 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12221
12222         * docs/pwg/advanced_types.xml:
12223           Finish documenting the current state of mimetypes.
12224         * docs/pwg/building_boiler.xml:
12225         * docs/pwg/building_chainfn.xml:
12226         * docs/pwg/building_pads.xml:
12227         * docs/pwg/building_props.xml:
12228         * docs/pwg/building_testapp.xml:
12229           Start documenting the "how to build a simple audio filter" part
12230           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12231           states and (maybe?) a short introduction to capsnego in the chapter
12232           on pads (building_pads.xml). Capsnego should probably be explained
12233           fully in advanced_capsnego.xml or so.
12234
12235 2004-01-26  David Schleef  <ds@schleef.org>
12236
12237         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12238         * gst/gstpad.h: Add new function to allow element to (somewhat)
12239         specify non-fixed caps on a pad.
12240         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12241         that I added a few weeks ago.
12242
12243 2004-01-26  David Schleef  <ds@schleef.org>
12244
12245         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12246           making try_set_caps() work with non-fixed caps.
12247
12248 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12249
12250         * docs/pwg/advanced_types.xml:
12251         * docs/pwg/intro_basics.xml:
12252         * docs/pwg/intro_preface.xml:
12253         * docs/pwg/pwg.xml:
12254         * docs/pwg/titlepage.xml:
12255           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12256           in here (docs/random/mimetypes), and will from there on work on both
12257           updating outdated parts and adding missing parts.
12258           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12259
12260 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12261
12262         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12263           policy is set
12264
12265 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12266
12267         * gst/gstelement.h:
12268           remove gst_element_factory_get_version. It doesn't exist anymore.
12269         * gst/gstplugin.c:
12270         * gst/gstplugin.h:
12271           remove gst_plugin_set_name and change gst_plugin_get_longname to
12272           gst_plugin_get_description to match code.
12273         * gst/gsterror.h:
12274           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12275         * gst/gstpad.c: (gst_pad_try_set_caps):
12276           make it work with nonfixed caps.
12277           Note that even in the nonfixed case the link function of the pad
12278           that tries to set caps isn't called.
12279
12280 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12281
12282         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12283           fix bug where buffer was not assembled correctly
12284         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12285           silence by default
12286         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12287           only seek if there's no more buffers that could work without seeking
12288
12289 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12290
12291         * gst/gsttag.c: (_gst_tag_initialize):
12292         * gst/gsttag.h:
12293           Add application tag (for encoding/muxing app).
12294
12295 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12296
12297         * autogen.sh:
12298           make autopoint force, and libtoolize not copy
12299         * common/m4/as-docbook.m4:
12300           added docbook xml catalog setup check
12301         * common/m4/gst-doc.m4:
12302           use docbook check
12303
12304 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12305
12306         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12307         * gst/gsttag.h:
12308           add GstTagFlag
12309
12310 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12311
12312         * docs/gst/gstreamer-sections.txt:
12313         * docs/gst/tmpl/gst.sgml:
12314         * docs/gst/tmpl/gstbuffer.sgml:
12315         * docs/gst/tmpl/gstclock.sgml:
12316         * docs/gst/tmpl/gstelement.sgml:
12317         * docs/gst/tmpl/gstreamer-unused.sgml:
12318         * docs/gst/tmpl/gstxml.sgml:
12319           sync latest API changes to docs
12320
12321 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12322
12323         * gst/gstpluginfeature.c:
12324           fix doc snippet
12325         * tools/gst-inspect.c: (print_element_list):
12326           fix output of typefind
12327           add GPL header
12328         * tools/gst-launch.c:
12329           add GPL header
12330
12331 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12332
12333         * gst/elements/Makefile.am:
12334         * gst/elements/gstelements.c:
12335         * gst/elements/gsttypefindelement.c:
12336         * gst/elements/gsttypefindelement.h:
12337         * po/POTFILES.in:
12338         * po/fr.po:
12339         * po/nl.po:
12340           renamed gsttypefindelement to gsttypefind, conserving CVS history
12341
12342 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12343
12344         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12345         * gst/gsttag.h:
12346           add some tags used in ogg as well
12347           fix _ in replaygain tags
12348
12349 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12350
12351         * gst/gsterror.h:
12352           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12353
12354 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12355
12356         * gst/gstelement.c: (gst_element_error_full):
12357         * gst/gstelement.h:
12358           change _extended to _full
12359
12360 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12361
12362         reviewed by: <delete if not using a buddy>
12363
12364         * docs/gst/tmpl/gst.sgml:
12365         * docs/gst/tmpl/gstbuffer.sgml:
12366         * docs/gst/tmpl/gstclock.sgml:
12367         * docs/gst/tmpl/gstelement.sgml:
12368         * docs/gst/tmpl/gstreamer-unused.sgml:
12369         * docs/gst/tmpl/gstxml.sgml:
12370         * gst/gstelement.c: (gst_element_error_full):
12371         * gst/gstelement.h:
12372
12373 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12374
12375         * gst/gstelement.h: fix _gst_element_error_printf prototype
12376
12377 2004-01-20  David Schleef  <ds@schleef.org>
12378
12379         * gst/gststructure.c: (gst_structure_to_string):
12380         Convert function to use gst_value_serialize().
12381         * gst/gstvalue.c: (gst_value_serialize_list),
12382         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12383         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12384         (gst_value_serialize_int), (gst_value_serialize_double),
12385         (gst_string_wrap), (gst_value_serialize_string),
12386         (gst_value_serialize), (gst_value_deserialize):
12387         * gst/gstvalue.h:
12388         Add implementations for serialize.
12389
12390 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12391
12392         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12393         we want to keep that one in the future or change xvidenc.c to use 
12394         another error.
12395
12396 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12397
12398         * gst/gstelement.c: (_gst_element_error_printf):
12399         * gst/gstelement.h:
12400           privatise function
12401
12402 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12403
12404         * docs/random/error:
12405           doc explaining error system
12406         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12407           cleanup
12408
12409 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12410
12411         * gst/gst-i18n-app.h:
12412         * gst/gst-i18n-lib.h:
12413           remove inclusion of config.h
12414         * po/POTFILES.in:
12415         * po/nl.po:
12416           add gst/gstelement.c
12417
12418 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12419
12420         * po/nl.po: updated Dutch translation
12421
12422 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12423
12424         * gst/gsterror.c: (_gst_core_errors_init),
12425         (_gst_library_errors_init), (_gst_resource_errors_init),
12426         (_gst_stream_errors_init):
12427         remove ending punctuation dots
12428
12429 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12430
12431         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12432         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12433         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12434         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12435         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12436         use GST_ERROR_SYSTEM
12437
12438 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12439
12440         * gst/gstelement.c: (gst_element_error_printf),
12441         (gst_element_error_extended):
12442         * gst/gstelement.h:
12443           add a helper printf function so we can have NULL values passed.
12444
12445 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12446
12447         * gst/gstelement.h:
12448           add G_STMT macros to gst_element_error, which isn't strictly
12449           necessary but people tell me to anyway.
12450
12451 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12452
12453         * gst/Makefile.am:
12454         * gst/autoplug/gstspideridentity.c:
12455         (gst_spider_identity_sink_loop_type_finding):
12456         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12457         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12458         (gst_filesink_close_file), (gst_filesink_handle_event),
12459         (gst_filesink_chain):
12460         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12461         (gst_filesrc_map_region), (gst_filesrc_get_read),
12462         (gst_filesrc_open_file):
12463         * gst/elements/gstidentity.c: (gst_identity_chain):
12464         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12465         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12466         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12467         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12468         * gst/gst.h:
12469         * gst/gst_private.h:
12470         * gst/gstelement.c: (gst_element_class_init),
12471         (gst_element_default_error), (gst_element_error_func),
12472         (gst_element_error_extended):
12473         * gst/gstelement.h:
12474         * gst/gsterror.c: (_gst_core_errors_init),
12475         (_gst_library_errors_init), (_gst_resource_errors_init),
12476         (_gst_stream_errors_init), (gst_error_get_message):
12477         * gst/gsterror.h:
12478         * gst/gstinfo.c: (_gst_debug_init):
12479         * gst/gstmarshal.list:
12480         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12481         (gst_pad_recover_caps_error), (gst_pad_pull):
12482         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12483         * gst/schedulers/gstbasicscheduler.c:
12484         (gst_basic_scheduler_chainhandler_proxy),
12485         (gst_basic_scheduler_gethandler_proxy),
12486         (gst_basic_scheduler_cothreaded_chain):
12487         * po/POTFILES.in:
12488         * po/fr.po:
12489         * po/nl.po:
12490           change error signal
12491           add error categories
12492
12493 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12494
12495         * gst/gsttag.c: (_gst_tag_initialize):
12496         * gst/gsttag.h:
12497         Add replaygain tag
12498
12499 2004-01-18  Colin Walters  <walters@verbum.org>
12500
12501         * examples/retag/retag.c: Call gst_init before processing
12502         program args.  Add g_assert to _link_many call.
12503
12504 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12505
12506         * gst/gstpad.c: (gst_pad_alloc_buffer):
12507           Return a newly allocated buffer when the pad has no peer.
12508
12509 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12510
12511         * gst/gstclock.c: (gst_clock_get_time):
12512           make it compile with gcc 2.95 again.
12513           Patch by Scott Wheeler
12514
12515 2004-01-15  David Schleef  <ds@schleef.org>
12516
12517         * gst/gstcaps.h:
12518         Added gst_caps_is_simple() macro.
12519         * testsuite/caps/caps.c: (test1):
12520         * testsuite/caps/intersect2.c: (main):
12521         * testsuite/caps/intersection.c: (main):
12522         Fixes to make 'make check' work again after removing
12523         gst_caps_is_chained().
12524
12525 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12526
12527         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12528         and additions to the MIDI document.
12529
12530 2004-01-15  David Schleef  <ds@schleef.org>
12531
12532         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12533         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12534         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12535
12536 2004-01-15  David Schleef  <ds@schleef.org>
12537
12538         * gst/gstqueue.c:
12539         * gst/gstqueue.h:
12540         Fix the spelling of "treshold" and make min_threshold actually
12541         affect the queue.
12542
12543 2004-01-15  David Schleef  <ds@schleef.org>
12544
12545         * gst/gstcaps.c:
12546         Add lots of documentation.
12547         * gst/gstcaps.h:
12548         Deprecate a few functions.
12549         * gst/gstpad.c:
12550         Removed use of deprecated functions.
12551
12552 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12553
12554         * gst/gstpad.c: (gst_pad_is_linked):
12555         * gst/gstpad.h:
12556           implement gst_pad_is_linked
12557         * gst/gstelement.h:
12558           reserve space for initiate_state_change
12559
12560 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12561
12562         * gst/autoplug/gstspideridentity.c:
12563         (gst_spider_identity_sink_loop_type_finding):
12564           break infinite loop by just returning instead of looping
12565         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12566           set event time difference correctly. Set it to 1 second instead
12567           of 100ms to be more tolerant
12568         * gst/gstelement.c: (gst_element_set_time):
12569           add debugging output
12570
12571 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12572
12573         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12574           query if buffers are inside the pool, ignore events
12575
12576 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12577
12578         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12579         (gst_clock_set_speed), (gst_clock_set_active),
12580         (gst_clock_is_active), (gst_clock_reset),
12581         (gst_clock_handle_discont):
12582         * gst/gstclock.h:
12583           deprecate old interface and disable functions that aren't in use
12584           anymore.
12585         * gst/gstelement.h:
12586         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12587         (gst_element_set_time), (gst_element_adjust_time):
12588           add concept of "element time" and functions to get/set this time.
12589         * gst/gstelement.c: (gst_element_change_state):
12590           update element time correctly.
12591         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12592           This is a debug message, not a g_critical.
12593         * gst/gstpad.c: (gst_pad_event_default):
12594           handle discontinuous events right with element time.
12595         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12596           update to clocking fixes.
12597           set clocks on elements in READY=>PAUSED. The old behaviour caused
12598           a wrong element time on the first element that started playing.
12599         * gst/schedulers/gstbasicscheduler.c:
12600         (gst_basic_scheduler_class_init):
12601         * gst/schedulers/gstoptimalscheduler.c:
12602         (gst_opt_scheduler_class_init):
12603           remove code that just implements the default behaviour.
12604         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12605           update to use new clocking functions
12606         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12607         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12608           update to test new element time.
12609         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12610           use _get_allowed_caps instead of _get_caps. This catches filtered
12611           caps correctly.
12612         * testsuite/debug/commandline.c:
12613           update for new GST_DEBUG syntax.
12614         * testsuite/threads/Makefile.am:
12615           disable a test that only works sometimes.
12616
12617 2004-01-13  Julien MOUTTE <julien@moutte.net>
12618
12619         * po/LINGUAS: Adding fr.
12620         * po/fr.po: Adding french translation.
12621
12622 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * gst/parse/grammar.y:
12625         * po/POTFILES.in:
12626         * po/nl.po:
12627         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12628           translate parsing error messages
12629
12630 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12631
12632         * po/POTFILES.in: adding gst-launch
12633         * po/nl.po: updated translation, all 99 strings translated
12634         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12635         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12636           fix strings for translation
12637
12638 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12639
12640         * gst/gst.c:
12641           - capitalize beginnings of popt options
12642           - fix strings for translation
12643           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12644
12645 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12646
12647         * po/README: add some notes on how to update translations
12648
12649 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12650
12651         * ABOUT-NLS: removed, is autogenerated from autopoint
12652         * autogen.sh: add autopoint stuff
12653         * configure.ac: fix up gettext stuff
12654         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12655         * gst/elements/gsttypefindelement.c: add header include
12656         * gst/gettext.h: add header, copy from system-installed header
12657         * gst/gst-i18n-app.h: to be included by each app having translations
12658         * gst/gst-i18n-lib.h: to be included by each lib having translations
12659         * gst/gst.c: (init_pre): fix up gettext calls
12660         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12661         * po/LINGUAS: the new way to specify translations present
12662         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12663         * po/Makevars: the variables filled in for GStreamer
12664         * po/POTFILES.in: added new files with translations
12665         * po/de.po: has new strings
12666         * po/nl.po: readded, has new strings
12667
12668 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12669
12670         * gst/gsttag.c: fix some strings marked for translation
12671
12672 2004-01-13  Iain <iain@prettypeople.org>
12673
12674         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12675         group when we add an element to it, cos we unref it when we remove one
12676
12677 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12678
12679         * testsuite/debug/commandline.c: (debug_not_reached):
12680         * testsuite/debug/output.c: (check_message):
12681           fix testsuite
12682
12683 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12684
12685         * examples/cutter/.cvsignore:
12686         * examples/helloworld/.cvsignore:
12687         * examples/launch/.cvsignore:
12688         * examples/manual/.cvsignore:
12689         * examples/mixer/.cvsignore:
12690         * examples/pingpong/.cvsignore:
12691         * examples/plugins/.cvsignore:
12692         * examples/queue/.cvsignore:
12693         * examples/queue2/.cvsignore:
12694         * examples/queue3/.cvsignore:
12695         * examples/queue4/.cvsignore:
12696         * examples/retag/.cvsignore:
12697         * examples/thread/.cvsignore:
12698         * examples/typefind/.cvsignore:
12699         * examples/xml/.cvsignore:
12700         * gst/.cvsignore:
12701         * gst/autoplug/.cvsignore:
12702         * gst/elements/.cvsignore:
12703         * gst/indexers/.cvsignore:
12704         * gst/parse/.cvsignore:
12705         * gst/registries/.cvsignore:
12706         * gst/schedulers/.cvsignore:
12707         * libs/gst/bytestream/.cvsignore:
12708         * libs/gst/control/.cvsignore:
12709         * libs/gst/getbits/.cvsignore:
12710         * tests/.cvsignore:
12711         * tests/bufspeed/.cvsignore:
12712         * tests/instantiate/.cvsignore:
12713         * tests/memchunk/.cvsignore:
12714         * tests/muxing/.cvsignore:
12715         * tests/sched/.cvsignore:
12716         * tests/seeking/.cvsignore:
12717         * tests/threadstate/.cvsignore:
12718         * testsuite/.cvsignore:
12719         * testsuite/caps/.cvsignore:
12720         * testsuite/cleanup/.cvsignore:
12721         * testsuite/dynparams/.cvsignore:
12722         * testsuite/plugin/.cvsignore:
12723         * tools/.cvsignore:
12724           update - this is huge, because it includes *.bb, *.bbg and *.da files
12725           which are generated for gcov.
12726
12727 2004-01-11  David Schleef  <ds@schleef.org>
12728
12729         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12730         a function to parse integers in ways that strto[u]l() does not.
12731
12732 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12733
12734         * tools/gst-inspect.c: (print_caps):
12735           improve output of caps a bit
12736
12737 2004-01-11  David Schleef  <ds@schleef.org>
12738
12739         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12740         inherit correct flags (READONLY and DONTKEEP).
12741
12742 2004-01-11  David Schleef  <ds@schleef.org>
12743
12744         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12745         (gst_filesrc_map_region):
12746         * gst/gstbuffer.c: (_gst_buffer_initialize),
12747         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12748         (gst_buffer_new), (gst_buffer_create_sub),
12749         (gst_buffer_is_span_fast), (gst_buffer_span):
12750         * gst/gstbuffer.h:
12751         Change GstBuffer private structure element names. (all files)
12752         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12753         (gst_queue_link):
12754         * gst/gstqueue.h:
12755         Implement getcaps/pad_link functions that handle the case where
12756         there are data in the queue.
12757
12758 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12759
12760         * gst/elements/gstbufferstore.c:
12761           initialize debugging structure correctly
12762         * gst/elements/gsttee.c: (gst_tee_set_property):
12763           g_object_notify when property was changed
12764         * gst/elements/gsttypefindelement.c:
12765         (gst_type_find_element_change_state):
12766           clear caps correctly
12767
12768 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12769
12770         * gst/gstqueue.c: (gst_queue_init):
12771           Use better defaults for when a queue should block. This
12772           gets rid of jerky playback for quite a few files.
12773           It takes more memory.
12774
12775 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12776
12777         (gst_xml_registry_parse_padtemplate):
12778           make critical message slightly more useful
12779
12780 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12781
12782         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12783         (gst_debug_message_get), (gst_debug_log_default):
12784         * gst/gstinfo.h:
12785           Change gst_debug_log(_valist) to take a const format string.
12786           Change prototype of log function and functions using those to 
12787           take a GstDebugMessage instead of a string that requires using
12788           gst_debug_message_get.
12789
12790 2004-01-08  David Schleef  <ds@schleef.org>
12791
12792         * Makefile.am:
12793         * configure.ac:
12794         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12795         and -ftest-coverage, which allows gcov to show information about
12796         testsuite coverage.
12797
12798 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12799
12800         * gst/gstutils.h:
12801           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12802           GST_PARENT_CALL_WITH_DEFAULT
12803         * gst/elements/gstaggregator.c: 
12804         * gst/elements/gstbufferstore.c: 
12805         * gst/elements/gstfakesink.c: 
12806         * gst/elements/gstfakesrc.c: 
12807         * gst/elements/gstfdsink.c: 
12808         * gst/elements/gstfdsrc.c: 
12809         * gst/elements/gstfilesink.c: 
12810         * gst/elements/gstfilesrc.c: 
12811         * gst/elements/gstidentity.c: 
12812         * gst/elements/gstmd5sink.c: 
12813         * gst/elements/gstmultidisksrc.c:
12814         * gst/elements/gstpipefilter.c: 
12815         * gst/elements/gstshaper.c:
12816         * gst/elements/gststatistics.c:
12817         * gst/elements/gsttee.c:
12818         * gst/elements/gsttypefindelement.c:
12819           use them.
12820
12821 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12822
12823         * docs/gst/gstreamer-docs.sgml: remove props
12824         * docs/gst/gstreamer-sections.txt: remove props
12825         * docs/gst/tmpl/gst.sgml:
12826         * docs/gst/tmpl/gstbin.sgml:
12827         * docs/gst/tmpl/gstbuffer.sgml:
12828         * docs/gst/tmpl/gstcaps.sgml:
12829         * docs/gst/tmpl/gstclock.sgml:
12830         * docs/gst/tmpl/gstelement.sgml:
12831         * docs/gst/tmpl/gstindex.sgml:
12832         * docs/gst/tmpl/gstobject.sgml:
12833         * docs/gst/tmpl/gstpad.sgml:
12834         * docs/gst/tmpl/gstpadtemplate.sgml:
12835         * docs/gst/tmpl/gstreamer-unused.sgml:
12836         * docs/gst/tmpl/gstthread.sgml:
12837         * docs/gst/tmpl/gstxml.sgml:
12838           sync with code reorganization
12839
12840 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12841
12842         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12843         Make the 'Could not find compatible pad' message more informative.
12844
12845 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12846                                                                                 
12847         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12848           Fix for if we pass NULL as property to location.
12849         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12850         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12851           Fix for instantiate-test (see below).
12852         * gst/gststructure.c: (_gst_structure_parse_value):
12853           Fix compile error on gcc-2.96.
12854         * configure.ac:
12855         * tests/Makefile.am:
12856         * tests/instantiate/Makefile.am:
12857         * tests/instantiate/create.c: (create_all_elements), (main):
12858           Add a test that instantiates all elements. This makes it easy to
12859           track dead code for old API/design (like setting event functions
12860           on sink pads and so on).
12861
12862 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12863
12864         * gst/gstcaps.c: (gst_caps_append_structure):
12865           Move the poisoning to allow a NULL structure
12866         * gst/gstevent.c: (_gst_event_free):
12867           When freeing a navigation event, free the structure
12868           also
12869
12870 2004-01-04  David Schleef  <ds@schleef.org>
12871
12872         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12873         Remove usage of gst_pad_proxy_fixate.
12874         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12875         (gst_caps_split_one), (gst_caps_replace):
12876         Add poisoning code.
12877         * gst/gstmarshal.list:
12878         Add pointer__pointer for fixate signal
12879         * gst/gstpad.c: (gst_real_pad_class_init),
12880         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12881         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12882         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12883         Add poisoning code. Add fixate signal on RealPad. Change
12884         set_explicit_caps() to take const GstCaps, like try_set_caps().
12885         * gst/gstpad.h:
12886         * testsuite/caps/Makefile.am:
12887         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12888
12889 2004-01-03  David Schleef  <ds@schleef.org>
12890
12891         * gst/elements/gsttypefindelement.c:
12892         (gst_type_find_element_have_type), (gst_type_find_element_init):
12893         Use gst_pad_use_explicit_caps for src pad.
12894         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12895         before using it.
12896
12897 2004-01-03  David Schleef  <ds@schleef.org>
12898
12899         * gst/gstelement.c: (gst_element_link_pads_filtered),
12900         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12901         that linking was successful.
12902         * gst/gstpad.c: (gst_pad_link_free),
12903         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12904         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12905         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12906         GstPadLinkReturn correctly between functions, and don't fail
12907         when DELAYED is used (DELAYED is very important).  Better
12908         cleanup on unlinking and unnegotiation.  Should fix some spider
12909         bugs.
12910
12911 2004-01-02  David Schleef  <ds@schleef.org>
12912
12913         * gst/gstelement.c: (gst_element_class_init),
12914         (gst_element_base_class_init): ->padtemplates should be cleared
12915         in base_init, since we need to have a fresh list for every
12916         class.  (Alternately, we chould copy the list and share the
12917         actual pad templates (not the list), but that would require
12918         changing every plugin to move pad template registration from
12919         base_init to class_init.)
12920
12921 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12922
12923         * gst/gstelement.c: (gst_element_class_add_pad_template):
12924           Refuse registering a pad template if another pad template
12925           with the same name already exists (#114715).
12926
12927 2004-01-02  David Schleef  <ds@schleef.org>
12928
12929         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12930         (gst_caps_is_equal_fixed): Add new function.
12931         * gst/gstcaps.h: ditto.
12932         * gst/gstpad.c: (gst_real_pad_class_init),
12933         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12934         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12935         check new caps against existing caps -- if they're the same, return
12936         OK without renegotiating.  caps-nego-failed signal fixed so that
12937         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12938         to save an extra caps copy.  Don't complete negotiation if a pad
12939         link function returns DELAYED.
12940
12941 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12942
12943         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12944           Fix wrong g_return_if_fail
12945
12946 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12947
12948         * gst/gstbin.c: (gst_bin_class_init):
12949         Change the marshalling of element_added/element_removed
12950         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12951         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12952
12953 2004-01-01  David Schleef  <ds@schleef.org>
12954
12955         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12956         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12957         (gst_pad_use_explicit_caps):
12958         * gst/gstpad.h:
12959         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12960         to use an internal getcaps and link fuction so that negotiation
12961         always results in the explicitly set caps.
12962         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12963         are particularly useful for decoders.
12964
12965 2003-12-31  David Schleef  <ds@schleef.org>
12966
12967         * gst/elements/gstidentity.c: (gst_identity_class_init),
12968         (gst_identity_init), (gst_identity_chain),
12969         (gst_identity_set_property), (gst_identity_get_property):
12970         * gst/elements/gstidentity.h:
12971         * gst/gstqueue.c: (gst_queue_init):
12972           Negotiation fixes.
12973
12974 2003-12-31  David Schleef  <ds@schleef.org>
12975
12976         * gst/gstcaps.c: (gst_caps_intersect),
12977         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12978           Implement gst_caps_normalize().
12979         * testsuite/caps/normalisation.c: (main):
12980           Add an additional test
12981
12982 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12983
12984         * gst/gstqueue.c: (gst_queue_init):
12985           use gst_pad_proxy_getcaps()
12986
12987 2003-12-31  David Schleef  <ds@schleef.org>
12988
12989         * gst/elements/gstshaper.c: (gst_shaper_link):
12990         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12991         * gst/gstqueue.c: (gst_queue_link):
12992           Negotiation fixes.
12993
12994 2003-12-31  David Schleef  <ds@schleef.org>
12995
12996         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12997         * gst/gstpad.h: Add functions that are useful as default pad
12998         link and fixate functions for elements.
12999
13000 2003-12-30  David Schleef  <ds@schleef.org>
13001
13002         * gst/gstpad.c: (gst_pad_link_try):
13003           Fix segfault when attempting to return to old caps
13004
13005 2003-12-29  David Schleef  <ds@schleef.org>
13006
13007         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13008         (gst_caps_structure_simplify), (gst_caps_simplify):
13009         * gst/gstcaps.h:
13010           Add simplify function
13011         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13012         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13013         * gst/gstpad.h:
13014           Copy over srcnotify, sinknotify when calling old pad_link
13015           functions.  Add new is_negotiated() function.
13016         * gst/gststructure.c: (gst_structure_copy):
13017           Fix an incredibly stupid bug that should have been noticed
13018           weeks ago.  _copy() returned the argument, not the new copy.
13019
13020 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13021
13022         * gst/gstcaps.c: (gst_caps_append):
13023           add sanity checks
13024         * gst/gstcaps.h: (gst_caps_debug):
13025           remove, it doesn't exist anymore.
13026         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13027         (gst_element_threadsafe_properties_post_run):
13028           make debugging messages not clutter up THREAD debug category
13029         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13030         (gst_element_change_state):
13031           update to new caps API
13032         * gst/gstinterface.c: (gst_implements_interface_cast):
13033           don't put vital code in g_return_if_fail
13034         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13035         (gst_pad_link_filtered):
13036           add pst_pad_try_link and use it.
13037         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13038           implement correctly, deprecate first one.
13039         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13040           add and implement.
13041         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13042           implement.
13043         (gst_pad_get_negotiated_caps):
13044           add and implement. Make GST_PAD_CAPS call this function.
13045         (gst_pad_get_caps):
13046           remove unneeded check..
13047         (gst_pad_recover_caps_error):
13048           disable, always return FALSE.
13049         (gst_real_pad_dispose):
13050           don't free caps and appfilter anymore, they're unused.
13051         * gst/gstpad.h:
13052           Reflect changes mentioned above.
13053         * gst/gstsystemclock.c: (gst_system_clock_wait):
13054           Make 'clock is way behind' a debugging message.
13055         * gst/gstthread.c: (gst_thread_change_state):
13056           Fix debugging message
13057
13058 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13059
13060         * gst/gstinfo.h:
13061           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13062         * docs/gst/tmpl/gstreamer-unused.sgml:
13063           removed all traces of cvs conflicts
13064
13065 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13066
13067         * configure.ac:
13068         * gst/schedulers/cothreads_compat.h:
13069         * libs/Makefile.am:
13070           remove last instances of wingo cothread usage
13071
13072 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13073
13074         * gst/gstplugin.c:
13075         * gst/gstversion.h.in:
13076         * gst/parse/grammar.y:
13077           change comment block from /** to /* when not gtk-doc comments
13078
13079 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13080
13081         * gst/gst.c: whitespace and doc style fixes
13082
13083 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13084
13085         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13086
13087 2003-12-24  Colin Walters  <walters@verbum.org>
13088
13089         * gst/elements/gsttypefindelement.c:
13090           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13091           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13092           Don't double-free caps.
13093
13094 2003-12-23  David Schleef  <ds@schleef.org>
13095
13096         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13097           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13098           Many little fixes and additions of debug statements to
13099           get rhythmbox working.
13100
13101 2003-12-23  Colin Walters  <walters@verbum.org>
13102
13103         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13104         Use GST_PAD_LINK_SUCCESSFUL.
13105
13106 2003-12-23  David Schleef  <ds@schleef.org>
13107
13108         * gst/elements/gstaggregator.c:
13109         * gst/elements/gsttee.c:
13110           Use gst_pad_proxy_getcaps().
13111         * gst/gstpad.c:
13112         * gst/gstpad.h:
13113           Add gst_pad_proxy_getcaps(), which filter elements can use
13114           as a generic getcaps implementation.
13115           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13116           was advertised.
13117
13118 2003-12-23  David Schleef  <ds@schleef.org>
13119
13120         * gst/gstpad.c:
13121           Rearrange/rewrite much of the pad negotiation code, since it
13122           resembled pasta.  This actually changes the way some
13123           negotiation works, since the previous code was inconsistent
13124           depending on how it was invoked.  Add (internal) structure
13125           GstPadLink, which is used to hold some information (more in
13126           the future) about the link between two pads.  Fixes a number
13127           of bugs, including random lossage of filter caps when the
13128           initial negotiation is delayed.  A few functions are still
13129           unimplemented.
13130         * gst/gstpad.h:
13131           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13132           these when testing GstPadLinkReturn values instead of comparing
13133           directly.
13134
13135 2003-12-23  David Schleef  <ds@schleef.org>
13136
13137         * gst/gstvalue.c: 
13138         * gst/gstvalue.h:
13139           Rearrange lots of code.  Change registration of compare function
13140           into registration of compare/serialize/deserialize functions.
13141           Doesn't include implementation of gst_value_[de]serialize(),
13142           but that should be easy.
13143
13144 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13145
13146         * docs/gst/gstreamer-sections.txt:
13147         * docs/gst/tmpl/gstprops.sgml: removed
13148         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13149           David removed props and caps code, so let's remove their docs as well.
13150           Removed all no longer existing symbols from gstreamer-sections.txt
13151           
13152 2003-12-22  Colin Walters  <walters@verbum.org>
13153
13154         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13155           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13156           of tags directly.
13157
13158 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13159
13160         * gst/elements/gstelements.c:
13161           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13162         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13163           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13164           gst_caps (peer).
13165
13166 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13167
13168         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13169         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13170         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13171         (gst_spider_identity_sink_loop_type_finding):
13172         * gst/autoplug/gstspideridentity.h:
13173           Fix autoplugging in spider element, so it works with new caps.
13174           This was mainly caused by identifying empty caps incorrectly.
13175
13176 2003-12-22  David Schleef  <ds@schleef.org>
13177
13178         * gststructure.c, gstvalue.c, gstvalue.h: Add
13179           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13180           using g_value_copy()
13181
13182 2003-12-21  David Schleef  <ds@schleef.org>
13183
13184         * many, many files: Merge CAPS branch.  This includes:
13185           - implemention of GstValue and several GstValue types
13186           - implemention of GstStructure
13187           - entire rewrite of GstCaps
13188           - removal of GstProps
13189           - many changes to GstPad to compensate for new caps paradigm
13190           - removal of GstBufferpool
13191         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13192         gstvalue.h, gst/gstcaps[2]*.[ch]:
13193           - rename gstcaps2.[ch] to gstcaps.[ch]
13194
13195 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13196
13197         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13198         (gst_queue_chain), (gst_queue_handle_src_event):
13199           implement timeout for sending events. Workaround for if the
13200           pipeline on this queue is not passing any data.
13201
13202 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13203                                                                                 
13204         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13205         * moved CVS to freedesktop.org
13206