gst/gstmessage.*: Added a bunch of messages for advanced seeking.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-20  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstmessage.c: (gst_message_new_segment_start),
4         (gst_message_new_segment_done), (gst_message_parse_segment_start),
5         (gst_message_parse_segment_done):
6         * gst/gstmessage.h:
7         Added a bunch of messages for advanced seeking.
8
9         * gst/parse/grammar.y:
10         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11         (gst_dpman_state_changed):
12         Fix some new-pad -> pad-added signals
13
14 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15
16         * docs/manual/appendix-porting.xml:
17         * docs/pwg/appendix-porting.xml:
18           Document new-pad/state-change signal renames and the FixedList
19           type rename.
20
21 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22
23         * docs/manual/advanced-autoplugging.xml:
24         * docs/manual/basics-helloworld.xml:
25         * docs/manual/basics-pads.xml:
26         * docs/random/ds/0.9-suggested-changes:
27         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
28         * gst/gstelement.h:
29         * gst/gstevent.h:
30         * gst/gstformat.h:
31         * gst/gstquery.h:
32         * gst/gststructure.c: (gst_structure_value_get_generic_type),
33         (gst_structure_parse_array), (gst_structure_parse_value):
34         * gst/gstvalue.c: (gst_type_is_fixed),
35         (gst_value_list_prepend_value), (gst_value_list_append_value),
36         (gst_value_list_get_size), (gst_value_list_get_value),
37         (gst_value_transform_array_string), (gst_value_serialize_array),
38         (gst_value_deserialize_array), (gst_value_intersect_array),
39         (gst_value_is_fixed), (_gst_value_initialize):
40         * gst/gstvalue.h:
41           GstElement::new-pad -> pad-added, GstElement::state-change ->
42           state-changed, GstValueFixedList -> GstValueArray, add format and
43           flags as their own arguments in gst_element_seek() (should improve
44           "bindeability"), remove function generators since they don't work
45           under a whole bunch of compilers (they were deprecated already
46           anyway).
47
48 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
49
50         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
51         (_gst_debug_register_funcptr):
52         * gst/gstinfo.h:
53           Fix illegal cast on some platforms (#309253).
54
55 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
56
57         * gst/gstmessage.c: (gst_message_new_custom):
58         * gst/gstmessage.h:
59           Add _new_custom, make _new_application a macro to _new_custom.
60
61 2005-07-20  Wim Taymans  <wim@fluendo.com>
62
63         * gst/base/gstbasesrc.c: (gst_base_src_init),
64         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
65         * gst/base/gstbasesrc.h:
66         Add a gboolean to decide when to push out a discont.
67
68         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
69         (gst_queue_loop), (gst_queue_handle_src_query),
70         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
71         (gst_queue_set_property), (gst_queue_get_property):
72         Some cleanups.
73
74         * tests/threadstate/threadstate1.c: (main):
75         Make a thread test compile and run... very silly..
76
77
78 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
79
80         * docs/manual/appendix-porting.xml:
81           Mention removal of libgstgconf-0.9.la and existence of gconf
82           elements.
83
84 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
85
86         * docs/pwg/advanced-clock.xml:
87         * docs/pwg/appendix-porting.xml:
88         * docs/pwg/intro-preface.xml:
89         * docs/pwg/other-base.xml:
90         * docs/pwg/other-manager.xml:
91         * docs/pwg/other-nton.xml:
92         * docs/pwg/other-ntoone.xml:
93         * docs/pwg/other-oneton.xml:
94         * docs/pwg/pwg.xml:
95           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
96           demuxer), remove n-to-n (was never written), fix some code examples
97           and links and update the porting section to include all this.
98
99 2005-07-19  Wim Taymans  <wim@fluendo.com>
100
101         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
102         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
103         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
104         (gst_queue_src_activate_push), (gst_queue_change_state),
105         (gst_queue_get_property):
106         * gst/gstqueue.h:
107         Propagate GstFlowReturn more intelligently upstream and output
108         an ERROR/EOS when streaming stopped due to fatal error.
109
110 2005-07-19  Wim Taymans  <wim@fluendo.com>
111
112         * tools/gst-launch.c: (check_intr), (event_loop), (main):
113         Don't block forever for the state change to complete, the
114         pipeline already did with a sensible timeout.
115
116 2005-07-19  Wim Taymans  <wim@fluendo.com>
117
118         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
119         Make sure we never call the create function is we
120         got deactivated.
121
122 2005-07-19  Andy Wingo  <wingo@pobox.com>
123
124         * gst/parse/parse.l: Attempt to solve bug #172815.
125
126 2005-07-19  Wim Taymans  <wim@fluendo.com>
127
128         * docs/design/part-clocks.txt:
129         * docs/design/part-events.txt:
130         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
131         Small docs updates.
132         Only update the seeking values when we are not
133         busy streaming.
134
135 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
136
137         * gst/base/gstbasesrc.c: (gst_base_src_loop):
138           Oops, ignore the result of gst_pad_push_event here.
139
140 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
141
142         * gst/base/gstbasesrc.c: (gst_base_src_loop),
143         (gst_base_src_activate_push):
144           Send discont event from the loop function, as pads
145           aren't activated yet in the activate_push handler.
146
147         * gst/gstbin.c: (bin_bus_handler):
148           Don't leak element name.
149
150 2005-07-18  Andy Wingo  <wingo@pobox.com>
151
152         * configure.ac: Use AS_LIBTOOL_TAGS.
153
154 2005-07-18  Wim Taymans  <wim@fluendo.com>
155
156         * docs/gst/gstreamer.types:
157         Remove deleted types.
158
159 2005-07-18  Wim Taymans  <wim@fluendo.com>
160
161         * check/elements/gstfakesrc.c: (GST_START_TEST):
162         * configure.ac:
163         * gst/Makefile.am:
164         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
165         (init_popt_callback):
166         * gst/gst.h:
167         * gst/gst_private.h:
168         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
169         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
170         * gst/gstbin.h:
171         * gst/gstbus.h:
172         * gst/gstconfig.h.in:
173         * gst/gstelement.c: (gst_element_class_init),
174         (gst_element_set_base_time), (gst_element_get_base_time),
175         (iterator_fold_with_resync), (gst_element_change_state),
176         (gst_element_dispose), (gst_element_get_bus):
177         * gst/gstelement.h:
178         * gst/gstelementfactory.h:
179         * gst/gsterror.c: (_gst_core_errors_init):
180         * gst/gsterror.h:
181         * gst/gstevent.h:
182         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
183         * gst/gstindex.c:
184         * gst/gstinfo.c: (_gst_debug_init):
185         * gst/gstmessage.c: (_gst_message_copy):
186         * gst/gstmessage.h:
187         * gst/gstminiobject.h:
188         * gst/gstobject.c:
189         * gst/gstobject.h:
190         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
191         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
192         * gst/gstpad.h:
193         * gst/gstparse.h:
194         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
195         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
196         (gst_pipeline_get_last_stream_time):
197         * gst/gstpipeline.h:
198         * gst/gstpluginfeature.h:
199         * gst/gstquery.h:
200         * gst/gstscheduler.c:
201         * gst/gstscheduler.h:
202         * gst/gststructure.h:
203         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
204         (gst_task_finalize), (gst_task_func), (gst_task_create),
205         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
206         (gst_task_stop), (gst_task_pause):
207         * gst/gsttask.h:
208         * gst/gsttypefind.h:
209         * gst/gsttypes.h:
210         * gst/registries/gstlibxmlregistry.c: (load_feature),
211         (gst_xml_registry_load), (gst_xml_registry_save_feature):
212         * gst/registries/gstxmlregistry.c:
213         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
214         * gst/schedulers/threadscheduler.c:
215         * libs/gst/control/dparammanager.h:
216         * tools/gst-inspect.c: (print_element_list),
217         (print_plugin_features), (print_element_features):
218         * tools/gst-xmlinspect.c: (print_element_list),
219         (print_plugin_info), (main):
220         Removed plugable schedulers.
221         Removed Scheduler/Manager from elements.
222         Removed gsttypes.h, rearranged includes.
223         Removed dependency pad<->element, element<>pipeline, and
224         various others,  fix includes.
225         implement gst_pad_get_parent() with gst_object_get_parent()
226         Make GstTask sefcontained.
227         Fix _get_state() on GstBin, it did not return ASYNC with a 0
228         timeout.
229         Fix endless loop in iterator_fold_with_resync.
230
231
232 2005-07-18  Wim Taymans  <wim@fluendo.com>
233
234         * gst/Makefile.am:
235         * gst/gstarch.h:
236         Remove old file.
237
238 2005-07-18  Wim Taymans  <wim@fluendo.com>
239
240         * gst/Makefile.am:
241         No more cothreads.h
242
243 2005-07-18  Wim Taymans  <wim@fluendo.com>
244
245         * gst/cothreads.c:
246         * gst/cothreads.h:
247         Let's remove these.
248
249 2005-07-18  Wim Taymans  <wim@fluendo.com>
250
251         * docs/design/part-dynamic.txt:
252         * docs/design/part-events.txt:
253         * docs/design/part-seeking.txt:
254         Some more docs in the works.
255
256         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
257         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
258         (gst_base_transform_setcaps), (gst_base_transform_get_size),
259         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
260         (gst_base_transform_handle_buffer),
261         (gst_base_transform_sink_activate_push),
262         (gst_base_transform_src_activate_pull),
263         (gst_base_transform_set_passthrough),
264         (gst_base_transform_is_passthrough):
265         Refcounting fixes.
266
267         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
268         Cleanups.
269
270         * gst/gstevent.c: (gst_event_finalize):
271         Set SRC to NULL.
272
273         * gst/gstutils.c: (gst_element_unlink),
274         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
275         (gst_pad_proxy_setcaps):
276         * gst/gstutils.h:
277         Add _get_parent_element() to get a pads parent as an element.
278
279 2005-07-18  Wim Taymans  <wim@fluendo.com>
280
281         * check/gst/gstbin.c: (GST_START_TEST):
282         Remove bogus test.
283
284 2005-07-18  Wim Taymans  <wim@fluendo.com>
285
286         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
287         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
288         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
289         (gst_base_sink_event), (gst_base_sink_do_sync),
290         (gst_base_sink_chain), (gst_base_sink_loop),
291         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
292         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
293         Refcounting fixes.
294         Fix logic for returning ASYNC when not prerolled.
295
296 2005-07-18  Wim Taymans  <wim@fluendo.com>
297
298         * gst/gstqueue.c: (gst_queue_handle_sink_event):
299         Fix nasty refcount bug.
300
301 2005-07-16 Philippe Khalaf <burger@speedy.org>
302         * gst/elements/gstfdsrc.c:
303         * gst/elements/gstfdsrc.h:
304         * gst/elements/gstelements.c:
305         * gst/elements/Makefile.am:
306         Ported fdsrc to 0.9.
307
308 2005-07-16  Wim Taymans  <wim@fluendo.com>
309
310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
311         (gst_base_sink_do_sync):
312         Fix compile error.
313
314 2005-07-16  Wim Taymans  <wim@fluendo.com>
315
316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
317         (gst_base_sink_event), (gst_base_sink_get_times),
318         (gst_base_sink_do_sync), (gst_base_sink_change_state):
319         * gst/base/gstbasesink.h:
320         Store and use discont values when syncing buffers as described
321         in design docs.
322         
323         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
324         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
325         (gst_base_src_activate_push):
326         Push discont event when starting.
327
328         * gst/elements/gstidentity.c: (gst_identity_transform):
329         Small cleanups.
330
331         * gst/gstbin.c: (gst_bin_change_state):
332         Small cleanups in base_time  distribution.
333
334         * gst/gstelement.c: (gst_element_set_base_time),
335         (gst_element_get_base_time), (gst_element_change_state):
336         * gst/gstelement.h:
337         Added methods for the base_time of the element.
338         Some MT fixes.
339
340         * gst/gstpipeline.c: (gst_pipeline_send_event),
341         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
342         (gst_pipeline_get_last_stream_time):
343         * gst/gstpipeline.h:
344         MT fixes.
345         Handle seeking as described in design doc, remove stream_time
346         hack.
347         Cleanups clock and stream_time selection code. Added accessors
348         for the stream_time.
349         
350
351 2005-07-16  Andy Wingo  <wingo@pobox.com>
352
353         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
354         (#305291).
355
356 2005-07-16  Wim Taymans  <wim@fluendo.com>
357
358         * check/gst/gstbin.c: (GST_START_TEST):
359         Make elements silent as the deep_notify refs the
360         parent, which might make the test fail.
361
362         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
363         Don't hold the lock for too long.
364
365 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
366
367         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
368           Don't unref the caps we passed to gst_caps_make_writable() after
369           passing them. gst_caps_make_writable() will do that for us.
370
371 2005-07-15  Andy Wingo  <wingo@pobox.com>
372
373         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
374         (#157311).
375
376         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
377         own marshalling function for the handoff signal. Properly type the
378         buffer as a buffer. Fixes some warnings. Should do a more general
379         solution.
380         (gst_identity_class_init): Plug into the right marshaller.
381
382 2005-07-15  Wim Taymans  <wim@fluendo.com>
383
384         * docs/design/part-TODO.txt:
385         * docs/design/part-clocks.txt:
386         * docs/design/part-element-sink.txt:
387         * docs/design/part-events.txt:
388         * docs/design/part-gstpipeline.txt:
389         Updated docs, mostly DISCONT related.
390
391 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
392
393         * docs/pwg/building-pads.xml:
394           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
395
396 2005-07-15  Andy Wingo  <wingo@pobox.com>
397
398         * tools/gst-typefind.c: Update, add copyright block.
399
400         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
401         Normalize and truncate caps before fixation.
402
403         * gst/gstcaps.h:
404         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
405         discards all but the first structure from its argument.
406
407 2005-07-15  Wim Taymans  <wim@fluendo.com>
408
409         * gst/base/gstbasetransform.c: (gst_base_transform_init),
410         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
411         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
412         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
413         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
414         (gst_base_transform_chain), (gst_base_transform_change_state),
415         (gst_base_transform_set_passthrough),
416         (gst_base_transform_is_passthrough):
417         * gst/base/gstbasetransform.h:
418         Make passthrough work using the bufferpools.
419         Changed API a bit, subclasses have to write into a buffer
420         provided by the base class.
421         More debug info in nego functions.
422         
423         * gst/elements/gstidentity.c: (gst_identity_init),
424         (gst_identity_transform):
425         Port to new base class.
426
427 2005-07-15  Wim Taymans  <wim@fluendo.com>
428
429         * gst/gstmessage.c: (gst_message_new_state_changed):
430         * tools/gst-launch.c: (event_loop), (main):
431         Totally dump messages in -launch with the -m option.
432         Fix message name for State messages,
433
434 2005-07-14  Wim Taymans  <wim@fluendo.com>
435
436         * gst/base/gstbasesrc.c: (gst_base_src_loop):
437         Post error messages on errors.
438
439 2005-07-14  Wim Taymans  <wim@fluendo.com>
440
441         * gst/gstcaps.c: (gst_caps_do_simplify):
442         Remove debug info.
443
444         * gst/gsterror.h:
445         Define error for stream stopped.
446
447         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
448         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
449         Do proper return values.
450
451         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
452         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
453         (gst_pad_get_range):
454         Better return values.
455
456         * gst/gstpad.h:
457         Reorganise return values, add macro to check for fatal errors.
458
459         * gst/gstqueue.c: (gst_queue_chain):
460         Return proper GstFlowReturn values,
461
462 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
463
464         * docs/gst/gstreamer-sections.txt:
465         * docs/gst/gstreamer.types:
466         * docs/gst/tmpl/gst.sgml:
467         * docs/gst/tmpl/gstbasesink.sgml:
468         * docs/gst/tmpl/gstbasesrc.sgml:
469         * docs/gst/tmpl/gstbasetransform.sgml:
470         * docs/gst/tmpl/gstbin.sgml:
471         * docs/gst/tmpl/gstbuffer.sgml:
472         * docs/gst/tmpl/gstcaps.sgml:
473         * docs/gst/tmpl/gstclock.sgml:
474         * docs/gst/tmpl/gstcompat.sgml:
475         * docs/gst/tmpl/gstconfig.sgml:
476         * docs/gst/tmpl/gstelement.sgml:
477         * docs/gst/tmpl/gstelementdetails.sgml:
478         * docs/gst/tmpl/gstelementfactory.sgml:
479         * docs/gst/tmpl/gstenumtypes.sgml:
480         * docs/gst/tmpl/gsterror.sgml:
481         * docs/gst/tmpl/gstevent.sgml:
482         * docs/gst/tmpl/gstfakesink.sgml:
483         * docs/gst/tmpl/gstfakesrc.sgml:
484         * docs/gst/tmpl/gstfilesink.sgml:
485         * docs/gst/tmpl/gstfilesrc.sgml:
486         * docs/gst/tmpl/gstfilter.sgml:
487         * docs/gst/tmpl/gstformat.sgml:
488         * docs/gst/tmpl/gstghostpad.sgml:
489         * docs/gst/tmpl/gstimplementsinterface.sgml:
490         * docs/gst/tmpl/gstindex.sgml:
491         * docs/gst/tmpl/gstindexfactory.sgml:
492         * docs/gst/tmpl/gstinfo.sgml:
493         * docs/gst/tmpl/gstiterator.sgml:
494         * docs/gst/tmpl/gstmacros.sgml:
495         * docs/gst/tmpl/gstmemchunk.sgml:
496         * docs/gst/tmpl/gstminiobject.sgml:
497         * docs/gst/tmpl/gstobject.sgml:
498         * docs/gst/tmpl/gstpad.sgml:
499         * docs/gst/tmpl/gstpadtemplate.sgml:
500         * docs/gst/tmpl/gstparse.sgml:
501         * docs/gst/tmpl/gstpipeline.sgml:
502         * docs/gst/tmpl/gstplugin.sgml:
503         * docs/gst/tmpl/gstpluginfeature.sgml:
504         * docs/gst/tmpl/gstquery.sgml:
505         * docs/gst/tmpl/gstqueue.sgml:
506         * docs/gst/tmpl/gstregistry.sgml:
507         * docs/gst/tmpl/gstregistrypool.sgml:
508         * docs/gst/tmpl/gstscheduler.sgml:
509         * docs/gst/tmpl/gstschedulerfactory.sgml:
510         * docs/gst/tmpl/gststructure.sgml:
511         * docs/gst/tmpl/gstsystemclock.sgml:
512         * docs/gst/tmpl/gsttaglist.sgml:
513         * docs/gst/tmpl/gsttagsetter.sgml:
514         * docs/gst/tmpl/gsttrace.sgml:
515         * docs/gst/tmpl/gsttrashstack.sgml:
516         * docs/gst/tmpl/gsttypefind.sgml:
517         * docs/gst/tmpl/gsttypefindfactory.sgml:
518         * docs/gst/tmpl/gsttypes.sgml:
519         * docs/gst/tmpl/gsturihandler.sgml:
520         * docs/gst/tmpl/gsturitype.sgml:
521         * docs/gst/tmpl/gstutils.sgml:
522         * docs/gst/tmpl/gstvalue.sgml:
523         * docs/gst/tmpl/gstversion.sgml:
524         * docs/gst/tmpl/gstxml.sgml:
525         * docs/libs/tmpl/gstcontrol.sgml:
526         * docs/libs/tmpl/gstdataprotocol.sgml:
527         * docs/libs/tmpl/gstdparam.sgml:
528         * docs/libs/tmpl/gstdplinint.sgml:
529         * docs/libs/tmpl/gstdpman.sgml:
530         * docs/libs/tmpl/gstdpsmooth.sgml:
531         * docs/libs/tmpl/gstgetbits.sgml:
532         * docs/libs/tmpl/gstunitconvert.sgml:
533         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
534         (gst_push_src_base_init), (gst_push_src_class_init),
535         (gst_push_src_init), (gst_push_src_create):
536         * gst/base/gstpushsrc.h:
537         * gst/elements/gstelements.c:
538         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
539         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
540         (gst_fake_sink_init), (gst_fake_sink_set_property),
541         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
542         (gst_fake_sink_event), (gst_fake_sink_preroll),
543         (gst_fake_sink_render), (gst_fake_sink_change_state):
544         * gst/elements/gstfakesink.h:
545         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
546         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
547         (gst_fake_src_base_init), (gst_fake_src_class_init),
548         (gst_fake_src_init), (gst_fake_src_event_handler),
549         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
550         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
551         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
552         (gst_fake_src_create_buffer), (gst_fake_src_create),
553         (gst_fake_src_start), (gst_fake_src_stop):
554         * gst/elements/gstfakesrc.h:
555         * gst/elements/gstfilesink.c: (_do_init),
556         (gst_file_sink_base_init), (gst_file_sink_class_init),
557         (gst_file_sink_init), (gst_file_sink_dispose),
558         (gst_file_sink_set_location), (gst_file_sink_set_property),
559         (gst_file_sink_get_property), (gst_file_sink_open_file),
560         (gst_file_sink_close_file), (gst_file_sink_query),
561         (gst_file_sink_event), (gst_file_sink_render),
562         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
563         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
564         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
565         * gst/elements/gstfilesink.h:
566         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
567         (gst_file_src_class_init), (gst_file_src_init),
568         (gst_file_src_finalize), (gst_file_src_set_location),
569         (gst_file_src_set_property), (gst_file_src_get_property),
570         (gst_file_src_map_region), (gst_file_src_map_small_region),
571         (gst_file_src_create_mmap), (gst_file_src_create_read),
572         (gst_file_src_create), (gst_file_src_is_seekable),
573         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
574         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
575         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
576         (gst_file_src_uri_handler_init):
577         * gst/elements/gstfilesrc.h:
578           more autistic cleanliness in functions/names/defines
579
580 2005-07-13  Andy Wingo  <wingo@pobox.com>
581
582         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
583         source couldn't negotiate.
584
585         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
586         connections again.
587
588         * gst/gstutils.h:
589         * gst/gstutils.c (gst_element_link_pads_filtered): New old
590         function. I am channeling Hades. Put your boots on suckers!!!
591
592 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
593
594         * testsuite/caps/Makefile.am:
595         * testsuite/caps/value_compare.c:
596         * testsuite/caps/value_intersect.c:
597         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
598           move two testsuite apps over to the check dir
599
600 2005-07-12  Wim Taymans  <wim@fluendo.com>
601
602         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
603         Added more debug info in the negotiate process.
604
605         * gst/gstmessage.h:
606         Prepare for segment playback.
607
608         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
609         Better debugging.
610
611         * gst/gstutils.c:
612         Some more docs.
613
614         * tools/gst-launch.c: (main):
615         NULL pipeline on errors.
616
617 2005-07-12  Andy Wingo  <wingo@pobox.com>
618
619         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
620         not it comes from a malloc region. Make sure our copy gets freed.
621
622 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
623
624         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
625         * check/gst/gstmessage.c: (GST_START_TEST):
626         * check/gst/gststructure.c: (GST_START_TEST),
627         (gst_structure_suite), (main):
628           more testing
629         * gst/gstelement.c: (gst_element_message_full):
630           clean up GError and debug string now that they get copied
631         * gst/gstmessage.c: (gst_message_new_error),
632         (gst_message_new_warning), (gst_message_parse_error),
633         (gst_message_parse_warning):
634           use GST_TYPE_G_ERROR for structure_new, and take copies of
635           arguments, so that we don't mess up refcounting
636
637 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
638
639         * check/Makefile.am:
640           add per-test valgrind targets
641         * check/gst-libs/gdp.c: (GST_START_TEST),
642         (gst_data_protocol_suite), (main):
643           clean up
644
645 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
646
647         * check/Makefile.am:
648           instate more valgrindable tests
649         * check/elements/gstfakesrc.c: (chain_func), (event_func),
650         (GST_START_TEST), (fakesrc_suite):
651         * check/gst/gstpad.c: (GST_START_TEST):
652         * check/gst/gststructure.c: (GST_START_TEST):
653           fix test leaks
654         * docs/gst/tmpl/gstminiobject.sgml:
655         * gst/gstpad.c: (gst_pad_finalize):
656           fix the static mutex leak
657
658 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
659
660         * check/Makefile.am:
661           add two more tests for valgrinding
662         * check/gst/gstvalue.c: (GST_START_TEST):
663           test refcount of deserialized buffer, found a leak
664         * docs/gst/gstreamer-docs.sgml:
665         * docs/gst/gstreamer-sections.txt:
666         * docs/gst/gstreamer.types:
667         * docs/gst/tmpl/gstminiobject.sgml:
668           add miniobject to docs
669         * gst/gstminiobject.c:
670           add some docs
671         * gst/gstvalue.c: (gst_value_deserialize_buffer),
672         (gst_string_unwrap):
673           fix a hard-to-find invalid write for one of the tests
674           fix a leak for deserialized buffers
675
676 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
677
678         * docs/pwg/advanced-events.xml:
679         * docs/pwg/advanced-request.xml:
680         * docs/pwg/advanced-scheduling.xml:
681         * docs/pwg/appendix-porting.xml:
682         * docs/pwg/building-boiler.xml:
683         * docs/pwg/intro-preface.xml:
684         * docs/pwg/other-ntoone.xml:
685           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
686           of example code and explanation for pad activation, loop() and
687           getrange() functions and a bit more. Remove old comments pointing
688           to loop-functions.
689         * examples/pwg/Makefile.am:
690           Add loop/getrange examples.
691
692 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * configure.ac:
695           check for valgrind binary + some fixes
696         * check/gst.supp:
697           valgrind suppressions for the tests
698         * check/Makefile.am:
699           add a valgrind: target that valgrinds the unit tests
700         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
701         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
702         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
703         * check/gst/gstghostpad.c:
704           added some cleanup
705         * check/gst/gstdata.c:
706           removed
707         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
708         (thread_unref), (gst_mini_object_suite), (main):
709           added
710         * gst/gst.c: (gst_deinit):
711         * gst/gst.h:
712           add a method to clean up.
713         * gst/gstsystemclock.c: (gst_system_clock_dispose),
714         (gst_system_clock_obtain):
715           allow for disposing the system clock.
716         * tools/gst-launch.c: (main):
717           deinit
718
719 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
720
721         * docs/gst/tmpl/gstbasesrc.sgml:
722         * docs/gst/tmpl/gstfakesrc.sgml:
723         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
724         (gst_base_src_init), (gst_base_src_set_property),
725         (gst_base_src_get_property), (gst_base_src_get_range),
726         (gst_base_src_start):
727         * gst/base/gstbasesrc.h:
728           add num-buffers property
729         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
730         (gst_fakesrc_init), (gst_fakesrc_set_property),
731         (gst_fakesrc_get_property), (gst_fakesrc_create),
732         (gst_fakesrc_start):
733           remove num-buffers property
734
735 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
736
737         * docs/gst/gstreamer-sections.txt:
738         * docs/gst/tmpl/gstbasesink.sgml:
739         * docs/gst/tmpl/gstbasesrc.sgml:
740         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
741         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
742         (gst_base_sink_finalize), (gst_base_sink_set_clock),
743         (gst_base_sink_set_property), (gst_base_sink_get_property),
744         (gst_base_sink_handle_object), (gst_base_sink_event),
745         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
746         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
747         (gst_base_sink_loop), (gst_base_sink_deactivate),
748         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
749         (gst_base_sink_change_state):
750         * gst/base/gstbasesink.h:
751         * gst/base/gstbasesrc.h:
752         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
753         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
754         (gst_filesink_init):
755           more macro splitting
756
757 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
758
759         * gst/gstelement.c: (gst_element_get_bus):
760           add debug
761         * tools/gst-launch.c: (check_intr), (event_loop):
762           fix bus leaks
763
764 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
765
766         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
767           fix a caps leak
768
769 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
770
771         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
772         (gst_base_src_finalize):
773           add finalize method and clean up properly
774         * gst/gstpipeline.c: (gst_pipeline_dispose):
775           add debug
776
777 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
778
779         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
780         (gst_bin_suite):
781           add more things to check
782         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
783         * gst/gstelement.c:
784           more debug
785
786 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
787
788         * check/elements/gstfakesrc.c: (chain_func), (event_func),
789         (GST_START_TEST), (fakesrc_suite):
790         * check/gst-libs/gdp.c: (GST_START_TEST):
791         * check/gst/gst.c: (GST_START_TEST):
792         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
793         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
794         * check/gst/gstbus.c: (GST_START_TEST):
795         * check/gst/gstcaps.c: (GST_START_TEST):
796         * check/gst/gstdata.c: (GST_START_TEST):
797         * check/gst/gstelement.c: (GST_START_TEST):
798         * check/gst/gstghostpad.c: (GST_START_TEST):
799         * check/gst/gstiterator.c: (GST_START_TEST):
800         * check/gst/gstmessage.c: (GST_START_TEST):
801         * check/gst/gstobject.c: (GST_START_TEST):
802         * check/gst/gstpad.c: (GST_START_TEST):
803         * check/gst/gststructure.c: (GST_START_TEST):
804         * check/gst/gstsystemclock.c: (GST_START_TEST),
805         (gst_systemclock_suite):
806         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
807         * check/gst/gstvalue.c: (GST_START_TEST):
808         * check/pipelines/cleanup.c: (GST_START_TEST):
809         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
810         * check/states/sinks.c: (GST_START_TEST):
811         * check/gstcheck.c: (gst_check_init):
812         * check/gstcheck.h:
813           add debugging category
814           use GST_START_TEST now, so we add a debug line
815
816 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
817
818         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
819           add test for state change message on a bin
820         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
821           add another test
822         * gst/gstbin.c: (gst_bin_init):
823         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
824         * gst/gstelement.c: (gst_element_post_message),
825         (gst_element_set_state):
826         * gst/gstelementfactory.c: (gst_element_factory_create):
827         * gst/gstmessage.c: (gst_message_new):
828         * gst/gstscheduler.c:
829           various debugging additions and cleanups
830
831 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
832
833         * check/Makefile.am:
834         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
835         (main):
836           adding tests for elements
837         * gst/gstelement.c: (gst_element_dispose):
838
839 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
840
841         * gst/registries/gstlibxmlregistry.c: (load_feature):
842           plug more leaks.  A simple gst_init() now is leakfree, yay.
843
844 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
845
846         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
847         (gst_xml_registry_load):
848           plug another memleak
849
850 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
851
852         * configure.ac:
853           use GST_SET_ERROR_CFLAGS
854         * docs/faq/cvs.xml:
855           change to ERROR_CFLAGS
856
857 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * configure.ac:
860           make GST_ERROR_CFLAGS overridable and re-enable Werror
861         * docs/faq/cvs.xml:
862           add a note about error CFLAGS
863         * docs/gst/tmpl/gstfakesrc.sgml:
864         * gst/elements/gstfakesrc.c:
865           comment out some unused code
866         * gst/gst.c: (split_and_iterate):
867         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
868         (load_feature):
869           plug some memleaks
870
871 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
872
873         * common/Makefile.am:
874         * common/gtk-doc.mak:
875         * docs/gst/Makefile.am:
876           factor out gtk-doc.mak
877
878 2005-07-07  Wim Taymans  <wim@fluendo.com>
879
880         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
881         (gst_thread_scheduler_dispose):
882         Unlock the STREAM_LOCK completely.
883
884 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
885
886         * check/Makefile.am:
887         * check/elements/.cvsignore:
888         * check/elements/gstfakesrc.c: (chain_func), (event_func),
889         (START_TEST), (fakesrc_suite), (main):
890         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
891         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
892         (gst_fakesrc_create), (gst_fakesrc_start):
893         * gst/elements/gstfakesrc.h:
894           adding a first element test
895
896 2005-07-07  Andy Wingo  <wingo@pobox.com>
897
898         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
899         debug message.
900
901 2005-07-07  Wim Taymans  <wim@fluendo.com>
902
903         * gst/gstquery.c:
904         * gst/gstquery.h:
905         Remove old types
906
907 2005-07-07  Wim Taymans  <wim@fluendo.com>
908
909         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
910         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
911         Allow subclasses to implement their own negotiation.
912
913 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
914
915         * docs/design/part-gstbin.txt:
916         * docs/design/part-gstpipeline.txt:
917           Update design notes to reflect the movement of
918           responsibility for bus handling from GstPipeline to
919           GstBin
920
921 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
922
923         * configure.ac:
924           Remove unnecessary queue2/3/4 examples.
925
926 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
927
928         * examples/Makefile.am:
929         * examples/helloworld/helloworld.c: (event_loop), (main):
930         * examples/queue/queue.c: (event_loop), (main):
931         * examples/queue2/queue2.c: (main):
932           Update a couple of the examples to work again.
933
934         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
935         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
936          Spelling corrections and extra debug.
937         
938         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
939         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
940         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
941         * gst/gstbin.h:
942         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
943         (gst_pipeline_change_state):
944         * gst/gstpipeline.h:
945           Move the bus handler for children to the GstBin, and create a
946           separate bus for receiving messages from children to the one the
947           bus sends 'upwards' on.
948
949 2005-07-06  Wim Taymans  <wim@fluendo.com>
950
951         * gst/base/README:
952         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
953         (gst_base_sink_handle_object), (gst_base_sink_loop),
954         (gst_base_sink_change_state):
955         * gst/base/gstbasesink.h:
956         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
957         (gst_base_src_init), (gst_base_src_setcaps),
958         (gst_base_src_getcaps), (gst_base_src_loop),
959         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
960         (gst_base_src_start), (gst_base_src_change_state):
961         * gst/base/gstbasesrc.h:
962         Make basesrc negotiate.
963         Handle the case where preroll fails in basesink.
964         Update README.
965
966 2005-07-06  Wim Taymans  <wim@fluendo.com>
967
968         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
969         Implement the fixate function.
970         Clean up acceptcaps.
971
972 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
973
974         * docs/pwg/building-filterfactory.xml:
975         * docs/pwg/pwg.xml:
976           Remove never-written filter-factory chapter; I'll add the various
977           base classes to part 4 ("other element types") later on.
978
979 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
980
981         * docs/pwg/advanced-negotiation.xml:
982         * docs/pwg/building-boiler.xml:
983         * docs/pwg/building-pads.xml:
984         * docs/pwg/pwg.xml:
985         * examples/pwg/Makefile.am:
986           Add a chapter on caps negotiation, simplify the original code
987           samples a bit w.r.t. caps negotiation, add link to the advanced
988           section. Add a bunch of examples showing different use cases of
989           different types of caps negotiation. Upstream renegotiation isn't
990           fully documented yet since nobody knows how that works.
991
992 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
993
994         * check/gst/gstpad.c:
995         * check/gstcheck.c:
996         * gst/gstpad.c: (gst_pad_get_internal_links_default):
997           if pad has no parent, return NULL as list of internal links
998
999 2005-07-05  Andy Wingo  <wingo@pobox.com>
1000
1001         * gst/elements/gstfilesrc.c:
1002         * gst/elements/gstfakesrc.c: 
1003         * gst/base/gstpushsrc.c:
1004         * gst/base/gstbasesrc.h: 
1005         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1006         
1007 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1008
1009         * Makefile.am:
1010           better report generation target (lcov needs a patch)
1011
1012 2005-07-05  Andy Wingo  <wingo@pobox.com>
1013
1014         * gst/elements, testsuite: Null if we got it...
1015
1016 2005-07-05  Wim Taymans  <wim@fluendo.com>
1017
1018         * configure.ac:
1019         * libs/gst/dataprotocol/Makefile.am:
1020         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1021         * libs/gst/dataprotocol/dataprotocol.h:
1022         * pkgconfig/Makefile.am:
1023         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1024         * pkgconfig/gstreamer-dataprotocol.pc.in:
1025         Ported dataprotol to 0.9. 
1026         Added pkgconfig files.
1027
1028 2005-07-05  Andy Wingo  <wingo@pobox.com>
1029
1030         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1031         Default to returning TRUE for the case when tranform_caps returns
1032         a fixed caps, like for identity or volume.
1033
1034         * check/gst/gstbus.c (pound_bus_with_messages): 
1035         * check/gst/gstmessage.c (START_TEST): 
1036         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1037         message API change.
1038
1039         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1040         logic weaks here: always run transform_caps, trying passthrough
1041         operation only if the original caps intersects with the transform.
1042
1043         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1044         source and sink caps.
1045
1046         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1047         Intersect the peer caps with the pad template before going into
1048         transform_caps.
1049         (gst_base_transform_transform_caps): More debugging.
1050
1051         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1052         src argument.
1053
1054 2005-07-04  Edward Hervey  <edward@fluendo.com>
1055
1056         * gst/gstutils.c:
1057         * gst/gstutils.h:
1058         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1059         in bindings.
1060
1061 2005-07-04  Andy Wingo  <wingo@pobox.com>
1062
1063         * check/gst/gstpad.c: Only set explicit caps on pads.
1064
1065 2005-07-01  Andy Wingo  <wingo@pobox.com>
1066
1067         * tests/network-clock.scm: Commentary update.
1068
1069         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1070         Didn't really make sense, not implementable with basetransform,
1071         etc.
1072         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1073         attempt at implementing the sync property, needs an unlock method.
1074
1075         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1076         New func, by default returns the same caps (the identity
1077         transformation).
1078         (gst_base_transform_getcaps): Uses transform_caps to return
1079         something sensible.
1080         (gst_base_transform_setcaps): Complicated logic to get caps on
1081         both pads, even if they are different, and to call set_caps once
1082         for every time both pads get their caps set.
1083         (gst_base_transform_handle_buffer): Give the ref to the transform
1084         function. Allows in-place modification of the buffer.
1085
1086         * gst/base/gstbasetransform.h (transform_caps): New class method.
1087         Given caps on one side, what can I do on the other.
1088         (set_caps): Take two caps, one for each side of the element.
1089
1090         * gst/gstpad.h:
1091         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1092         caps in place. This is safe because we can check the mutability of
1093         the caps, and a good idea because fixate functions are just called
1094         as a matter of last resort. (Not actually implemented.)
1095         (gst_pad_set_caps): If the caps we're setting is actually the same
1096         as the existing pad caps, just update the pointer without calling
1097         setcaps. Assert that caps is either NULL or fixed, as per the
1098         docs.
1099
1100         * gst/gstghostpad.c: Update for fixate changes.
1101
1102 2005-07-02  Andy Wingo  <wingo@pobox.com>
1103
1104         * gst/gstcaps.c:
1105         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1106         two refcounts makes it immutable, which is enough. Doc more.
1107
1108 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1109
1110         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1111           Put the mini_object into GValue as a mini_object,
1112           not a gpointer, since that's how we declared
1113           the signal.
1114
1115 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1116
1117         * examples/pwg/Makefile.am:
1118           Fix buildbot again.
1119
1120 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1121
1122         * docs/pwg/building-testapp.xml:
1123           Add extra check.
1124         * examples/pwg/Makefile.am:
1125           Fix buildbot.
1126
1127 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1128
1129         * configure.ac:
1130         * examples/Makefile.am:
1131         * examples/pwg/Makefile.am:
1132         * examples/pwg/extract.pl:
1133           Enable building the PWG examples.
1134         * docs/pwg/advanced-interfaces.xml:
1135           Add URI interface stub.
1136         * docs/pwg/advanced-types.xml:
1137         * docs/pwg/other-autoplugger.xml:
1138         * docs/pwg/appendix-porting.xml:
1139         * docs/pwg/pwg.xml:
1140           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1141         * docs/pwg/building-boiler.xml:
1142         * docs/pwg/building-chainfn.xml:
1143         * docs/pwg/building-pads.xml:
1144         * docs/pwg/building-props.xml:
1145         * docs/pwg/building-state.xml:
1146         * docs/pwg/building-testapp.xml:
1147           Update the building-*.xml parts for 0.9 changes. All examples
1148           code blocks compile in examples/pwg/*.
1149
1150 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1151
1152         * docs/manual/advanced-autoplugging.xml:
1153         * docs/manual/appendix-checklist.xml:
1154         * docs/manual/appendix-integration.xml:
1155         * docs/manual/highlevel-components.xml:
1156           Fix playbin/decodebin examples, update docs a bit, mention bus
1157           instead of signals in various places, mention kmplayer and
1158           kaffeine since they have a working GStreamer backend in the KDE
1159           section.
1160
1161 2005-06-30  Wim Taymans  <wim@fluendo.com>
1162
1163         * CHANGES-0.9:
1164         * docs/design/draft-ghostpads.txt:
1165         * docs/design/draft-push-pull.txt:
1166         * docs/design/draft-query.txt:
1167         * docs/design/part-TODO.txt:
1168         * docs/design/part-query.txt:
1169         Added CHANGES-0.9 doc, updated status of other docs.
1170         
1171         * gst/gstquery.h:
1172         Remove "hmm" macro
1173
1174 2005-06-30  Wim Taymans  <wim@fluendo.com>
1175
1176         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1177         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1178         (gst_base_sink_change_state):
1179         * gst/base/gstbasesink.h:
1180         Some tweaks, only EOS and a buffer complete a preroll.
1181
1182 2005-06-30  Andy Wingo  <wingo@pobox.com>
1183
1184         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1185         activate_push down to the internal pad as well.
1186
1187 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1188
1189         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1190
1191         * gst/gsttaginterface.c:
1192           Some documentation fixes (#307394 and #307397).
1193
1194 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1195
1196         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1197
1198         * gst/gstvalue.c: (gst_value_intersect_list):
1199           Fix memleak (#309125).
1200
1201 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1202
1203         * docs/manual/advanced-dataaccess.xml:
1204           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1205         * docs/manual/basics-pads.xml:
1206           Add reference for filtered caps to above chapter.
1207
1208 2005-06-30  Wim Taymans  <wim@fluendo.com>
1209
1210         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1211         (gst_bin_change_state):
1212         Probes are gone.
1213         Lame attempt at making the state change function a bit
1214         more readable.
1215
1216 2005-06-30  Wim Taymans  <wim@fluendo.com>
1217
1218         * docs/design/part-clocks.txt:
1219         * docs/design/part-element-sink.txt:
1220         * docs/design/part-events.txt:
1221         * docs/design/part-preroll.txt:
1222         * docs/design/part-states.txt:
1223         Some more tweeks and additions to the docs.
1224
1225 2005-06-30  Wim Taymans  <wim@fluendo.com>
1226
1227         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1228         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1229         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1230         (gst_pad_check_pull_range), (gst_pad_get_range),
1231         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1232         * gst/gstpad.h:
1233         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1234         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1235         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1236         (gst_pad_remove_buffer_probe):
1237         Removed atomic operations, use existing LOCK.
1238         Move exception handling out of main code path.
1239
1240 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1241
1242         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1243         (silly_return_true_function), (gst_pad_class_init),
1244         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1245         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1246         (gst_pad_send_event):
1247           Fix accumulator, add default value by using _emitv() instead
1248           of _emit() for signal emission.
1249
1250 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1251
1252         * docs/manual/advanced-dataaccess.xml:
1253         * examples/manual/Makefile.am:
1254           Add probe example.
1255         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1256           Make work (??).
1257
1258 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1259
1260         * gst/elements/gstfilesink.c: (gst_filesink_render):
1261           Simplify code so that we don't have to handle short
1262           writes and return GST_FLOW_ERROR if an error occured.
1263
1264 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1265
1266         * docs/gst/gstreamer-docs.sgml:
1267           Remove probes more.
1268
1269 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1270
1271         * docs/gst/gstreamer-sections.txt:
1272         * docs/gst/tmpl/gstpad.sgml:
1273         * docs/gst/tmpl/gstprobe.sgml:
1274         * gst/Makefile.am:
1275         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1276         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1277         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1278         (gst_pad_push_event), (gst_pad_send_event):
1279         * gst/gstpad.h:
1280         * gst/gstutils.c: (gst_pad_add_data_probe),
1281         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1282         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1283         (gst_pad_remove_buffer_probe):
1284         * gst/gstutils.h:
1285           Remove old probes, add new g-signal-based probes and some utility
1286           functions.
1287
1288 2005-06-29  Edward Hervey  <edward@fluendo.com>
1289
1290         * gst/gstelementfactory.c:
1291         * gst/gstutils.h:
1292         * gst/gstutils.c:
1293         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1294         the definition to the header file.
1295
1296 2005-06-29  Andy Wingo  <wingo@pobox.com>
1297
1298         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1299         plugins from the source directory.
1300
1301 2005-06-29  Wim Taymans  <wim@fluendo.com>
1302
1303         * docs/gst/tmpl/gstbuffer.sgml:
1304         * docs/gst/tmpl/gstclock.sgml:
1305         Some fixings for blantently wrong text.
1306
1307 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1308
1309         * check/Makefile.am:
1310         * gst/gst.c: (add_path_func), (init_pre):
1311         * gst/gstregistry.c: (gst_registry_add_path):
1312           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1313           only scan the GST_PLUGIN_PATH locations, and not add
1314           system locations
1315
1316 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * docs/gst/gstreamer-sections.txt:
1319         * docs/gst/tmpl/gstbasesrc.sgml:
1320         * gst/gstelement.c:
1321         * gst/gstelement.h:
1322         * gst/gstevent.c:
1323         * gst/gstutils.c:
1324           doc fixes
1325
1326 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1327
1328         * docs/manual/advanced-autoplugging.xml:
1329           Fix autoplugging example.
1330
1331 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1332
1333         * docs/manual/advanced-autoplugging.xml:
1334         * docs/manual/mime-world.fig:
1335           Try to get autoplugging working, fix type detection. Fix text
1336           in hello-world image.
1337
1338 2005-06-29  Wim Taymans  <wim@fluendo.com>
1339
1340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1341         (gst_base_sink_change_state):
1342         Small debug line.
1343
1344         * gst/gstclock.h:
1345         map SIGNAL and BROADCAST to the right function.
1346
1347         * gst/gstobject.h:
1348         Remove redundant braces.
1349
1350         * gst/gstpad.c: (gst_pad_set_caps):
1351         Don't call setcaps function when reseting caps to NULL.
1352
1353         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1354         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1355         (gst_system_clock_id_unschedule):
1356         Use BROADCAST as this is what we do.
1357
1358 2005-06-29  Wim Taymans  <wim@fluendo.com>
1359
1360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1361         We are actually prerolling before commiting the state
1362         change. 
1363
1364 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1365
1366         * docs/manual/advanced-clocks.xml:
1367         * docs/manual/advanced-interfaces.xml:
1368         * docs/manual/advanced-metadata.xml:
1369         * docs/manual/advanced-position.xml:
1370         * docs/manual/advanced-schedulers.xml:
1371         * docs/manual/advanced-threads.xml:
1372         * docs/manual/appendix-porting.xml:
1373         * docs/manual/basics-bins.xml:
1374         * docs/manual/basics-bus.xml:
1375         * docs/manual/basics-elements.xml:
1376         * docs/manual/basics-helloworld.xml:
1377         * docs/manual/basics-pads.xml:
1378         * docs/manual/highlevel-components.xml:
1379         * docs/manual/manual.xml:
1380         * docs/manual/thread.fig:
1381           Update (until threads/scheduling) Application Development Manual;
1382           remove GstThread, add GstBus, add simple porting checklist, add
1383           documentation for tag writing, clocks, make all examples until this
1384           part compile and run.
1385         * examples/manual/Makefile.am:
1386           Update from changes to Application Development Manual; add bus
1387           example, remove thread example.
1388
1389 2005-06-28  Wim Taymans  <wim@fluendo.com>
1390
1391         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1392         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1393         (gst_bus_source_dispatch):
1394         Add debugging messages.
1395         Make internal methods static.
1396         Handle the case where the bus is flushed in the handler.
1397         
1398         * gst/gstelement.c: (gst_element_get_bus):
1399         Fix refcount in _get_bus();
1400
1401         * gst/gstpipeline.c: (gst_pipeline_change_state),
1402         (gst_pipeline_get_clock_func):
1403         Clock refcounting fixes.
1404         Handle the case where preroll timed out more gracefully.
1405         
1406         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1407         Clean up the internal thread in dispose. This is needed
1408         for subclasses that actually get disposed.
1409         
1410         * gst/schedulers/threadscheduler.c:
1411         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1412         (gst_thread_scheduler_dispose):
1413         Free thread pool in dispose.
1414
1415 2005-06-28  Andy Wingo  <wingo@pobox.com>
1416
1417         * tests/network-clock-utils.scm (debug, print-event): New utils.
1418
1419         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1420         (*packet-loss*): Unified loss probability.
1421         (network-time): Report out-of-band events.
1422
1423         * tests/plot-data: Add support for out-of-band events. Hack it
1424         into this script instead of passing it down the pipe; should fix
1425         this later.
1426
1427 2005-06-28  Wim Taymans  <wim@fluendo.com>
1428
1429         * docs/gst/gstreamer.types:
1430         * docs/gst/tmpl/gstbasesrc.sgml:
1431         * docs/gst/tmpl/gstpad.sgml:
1432         Docs fixes.
1433
1434 2005-06-28  Wim Taymans  <wim@fluendo.com>
1435
1436         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1437         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1438         (gst_proxy_pad_do_fixatecaps):
1439         Correctly proxy the check_pull_range function.
1440
1441 2005-06-28  Andy Wingo  <wingo@pobox.com>
1442
1443         * tests/network-clock.scm: Removed need for slib.
1444         
1445 2005-06-28  Wim Taymans  <wim@fluendo.com>
1446
1447         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1448         (gst_basesink_preroll_queue_flush):
1449         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1450         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1451         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1452         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1453         (gst_proxy_pad_set_property):
1454         * gst/gstpad.c:
1455         * gst/gstpad.h:
1456         * gst/gstqueue.c: (gst_queue_init):
1457         The deprecated pad loop function is removed now.
1458
1459 2005-06-28  Andy Wingo  <wingo@pobox.com>
1460
1461         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1462         New parameters, simulate network packet loss.
1463
1464         * tests/network-clock-utils.scm: Initialize the RNG.
1465
1466 2005-06-28  Wim Taymans  <wim@fluendo.com>
1467
1468         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1469         (gst_basesink_event), (gst_basesink_deactivate):
1470         Flushing the preroll queue always needs to unlock the waiters.
1471
1472 2005-06-28  Edward Hervey  <edward@fluendo.com>
1473
1474         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1475         Wheen a seek was successful on a pipeline, set the stream_time to the
1476         seek offset in order to have a synchronized stream_time.
1477
1478 2005-06-28  Wim Taymans  <wim@fluendo.com>
1479
1480         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1481         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1482         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1483         (gst_proxy_pad_do_fixatecaps):
1484         Call wrapper function instead of just calling the function
1485         pointers. This takes care of any locking and whatmore.
1486
1487 2005-06-28  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1490         (gst_pad_pull_range):
1491         * gst/gstpad.h:
1492         CONNECTED -> LINKED.
1493
1494 2005-06-28  Andy Wingo  <wingo@pobox.com>
1495
1496         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1497         source-munging commit!!!
1498
1499         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1500         (gst_object_sink): Take gpointer arguments, not GstObject --
1501         avoids casts. Like GLib.
1502
1503         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1504         activate.
1505
1506 2005-06-27  Andy Wingo  <wingo@pobox.com>
1507
1508         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1509         remaining buffer.
1510
1511         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1512         returns a sorted copy of the trace list.
1513         (gst_alloc_trace_print_live): New API, only prints traces with
1514         live objects. Sort the list.
1515         (gst_alloc_trace_print_all): Sort the list.
1516         (gst_alloc_trace_print): Align columns.
1517
1518         * gst/elements/gstttypefindelement.c:
1519         * gst/elements/gsttee.c:
1520         * gst/base/gstbasesrc.c:
1521         * gst/base/gstbasesink.c:
1522         * gst/base/gstbasetransform.c:
1523         * gst/gstqueue.c: Adapt for pad activation changes.
1524
1525         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1526         sched.
1527         (gst_pipeline_dispose): Drop ref on sched.
1528
1529         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1530         (gst_pad_activate_default): Push mode by default.
1531         (pre_activate_switch, post_activate_switch): New stubs, things to
1532         do before and after switching activation modes on pads.
1533         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1534         the pad's activate function to choose which mode to activate.
1535         Shortcut on deactivation and call the right function directly.
1536         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1537         mode.
1538         (gst_pad_activate_push): New API, same for push mode.
1539         (gst_pad_set_activate_function) 
1540         (gst_pad_set_activatepull_function) 
1541         (gst_pad_set_activatepush_function): Setters for new API.
1542
1543         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1544         Trace all miniobjects.
1545         (gst_mini_object_make_writable): Unref the arg if we copy, like
1546         gst_caps_make_writable.
1547
1548         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1549
1550         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1551         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1552         Adapt for new pad API.
1553
1554         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1555
1556         * gst/gstelement.h:
1557         * gst/gstelement.c (gst_element_iterate_src_pads) 
1558         (gst_element_iterate_sink_pads): New API functions.
1559         
1560         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1561         should fold into gstiterator.c in some form.
1562         (gst_element_pads_activate): Simplified via use of fold and
1563         delegation of decisions to gstpad->activate.
1564
1565         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1566         help in debugging.
1567
1568         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1569         class once in init, like gstmessage. Didn't run into this issue
1570         but it seems correct. Don't initialize a trace, gstminiobject does
1571         that.
1572
1573         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1574         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1575         to the bus.
1576         (assert_live_count): New util function, uses alloc traces to check
1577         cleanup.
1578
1579         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1580         To be modified when unlink drops the internal pad.
1581
1582 2005-06-27  Wim Taymans  <wim@fluendo.com>
1583
1584         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1585         (gst_bin_change_state):
1586         Cleanup the get_state() function a little, make sure it
1587         iterates the same set of elements.
1588         Added stub iterate_state_order().
1589
1590 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1591
1592         * docs/gst/gstreamer-docs.sgml:
1593         * docs/gst/gstreamer-sections.txt:
1594         * docs/gst/gstreamer.types:
1595         * docs/gst/tmpl/gstbasesink.sgml:
1596         * docs/gst/tmpl/gstbasesrc.sgml:
1597         * docs/gst/tmpl/gstbasetransform.sgml:
1598         * docs/gst/tmpl/gstelement.sgml:
1599         * docs/gst/tmpl/gstiterator.sgml:
1600         * gst/base/gstbasesrc.c:
1601         * gst/base/gstbasesrc.h:
1602         * gst/base/gstbasetransform.h:
1603         * gst/gstelement.c:
1604         * gst/gstiterator.h:
1605           adding basetransform and iterator docs
1606
1607 2005-06-27  Andy Wingo  <wingo@pobox.com>
1608
1609         * docs/design/part-activation.txt: Notes on how activation should
1610         work -- not quite implemented yet.
1611
1612 2005-06-25  Wim Taymans  <wim@fluendo.com>
1613
1614         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1615         At least get the chain function correct, needs more
1616         fixing.
1617
1618 2005-06-25  Wim Taymans  <wim@fluendo.com>
1619
1620         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1621         (gst_basesink_handle_object), (gst_basesink_event),
1622         (gst_basesink_do_sync), (gst_basesink_handle_event),
1623         (gst_basesink_change_state):
1624         * gst/gsttask.h:
1625         Right, two problems here: ghostpads don't take locks and
1626         glib _rec_mutex_lock_full() with depth==0 still locks.
1627         Catch illegal locking and g_warn them.
1628
1629 2005-06-25  Wim Taymans  <wim@fluendo.com>
1630
1631         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1632         Have to check for completion now...
1633
1634 2005-06-25  Wim Taymans  <wim@fluendo.com>
1635
1636         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1637         (gst_basesink_handle_object), (gst_basesink_event),
1638         (gst_basesink_do_sync), (gst_basesink_handle_event),
1639         (gst_basesink_change_state):
1640         * gst/gstpad.h:
1641         Unlock STREAM_LOCK whatever the recursion was.
1642
1643 2005-06-25  Wim Taymans  <wim@fluendo.com>
1644
1645         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1646         (gst_basesink_preroll_queue_empty),
1647         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1648         (gst_basesink_event), (gst_basesink_do_sync),
1649         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1650         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1651         (gst_basesink_change_state):
1652         Reworked the base sink, handle event and buffer serialisation
1653         correctly and removed possible deadlock.
1654         Handle EOS correctly.
1655
1656 2005-06-25  Wim Taymans  <wim@fluendo.com>
1657
1658         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1659         (gst_pipeline_change_state):
1660         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1661         Allow elements to post EOS in the state change function.
1662         Fix up -launch, make it exit the poll loop when the
1663         pipeline actually changed state.
1664         Fix up warning parsing in -launch.
1665
1666 2005-06-25  Wim Taymans  <wim@fluendo.com>
1667
1668         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1669         (gst_tee_sink_activate):
1670         Core takes STREAM_LOCK for us now.
1671
1672 2005-06-25  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstelement.c: (gst_element_get_state_func),
1675         (gst_element_set_state):
1676         * gst/gstelement.h:
1677         * gst/gstmessage.c: (gst_message_parse_error),
1678         (gst_message_parse_warning):
1679         Keep track of current target state while performing a state
1680         change so that subclasses can do something interesting.
1681         Fix parsing of warning/error messages when GError is NULL.
1682
1683 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1684
1685         * docs/gst/Makefile.am:
1686         * docs/gst/gstreamer-docs.sgml:
1687         * docs/gst/gstreamer-sections.txt:
1688         * docs/gst/gstreamer.types:
1689         * docs/gst/tmpl/gstbasesink.sgml:
1690         * docs/gst/tmpl/gstbasesrc.sgml:
1691         * docs/gst/tmpl/gstbin.sgml:
1692         * docs/gst/tmpl/gstcompat.sgml:
1693         * docs/gst/tmpl/gstfakesink.sgml:
1694         * docs/gst/tmpl/gstfakesrc.sgml:
1695         * docs/gst/tmpl/gstfilesink.sgml:
1696         * docs/gst/tmpl/gstfilesrc.sgml:
1697         * docs/gst/tmpl/gstindex.sgml:
1698         * docs/manual/appendix-quotes.xml:
1699         * gst/base/gstbasesrc.h:
1700         * gst/elements/gstfakesrc.h:
1701         * gst/gstmessage.h:
1702           start pulling in base classes and elements in our docs
1703
1704 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1705
1706         * docs/gst/Makefile.am:
1707         * docs/libs/Makefile.am:
1708           fixed make distcheck with gtk-doc 1.3
1709
1710 2005-06-23  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/gstelement.c: (gst_element_get_state_func),
1713         (gst_element_set_state), (gst_element_change_state):
1714         When the state did not change, also report NO_PREROLL
1715         when it matters.
1716
1717 2005-06-23  Wim Taymans  <wim@fluendo.com>
1718
1719         * gst/gstpad.c: (gst_pad_event_default):
1720         * gst/gstqueue.c: (gst_queue_loop):
1721         No unsafe task pausing please.
1722
1723 2005-06-23  Wim Taymans  <wim@fluendo.com>
1724
1725         * gst/schedulers/threadscheduler.c:
1726         (gst_thread_scheduler_task_start),
1727         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1728         Ref the task before pushing it on the threadpool. This
1729         makes sure that we have a ref when the threadfunction is
1730         actually called.
1731
1732 2005-06-23  Andy Wingo  <wingo@pobox.com>
1733
1734         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1735         offset is greater than the file's size.
1736
1737         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1738         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1739         * gst/gstobject.c (gst_object_class_init): Make the class lock
1740         recursive. Wim won't let me drop deep_notify. Decodebin works
1741         again, whoopdy doo.
1742
1743         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1744         internal pad, and hacks accordingly. Doesn't do it on the target
1745         pad because we change its caps. Probably catches all cases of
1746         interest tho.
1747         (gst_ghost_pad_set_property): Connect to notify::caps as
1748         appropritate.
1749
1750         * tests/network-clock.scm (plot-simulation): Pipe data to the
1751         elite python skript.
1752
1753         * tests/network-clock-utils.scm (define-parameter): New macro,
1754         defines a parameter that can be set via the command line.
1755         (set-parameter!, parse-parameter-arguments): Command line args
1756         parser.
1757
1758         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1759         stdin.
1760
1761 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1762
1763         * gst/elements/gsttypefindelement.c:
1764         (gst_type_find_element_handle_event):
1765           Don't restart typefinding on a discont.
1766         * gst/gstelement.c: (gst_element_set_state):
1767           Debug spelling fix.
1768         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1769           Allow changing mode of an active pad.
1770           Debug output fixes.
1771         * gst/registries/gstlibxmlregistry.c: (load_feature):
1772           Don't cast a static pad template to a normal pad template.
1773
1774 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1775
1776         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1777         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1778           remove gst_strtoll completely, since it didn't actually do
1779           anything more than what g_ascii_strtoull already does.
1780           check for range errors when deserializing
1781           do a cast for the unsigned cases; but further fixing needs
1782           a decision on what the interpretation of "(int)" and
1783           deserialization should be for values that fall outside the
1784           type's boundaries (ie, refuse, or interpret as casting)
1785
1786 2005-06-23  Wim Taymans  <wim@fluendo.com>
1787
1788         * check/Makefile.am:
1789         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1790         * docs/design/part-live-source.txt:
1791         * docs/design/part-states.txt:
1792         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1793         (gst_basesrc_set_live), (gst_basesrc_is_live),
1794         (gst_basesrc_get_range), (gst_basesrc_activate),
1795         (gst_basesrc_change_state):
1796         * gst/base/gstbasesrc.h:
1797         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1798         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1799         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1800         * gst/gstelement.c: (gst_element_get_state_func),
1801         (gst_element_set_state):
1802         * gst/gstelement.h:
1803         * gst/gsttypes.h:
1804         * tools/gst-launch.c: (event_loop), (main):
1805         Added support for live sources and other elements that
1806         cannot do preroll.
1807         Updated design docs, added live-source design doc.
1808         Implemented live source functionality in basesrc
1809         Fix error condition in _bin_get_state()
1810         Implement live source handling in -launch.
1811         Added check for live sources.
1812         Fixed case in GstBin where elements were changed state
1813         multiple times.
1814
1815
1816 2005-06-23  Andy Wingo  <wingo@pobox.com>
1817
1818         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1819         borken refcounting.
1820
1821         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1822         gst_caps_replace takes care of this for us.
1823
1824         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1825         gst_pad_set_caps on the target, not just its setcaps() function.
1826
1827         * tests/network-clock.scm: 
1828         * tests/network-clock-utils.scm: A network clock simulator.
1829         Something of an algorithmic testbed before doing something in C.
1830
1831 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * check/Makefile.am:
1834         * check/gst/capslist.h:
1835           copy over from 0.8, and add two with bitmasks specified with
1836           (int) 0xFF...
1837         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1838           add test to parse everything from capslist.h
1839         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1840         (main):
1841           add test for structure deserialization
1842         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1843           add tests for deserialization of strings to int types
1844         * gst/gststructure.c: (gst_structure_nth_field_name):
1845         * gst/gststructure.h:
1846           add a way to get the name of a field referenced by index
1847         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1848           instead of checking if the resulting long long lies between
1849           min and max, we check if the long long would fit into
1850           a number of bytes for the final type.
1851           This fixes cases where a string represents 2^32 - 1, which
1852           when cast to int would be the (valid) -1, but is bigger than
1853           G_MAXINT
1854
1855 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         * gst/parse/grammar.y:
1858           add a log line for type deserialization
1859
1860 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1861
1862         * check/gst/gstvalue.c: (START_TEST):
1863         * gst/gstvalue.c: (gst_value_deserialize):
1864           return long long, not int, so gint64 deserialization actually
1865           works.  Is there any flag that makes the compiler check this ?
1866           Fixes #308559
1867
1868 2005-06-22  Wim Taymans  <wim@fluendo.com>
1869
1870         * gst/gstbuffer.h:
1871         Added convenience macros for setting buffers in GValue.
1872
1873 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1874
1875         * check/gst/.cvsignore:
1876         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1877           add a test deserializing int64, and comment part out because
1878           it fails, yay !
1879
1880 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1881
1882         * check/Makefile.am:
1883         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1884         * testsuite/Makefile.am:
1885         * testsuite/caps/Makefile.am:
1886         * testsuite/caps/value_serialize.c:
1887         * testsuite/test_gst_init.c:
1888           move a value_serialize test over
1889
1890 2005-06-20  Wim Taymans  <wim@fluendo.com>
1891
1892         * gst/gstpad.c:
1893         Small doc updates.
1894         
1895         * gst/gstvalue.c: (gst_value_compare_buffer),
1896         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1897         (gst_value_compare_flags), (gst_value_serialize_flags),
1898         (gst_value_deserialize_flags), (_gst_value_initialize):
1899         Fix serialisation of buffers, they are not boxed types anymore
1900
1901 2005-06-20  Wim Taymans  <wim@fluendo.com>
1902
1903         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1904         Testcase to show error in buffer-on-caps serialisation.
1905
1906 2005-06-20  Andy Wingo  <wingo@pobox.com>
1907
1908         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1909         will be adding to later.
1910
1911         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1912         if its socks fill with rocks.
1913         (gst_system_clock_obtain): Set the name on object construction.
1914         Avoid double-checked locking.
1915
1916 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1917
1918         * gst/gsturi.c: (gst_element_make_from_uri):
1919           Fix potential endless loop.
1920
1921 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1922
1923         * check/Makefile.am:
1924           add gsttag
1925         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1926         (main):
1927           move over from testsuite dir and clean up
1928         * configure.ac:
1929         * gst/gsttag.c:
1930         * testsuite/Makefile.am:
1931         * testsuite/tags/.cvsignore:
1932         * testsuite/tags/Makefile.am:
1933         * testsuite/tags/merge.c:
1934           remove testsuite/tags
1935
1936 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1937
1938         * docs/gst/gstreamer-sections.txt:
1939         * docs/gst/tmpl/gstenumtypes.sgml:
1940         * win32/gstenumtypes.c:
1941           clean up documentation build a little
1942
1943 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1944
1945         * check/gstcheck.h:
1946           add macros for checking refcounts on objects and caps
1947         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1948           add some more unit tests
1949         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1950         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1951           fix leaked refcounts (I hope :)) so unittest works
1952         * gst/gstpad.h:
1953           whitespace removal
1954
1955 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1956
1957         * configure.ac: back to HEAD
1958
1959 === release 0.9.1 ===
1960
1961 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1962
1963         * NEWS:
1964         * RELEASE:
1965           updated
1966
1967 2005-06-17  Andy Wingo  <wingo@pobox.com>
1968
1969         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1970         assert; it's always possible that the pad gets deactivated in
1971         between the checks in gstpad.c and the implementation. Rely on
1972         finish_preroll() to return a FLUSHING or similar instead of on the
1973         assert.
1974         
1975         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1976         clock and post an EOS message if we come out of finish_preroll in
1977         the playing state.
1978
1979 2005-06-16  David Schleef  <ds@schleef.org>
1980
1981         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1982         (gst_capsfilter_set_property): Allow NULL as possible value
1983         for filter_caps property, indicating GST_CAPS_ANY.
1984
1985 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1986
1987         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1988           fix debug output
1989         * gst/schedulers/Makefile.am:
1990           use libgst prefix
1991         * gstreamer.spec.in:
1992           fix spec for it
1993
1994 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1995
1996         * gstreamer.spec.in:
1997           clean up
1998
1999 2005-06-08  Andy Wingo  <wingo@pobox.com>
2000
2001         * gst/gstutils.c: RPAD fixes all around.
2002         (gst_element_link_pads): Refcounting fixes.
2003
2004         * tools/gst-inspect.c:
2005         * tools/gst-xmlinspect.c:
2006         * parse/grammar.y:
2007         * gst/base/gsttypefindhelper.c:
2008         * gst/base/gstbasesink.c:
2009         * gst/gstqueue.c: RPAD fixes.
2010
2011         * gst/gstghostpad.h:
2012         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2013         pads. The tricky thing is they provide both source and sink
2014         interfaces, since they proxy the internal pad for the external
2015         pad, and vice versa. Implement with lower-level ProxyPad objects,
2016         with the interior proxy pad as a child of the exterior ghost pad.
2017         Should write a doc on this.
2018         
2019         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2020         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2021         gst_object API.
2022         
2023         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2024         pads are real pads. No ghost pads in this file. Not documenting
2025         the myriad s/RPAD/PAD/ and REALIZE fixes.
2026         (gst_pad_class_init): Add properties for "direction" and
2027         "template". Both are construct-only, so they can't change during
2028         the life of the pad. Fixes properly deriving from GstPad.
2029         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2030         derived objects, just set properties when creating the objects via
2031         g_object_new.
2032         (gst_pad_get_parent): Implement as a function, return NULL if the
2033         parent is not an element.
2034         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2035         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2036         
2037         * gst/gstobject.c (gst_object_class_init): Make name a construct
2038         property. Don't set it in the object init.
2039
2040         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2041         with UNKNOWN direction.
2042         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2043         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2044         (gst_element_remove_pad): Remove ghost-pad special cases.
2045         (gst_element_pads_activate): Remove rpad cruft.
2046
2047         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2048         catch the pad's-parent-not-an-element case.
2049
2050         * gst/gst.h: Include gstghostpad.h.
2051
2052         * gst/gst.c (init_post): No more real, ghost pads.
2053
2054         * gst/Makefile.am: Add gstghostpad.[ch].
2055
2056         * check/Makefile.am:
2057         * check/gst/gstbin.c:
2058         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2059         into a bin creates ghost pads, and that the refcounts are right.
2060         Partly moved from gstbin.c.
2061
2062 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2063
2064         * check/gst-libs/.cvsignore:
2065         * check/gst/.cvsignore:
2066         * check/pipelines/.cvsignore:
2067           ignore more
2068         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2069         (START_TEST), (cleanup_suite), (main):
2070           add some tests related to cleanup after running pipelines
2071
2072 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2073
2074         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2075           add a testsuite for GstBuffer
2076
2077 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2078
2079         * gst/gstminiobject.h:
2080           add defines for accessing the refcount
2081
2082 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2083
2084         * Makefile.am: added support for html unit test coverage reports
2085
2086 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2087
2088         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2089           Free existing caps if the capsfilter changes. Add a FIXME about
2090           setting those caps on the pads.
2091
2092         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2093           Before adding a ghost pad to a parent bin, check that there isn't
2094           already one for the element on the bin. Prevents infinite recursion
2095           when using decodebin in parse pipelines. Andy says he'll rewrite the
2096           way this works anyway, so ignore the hack.
2097
2098 2005-06-02  Andy Wingo  <wingo@pobox.com>
2099
2100         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2101         file size, pass it on to the type find helper.
2102
2103         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2104         segment_start and segment_end properly according to the seek
2105         method. Segment_end is still a bit flaky because offset can be
2106         negative for CUR and END cases, but it takes -1 as an "unset"
2107         value.
2108
2109 2005-06-02  Wim Taymans  <wim@fluendo.com>
2110
2111         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2112         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2113         (gst_basesink_activate):
2114         * gst/base/gstbasesink.h:
2115         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2116         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2117         (gst_pad_query), (gst_pad_start_task):
2118         * gst/gstpad.h:
2119         * gst/gstqueue.c: (gst_queue_bufferalloc),
2120         (gst_queue_handle_sink_event), (gst_queue_chain):
2121         Bufferalloc: return GstFlowReturn to more accuratly report
2122         why allocation failed.
2123
2124 2005-06-02  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/gstpipeline.c: (gst_pipeline_send_event):
2127         Take snapshot of state without blocking.
2128
2129 2005-06-02  Wim Taymans  <wim@fluendo.com>
2130
2131         * docs/design/part-TODO.txt:
2132         * docs/design/part-caps.txt:
2133         * docs/design/part-clocks.txt:
2134         * docs/design/part-negotiation.txt:
2135         * docs/design/part-preroll.txt:
2136         Small doc updates 
2137
2138 2005-05-30  Wim Taymans  <wim@fluendo.com>
2139
2140         * gst/elements/gstidentity.c: (gst_identity_event),
2141         (gst_identity_transform), (gst_identity_get_property):
2142         Protect last_message property as it is accessed from
2143         multiple threads.
2144
2145 2005-05-30  Wim Taymans  <wim@fluendo.com>
2146
2147         * gst/gstelement.c: (gst_element_init),
2148         (gst_element_pads_activate), (gst_element_change_state):
2149         Slicker pad activation code.
2150
2151 2005-05-30  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/Makefile.am:
2154         * gst/gstelement.h:
2155         * gst/gstelementfactory.h:
2156         * gst/gsttypes.h:
2157         Move elementfactory methods to separate .h file.
2158
2159 2005-05-30  Wim Taymans  <wim@fluendo.com>
2160
2161         * docs/design/part-overview.txt:
2162         * gst/gstsystemclock.h:
2163         Small typo fixes, doc updates.
2164
2165 2005-05-30  Wim Taymans  <wim@fluendo.com>
2166
2167         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2168         (init_popt_callback):
2169         Remove cpu-opt flag.
2170
2171 2005-05-30  Wim Taymans  <wim@fluendo.com>
2172
2173         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2174         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2175         * gst/gstbuffer.h:
2176         Avoid typechecking in places where not needed.
2177         Added accessor for malloc_data.
2178
2179 2005-05-30  Wim Taymans  <wim@fluendo.com>
2180
2181         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2182         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2183         (gst_pad_configure_sink), (gst_pad_configure_src),
2184         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2185         (gst_pad_start_task):
2186         Propagate errors from _set_caps() in configure_src/sink
2187         functions instead of returning TRUE.
2188         FLUSH events can travel up and downstream
2189
2190
2191 2005-05-30  Wim Taymans  <wim@fluendo.com>
2192
2193         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2194         (gst_basesink_activate):
2195         Handle EOS in preroll.
2196
2197 2005-05-30  Wim Taymans  <wim@fluendo.com>
2198
2199         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2200         (gst_queue_loop), (gst_queue_handle_src_event):
2201         Remove old pieces of code
2202         Flushing the queue in an upstream event is a very bad idea.
2203
2204 2005-05-26  Andy Wingo  <wingo@pobox.com>
2205
2206         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2207         gst_value_set_mini_object so as to add a ref on the object (which
2208         will be removed when the value is unset).
2209
2210         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2211         arg type in ::handoff.
2212
2213         * gst/gstelement.c (gst_element_change_state): Also deactivate
2214         pads in READY->NULL, just in case the element didn't make it to
2215         PAUSED. Wingo tested, Wim approved.
2216
2217 2005-05-26  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2220         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2221         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2222         A flushing pad cannot be used to alloc_buffer from.
2223
2224 2005-05-26  Wim Taymans  <wim@fluendo.com>
2225
2226         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2227         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2228         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2229         (gst_bus_create_watch), (gst_bus_add_watch_full):
2230         * gst/gstbus.h:
2231         Implement a real GSource and use g_main_context_wakeup() to
2232         signal new messages instead of the socketpair.
2233
2234 2005-05-25  Wim Taymans  <wim@fluendo.com>
2235
2236         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2237         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2238         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2239         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2240         (gst_pad_send_event), (gst_pad_start_task):
2241         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2242         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2243         (gst_queue_sink_activate), (gst_queue_src_activate),
2244         (gst_queue_change_state):
2245         * gst/gstqueue.h:
2246         Fix state changes for non sinks. We now change sinks, then elements
2247         with unconnected srcpads, then the rest.
2248         More efficient queue unlocking in flush and state changes.
2249         Set the pad activate mode even if it does not have an activate
2250         function.
2251
2252 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2253
2254         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2255           Don't go in pull mode for non-seekable sources.
2256         * gst/elements/gsttypefindelement.h:
2257         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2258         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2259         (free_entry), (stop_typefinding),
2260         (gst_type_find_element_handle_event), (find_peek),
2261         (gst_type_find_element_chain), (do_pull_typefind),
2262         (gst_type_find_element_change_state):
2263           Allow typefinding (w/o seeking) in push-mode, simplified version
2264           of what was in 0.8.
2265         * gst/gstutils.c: (gst_buffer_join):
2266         * gst/gstutils.h:
2267           gst_buffer_join() from 0.8.
2268
2269 2005-05-25  Wim Taymans  <wim@fluendo.com>
2270
2271         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2272         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2273         (gst_pad_send_event), (gst_pad_start_task):
2274         Disable attempt at mode switching until it is figured out.
2275
2276 2005-05-25  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2279         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2280         (gst_basesink_finish_preroll), (gst_basesink_chain),
2281         (gst_basesink_loop), (gst_basesink_activate),
2282         (gst_basesink_change_state):
2283         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2284         (gst_basesrc_get_range), (gst_basesrc_loop),
2285         (gst_basesrc_activate):
2286         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2287         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2288         (gst_real_pad_init), (gst_real_pad_set_property),
2289         (gst_real_pad_get_property), (gst_pad_set_active),
2290         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2291         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2292         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2293         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2294         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2295         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2296         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2297         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2298         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2299         (gst_pad_stop_task):
2300         * gst/gstpad.h:
2301         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2302         (gst_queue_loop), (gst_queue_src_activate):
2303         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2304         (gst_task_get_state):
2305         * gst/gsttask.h:
2306         * gst/schedulers/threadscheduler.c:
2307         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2308         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2309         in task function.
2310         Remove ACTIVE pad flag, use FLUSHING everywhere
2311         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2312         functions.
2313         Add locks around IS_FLUSHING when reading.
2314         Take STREAM lock in chain(), get_range() functions so plugins
2315         don't need to take it anymore.
2316         
2317
2318
2319 2005-05-25  Wim Taymans  <wim@fluendo.com>
2320
2321         * tools/gst-launch.c: (event_loop):
2322         Unref message after using its contents instead of
2323         before.
2324
2325 2005-05-24  Wim Taymans  <wim@fluendo.com>
2326
2327         * docs/design/draft-ghostpads.txt:
2328         * docs/design/draft-push-pull.txt:
2329         * docs/design/draft-query.txt:
2330         * docs/design/part-overview.txt:
2331         Docs updates, added general overview doc.
2332
2333 2005-05-21  David Schleef  <ds@schleef.org>
2334
2335         * docs/gst/tmpl/old/GstBin.sgml:
2336         * docs/gst/tmpl/old/GstBuffer.sgml:
2337         * docs/gst/tmpl/old/GstCaps.sgml:
2338         * docs/gst/tmpl/old/GstClock.sgml:
2339         * docs/gst/tmpl/old/GstCompat.sgml:
2340         * docs/gst/tmpl/old/GstData.sgml:
2341         * docs/gst/tmpl/old/GstElement.sgml:
2342         * docs/gst/tmpl/old/GstEvent.sgml:
2343         * docs/gst/tmpl/old/GstIndex.sgml:
2344         * docs/gst/tmpl/old/GstStructure.sgml:
2345         * docs/gst/tmpl/old/GstTag.sgml:
2346         * docs/gst/tmpl/old/cothreads.sgml:
2347         * docs/gst/tmpl/old/cothreads_compat.sgml:
2348         * docs/gst/tmpl/old/gettext.sgml:
2349         * docs/gst/tmpl/old/gobject2gtk.sgml:
2350         * docs/gst/tmpl/old/grammar.tab.sgml:
2351         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2352         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2353         * docs/gst/tmpl/old/gst_private.sgml:
2354         * docs/gst/tmpl/old/gstaggregator.sgml:
2355         * docs/gst/tmpl/old/gstarch.sgml:
2356         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2357         * docs/gst/tmpl/old/gstbufferstore.sgml:
2358         * docs/gst/tmpl/old/gstdata_private.sgml:
2359         * docs/gst/tmpl/old/gstdisksink.sgml:
2360         * docs/gst/tmpl/old/gstdisksrc.sgml:
2361         * docs/gst/tmpl/old/gstelementfactory.sgml:
2362         * docs/gst/tmpl/old/gstextratypes.sgml:
2363         * docs/gst/tmpl/old/gstfakesink.sgml:
2364         * docs/gst/tmpl/old/gstfakesrc.sgml:
2365         * docs/gst/tmpl/old/gstfdsink.sgml:
2366         * docs/gst/tmpl/old/gstfdsrc.sgml:
2367         * docs/gst/tmpl/old/gstfilesink.sgml:
2368         * docs/gst/tmpl/old/gstfilesrc.sgml:
2369         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2370         * docs/gst/tmpl/old/gstidentity.sgml:
2371         * docs/gst/tmpl/old/gstindexfactory.sgml:
2372         * docs/gst/tmpl/old/gstmarshal.sgml:
2373         * docs/gst/tmpl/old/gstmd5sink.sgml:
2374         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2375         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2376         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2377         * docs/gst/tmpl/old/gstpipefilter.sgml:
2378         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2379         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2380         * docs/gst/tmpl/old/gstshaper.sgml:
2381         * docs/gst/tmpl/old/gstspider.sgml:
2382         * docs/gst/tmpl/old/gstspideridentity.sgml:
2383         * docs/gst/tmpl/old/gststatistics.sgml:
2384         * docs/gst/tmpl/old/gsttee.sgml:
2385         * docs/gst/tmpl/old/gsttimecache.sgml:
2386         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2387         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2388         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2389         * docs/gst/tmpl/old/types.sgml:
2390           I didn't intend to add these or check them in.
2391
2392 2005-05-19  David Schleef  <ds@schleef.org>
2393
2394         * configure.ac: Use -no-common everywhere.  In a sane world, it
2395           would be the default in libtool, because without it, you can't
2396           build DLLs on Windows.
2397         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2398         * docs/gst/gstreamer-sections.txt:
2399         * docs/gst/tmpl/gstcpu.sgml:
2400         * docs/gst/tmpl/gstdata.sgml:
2401         * docs/gst/tmpl/gstthread.sgml:
2402
2403 2005-05-19  David Schleef  <ds@schleef.org>
2404
2405         * gst/gstminiobject.c: (gst_value_set_mini_object),
2406         (gst_value_take_mini_object), (gst_value_get_mini_object):
2407         * gst/gstminiobject.h: Add GValue set/get functions.
2408
2409 2005-05-19  Wim Taymans  <wim@fluendo.com>
2410
2411         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2412         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2413         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2414         * gst/gstbuffer.h:
2415         * gst/gstbus.c: (gst_bus_post):
2416         * gst/gstelement.c: (gst_element_get_random_pad):
2417         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2418         Make subbufer unref the parent in finalize.
2419         some more debugging info.
2420
2421
2422 2005-05-19  Wim Taymans  <wim@fluendo.com>
2423
2424         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2425         (gst_basesink_init), (gst_basesink_finalize),
2426         (gst_basesink_activate), (gst_basesink_change_state):
2427         Don't free preroll queue too early.
2428
2429 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2430
2431         * gst/Makefile.am:
2432         * gst/ROADMAP:
2433           Hi, I'm outdated. Please shoot me.
2434
2435 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2436
2437         * gst/gstpipeline.c: (gst_pipeline_send_event):
2438           Do not access variables after they have been deleted.
2439
2440 2005-05-19  Wim Taymans  <wim@fluendo.com>
2441
2442         * tools/gst-inspect.c: (print_plugin_features):
2443         A plugin feature does unfortunatly not use the
2444         object name yet...
2445
2446 2005-05-18  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2449         Port _span() functions to new subbuffers.
2450
2451 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2452
2453         * gst/gstbin.c: (gst_bin_add_func):
2454           Fix clock settery in bins when adding kids after the clock has
2455           been selected.
2456
2457 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2458
2459         * gst/elements/gstidentity.c: (gst_identity_class_init):
2460           Workaround until signals support GstMiniObject.
2461
2462 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2463
2464         * gst/gstbuffer.c:
2465         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2466
2467 2005-05-18  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/base/Makefile.am:
2470         * gst/base/gstadapter.c: (gst_adapter_base_init),
2471         (gst_adapter_class_init), (gst_adapter_init),
2472         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2473         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2474         (gst_adapter_flush), (gst_adapter_available),
2475         (gst_adapter_available_fast):
2476         * gst/base/gstadapter.h:
2477         Ported and added adapter to the base classes.
2478
2479 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2480
2481         * gst/gst.c:
2482         * gst/gstmessage.c:
2483           Make sure the class is reffed/unreffed once before threads can be
2484           used.  Fixes #304551.
2485
2486 2005-05-17  Wim Taymans  <wim@fluendo.com>
2487
2488         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2489         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2490         * gst/gstminiobject.c: (gst_mini_object_get_type),
2491         (gst_mini_object_free):
2492         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2493         (gst_pad_push), (gst_pad_push_event):
2494         * gst/gstqueue.c: (gst_queue_change_state):
2495         Don't queue buffers in basesink when we are flushing.
2496         Unref buffer when flushing in basesink.
2497         Flush queue when going to READY
2498         Unref buffer when _push() returns an error.
2499         Don't free MiniObject instance when refcount is incremented
2500         in _finalize() so that we can recover objects.
2501
2502 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2503
2504         * docs/manual/advanced-schedulers.xml:
2505         * docs/manual/appendix-checklist.xml:
2506         * docs/pwg/advanced-clock.xml:
2507         * docs/pwg/advanced-interfaces.xml:
2508         * docs/pwg/advanced-request.xml:
2509         * docs/pwg/advanced-types.xml:
2510         * docs/pwg/intro-preface.xml:
2511         * examples/plugins/example.c: (gst_example_get_type),
2512         (gst_example_class_init), (gst_example_chain),
2513         (gst_example_set_property), (gst_example_get_property),
2514         (gst_example_change_state), (plugin_init):
2515         * examples/plugins/example.h:
2516           small doc fixes
2517
2518 2005-05-17  Wim Taymans  <wim@fluendo.com>
2519
2520         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2521         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2522         * gst/gstqueue.c: (gst_queue_change_state):
2523         Clear queue when going to READY.
2524         Remove IN_SETCAPS flag too.
2525
2526 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2527
2528         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2529           Remove implicit cast from gboolean to GstElementStateReturn;
2530           make sure we still return failure in paused => ready case if
2531           the parent class fails to change state and our own stop 
2532           vfunc succeeds.
2533
2534 2005-05-17  Wim Taymans  <wim@fluendo.com>
2535
2536         * tools/gst-launch.c: (event_loop):
2537         Message was unreffed too soon.
2538
2539 2005-05-16  Andy Wingo  <wingo@pobox.com>
2540
2541         * gst/gstbin.c (sink_iterator_filter): Err... um...
2542
2543         * check/gst/gstbin.c (test_ghost_pads): New test for the
2544         ghosting-if-elements-not-in-same-bin behavior.
2545
2546 2005-05-16  David Schleef  <ds@schleef.org>
2547
2548         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2549         accessing refcount directly.
2550
2551 2005-05-15  David Schleef  <ds@schleef.org>
2552
2553         * check/Makefile.am: remove GstData checks
2554         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2555         * gst/Makefile.am: add miniobject, remove data
2556         * gst/gst.h: add miniobject, remove data
2557         * gst/gstdata.c: remove
2558         * gst/gstdata.h: remove
2559         * gst/gstdata_private.h: remove
2560         * gst/gsttypes.h: remove GstEvent and GstMessage
2561         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2562         * gst/gstmarshal.list: change BOXED -> OBJECT
2563
2564         Implement GstMiniObject.
2565         * gst/gstminiobject.c:
2566         * gst/gstminiobject.h:
2567
2568         Modify to be subclasses of GstMiniObject.
2569         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2570         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2571         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2572         (gst_subbuffer_get_type), (gst_subbuffer_init),
2573         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2574         (gst_buffer_span):
2575         * gst/gstbuffer.h:
2576         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2577         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2578         (_gst_event_copy), (gst_event_new):
2579         * gst/gstevent.h:
2580         * gst/gstmessage.c: (_gst_message_initialize),
2581         (gst_message_get_type), (gst_message_class_init),
2582         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2583         (gst_message_new), (gst_message_new_error),
2584         (gst_message_new_warning), (gst_message_new_tag),
2585         (gst_message_new_state_changed), (gst_message_new_application):
2586         * gst/gstmessage.h:
2587         * gst/gstprobe.c: (gst_probe_perform),
2588         (gst_probe_dispatcher_dispatch):
2589         * gst/gstprobe.h:
2590         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2591         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2592         (_gst_query_copy), (gst_query_new):
2593
2594         Update elements for GstData -> GstMiniObject changes
2595         * gst/gstquery.h:
2596         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2597         (gst_queue_chain), (gst_queue_loop):
2598         * gst/elements/gstbufferstore.c:
2599         (gst_buffer_store_add_buffer_func),
2600         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2601         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2602         (gst_fakesink_render):
2603         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2604         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2605         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2606         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2607         (gst_filesrc_create_read):
2608         * gst/elements/gstidentity.c: (gst_identity_class_init):
2609         * gst/elements/gsttypefindelement.c:
2610         (gst_type_find_element_src_event), (free_entry_buffers),
2611         (gst_type_find_element_handle_event):
2612         * libs/gst/dataprotocol/dataprotocol.c:
2613         (gst_dp_header_from_buffer):
2614         * libs/gst/dataprotocol/dataprotocol.h:
2615         * libs/gst/dataprotocol/dp-private.h:
2616
2617 2005-05-15  David Schleef  <ds@schleef.org>
2618
2619         * gst/elements/gstelements.c: Don't include headers that were
2620         just removed.
2621
2622 2005-05-15  David Schleef  <ds@schleef.org>
2623
2624         * gst/elements/Makefile.am: Remove some elements that don't
2625         need to be in the core (or even exist at all).
2626         * gst/elements/gstaggregator.c:
2627         * gst/elements/gstaggregator.h:
2628         * gst/elements/gstmd5sink.c:
2629         * gst/elements/gstmd5sink.h:
2630         * gst/elements/gstmultifilesrc.c:
2631         * gst/elements/gstmultifilesrc.h:
2632         * gst/elements/gstpipefilter.c:
2633         * gst/elements/gstpipefilter.h:
2634         * gst/elements/gstshaper.c:
2635         * gst/elements/gstshaper.h:
2636         * gst/elements/gststatistics.c:
2637         * gst/elements/gststatistics.h:
2638         * po/POTFILES.in: Remove above files.
2639
2640 2005-05-14  Andy Wingo  <wingo@pobox.com>
2641
2642         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2643         so as to get the refs right.
2644         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2645         unreffing objects that don't pass the filter.
2646
2647         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2648         gst_element_set_bus.
2649         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2650         normal cases, this will destroy the bus.
2651
2652         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2653         object.
2654
2655         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2656         has no sinks.
2657
2658 2005-05-13  Andy Wingo  <wingo@pobox.com>
2659
2660         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2661         gst_pad_link, call pad_link_maybe_ghosting,
2662         (pad_link_maybe_ghosting): Links pads, making sure that the
2663         elements being linked are in the same bin.
2664         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2665         Helpers for pad_link_maybe_ghosting.
2666
2667 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2668
2669         * configure.ac:
2670           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2671
2672 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2673
2674         * docs/design/part-element-source.txt:
2675           Mention GstPushSrc
2676
2677 2005-05-12  Wim Taymans  <wim@fluendo.com>
2678
2679         * gst/base/gstbasesink.c: (gst_basesink_init),
2680         (gst_basesink_activate):
2681         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2682         (gst_basesrc_is_seekable):
2683         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2684         (bin_element_is_sink), (gst_bin_change_state):
2685         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2686         * gst/gstelement.h:
2687         Identify sinks by their flag to avoid overly complicated
2688         checks (fow now).
2689         Do state changes even for elements not reachable from the
2690         sinks.
2691         BaseSink is a sink now :)
2692         Some more debugging info in the basesrc.
2693
2694
2695 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2696
2697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2698           Implement _query on a bin, similar to _send_event.
2699
2700 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2701
2702         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2703           Discont event offset format should be GST_FORMAT_BYTES,
2704           not GST_FORMAT_TIME.
2705
2706 2005-05-12  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2709         Same fix as Ronald's but without the signal. 
2710
2711 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2712
2713         * gst/gstutils.c: (gst_element_query_position):
2714           No, an element is not a pad.
2715
2716 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2717
2718         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2719         (gst_bin_get_state):
2720           If a child is removed from a bin while we remove the child from
2721           the bin and while we're retrieving its state, signal this to the
2722           get_state function so we abort the wait (instead of waiting for
2723           a timeout) and can immediately re-iterate over all other elements.
2724
2725 2005-05-12  Wim Taymans  <wim@fluendo.com>
2726
2727         * gst/base/Makefile.am:
2728         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2729         (gst_basesrc_start):
2730         * gst/base/gstbasesrc.h:
2731         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2732         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2733         (gst_pushsrc_init), (gst_pushsrc_create):
2734         * gst/base/gstpushsrc.h:
2735         Added is_seekable to BaseSrc
2736         Added simple PushSrc.
2737
2738 2005-05-11  Wim Taymans  <wim@fluendo.com>
2739
2740         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2741         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2742         (gst_element_link_pads), (gst_element_query_position),
2743         (gst_element_query_convert), (intersect_caps_func),
2744         (gst_pad_query_position), (gst_pad_query_convert):
2745         Fix refcounting in utils function.
2746         No point in trying to activate a pad when it's added, it could
2747         be added from the state change function and then we deadlock, the
2748         element has to decide what to do.
2749
2750 2005-05-10  Andy Wingo  <wingo@pobox.com>
2751
2752         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2753         *all* the arguments.
2754
2755         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2756         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2757         lock (according to the docs -- if this is wrong change the docs).
2758
2759         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2760         flush messages in the NULL state.
2761
2762         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2763         message immediately and return.
2764         (gst_bus_set_flushing): New function. If a bus is flushing, it
2765         flushes out any queued messages and immediately unrefs new
2766         messages. This is so when an element goes to NULL, all of the
2767         unhandled messages coming from it can be freed, and their
2768         references to the element dropped. In other words: message source
2769         ref considered harmful :P
2770
2771         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2772         we're finished with it.
2773
2774         * gst/gstmessage.c (gst_message_new_state_changed): 
2775
2776 2005-05-10  Wim Taymans  <wim@fluendo.com>
2777
2778         * gst/gstvalue.c: (gst_value_compare_flags),
2779         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2780         (_gst_value_initialize):
2781         Added flags serialize/deserialize/compare code.
2782
2783 2005-05-09  Andy Wingo  <wingo@pobox.com>
2784
2785         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2786         Intersect the peer's caps with our caps.
2787
2788 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2789
2790         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2791         * gst/elements/gsttypefindelement.c: (find_peek):
2792           Handle negative offsets better. Fixes decodebin.
2793
2794 2005-05-09  Wim Taymans  <wim@fluendo.com>
2795
2796         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2797         (gst_base_transform_event):
2798         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2799         Implement accept_caps.
2800         Fix silly lock/unlock mismatch in base class.
2801
2802 2005-05-09  Wim Taymans  <wim@fluendo.com>
2803
2804         * docs/design/draft-push-pull.txt:
2805         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2806         * gst/elements/gstfilesink.c: (gst_filesink_init),
2807         (gst_filesink_query):
2808         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2809         (gst_type_find_handle_src_query), (find_element_get_length):
2810         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2811         * gst/gstelement.h:
2812         * gst/gstmessage.c:
2813         * gst/gstmessage.h:
2814         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2815         (gst_real_pad_get_caps_unlocked),
2816         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2817         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2818         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2819         (gst_real_pad_dispose), (gst_real_pad_finalize),
2820         (gst_pad_load_and_link), (gst_pad_save_thyself),
2821         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2822         (gst_pad_check_pull_range), (gst_pad_pull_range),
2823         (gst_pad_template_get_type), (gst_pad_template_class_init),
2824         (gst_pad_template_init), (gst_pad_template_dispose),
2825         (name_is_valid), (gst_static_pad_template_get),
2826         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2827         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2828         (gst_pad_get_element_private), (gst_pad_start_task),
2829         (gst_pad_pause_task), (gst_pad_stop_task),
2830         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2831         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2832         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2833         (gst_ghost_pad_new):
2834         * gst/gstpad.h:
2835         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2836         (gst_query_new_position), (gst_query_set_position),
2837         (gst_query_parse_position), (gst_query_new_convert),
2838         (gst_query_set_convert), (gst_query_parse_convert):
2839         * gst/gstquery.h:
2840         * gst/gstqueryutils.c:
2841         * gst/gstqueryutils.h:
2842         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2843         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2844         (gst_queue_handle_src_query):
2845         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2846         (gst_element_query_position), (gst_element_query_convert),
2847         (intersect_caps_func), (gst_pad_query_position),
2848         (gst_pad_query_convert):
2849         * gst/gstutils.h:
2850         * tools/gst-inspect.c: (print_pad_info):
2851         * tools/gst-xmlinspect.c: (print_element_info):
2852         Remove old query functions. Ported old code.
2853         Added position/convert helper functions to gstutils.
2854         Reordered gstpad.c code, grouping relevant things.
2855         Remove gst_message_new(), always need to speficy a specific
2856         message.
2857
2858
2859 2005-05-09  Andy Wingo  <wingo@pobox.com>
2860
2861         * gst/gstiterator.h: Add some includes.
2862
2863         * gst/gstqueryutils.h: Include more headers.
2864
2865         * gst/gstpad.h:
2866         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2867         some uses of gst_pad_query.
2868
2869         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2870         NULL out parameters.
2871         (gst_query_new_position): New proc, allocates a new position
2872         query.
2873
2874         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2875         gstqueryutils.c to the build.
2876
2877         * gst/gststructure.c (gst_structure_set_valist): Implement with
2878         the generic G_VALUE_COLLECT.
2879         
2880 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2881
2882         * gst/Makefile.am: (gst_headers):
2883         Added gstqueryutils.h to the list of headers to install, that was
2884         a 'nachty' move wingo :)
2885
2886 2005-05-06  Andy Wingo  <wingo@pobox.com>
2887
2888         * gst/gstquery.h
2889         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2890         GstData, init a memchunk.
2891         (standard_definitions): Add a few query types, deprecate a few.
2892         (gst_query_get_type): New proc.
2893         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2894         implementation.
2895         (gst_query_new_application, gst_query_get_structure): New public
2896         procs.
2897
2898         * docs/design/draft-query.txt: Removed LINKS from the query types,
2899         because all the rest can be dispatched to other pads -- seemed
2900         ugly to have a query that couldn't be dispatched. internal_links
2901         is fine as a pad method.
2902
2903         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2904         in gstpad.c, but maintain binary compatibility for the moment.
2905         Will fix before 0.9 is out.
2906
2907         * gst/gstqueryutils.c: 
2908         * gst/gstqueryutils.h: New files, implement 3 methods for each
2909         query type: parse_query, parse_response, and set. Probably need an
2910         allocator as well.
2911
2912         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2913
2914         * gst/elements/gstfilesink.c (gst_filesink_query2):
2915         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2916         query_types, and formats methods.
2917
2918         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2919         (gst_pad_set_query2_function): New functions.
2920         (gst_real_pad_init): Set query2_default as the default query2
2921         function. Basically just dispatches to internally linked pads.
2922
2923         Needs review!
2924         
2925         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2926         without using the atomic operations. Only one thread can possibly
2927         be accessing the data at this point. Changed so as to avoid
2928         gst_atomic operations.
2929
2930 2005-05-06  Wim Taymans  <wim@fluendo.com>
2931
2932         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2933         Also set caps if we use the fallback buffer alloc.
2934
2935 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2936
2937         * docs/gst/Makefile.am:
2938         * docs/gst/gstreamer-docs.sgml:
2939         * docs/gst/gstreamer-sections.txt:
2940         * docs/gst/tmpl/gstatomic.sgml:
2941         * docs/gst/tmpl/gstmemchunk.sgml:
2942         * testsuite/elements/struct_i386.h:
2943         * win32/GStreamer.vcproj:
2944         * win32/Makefile:
2945           Purge GstAtomic stuff from docs and win32 makefiles as well
2946
2947 2005-05-06  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2950         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2951         * gst/gstpad.c: (gst_pad_peer_get_caps):
2952         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2953         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2954         (gst_queue_src_activate), (gst_queue_change_state):
2955         * gst/gstqueue.h:
2956         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2957         (intersect_caps_func):
2958         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2959         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2960         Some fixes for the peer_get_caps() change.
2961
2962 2005-05-06  Wim Taymans  <wim@fluendo.com>
2963
2964         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2965         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2966         (gst_basesink_activate):
2967         Actually do something with error codes returned from the push
2968         functions.
2969
2970 2005-05-06  Wim Taymans  <wim@fluendo.com>
2971
2972         * docs/design/part-element-sink.txt:
2973         * docs/design/part-element-source.txt:
2974         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2975         (gst_basesink_event), (gst_basesink_activate):
2976         * gst/base/gstbasesink.h:
2977         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2978         (gst_basesrc_activate):
2979         * gst/base/gstbasesrc.h:
2980         * gst/gstelement.c: (gst_element_pads_activate):
2981         Some more documentation.
2982         Fixed scheduling decision in _pads_activate().
2983
2984 2005-05-05  Andy Wingo  <wingo@pobox.com>
2985
2986         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2987         the test suite.
2988
2989 2005-05-05  Wim Taymans  <wim@fluendo.com>
2990
2991         * gst/base/Makefile.am:
2992         * gst/base/gstbasesink.h:
2993         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2994         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2995         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2996         (gst_collectpads_class_init), (gst_collectpads_init),
2997         (gst_collectpads_finalize), (gst_collectpads_new),
2998         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2999         (find_pad), (gst_collectpads_remove_pad),
3000         (gst_collectpads_is_active), (gst_collectpads_collect),
3001         (gst_collectpads_collect_range), (gst_collectpads_start),
3002         (gst_collectpads_stop), (gst_collectpads_peek),
3003         (gst_collectpads_pop), (gst_collectpads_available),
3004         (gst_collectpads_read), (gst_collectpads_flush),
3005         (gst_collectpads_chain):
3006         * gst/base/gstcollectpads.h:
3007         * gst/elements/Makefile.am:
3008         * gst/elements/gstelements.c:
3009         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3010         (gst_fakesink_get_times), (gst_fakesink_event),
3011         (gst_fakesink_preroll), (gst_fakesink_render):
3012         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3013         (gst_filesink_init), (gst_filesink_set_location),
3014         (gst_filesink_open_file), (gst_filesink_close_file),
3015         (gst_filesink_pad_query), (gst_filesink_event),
3016         (gst_filesink_render), (gst_filesink_change_state):
3017         * gst/elements/gstfilesink.h:
3018         Added object to help in making collect pad based elements.
3019         Ported filesink.
3020         Make event function in sink baseclass return gboolean.
3021
3022 2005-05-05  Wim Taymans  <wim@fluendo.com>
3023
3024         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3025         (gst_bin_get_by_name):
3026         * gst/gstbuffer.h:
3027         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3028         (gst_clock_finalize):
3029         * gst/gstdata.c: (gst_data_replace):
3030         * gst/gstdata.h:
3031         * gst/gstelement.c: (gst_element_request_pad),
3032         (gst_element_pads_activate):
3033         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3034         (gst_object_unref):
3035         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3036         (gst_pad_set_checkgetrange_function),
3037         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3038         (gst_pad_check_pull_range), (gst_pad_pull_range),
3039         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3040         (gst_pad_pause_task), (gst_pad_stop_task):
3041         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3042         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3043         Fix name lookup in GstBin.
3044         Added _data_replace() function and _buffer_replace()
3045         Use finalize method to clean up clock.
3046         Fix refcounting on request pads.
3047         Fix pad schedule mode error.
3048         Some more object refcounting debug info,
3049
3050
3051 2005-05-04  Andy Wingo <wingo@pobox.com>
3052
3053         * check/Makefile.am:
3054         * docs/gst/tmpl/gstatomic.sgml:
3055         * docs/gst/tmpl/gstplugin.sgml:
3056         * gst/base/gstbasesink.c: (gst_basesink_activate):
3057         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3058         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3059         (gst_basesrc_query), (gst_basesrc_set_property),
3060         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3061         (gst_basesrc_activate):
3062         * gst/base/gstbasesrc.h:
3063         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3064         (gst_base_transform_src_activate):
3065         * gst/elements/gstelements.c:
3066         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3067         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3068         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3069         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3070         (gst_type_find_element_checkgetrange),
3071         (gst_type_find_element_activate):
3072         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3073         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3074         (gst_caps_load_thyself):
3075         * gst/gstelement.c: (gst_element_pads_activate),
3076         (gst_element_save_thyself), (gst_element_restore_thyself):
3077         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3078         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3079         * gst/gstpad.h:
3080         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3081         (gst_xml_parse_file), (gst_xml_parse_memory),
3082         (gst_xml_get_element), (gst_xml_make_element):
3083         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3084         (_file_index_id_save_xml), (gst_file_index_commit):
3085         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3086         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3087         (load_paths):
3088         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3089         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3090         * tools/gst-complete.c: (main):
3091         * tools/gst-compprep.c: (main):
3092         * tools/gst-inspect.c: (print_element_properties_info):
3093         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3094         * tools/gst-xmlinspect.c: (print_element_properties):
3095         GCC 4 fixen.
3096         
3097 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3098
3099         * gst/gstplugin.c: (gst_plugin_check_module),
3100         (gst_plugin_check_file), (gst_plugin_load_file):
3101             apply patch from #172526 to make register work on MacOSX
3102
3103 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3104
3105         * docs/gst/tmpl/gstconfig.sgml:
3106         * gst/gstconfig.h.in:
3107           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3108         * testsuite/debug/printf_extension.c: (main):
3109           Do not use GST_PTR_FORMAT on pointers to types with
3110           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3111         * testsuite/elements/property.h:
3112           use correct printf format
3113
3114 2005-05-02  Wim Taymans  <wim@fluendo.com>
3115
3116         * docs/design/draft-push-pull.txt:
3117         * docs/design/draft-query.txt:
3118         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3119         (gst_basesrc_start):
3120         Added draft for new query API.
3121         Added draft for better selecting scheduling methods.
3122         Make basesrc ignore length if the subclass does not support
3123         it.
3124
3125 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3126
3127         * gst/Makefile.am:
3128           possible fixes for automake-1.5 - _LIBADD is reserved
3129
3130 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3131
3132         * docs/faq/Makefile.am:
3133         * docs/manual/Makefile.am:
3134         * docs/manuals.mak:
3135         * docs/pwg/Makefile.am:
3136         * gst/Makefile.am:
3137           possible fixes for automake-1.5
3138
3139 2005-04-28  Wim Taymans  <wim@fluendo.com>
3140
3141         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3142         (gst_basesink_pad_getcaps), (gst_basesink_init),
3143         (gst_basesink_do_sync):
3144         * gst/gstclock.c: (gst_clock_entry_new):
3145         * gst/gstevent.c: (gst_event_discont_get_value):
3146         * gst/gstpipeline.c: (pipeline_bus_handler),
3147         (gst_pipeline_change_state):
3148         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3149         Better debugging of clocking info.
3150         Allow NULL values when getting discont values.
3151
3152 2005-04-27  Wim Taymans  <wim@fluendo.com>
3153
3154         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3155         * check/gst/gstpad.c: (gst_pad_suite):
3156         Increase timeout for checks.
3157
3158 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3159
3160         * check/Makefile.am:
3161           fix the broken rule for cleanup.  Apparently this rule is
3162           only needed on FC2, so maybe this warrants further autotool
3163           inspection.
3164
3165 2005-04-26  Wim Taymans  <wim@fluendo.com>
3166
3167         * gst/gsttrashstack.h:
3168         Ooohh. a nasty one! After having a failed pop() from the stack,
3169         it's possible that the stack is empty. In that case, don't
3170         follow the NULL pointer.
3171
3172 2005-04-25  Wim Taymans  <wim@fluendo.com>
3173
3174         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3175         (gst_pad_set_checkgetrange_function),
3176         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3177         (gst_pad_check_pull_range), (gst_pad_pull_range),
3178         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3179         (gst_pad_pause_task), (gst_pad_stop_task):
3180         * gst/gstplugin.c: (gst_plugin_load):
3181         * gst/gstplugin.h:
3182         Remove gst_library_load as it does more harm than good with
3183         the new g_module flags.
3184         Revert bogus caps template check in pad linking, pad caps
3185         are important when linking not the template, which is more
3186         general than the current caps.
3187
3188 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3189
3190         * gst/autoplug/.cvsignore:
3191         * gst/autoplug/Makefile.am:
3192         * gst/autoplug/gstsearchfuncs.c:
3193         * gst/autoplug/gstsearchfuncs.h:
3194         * gst/autoplug/gstspider.c:
3195         * gst/autoplug/gstspider.h:
3196         * gst/autoplug/gstspideridentity.c:
3197         * gst/autoplug/gstspideridentity.h:
3198         * gst/autoplug/spidertest.c:
3199           Die, spider, die.
3200
3201 2005-04-25  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3204         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3205         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3206         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3207         * gst/gstpad.h:
3208         Added stubs for unimplemented functions. 
3209
3210 2005-04-24  David Schleef  <ds@schleef.org>
3211
3212         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3213         please fix.
3214
3215 2005-04-24  David Schleef  <ds@schleef.org>
3216
3217         Convert everything from GstAtomicInt to g_atomic_int_*, and
3218         remove gstatomic.
3219         * gst/Makefile.am:
3220         * gst/gstatomic.c:
3221         * gst/gstatomic.h:
3222         * gst/gstatomic_impl.h:
3223         * gst/gstbuffer.c:
3224         * gst/gstcaps.c:
3225         * gst/gstcaps.h:
3226         * gst/gstclock.c:
3227         * gst/gstclock.h:
3228         * gst/gstdata.c:
3229         * gst/gstdata.h:
3230         * gst/gstdata_private.h:
3231         * gst/gstevent.c:
3232         * gst/gstinfo.c:
3233         * gst/gstinfo.h:
3234         * gst/gstmessage.c:
3235         * gst/gstobject.c:
3236         * gst/gstobject.h:
3237         * gst/gststructure.c:
3238         * gst/gststructure.h:
3239         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3240         * gst/gstutils.h:
3241
3242 2005-04-24  David Schleef  <ds@schleef.org>
3243
3244         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3245         make the regressions tests work.  Remove some code that is no
3246         longer true.
3247         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3248         Disable warning for pads without templates.
3249
3250 2005-04-24  David Schleef  <ds@schleef.org>
3251
3252         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3253         functions that handle filtered links.
3254         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3255         removed functions.
3256         * gst/gstutils.c: Fix/remove utility functions that handle
3257         filtered caps.
3258         * gst/gstutils.h:
3259         * gst/gstvalue.c: Add serialization/deserialization of caps
3260         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3261         requires fixing so that the filter caps notation creates
3262         a capsfilter element and sets the filter_caps property.  I
3263         think everyone probably wants to keep the shorthand notation.
3264         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3265         * docs/gst/tmpl/gstpad.sgml:
3266
3267         * gst/elements/gstelements.c: Register capsfilter element.
3268         * gst/Makefile.am: fix spacing
3269         * docs/random/ds/0.9-suggested-changes: random
3270
3271 2005-04-23  David Schleef  <ds@schleef.org>
3272
3273         * gst/elements/Makefile.am:
3274         * gst/elements/gstcapsfilter.c: New element that acts like an
3275         identity, but filters caps.  Will eventually replace filtered
3276         caps in pad linking.
3277         * gst/gstutils.c: (gst_element_create_all_pads): New function
3278         to create all the ALWAYS pads that are registered with an
3279         element class.  This functionality should eventually be
3280         merged in with GstElement initialization.
3281         * gst/gstutils.h:
3282         * testsuite/trigger/README: part of trigger test code that should
3283         have been checked in a long time ago.
3284
3285 2005-04-23  David Schleef  <ds@schleef.org>
3286
3287         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3288         needed with new versions of libtool (nobody will confirm this),
3289         and hard to carry around.
3290         * gst/autoplug/Makefile.am:
3291         * gst/base/Makefile.am:
3292         * gst/elements/Makefile.am:
3293         * gst/indexers/Makefile.am:
3294         * gst/schedulers/Makefile.am:
3295         * libs/gst/bytestream/Makefile.am:
3296         * libs/gst/control/Makefile.am:
3297         * libs/gst/dataprotocol/Makefile.am:
3298         * libs/gst/getbits/Makefile.am:
3299
3300 2005-04-21  Wim Taymans  <wim@fluendo.com>
3301
3302         * docs/design/draft-push-pull.txt:
3303         * docs/design/part-MT-refcounting.txt:
3304         * docs/design/part-TODO.txt:
3305         * docs/design/part-caps.txt:
3306         * docs/design/part-events.txt:
3307         * docs/design/part-gstbus.txt:
3308         * docs/design/part-gstpipeline.txt:
3309         * docs/design/part-messages.txt:
3310         * docs/design/part-push-pull.txt:
3311         * docs/design/part-query.txt:
3312         Some more docs.
3313
3314 2005-04-21  Wim Taymans  <wim@fluendo.com>
3315
3316         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3317         (gst_message_new), (gst_message_new_error),
3318         (gst_message_new_warning), (gst_message_new_tag),
3319         (gst_message_new_state_changed), (gst_message_new_application),
3320         (gst_message_get_structure):
3321         * gst/gstmessage.h:
3322         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3323         (gst_structure_copy_conditional):
3324         Use parent refcount in GstMessage to ensure GstStructure
3325         consistency.
3326         Cleaned up headers a bit.
3327         
3328
3329 2005-04-20  Wim Taymans  <wim@fluendo.com>
3330
3331         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3332         (gst_basesink_pad_getcaps), (gst_basesink_init),
3333         (gst_basesink_chain_unlocked):
3334         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3335         (gst_type_find_helper):
3336         * gst/elements/gsttypefindelement.c:
3337         (gst_type_find_element_have_type), (gst_type_find_element_init),
3338         (stop_typefinding), (gst_type_find_element_handle_event),
3339         (find_suggest), (gst_type_find_element_chain),
3340         (gst_type_find_element_checkgetrange),
3341         (gst_type_find_element_getrange), (do_typefind),
3342         (gst_type_find_element_activate):
3343         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3344         (gst_buffer_default_free), (gst_buffer_default_copy),
3345         (gst_buffer_set_caps):
3346         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3347         (gst_caps_replace):
3348         * gst/gstmessage.c: (gst_message_new),
3349         (gst_message_new_state_changed):
3350         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3351         (gst_pad_set_checkgetrange_function),
3352         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3353         (gst_pad_set_caps), (gst_pad_check_pull_range),
3354         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3355         * gst/gstpad.h:
3356         * gst/gsttypefind.c: (gst_type_find_register):
3357         Make gst_caps_replace() work like other _replace() functions.
3358         Use _caps_replace() where possible.
3359         Make sure _message_new() initialises its field.
3360         Add gst_static_pad_template_get_caps()
3361
3362
3363 2005-04-18  Andy Wingo  <wingo@pobox.com>
3364
3365         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3366         on the peer, not the pad. I think that was a typo. Pass an extra
3367         arg to see if random access is possible. Activate the pads as
3368         PULL_RANGE if possible.
3369
3370         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3371
3372         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3373         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3374         to PROP_....
3375
3376 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3377
3378         * docs/faq/using.xml:
3379           Add note on gstreamer-properties (#154996).
3380
3381 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3382
3383         * docs/random/bbb/optional-properties:
3384           Some analysis on optional properties.
3385
3386 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3387
3388         * docs/gst/tmpl/gstelementfactory.sgml:
3389         * gst/gstelement.h:
3390         * gst/gstelementfactory.c: (gst_element_factory_init),
3391         (gst_element_factory_cleanup), (gst_element_register),
3392         (__gst_element_factory_add_static_pad_template),
3393         (gst_element_factory_get_static_pad_templates),
3394         (gst_element_factory_can_src_caps),
3395         (gst_element_factory_can_sink_caps):
3396         * gst/registries/Makefile.am:
3397         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3398         (gst_xml_registry_class_init), (gst_xml_registry_init),
3399         (gst_xml_registry_new), (gst_xml_registry_set_property),
3400         (gst_xml_registry_get_property), (get_time), (make_dir),
3401         (gst_xml_registry_get_perms_func),
3402         (plugin_times_older_than_recurse), (plugin_times_older_than),
3403         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3404         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3405         (add_to_char_array), (read_string), (read_uint), (read_enum),
3406         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3407         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3408         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3409         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3410         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3411         (gst_xml_registry_rebuild):
3412         * gst/registries/gstlibxmlregistry.h:
3413         * tools/gst-compprep.c: (main):
3414         * tools/gst-inspect.c: (print_pad_templates_info):
3415         * tools/gst-xmlinspect.c: (print_element_info):
3416           Use libxml2 for registry parsing, use staticpadtemplates in
3417           elementfactories. Makes gst_init() +/- 10x faster.
3418
3419 2005-04-12  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/base/Makefile.am:
3422         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3423         (gst_basesink_pad_getcaps), (gst_basesink_init),
3424         (gst_basesink_event), (gst_basesink_change_state):
3425         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3426         (gst_basesrc_init), (gst_basesrc_query),
3427         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3428         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3429         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3430         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3431         (gst_basesrc_stop), (gst_basesrc_activate),
3432         (gst_basesrc_change_state):
3433         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3434         (helper_find_suggest), (gst_type_find_helper):
3435         * gst/base/gsttypefindhelper.h:
3436         * gst/elements/Makefile.am:
3437         * gst/elements/gstelements.c:
3438         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3439         (gst_fakesink_get_times), (gst_fakesink_event),
3440         (gst_fakesink_preroll), (gst_fakesink_render):
3441         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3442         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3443         (gst_fakesrc_get_property), (gst_fakesrc_create),
3444         (gst_fakesrc_start), (gst_fakesrc_stop):
3445         * gst/elements/gstfakesrc.h:
3446         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3447         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3448         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3449         (gst_filesrc_create_read), (gst_filesrc_create),
3450         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3451         (gst_filesrc_start):
3452         * gst/elements/gsttypefindelement.c:
3453         (gst_type_find_element_have_type), (gst_type_find_element_init),
3454         (start_typefinding), (stop_typefinding), (push_buffer_store),
3455         (gst_type_find_element_handle_event),
3456         (gst_type_find_element_chain),
3457         (gst_type_find_element_checkgetrange),
3458         (gst_type_find_element_getrange), (do_typefind),
3459         (gst_type_find_element_activate),
3460         (gst_type_find_element_change_state):
3461         * gst/elements/gsttypefindelement.h:
3462         * gst/gstpipeline.c: (pipeline_bus_handler):
3463         Added typefind helper.
3464         Small preroll fix in the base sink.
3465         Disable typefind code in basesrc.
3466         Crude port of typefindelement.
3467         Fakesrc cleanups.
3468
3469
3470 2005-04-11  Wim Taymans  <wim@fluendo.com>
3471
3472         * check/gst/gstbus.c: (gstbus_suite):
3473         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3474         * check/gstcheck.h:
3475           Fix up the timeout so that the test does not fail.
3476
3477 2005-04-06  Wim Taymans  <wim@fluendo.com>
3478
3479         * gst/base/README:
3480         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3481         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3482         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3483         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3484         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3485         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3486         (gst_basesrc_stop), (gst_basesrc_activate),
3487         (gst_basesrc_change_state), (basesrc_find_peek),
3488         (basesrc_find_suggest), (gst_basesrc_type_find):
3489         * gst/base/gstbasesrc.h:
3490         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3491         (gst_filesrc_class_init), (gst_filesrc_init),
3492         (gst_filesrc_finalize), (gst_filesrc_set_location),
3493         (gst_filesrc_set_property), (gst_filesrc_get_property),
3494         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3495         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3496         (gst_filesrc_create_read), (gst_filesrc_create),
3497         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3498         * gst/elements/gstfilesrc.h:
3499         * gst/gstelement.c: (gst_element_get_state_func),
3500         (gst_element_lost_state), (gst_element_pads_activate):
3501         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3502         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3503         (gst_pad_pull_range):
3504         * gst/gstpad.h:
3505         More work on the generic source base class, implement seeking,
3506         query.
3507         Make filesrc extend the base source class.
3508         Added gst_pad_set_checkgetrange_function to GstPad.
3509
3510 2005-04-06  Andy Wingo  <wingo@pobox.com>
3511
3512         * pkgconfig/gstreamer-base.pc.in:
3513         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3514
3515         * pkgconfig/Makefile.am:
3516         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3517
3518 2005-04-04  Wim Taymans  <wim@fluendo.com>
3519
3520         * gst/base/Makefile.am:
3521         * gst/base/README:
3522         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3523         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3524         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3525         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3526         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3527         (gst_basesrc_base_init), (gst_basesrc_class_init),
3528         (gst_basesrc_init), (gst_basesrc_get_formats),
3529         (gst_basesrc_get_query_types), (gst_basesrc_query),
3530         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3531         (gst_basesrc_set_property), (gst_basesrc_get_property),
3532         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3533         (gst_basesrc_loop), (gst_basesrc_activate),
3534         (gst_basesrc_change_state):
3535         * gst/base/gstbasesrc.h:
3536         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3537         (gst_fakesrc_class_init), (gst_fakesrc_init),
3538         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3539         (gst_fakesrc_get_property), (gst_fakesrc_create):
3540         * gst/elements/gstfakesrc.h:
3541         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3542         (gst_filesrc_open_file), (gst_filesrc_loop),
3543         (gst_filesrc_activate), (filesrc_find_peek),
3544         (gst_filesrc_type_find):
3545         Made base source class, make fakesrc extend it.
3546         Add comments to basesink class.
3547         Some filesrc cleanup.
3548
3549 2005-03-31  David Schleef  <ds@schleef.org>
3550
3551         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3552         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3553         expected to link against libgstreamer.
3554         * gst/base/Makefile.am: link against libgstreamer
3555         * gst/elements/Makefile.am: same
3556
3557 2005-03-31  Andy Wingo  <wingo@pobox.com>
3558
3559         * tests/instantiate/Makefile.am:
3560         * tests/instantiate/caps.c: Add test to test speed of caps copy
3561         and free.
3562
3563         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3564         GMemChunk to be fair.
3565
3566         * gst/gsttrashstack.h: Remove warning about using the fallback
3567         trash stack implementation, it's still faster than malloc.
3568
3569 2005-03-30  Andy Wingo  <wingo@pobox.com>
3570
3571         * tests/complexity.c: Add a copyright.
3572
3573 2005-03-31  Wim Taymans  <wim@fluendo.com>
3574
3575         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3576         (gst_base_transform_class_init), (gst_base_transform_init),
3577         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3578         (gst_base_transform_get_property),
3579         (gst_base_transform_sink_activate),
3580         (gst_base_transform_src_activate),
3581         (gst_base_transform_change_state):
3582         * gst/base/gstbasetransform.h:
3583         * gst/elements/gstidentity.c: (gst_identity_class_init),
3584         (gst_identity_event), (gst_identity_check_perfect),
3585         (gst_identity_transform), (gst_identity_start),
3586         (gst_identity_stop):
3587         Added start/stop methods to transform base class so subclasses 
3588         don't need to deal with state changes even.
3589
3590 2005-03-31  Wim Taymans  <wim@fluendo.com>
3591
3592         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3593         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3594         * gst/gstevent.h:
3595         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3596         (gst_pad_pull_range):
3597         Added rate to the discont event to prepare for variable speed
3598         and reverse playback.
3599
3600 2005-03-29  David Schleef  <ds@schleef.org>
3601
3602         * configure.ac:
3603         * testsuite/trigger/Makefile.am:
3604         * testsuite/trigger/trigger.c: A little example program to show
3605         how trigger-based elements can work.
3606
3607 2005-03-29  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/base/Makefile.am:
3610         * gst/base/README:
3611         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3612         (gst_basesink_base_init), (gst_basesink_class_init),
3613         (gst_basesink_pad_getcaps), (gst_basesink_init),
3614         (gst_basesink_activate), (gst_basesink_change_state):
3615         * gst/base/gstbasesink.h:
3616         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3617         (gst_base_transform_base_init), (gst_base_transform_finalize),
3618         (gst_base_transform_class_init), (gst_base_transform_init),
3619         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3620         (gst_base_transform_event), (gst_base_transform_getrange),
3621         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3622         (gst_base_transform_set_property),
3623         (gst_base_transform_get_property),
3624         (gst_base_transform_sink_activate),
3625         (gst_base_transform_src_activate),
3626         (gst_base_transform_change_state):
3627         * gst/base/gstbasetransform.h:
3628         * gst/elements/gstidentity.c: (gst_identity_finalize),
3629         (gst_identity_class_init), (gst_identity_init),
3630         (gst_identity_event), (gst_identity_check_perfect),
3631         (gst_identity_transform), (gst_identity_set_property),
3632         (gst_identity_get_property), (gst_identity_change_state):
3633         * gst/elements/gstidentity.h:
3634         * gst/gstelement.c: (gst_element_get_state_func),
3635         (gst_element_lost_state), (gst_element_pads_activate):
3636         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3637         (gst_pad_check_pull_range), (gst_pad_pull_range):
3638         * gst/gstpad.h:
3639         Simplify pad activation.
3640         Added function to check if pull_range can be performed.
3641         Error out when pulling inactive or flushing pads.
3642         Removed const from refcounted types as it does not make sense.
3643         Simplify pad templates in basesink
3644         Added base class for simple 1-to-1 transforms.
3645         Make identity subclass the base transform.
3646
3647 2005-03-29  Andy Wingo  <wingo@pobox.com>
3648
3649         * docs/libs/gstreamer-libs-overrides.txt: 
3650         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3651         really don't understand what's going on, but like whatever. I want
3652         green buildbot!
3653
3654         * docs/gst/Makefile.am:
3655         * docs/libs/Makefile.am: Dist the overrides files.
3656
3657         * check/Makefile.am (clean-local): Remove .libs directories.
3658
3659         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3660         elements to EXTRA_DIST, so po/ files are happy.
3661
3662         * po/POTFILES.in: Er, remove it here.
3663
3664         * po/POTFILES: Remove gstspider.c.
3665
3666         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3667
3668         * docs/libs/gstreamer-libs-docs.sgml: 
3669         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3670         bytestream.
3671
3672         * tests/complexity.c (main): Set the length of the preroll queue
3673         on the sinks to prevent a lockup.
3674
3675         * libs/gst/dataprotocol/Makefile.am: 
3676         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3677         the same as the one in check/gst-libs/gdp.c.
3678
3679         * po/, docs/gst/: Commit automatic changes to docs and po files.
3680
3681         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3682         the versioned libgstbase.
3683
3684         * check/Makefile.am: Depend on an unversioned gst-register, seems
3685         to make autoconf happier.
3686
3687         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3688
3689 2005-03-28  Wim Taymans  <wim@fluendo.com>
3690
3691         * configure.ac:
3692         * docs/design/part-gstelement.txt:
3693         * docs/design/part-negotiation.txt:
3694         * docs/design/part-preroll.txt:
3695         * docs/design/part-scheduling.txt:
3696         * docs/design/part-states.txt:
3697         * gst/Makefile.am:
3698         * gst/base/Makefile.am:
3699         * gst/base/README:
3700         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3701         (gst_basesink_base_init), (gst_basesink_class_init),
3702         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3703         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3704         (gst_basesink_set_pad_functions),
3705         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3706         (gst_basesink_set_property), (gst_basesink_get_property),
3707         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3708         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3709         (gst_basesink_preroll_queue_push),
3710         (gst_basesink_preroll_queue_empty),
3711         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3712         (gst_basesink_event), (gst_basesink_get_times),
3713         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3714         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3715         (gst_basesink_loop), (gst_basesink_activate),
3716         (gst_basesink_change_state):
3717         * gst/base/gstbasesink.h:
3718         * gst/elements/Makefile.am:
3719         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3720         (gst_fakesink_class_init), (gst_fakesink_init),
3721         (gst_fakesink_set_property), (gst_fakesink_get_property),
3722         (gst_fakesink_get_times), (gst_fakesink_event),
3723         (gst_fakesink_preroll), (gst_fakesink_render),
3724         (gst_fakesink_change_state):
3725         * gst/elements/gstfakesink.h:
3726         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3727         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3728         * gst/gstelement.c: (gst_element_add_pad),
3729         (gst_element_get_state_func), (gst_element_abort_state),
3730         (gst_element_commit_state), (gst_element_lost_state),
3731         (gst_element_set_state), (gst_element_pads_activate):
3732         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3733         * gst/gstpipeline.c: (gst_pipeline_send_event),
3734         (gst_pipeline_change_state):
3735         Added state change code.
3736         Added/updated docs.
3737         Added sink base class, make fakesink extend the base class.
3738         Small cleanups in GstPipeline.
3739
3740 2005-03-26  David Schleef  <ds@schleef.org>
3741
3742         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3743         is broken and should be implemented in a different library.
3744         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3745         * gst/gst.h: remove gstcpu.h
3746         * gst/gstcpu.c: remove
3747         * gst/gstcpu.h: remove
3748         * gst/Makefile.am.future: Remove this file.  It's ancient.
3749
3750 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3751
3752         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3753         (gst_bin_send_event):
3754           Add default event/set_manager handlers. The set_manager handler
3755           takes care that the manager is distributed over kids that were
3756           already in the bin before the manager was set. The event handler
3757           is a utility virtual function that sends the event over all sinks,
3758           so that gst_element_send_event (bin, event); has the expected
3759           behaviour.
3760         * gst/gstpad.c: (gst_pad_event_default):
3761           Re-install default event handling for discontinuities, so that
3762           seeking works without requiring hacks in applications or extra
3763           code in sinks.
3764         * gst/gstpipeline.c: (gst_pipeline_class_init),
3765         (gst_pipeline_send_event):
3766           Half hack, half utility: set a pipeline to PAUSED for seek events,
3767           since that is the only way we can guarantee a/v sync. Means that
3768           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3769           and it "just works".
3770
3771 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3772
3773         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3774           Lock/unlock mismatch.
3775
3776 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3777
3778         * docs/faq/gst-uninstalled:
3779           add gst-plugins-base
3780         * docs/gst/Makefile.am:
3781           don't error out until docs are fixed
3782         * docs/gst/gstreamer.types:
3783           remove thread
3784
3785 2005-03-22  Wim Taymans  <wim@fluendo.com>
3786
3787         * check/Makefile.am:
3788         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3789         * gst/gststructure.c: (gst_structure_set_valist),
3790         (gst_structure_copy_conditional):
3791         Activated more tests.
3792         Added message test.
3793         Added G_TYPE_POINTER to GstStructure.
3794         
3795
3796 2005-03-22  Wim Taymans  <wim@fluendo.com>
3797
3798         * docs/design/part-TODO.txt:
3799         * docs/design/part-events.txt:
3800         * docs/design/part-gstbin.txt:
3801         * docs/design/part-gstbus.txt:
3802         * docs/design/part-gstpipeline.txt:
3803         * docs/design/part-messages.txt:
3804         * gst/gstbus.c:
3805         * gst/gstmessage.c:
3806         Docs updates
3807
3808 2005-03-21  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/gstbus.c: (gst_bus_post):
3811         Fix copy-and-paste error.
3812
3813 2005-03-21  Wim Taymans  <wim@fluendo.com>
3814
3815         * check/Makefile.am:
3816         * gst/Makefile.am:
3817         * gst/elements/Makefile.am:
3818         * gst/elements/gstelements.c:
3819         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3820         (gst_fakesink_event), (gst_fakesink_chain):
3821         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3822         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3823         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3824         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3825         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3826         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3827         (gst_fakesrc_loop), (gst_fakesrc_activate),
3828         (gst_fakesrc_change_state):
3829         * gst/elements/gstfakesrc.h:
3830         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3831         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3832         (gst_filesrc_open_file), (gst_filesrc_loop),
3833         (gst_filesrc_activate), (gst_filesrc_change_state),
3834         (filesrc_find_peek), (filesrc_find_suggest),
3835         (gst_filesrc_type_find):
3836         * gst/elements/gstidentity.c: (gst_identity_finalize),
3837         (gst_identity_class_init), (gst_identity_init),
3838         (gst_identity_proxy_getcaps), (identity_queue_push),
3839         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3840         (gst_identity_getrange), (gst_identity_chain),
3841         (gst_identity_sink_loop), (gst_identity_src_loop),
3842         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3843         (gst_identity_set_property), (gst_identity_get_property),
3844         (gst_identity_change_state):
3845         * gst/elements/gstidentity.h:
3846         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3847         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3848         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3849         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3850         (gst_tee_sink_activate):
3851         * gst/elements/gsttee.h:
3852         * gst/gst.c: (gst_register_core_elements), (init_post):
3853         * gst/gst.h:
3854         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3855         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3856         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3857         (gst_bin_change_state):
3858         * gst/gstbin.h:
3859         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3860         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3861         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3862         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3863         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3864         (bus_watch_callback), (bus_watch_destroy),
3865         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3866         (poll_timeout), (gst_bus_poll):
3867         * gst/gstbus.h:
3868         * gst/gstcaps.h:
3869         * gst/gstdata.h:
3870         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3871         (gst_element_post_message), (gst_element_message_full),
3872         (gst_element_get_state_func), (gst_element_get_state),
3873         (gst_element_abort_state), (gst_element_commit_state),
3874         (gst_element_lost_state), (gst_element_set_state),
3875         (gst_element_pads_activate), (gst_element_change_state),
3876         (gst_element_dispose), (gst_element_set_manager_func),
3877         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3878         (gst_element_set_manager), (gst_element_get_manager),
3879         (gst_element_set_bus), (gst_element_get_bus),
3880         (gst_element_set_scheduler), (gst_element_get_scheduler):
3881         * gst/gstelement.h:
3882         * gst/gstevent.c: (gst_event_new_segment_seek),
3883         (gst_event_new_flush):
3884         * gst/gstevent.h:
3885         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3886         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3887         (gst_message_new_eos), (gst_message_new_error),
3888         (gst_message_new_warning), (gst_message_new_tag),
3889         (gst_message_new_state_changed), (gst_message_new_application),
3890         (gst_message_get_structure), (gst_message_parse_tag),
3891         (gst_message_parse_state_changed), (gst_message_parse_error),
3892         (gst_message_parse_warning):
3893         * gst/gstmessage.h:
3894         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3895         (gst_real_pad_set_property), (gst_pad_set_active),
3896         (gst_pad_is_active), (gst_pad_set_blocked_async),
3897         (gst_pad_set_blocked), (gst_pad_is_blocked),
3898         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3899         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3900         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3901         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3902         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3903         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3904         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3905         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3906         (gst_pad_set_caps), (gst_pad_configure_sink),
3907         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3908         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3909         (gst_real_pad_dispose), (gst_real_pad_finalize),
3910         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3911         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3912         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3913         * gst/gstpad.h:
3914         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3915         (pipeline_bus_handler), (gst_pipeline_change_state),
3916         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3917         * gst/gstpipeline.h:
3918         * gst/gstprobe.h:
3919         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3920         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3921         (gst_queue_link_src), (gst_queue_bufferalloc),
3922         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3923         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3924         (gst_queue_loop), (gst_queue_handle_src_event),
3925         (gst_queue_handle_src_query), (gst_queue_src_activate),
3926         (gst_queue_change_state):
3927         * gst/gstqueue.h:
3928         * gst/gstscheduler.c: (gst_scheduler_init),
3929         (gst_scheduler_dispose), (gst_scheduler_create_task),
3930         (gst_scheduler_factory_create):
3931         * gst/gstscheduler.h:
3932         * gst/gststructure.c: (gst_structure_get_type),
3933         (gst_structure_copy_conditional):
3934         * gst/gststructure.h:
3935         * gst/gsttaginterface.h:
3936         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3937         (gst_task_init), (gst_task_dispose), (gst_task_create),
3938         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3939         (gst_task_pause):
3940         * gst/gsttask.h:
3941         * gst/gstthread.c:
3942         * gst/gstthread.h:
3943         * gst/gsttypes.h:
3944         * gst/schedulers/Makefile.am:
3945         * gst/schedulers/cothreads_compat.h:
3946         * gst/schedulers/entryscheduler.c:
3947         * gst/schedulers/faircothreads.c:
3948         * gst/schedulers/faircothreads.h:
3949         * gst/schedulers/fairscheduler.c:
3950         * gst/schedulers/gstbasicscheduler.c:
3951         * gst/schedulers/gstoptimalscheduler.c:
3952         * gst/schedulers/gthread-cothreads.h:
3953         * gst/schedulers/threadscheduler.c:
3954         (gst_thread_scheduler_task_get_type),
3955         (gst_thread_scheduler_task_class_init),
3956         (gst_thread_scheduler_task_init),
3957         (gst_thread_scheduler_task_start),
3958         (gst_thread_scheduler_task_stop),
3959         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3960         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3961         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3962         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3963         (plugin_init):
3964         * libs/gst/Makefile.am:
3965         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3966         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3967         (gst_file_pad_parent_set):
3968         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3969         (gst_dp_event_from_packet):
3970         * tests/complexity.c: (main):
3971         * tests/mass_elements.c: (main):
3972         * testsuite/states/locked.c: (message_received), (main):
3973         * testsuite/states/parent.c: (main):
3974         * tools/gst-inspect.c: (print_element_flag_info),
3975         (print_implementation_info), (print_pad_info):
3976         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3977         (main):
3978         * tools/gst-md5sum.c: (event_loop), (main):
3979         * tools/gst-typefind.c: (main):
3980         * tools/gst-xmlinspect.c: (print_element_info):
3981         Next big merge.
3982         Added GstBus for mainloop integration.
3983         Added GstMessage for sending notifications on the bus.
3984         Added GstTask as an abstraction for pipeline entry points.
3985         Removed GstThread.
3986         Removed Schedulers.
3987         Simplified GstQueue for multithreaded core.
3988         Made _link threadsafe, removed old capsnego.
3989         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3990         Added pad blocking functions.
3991         Reworked scheduling functions in GstPad to prepare for
3992         scheduling updates soon.
3993         Moved events out of data stream.
3994         Simplified GstEvent types.
3995         Added return values to push/pull.
3996         Removed clocking from GstElement.
3997         Added prototypes for state change function for next merge.
3998         Removed iterate from bins and state change management.
3999         Fixed some elements, disabled others for now.
4000         Fixed -inspect and -launch.
4001         Added check for GstBus.
4002
4003 2005-03-10  Wim Taymans  <wim@fluendo.com>
4004
4005         * docs/design/part-MT-refcounting.txt:
4006         * docs/design/part-clocks.txt:
4007         * docs/design/part-gstelement.txt:
4008         * docs/design/part-gstobject.txt:
4009         * docs/design/part-standards.txt:
4010         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4011         (gst_bin_remove_func), (gst_bin_remove):
4012         * gst/gstbin.h:
4013         * gst/gstbuffer.c:
4014         * gst/gstcaps.h:
4015         * testsuite/clock/clock1.c: (main):
4016         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4017         (main):
4018         * testsuite/dlopen/loadgst.c: (do_test):
4019         * testsuite/refcounting/bin.c: (add_remove_test1),
4020         (add_remove_test2), (main):
4021         * testsuite/refcounting/element.c: (main):
4022         * testsuite/refcounting/element_pad.c: (main):
4023         * testsuite/refcounting/pad.c: (main):
4024         * tools/gst-launch.c: (sigint_handler_sighandler):
4025         * tools/gst-typefind.c: (main):
4026         Doc updates.
4027         Added doc about clock.
4028         removed gst_bin_iterate_recurse_up(), marked methods
4029         for removal.
4030         Fix more testsuites.
4031
4032 2005-03-09  Wim Taymans  <wim@fluendo.com>
4033
4034         * gst/gstpad.c: (gst_pad_get_direction),
4035         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4036         (gst_pad_collect_valist):
4037         * testsuite/bins/interface.c: (main):
4038         * testsuite/caps/audioscale.c: (test_caps):
4039         * testsuite/caps/caps.c: (test1), (test2), (test3):
4040         * testsuite/caps/deserialize.c: (main):
4041         * testsuite/caps/enumcaps.c: (main):
4042         * testsuite/caps/filtercaps.c: (main):
4043         * testsuite/caps/intersect2.c: (main):
4044         * testsuite/caps/random.c: (main):
4045         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4046         * testsuite/caps/sets.c: (check_caps):
4047         * testsuite/caps/simplify.c: (check_caps), (main):
4048         * testsuite/caps/subtract.c: (check_caps):
4049         Fix _pad_get_direction wrt ghostpads.
4050         Fix caps testsuite.
4051
4052 2005-03-09  Wim Taymans  <wim@fluendo.com>
4053
4054         * check/Makefile.am:
4055         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4056         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4057         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4058         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4059         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4060         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4061         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4062         (bin_element_is_sink), (gst_bin_iterate_sinks),
4063         (gst_bin_iterate_all_by_interface):
4064         * gst/gstbin.h:
4065         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4066         (gst_element_change_state), (gst_element_dispose),
4067         (gst_element_finalize), (gst_element_set_loop_function):
4068         * gst/gstelement.h:
4069         * gst/gstiterator.c: (find_custom_fold_func):
4070         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4071         (gst_pad_collectv), (gst_pad_collect_valist),
4072         (gst_pad_template_new):
4073         * gst/gstpipeline.c: (gst_pipeline_class_init),
4074         (gst_pipeline_dispose), (gst_pipeline_set_property),
4075         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4076         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4077         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4078         * gst/gstutils.h:
4079         * gst/schedulers/entryscheduler.c:
4080         * gst/schedulers/gstbasicscheduler.c:
4081         (gst_basic_scheduler_cothreaded_chain),
4082         (gst_basic_scheduler_chain_add_element):
4083         * testsuite/bins/interface.c: (main):
4084         Added GstBin test.
4085         Added GstSystemClock test.
4086         Implemented clock distribution code in GstBin.
4087         Implemented iterate sinks method for future use.
4088         Rearranged gstelement.h
4089         Fix GstIterator comparison bug.
4090         Moved some code to GstPipeline, mostly clocking related.
4091
4092 2005-03-09  Wim Taymans  <wim@fluendo.com>
4093
4094         * configure.ac:
4095         * gst/gst_private.h:
4096         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4097         (gst_bin_remove_func), (gst_bin_remove),
4098         (gst_bin_get_by_name_recurse_up):
4099         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4100         (gst_clock_id_compare_func), (gst_clock_id_wait),
4101         (gst_clock_id_wait_async), (gst_clock_init),
4102         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4103         * gst/gstelement.h:
4104         * gst/gstinfo.c: (_gst_debug_init):
4105         * gst/gstobject.h:
4106         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4107         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4108         * gst/gstpad.h:
4109         Bump version number, we're now 0.9.0
4110         Add future debugging category.
4111         Fix NULL _unref() in _get_by_name_recurse_up
4112         Rearrange gstpad.h.
4113         Update some docs.
4114
4115 2005-03-08  Wim Taymans  <wim@fluendo.com>
4116
4117         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4118         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4119         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4120         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4121         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4122         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4123         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4124         * gst/elements/gstidentity.c: (gst_identity_class_init):
4125         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4126         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4127         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4128         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4129         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4130         (gst_tee_link):
4131         * gst/gstelement.c: (gst_element_class_init),
4132         (gst_element_base_class_init), (gst_element_init),
4133         (gst_element_get_random_pad), (gst_element_wait_state_change),
4134         (gst_element_change_state), (gst_element_dispose),
4135         (gst_element_finalize), (gst_element_set_loop_function):
4136         * gst/gstelement.h:
4137         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4138         * gst/gstthread.c: (gst_thread_class_init),
4139         (gst_thread_release_children_locks), (gst_thread_change_state):
4140         * gst/schedulers/gstbasicscheduler.c:
4141         (gst_basic_scheduler_loopfunc_wrapper),
4142         (gst_basic_scheduler_chain_wrapper),
4143         (gst_basic_scheduler_src_wrapper),
4144         (gst_basic_scheduler_remove_element):
4145         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4146         Remove threadsafe properties. Fix elements because GObject
4147         complains when installing a property before declaring a
4148         set/get_property handler.
4149         Rearrange gstelement.h file, use STATE macros for state locks.
4150         Free mutexes in the finalize method instead of dispose.
4151
4152 2005-03-08  Wim Taymans  <wim@fluendo.com>
4153
4154         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4155         * gst/gstthread.c: (gst_thread_release_children_locks):
4156         Added parentage check.
4157         Fix build og GstThread again.
4158
4159 2005-03-08  Wim Taymans  <wim@fluendo.com>
4160
4161         * docs/design/part-MT-refcounting.txt:
4162         * docs/design/part-conventions.txt:
4163         * docs/design/part-gstobject.txt:
4164         * docs/design/part-relations.txt:
4165         * docs/design/part-standards.txt:
4166         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4167         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4168         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4169         (gst_bin_iterate_all_by_interface):
4170         * gst/gstbuffer.h:
4171         * gst/gstclock.h:
4172         * gst/gstelement.c: (gst_element_class_init),
4173         (gst_element_change_state), (gst_element_set_loop_function):
4174         * gst/gstelement.h:
4175         * gst/gstiterator.c:
4176         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4177         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4178         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4179         (gst_object_set_parent), (gst_object_unparent),
4180         (gst_object_check_uniqueness):
4181         * gst/gstobject.h:
4182         Docs updates, clean up some headers.
4183
4184 2005-03-07  Wim Taymans  <wim@fluendo.com>
4185
4186         * check/.cvsignore:
4187         * check/Makefile.am:
4188         * check/gst-libs/.cvsignore:
4189         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4190         * check/gst/.cvsignore:
4191         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4192         (START_TEST), (gstbus_suite), (main):
4193         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4194         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4195         (gst_data_suite), (main):
4196         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4197         (add_fold_func), (gstiterator_suite), (main):
4198         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4199         (thread_name_object), (thread_name_object_default),
4200         (gst_object_name_compare), (gst_object_suite), (main):
4201         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4202         (gst_pad_suite), (main):
4203         * check/gstcheck.c: (gst_check_log_message_func),
4204         (gst_check_log_critical_func), (gst_check_init):
4205         * check/gstcheck.h:
4206         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4207         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4208         Added checks.
4209
4210 2005-03-07  Wim Taymans  <wim@fluendo.com>
4211
4212         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4213         (gst_list_iterator_next), (gst_list_iterator_resync),
4214         (gst_list_iterator_free), (gst_iterator_new_list),
4215         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4216         (gst_iterator_free), (gst_iterator_push), (filter_next),
4217         (filter_resync), (filter_uninit), (filter_free),
4218         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4219         (gst_iterator_foreach), (find_custom_fold_func),
4220         (gst_iterator_find_custom):
4221         * gst/gstiterator.h:
4222         Added missing files.
4223
4224 2005-03-07  Wim Taymans  <wim@fluendo.com>
4225
4226         * Makefile.am:
4227         * configure.ac:
4228         * docs/design/part-MT-refcounting.txt:
4229         * docs/design/part-conventions.txt:
4230         * docs/design/part-gstobject.txt:
4231         * docs/design/part-relations.txt:
4232         * examples/mixer/mixer.c: (main):
4233         * examples/thread/thread.c: (eos), (main):
4234         * gst/Makefile.am:
4235         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4236         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4237         (gst_spider_plug_from_srcpad):
4238         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4239         (gst_spider_identity_change_state),
4240         (gst_spider_identity_sink_loop_type_finding):
4241         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4242         * gst/elements/gstidentity.c: (gst_identity_init):
4243         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4244         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4245         * gst/elements/gsttypefindelement.c: (free_entry):
4246         * gst/gst.c:
4247         * gst/gst.h:
4248         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4249         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4250         (gst_bin_set_index), (gst_bin_set_element_sched),
4251         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4252         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4253         (gst_bin_iterate_elements), (iterate_child_recurse),
4254         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4255         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4256         (compare_interface), (gst_bin_get_by_interface),
4257         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4258         * gst/gstbin.h:
4259         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4260         (gst_buffer_default_free), (gst_buffer_default_copy),
4261         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4262         (gst_buffer_create_sub):
4263         * gst/gstbuffer.h:
4264         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4265         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4266         (gst_caps_unref), (gst_static_caps_get),
4267         (gst_caps_remove_and_get_structure), (gst_caps_append),
4268         (gst_caps_append_structure), (gst_caps_remove_structure),
4269         (gst_caps_copy_nth), (gst_caps_set_simple),
4270         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4271         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4272         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4273         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4274         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4275         (gst_caps_structure_figure_out_union),
4276         (gst_caps_switch_structures), (gst_caps_do_simplify),
4277         (gst_caps_replace), (gst_caps_from_string),
4278         (gst_caps_copy_conditional):
4279         * gst/gstcaps.h:
4280         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4281         (_gst_clock_id_free), (gst_clock_id_unref),
4282         (gst_clock_id_compare_func), (gst_clock_id_wait),
4283         (gst_clock_id_wait_async), (gst_clock_class_init),
4284         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4285         (gst_clock_get_time), (gst_clock_set_time_adjust),
4286         (gst_clock_set_property), (gst_clock_get_property):
4287         * gst/gstclock.h:
4288         * gst/gstcompat.h:
4289         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4290         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4291         * gst/gstdata.h:
4292         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4293         (gst_element_requires_clock), (gst_element_provides_clock),
4294         (gst_element_set_clock), (gst_element_clock_wait),
4295         (gst_element_wait), (gst_element_set_time_delay),
4296         (gst_element_is_indexable), (gst_element_add_pad),
4297         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4298         (pad_compare_name), (gst_element_get_static_pad),
4299         (gst_element_request_pad), (gst_element_get_request_pad),
4300         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4301         (gst_element_class_get_pad_template_list),
4302         (gst_element_class_get_pad_template), (gst_element_error_func),
4303         (gst_element_get_random_pad), (gst_element_get_event_masks),
4304         (gst_element_send_event), (gst_element_seek),
4305         (gst_element_get_query_types), (gst_element_query),
4306         (gst_element_get_formats), (gst_element_convert),
4307         (gst_element_is_locked_state), (gst_element_set_locked_state),
4308         (gst_element_sync_state_with_parent), (gst_element_change_state),
4309         (gst_element_finalize), (gst_element_yield),
4310         (gst_element_interrupt), (gst_element_set_scheduler),
4311         (gst_element_get_scheduler), (gst_element_set_loop_function):
4312         * gst/gstelement.h:
4313         * gst/gstevent.h:
4314         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4315         (gst_format_get_by_nick), (gst_format_get_details),
4316         (gst_format_iterate_definitions):
4317         * gst/gstformat.h:
4318         * gst/gstindex.c: (gst_index_gtype_resolver):
4319         * gst/gstinfo.c:
4320         * gst/gstinfo.h:
4321         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4322         (gst_mem_chunk_free):
4323         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4324         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4325         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4326         (gst_object_dispatch_properties_changed),
4327         (gst_object_set_name_default), (gst_object_set_name),
4328         (gst_object_get_name), (gst_object_set_name_prefix),
4329         (gst_object_get_name_prefix), (gst_object_set_parent),
4330         (gst_object_get_parent), (gst_object_unparent),
4331         (gst_object_check_uniqueness), (gst_object_save_thyself),
4332         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4333         (gst_object_set_property), (gst_object_get_property),
4334         (gst_object_get_path_string):
4335         * gst/gstobject.h:
4336         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4337         (gst_real_pad_init), (gst_real_pad_get_property),
4338         (gst_pad_custom_new), (gst_pad_get_direction),
4339         (gst_pad_set_active), (gst_pad_is_active),
4340         (gst_pad_set_event_function), (gst_pad_is_linked),
4341         (gst_pad_link_free), (gst_pad_link_intersect),
4342         (gst_pad_link_fixate), (gst_pad_set_caps),
4343         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4344         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4345         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4346         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4347         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4348         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4349         (gst_pad_realize), (gst_pad_get_allowed_caps),
4350         (gst_real_pad_dispose), (gst_real_pad_finalize),
4351         (gst_pad_collectv), (gst_pad_collect_valist),
4352         (gst_pad_template_dispose), (gst_pad_template_new),
4353         (gst_pad_get_internal_links):
4354         * gst/gstpad.h:
4355         * gst/gstpipeline.c: (gst_pipeline_dispose),
4356         (gst_pipeline_change_state):
4357         * gst/gstpipeline.h:
4358         * gst/gstplugin.c:
4359         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4360         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4361         * gst/gstpluginfeature.h:
4362         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4363         * gst/gstquery.c: (_gst_query_type_initialize),
4364         (gst_query_type_register), (gst_query_type_get_by_nick),
4365         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4366         * gst/gstquery.h:
4367         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4368         * gst/gstscheduler.c: (gst_scheduler_add_element),
4369         (gst_scheduler_factory_create):
4370         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4371         (gst_structure_free), (gst_structure_set_name),
4372         (gst_structure_id_set_value), (gst_structure_set_value),
4373         (gst_structure_set_valist), (gst_structure_remove_field),
4374         (gst_structure_remove_fields),
4375         (gst_structure_remove_fields_valist),
4376         (gst_structure_remove_all_fields), (gst_structure_foreach),
4377         (gst_structure_map_in_place),
4378         (gst_caps_structure_fixate_field_nearest_int),
4379         (gst_caps_structure_fixate_field_nearest_double):
4380         * gst/gststructure.h:
4381         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4382         (gst_system_clock_init), (gst_system_clock_dispose),
4383         (gst_system_clock_async_thread),
4384         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4385         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4386         * gst/gstsystemclock.h:
4387         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4388         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4389         * gst/gsttaginterface.c:
4390         * gst/gstthread.c: (gst_thread_dispose),
4391         (gst_thread_release_children_locks), (gst_thread_change_state),
4392         (gst_thread_main_loop):
4393         * gst/gsttrashstack.h:
4394         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4395         * gst/gsttypes.h:
4396         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4397         (gst_element_request_pad), (gst_element_get_pad_from_template),
4398         (gst_element_request_compatible_pad),
4399         (gst_element_get_compatible_pad_filtered),
4400         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4401         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4402         (gst_element_link_many), (gst_element_link),
4403         (gst_element_link_pads), (gst_element_unlink_pads),
4404         (gst_element_unlink_many), (gst_element_unlink),
4405         (gst_pad_can_link_filtered), (gst_pad_can_link),
4406         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4407         (gst_object_default_error), (gst_bin_add_many),
4408         (gst_bin_remove_many), (gst_element_populate_std_props),
4409         (gst_element_class_install_std_props), (gst_buffer_merge),
4410         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4411         (link_fold_func), (gst_pad_proxy_setcaps):
4412         * gst/gstutils.h:
4413         * gst/gstvalue.c: (gst_value_deserialize_string):
4414         * gst/parse/grammar.y:
4415         * gst/schedulers/gstbasicscheduler.c:
4416         (gst_basic_scheduler_cothreaded_chain),
4417         (gst_basic_scheduler_chain_recursive_add),
4418         (gst_basic_scheduler_pad_link):
4419         * gst/schedulers/gstoptimalscheduler.c:
4420         (get_group_schedule_function),
4421         (gst_opt_scheduler_state_transition),
4422         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4423         * libs/gst/bytestream/bytestream.c:
4424         * libs/gst/dataprotocol/dataprotocol.c:
4425         (gst_dp_header_from_buffer):
4426         * po/nb.po:
4427         * po/ru.po:
4428         * tests/threadstate/threadstate2.c: (eos):
4429         * tools/gst-compprep.c: (main):
4430         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4431         (print_pad_info), (print_children_info):
4432         * tools/gst-launch.c: (idle_func), (main):
4433         * tools/gst-md5sum.c: (idle_func), (main):
4434         * tools/gst-xmlinspect.c: (print_element_info):
4435         First THREADED backport attempt, focusing on adding locks and
4436         making sure the API is threadsafe. Needs more work. More docs
4437         follow this week.
4438
4439 2005-02-24  Andy Wingo  <wingo@pobox.com>
4440
4441         * tests/bench-complexity.scm:
4442         * tests/complexity.gnuplot: New files, good for running complexity
4443         benchmarks.
4444
4445         * tests/Makefile.am:
4446         * tests/complexity.c: New test, sets up N elements, at each level
4447         teeing into M streams per element. Eeeenteresting.
4448
4449         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4450         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4451         running bench-mass_elements.scm.
4452
4453         * tests/bench-mass_elements.scm: New script, runs mass_elements
4454         for various numbers of identities, outputting the results to a
4455         file. Requires guile 1.6. Just for testing.
4456
4457 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4458
4459         * gst/schedulers/fairscheduler.c:
4460           compile with debug disabled
4461
4462 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4463
4464         * configure.ac:
4465           hunting season on 0.9 is now OPEN
4466
4467 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4468
4469         * docs/libs/tmpl/gstcontrol.sgml:
4470         * docs/libs/tmpl/gstdparam.sgml:
4471         * docs/libs/tmpl/gstdplinint.sgml:
4472         * docs/libs/tmpl/gstdpman.sgml:
4473         * docs/libs/tmpl/gstdpsmooth.sgml:
4474         * docs/libs/tmpl/gstunitconvert.sgml:
4475           more docs for the state of dparams
4476
4477 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4478
4479         * gst/gstelementfactory.c: (gst_element_factory_create):
4480         * gst/gstobject.c: (gst_object_init),
4481         (gst_object_set_name_default), (gst_object_set_name):
4482           name objects by default, not in gst_element_factory_create. Allows
4483           using elements created with g_object_new. (fixes #167283)
4484
4485 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4486
4487         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4488           make the time that debugging functions print relative to when
4489           gst_init was called
4490
4491 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4492
4493         * gst/gsttaginterface.c:
4494           Fix inline docs: tag setter vararg functions are NULL-terminated,
4495           GST_TAG_INVALID doesn't exist any more.
4496
4497 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4498
4499         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4500         Allocate the 1 byte more memory that was forgotten!!!!!
4501         fixes memory corruption on 64bit platforms
4502
4503 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4504
4505         * docs/pwg/building-pads.xml:
4506         * docs/pwg/intro-basics.xml:
4507           fixed a few typos, relabeled introductionary list of types
4508         * docs/random/ensonic/dparams.txt:
4509           more notes abut dparam changes
4510         * libs/gst/control/dparam.c: (gst_dparam_attach):
4511         * libs/gst/control/dparammanager.c:
4512         * libs/gst/control/dparammanager.h:
4513           - many comments and notes on dparam implementation
4514           - new dparams are were not initialized to the default value
4515             from param spec
4516
4517 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4518
4519         submitted by: Peter Astakhov
4520
4521         * po/LINGUAS:
4522         * po/ru.po:
4523           adding Russian translation
4524
4525 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4526
4527         * configure.ac:
4528         * docs/gst/Makefile.am:
4529         * docs/libs/Makefile.am:
4530           make sure popt is added to gtk-doc flags.  Fixes #147782.
4531
4532 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * docs/faq/using.xml:
4535           Fix typo in FAQ (artssink => artsdsink)
4536
4537 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4538
4539         * tools/gst-launch.1.in:
4540           Fix typo (#166699).
4541
4542 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * docs/faq/using.xml:
4545           Add -v argument to fakesrc/fakesink gst-launch line,
4546           so that the promised output will actually show up.
4547
4548 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4549
4550         * gst/gstthread.c: (gst_thread_change_state):
4551           Implement state-change error handling (#166073).
4552
4553 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4554
4555         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4556           Release interrupt after handling (#166250).
4557
4558 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4559
4560         * configure.ac:
4561           back to HEAD
4562
4563 === release 0.8.9 ===
4564
4565 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4566
4567         * NEWS:
4568         * RELEASE:
4569         * configure.ac:
4570           releasing 0.8.9, "Like Eating Glass"
4571
4572 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4573
4574         submitted by: Clytie Siddall
4575
4576         * po/vi.po: Added Vietnamese translation
4577
4578 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4579
4580         patch by: Tim Philipp-Müller
4581
4582         * configure.ac:
4583         * gst/gstpad.c:
4584           unref data when probe function returns FALSE.  Fixes #166362
4585
4586 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4587
4588         * gst/gst.c: (gst_init_get_popt_table):
4589           Fix typo (#166269).
4590
4591 2005-02-04  Andy Wingo  <wingo@pobox.com>
4592
4593         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4594         the debugging on whether the caps are compatible.
4595
4596 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4597
4598         * docs/manual/basics-elements.xml:
4599           Fix two typos.
4600
4601 2005-02-02  Wim Taymans  <wim@fluendo.com>
4602
4603         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4604         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4605         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4606         Remove some FIXMEs after analysing and commenting why they
4607         are not issues.
4608
4609 2005-02-02  Wim Taymans  <wim@fluendo.com>
4610
4611         * gst/schedulers/gstoptimalscheduler.c:
4612         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4613         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4614         (get_invalid_call), (chain_invalid_call),
4615         (get_group_schedule_function), (loop_group_schedule_function),
4616         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4617         (gst_opt_scheduler_state_transition),
4618         (gst_opt_scheduler_add_element),
4619         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4620         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4621         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4622         (gst_opt_scheduler_show):
4623         Added lock to protect scheduler data structures.
4624
4625 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4626
4627         * testsuite/threads/threadi.c: (cb_data):
4628           Fix buglet in test.
4629
4630 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4631
4632         * testsuite/threads/Makefile.am:
4633         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4634           On Wim's request, split the test in three separately-compiled
4635           tests that each test a very specific bug. Two of them still fail,
4636           will create bugs for those. threadi.c indicates why they fail.
4637
4638 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4639
4640         * gst/schedulers/gstoptimalscheduler.c:
4641         (get_group_schedule_function):
4642           Try to work with the threading mess that queue_link is.
4643
4644 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4645
4646         * gst/gstbin.c: (gst_bin_remove_func):
4647           Explicitely make an element release locks in a group when being
4648           remove from a bin.
4649         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4650           If there's no scheduler, always return immediately (similar to
4651           gst_element_interrupt).
4652
4653 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4654
4655         * gst/gstbin.c: (gst_bin_child_state_change_func):
4656           Remove a piece of code that could never be reached.
4657         * docs/gst/gstreamer-sections.txt:
4658         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4659         (gst_pad_call_get_function):
4660         * gst/gstpad.h:
4661         * testsuite/pad/Makefile.am:
4662           Fix #150546, enable tests.
4663
4664 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4665
4666         * docs/pwg/advanced-types.xml:
4667           Fix description for buffer-frames=0.
4668         * docs/gst/tmpl/gstbin.sgml:
4669         * gst/gstbin.c: (gst_bin_child_state_change_func),
4670         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4671         * gst/gstbin.h:
4672         * testsuite/threads/Makefile.am:
4673         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4674         (cb_state), (cb_play), (main):
4675           Fix non-recursive state changes to *really* change the state
4676           of the object, and not just call parent_class->state_change.
4677           Fix a lot of lockups caused by this. Fixes #132775. Add test
4678           for the problem. Also enable test to show #142588 (fixed).
4679         * gst/gstthread.c: (gst_thread_change_state),
4680         (gst_thread_child_state_change):
4681           Don't exit the thread if we go to NULL and are inside thread
4682           context. Instead, return control to the main thread context
4683           and exit from there.
4684         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4685           Don't unset virtual functions, since those may still be used.
4686           That's not necessarily correct, but suffices for now.
4687         * configure.ac:
4688         * testsuite/Makefile.am:
4689         * testsuite/pad/Makefile.am:
4690         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4691         (gst_test_sink_base_init), (gst_test_sink_chain),
4692         (gst_test_sink_init), (main):
4693         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4694         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4695         (main):
4696         * testsuite/pad/link.c: (gst_test_element_class_init),
4697         (gst_test_element_base_init), (gst_test_src_get),
4698         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4699         (gst_test_filter_loop), (gst_test_filter_init),
4700         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4701         (cb_error), (main):
4702           Add tests to show #150546. Pass, but should fail (currently
4703           disabled from the testsuite).
4704         * gst/gstscheduler.c: (gst_scheduler_dispose):
4705           Dereference child schedulers on dispose (#94464).
4706         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4707           Fix typo.
4708         * testsuite/threads/thread.c: (main):
4709           Add more debug.
4710
4711 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4712
4713         * gst/gstpad.c: (gst_pad_push):
4714           Oops, revert previous commit, broke testsuite...
4715
4716 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4717
4718         * gst/gstpad.c: (gst_pad_push):
4719           Add check that the pad on which the push is performed is not a
4720           get-based pad (#150546).
4721
4722 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4723
4724         * gst/elements/gsttypefindelement.c:
4725         (gst_type_find_element_handle_event):
4726           Fix buffer pushing if stream EOSes during typefinding.
4727
4728 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4729
4730         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4731
4732         * gst/gstvalue.c: (gst_string_wrap):
4733           Allow NULL-strings as argument (#165365).
4734
4735 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4736
4737         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4738
4739         * gst/schedulers/faircothreads.c:
4740         (gst_fair_scheduler_cothread_queue_show):
4741           Fix build without debug enabled.
4742
4743 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4744
4745         * docs/gst/gstreamer-sections.txt:
4746         * docs/libs/gstreamer-libs-docs.sgml:
4747         * docs/libs/gstreamer-libs-sections.txt:
4748         * docs/libs/tmpl/gstcontrol.sgml:
4749         * docs/libs/tmpl/gstdparam.sgml:
4750         * docs/libs/tmpl/gstdplinint.sgml:
4751         * docs/libs/tmpl/gstdpman.sgml:
4752         * docs/libs/tmpl/gstdpsmooth.sgml:
4753         * docs/libs/tmpl/gstputbits.sgml:
4754         * docs/libs/tmpl/gstunitconvert.sgml:
4755         * libs/gst/control/dparam.c:
4756         * libs/gst/control/dparam.h:
4757         * libs/gst/control/dparammanager.c:
4758         (gst_dpman_add_required_dparam_callback),
4759         (gst_dpman_add_required_dparam_direct),
4760         (gst_dpman_add_required_dparam_array),
4761         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4762         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4763         (gst_dpman_get_manager)
4764           restructured DParam docs
4765
4766 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4767
4768         * gst-element-check.m4:
4769           Only check for gst-inspect if we haven't already
4770           found it in previous element check runs
4771
4772 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4773
4774         * docs/gst/Makefile.am:
4775         * docs/libs/Makefile.am:
4776           fixed install rules to treat style.css as optional
4777
4778 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4779
4780         * docs/gst/Makefile.am:
4781         * docs/libs/Makefile.am:
4782           install style.css along with docs
4783         * docs/gst/tmpl/gstbin.sgml:
4784         * docs/gst/tmpl/gstclock.sgml:
4785         * docs/gst/tmpl/gstdata.sgml:
4786         * docs/gst/tmpl/gstelement.sgml:
4787         * gst/gstbin.h:
4788         * gst/gstelement.c: (gst_element_class_init):
4789         * gst/gstelement.h:
4790           fixing incomplete docs
4791
4792 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4793
4794         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4795           Don't unref seek event twice when fflush() fails
4796           
4797 2005-01-22  David Schleef  <ds@schleef.org>
4798
4799         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4800
4801 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4802
4803         * docs/gst/Makefile.am:
4804         * docs/libs/Makefile.am:
4805           added params for deprecation guards
4806         * gst/gst.c:
4807         * gst/gst.h:
4808         * gst/gsterror.c: (_gst_resource_errors_init),
4809         (_gst_stream_errors_init):
4810         * gst/gsterror.h:
4811           documented some more enums
4812
4813 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4814         * gst/autoplug/gstspideridentity.c:
4815         Cosmetic fix - spider_find_peek should be static
4816         * gst/parse/parse.l:
4817         Applying fix for #164261
4818
4819 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4820
4821         * docs/gst/gstreamer-sections.txt:
4822         * docs/gst/tmpl/gstplugin.sgml:
4823         * docs/libs/gstreamer-libs-sections.txt:
4824         * docs/libs/tmpl/gstcontrol.sgml:
4825         * gst/gstbuffer.h:
4826         * gst/gsttag.h:
4827         * gst/gstvalue.c:
4828           added docs for the TAG defines
4829
4830 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4831
4832         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4833           Only unref entry if there is an entry.
4834
4835 2005-01-17  Wim Taymans  <wim@fluendo.com>
4836
4837         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4838         (remove_from_group), (schedule_group), (normalize_group),
4839         (gst_opt_scheduler_iterate):
4840         Also ref/unref decoupled elements before iterating the
4841         group since they are not added to the list of elements.
4842
4843 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4844
4845         * docs/manual/highlevel-components.xml:
4846           Add subtitle/streamselection as new features to playbin.
4847
4848 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4849
4850         * docs/manual/manual.xml:
4851           Re-enable dataaccess docs (oops).
4852
4853 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4854
4855         * docs/pwg/advanced-types.xml:
4856         * docs/random/mimetypes:
4857           Add documentation on libsndfile types (#163309), by Steve Baker
4858           <steve@stevebaker.org>.
4859         * gst/gstelement.c: (gst_element_release_request_pad):
4860           If an element has no explicit function, just remove the pad.
4861
4862 2005-01-17  Luca Ognibene  <luogni@tin.it>
4863
4864         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4865
4866         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4867           Fix memleak (#163801).
4868
4869 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4870
4871         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4872           I think this is actually more correct...
4873
4874 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4875
4876         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4877           Another workaround for memory access while destroyed in callback.
4878           Please, someone with refcount knowledge, have a look at this.
4879
4880 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * docs/faq/faq.xml:
4883         * docs/faq/legal.xml:
4884           move the legal Q&A here
4885
4886 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4887
4888         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4889         (gst_tee_request_new_pad):
4890           Fix negotiation.
4891
4892 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4893
4894         * docs/random/omega/caps2:
4895         * testsuite/caps/caps_strings:
4896           replace framerate aproximations by their real value
4897           (24000/1001, 30000/1001, 60000/1001)
4898           Partially fixes bug #164049
4899
4900 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4901
4902         * docs/gst/Makefile.am:
4903           don't fail on the stupid GstPoptOption
4904
4905 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/gstpad.h:
4908         * gst/gstprobe.c:
4909           allow probes to work on ghost pads by realizing the pad
4910           probe debugging
4911
4912 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4913
4914         * docs/gst/gstreamer-sections.txt:
4915         * docs/gst/tmpl/gstpad.sgml:
4916         * gst/gstpad.c: (gst_pad_set_active_recursive):
4917         * gst/gstpad.h:
4918           Add gst_pad_set_active_recursive().
4919
4920 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4921
4922         * docs/random/release:
4923           updates
4924         * gst/gst_private.h:
4925         * gst/gstinfo.c:
4926         * gst/gstobject.c:
4927           move deep_notify logging to a new category
4928         * gst/gstprobe.c:
4929         * gst/gstprobe.h:
4930           add stuff so bindings can wrap probes
4931
4932 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4933
4934         * gst/gstplugin.c: (gst_plugin_load):
4935           Fix plugin loading if plugin/lib was already loaded. Fixes
4936           #163383
4937
4938 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4939
4940         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4941
4942         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4943           Protect plugin loading by a mutex so it's threadsafe. Fixes
4944           #163234.
4945
4946 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4947
4948         * gst/gstevent.c: (_gst_event_copy):
4949           Reference source object when copying events, since it'll be
4950           dereferenced on event dereferencing as well.
4951
4952 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4953
4954         * docs/gst/gstreamer-sections.txt:
4955         * docs/gst/tmpl/gstevent.sgml:
4956         * gst/gstevent.c: (gst_event_new_filler_stamped),
4957         (gst_event_filler_get_duration):
4958         * gst/gstevent.h:
4959           Add two new functions for filler events (which are used to
4960           synchronize streams if one of them is not having any data
4961           for a while) without interrupting the actual data-stream.
4962           Basically a no-op.
4963         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4964         (gst_queue_link_sink), (gst_queue_link_src),
4965         (gst_queue_change_state):
4966           Allow for renegotiation while filled. Required for stream
4967           switching while playing.
4968
4969 2005-01-08  Benjamin Otte  <otte@gnome.org>
4970
4971         * gst/gstelement.c: (gst_element_link_many):
4972           fix up g_return_if_fail's
4973         * po/LINGUAS:
4974         * po/de.po:
4975           add German translation, that was somehow not included
4976
4977 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4978
4979         * docs/random/mimetypes:
4980           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4981           do not add them to riff-lib as they are not common
4982
4983 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4984
4985         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4986           Check for existence of probe after performing the probe before
4987           re-accessing it to prevent segfaults caused by removal of the
4988           probe in the callback.
4989
4990 2005-01-05  David Schleef  <ds@schleef.org>
4991
4992         * testsuite/registry/Makefile.am:
4993         * testsuite/registry/gst-print-formats.c:
4994         (print_pad_templates_info), (print_element_list),
4995         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4996         (g_list_uniqify), (get_pad_templates_info),
4997         (get_element_mime_list), (print_mime_list), (main): A little
4998         program that looks through the registry to find elements of
4999         a given type.  Not particularly interesting as a test, except
5000         that there's no other test covering the same area.
5001
5002 2005-01-05  David Schleef  <ds@schleef.org>
5003
5004         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5005         (fault_handler_sigaction), (fault_spin),
5006         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5007         in signal.h-type signal handlers by not calling forbidden functions,
5008         including gst_element_set_state().
5009
5010 2005-01-05  David Schleef  <ds@schleef.org>
5011
5012         * gst/gstvalue.h: Mark _gst_reserved[] as private
5013
5014 2005-01-05  David Schleef  <ds@schleef.org>
5015
5016         * gst/gstvalue.c: Fix doc build problem.
5017
5018 2005-01-05  David Schleef  <ds@schleef.org>
5019
5020         * gst/gstvalue.c: Add some documentation
5021
5022 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5023
5024         * docs/README:
5025           another shell oneliner for empty return value docs
5026         * gst/gstcaps.c:
5027         * gst/gstvalue.c:
5028         * libs/gst/control/dparam.c:
5029           more doc fixes (parameters and return values)
5030
5031 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5032
5033         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5034
5035         * gst/gstregistry.h:
5036         * gst/registries/gstxmlregistry.c:
5037           Fix macro's for Mingw (fixes #162276).
5038
5039 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5040
5041         * docs/README:
5042           quick shell oneliner to find undocumented members
5043         * docs/gst/tmpl/gstplugin.sgml:
5044         * docs/gst/tmpl/gstscheduler.sgml:
5045         * docs/gst/tmpl/gstthread.sgml:
5046           more enumtypes cleanup
5047         * gst/gsterror.h:
5048           activated documentation comments, now someone needs to document
5049           the enums :(
5050
5051 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5052
5053         * docs/manual/manual.xml:
5054           Add dataaccess part (doh!).
5055
5056 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5057
5058         * docs/manual/advanced-autoplugging.xml:
5059           Fix typo (intiate -> initiate).
5060
5061 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5062
5063         * docs/random/bbb/streamselection:
5064           Add some notes on how to handle multi-subtitle/-audio streams.
5065
5066 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5067
5068         * docs/gst/gstreamer-docs.sgml:
5069         * docs/gst/gstreamer-sections.txt:
5070         * docs/gst/tmpl/gstenumtypes.sgml:
5071         * docs/gst/tmpl/gsterror.sgml:
5072         * docs/gst/tmpl/gstevent.sgml:
5073         * docs/gst/tmpl/gstpad.sgml:
5074         * docs/gst/tmpl/gstpadtemplate.sgml:
5075         * docs/gst/tmpl/gstthread.sgml:
5076           removed gstenumtypes section from docs and put all the enums into
5077           their sections
5078
5079 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5080
5081         * gst/gstplugin.c:
5082           document gst_library_load a bit more (riff special case + return
5083           value if already loaded)
5084         * testsuite/bytestream/filepadsink.c:
5085           plugin name is 'gstbytestream', not 'bytestream'
5086
5087 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5088
5089         * docs/random/bbb/subtitles:
5090           Add some first mind rumblings on proper subtitle support.
5091
5092 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5093
5094         * po/ca.po:
5095         * po/sv.po:
5096           updated translations
5097
5098 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5099
5100         * docs/manual/advanced-dataaccess.xml:
5101           Add section on how to use fakesrc/fakesink/identity in your
5102           application, plus section on how to embed plugins. Also mention
5103           probes.
5104         * docs/manual/appendix-checklist.xml:
5105         * docs/manual/appendix-debugging.xml:
5106         * docs/manual/appendix-gnome.xml:
5107         * docs/manual/appendix-integration.xml:
5108           Debug -> checklist, GNOME -> integration, add sections on Linux,
5109           KDE integration and add other things useful for application
5110           development.
5111         * docs/manual/manual.xml:
5112           Remove some fixmes, update some file pointers.
5113         * docs/pwg/appendix-checklist.xml:
5114           Fix typo.
5115         * docs/pwg/building-boiler.xml:
5116           Remove ugly header and add commented fixme.
5117         * docs/pwg/pwg.xml:
5118           Add fixme.
5119         * examples/manual/Makefile.am:
5120           Add example for added docs.
5121
5122 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5123
5124         * configure.ac:
5125           back to HEAD
5126
5127 === release 0.8.8 ===
5128
5129 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5130
5131         * NEWS:
5132         * RELEASE:
5133         * configure.ac:
5134           Releasing 0.8.8, "I'll Take Care Of You"
5135
5136 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5137
5138         * configure.ac:
5139           second prerelease
5140
5141 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5142
5143         patch by: Wim Taymans
5144
5145         * gst/gstbin.c:
5146           Fix for #159852 - make iterate emission threadsafe
5147
5148 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5149
5150         * docs/faq/cvs.xml:
5151           notes about new fdo account request
5152
5153 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5154
5155         * docs/gst/gstreamer-docs.sgml:
5156         * docs/gst/tmpl/gstenumtypes.sgml:
5157         * docs/gst/tmpl/gstplugin.sgml:
5158         * docs/libs/gstreamer-libs-docs.sgml:
5159           Added missing short docs. Added ids for navigation.
5160
5161 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5162
5163         * docs/manual/advanced-autoplugging.xml:
5164         * docs/manual/advanced-schedulers.xml:
5165         * docs/manual/advanced-threads.xml:
5166           Rewrites. Remove cothreads, go a bit into opt specifically,
5167           document threads and their gotchas, and do some technical stuff
5168           on autoplugging plus add some working examples. Fixes #157395.
5169         * examples/manual/Makefile.am:
5170           Add typefind/autoplugger example (one that actually works).
5171           Remove queue example since it's a duplicate of the thread one.
5172
5173 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5174
5175         * gst/gstvalue.c: (gst_value_deserialize_string):
5176           use deprecated g_value_set_string_take_ownership to keep compatible
5177           with glib 2.2
5178
5179 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5180
5181         * gst/gstvalue.c: (gst_value_deserialize_string):
5182           revert last patch, only dom a g_utf8_validate now before accepting
5183           the string - caps parsing strips " from strings so we can't rely on
5184           them
5185         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5186           disable a test that tested the above and comment it
5187
5188 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5189
5190         Patch reviewed by David Schleef  <ds@schleef.org>
5191
5192         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5193         bug #153882)
5194         * win32/gstenumtypes.h: same
5195
5196 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5197
5198         * gst/gstpad.c: (gst_pad_query):
5199           Do query on realized pad, similar to how convert/send_event handle
5200           this. Also makes sense, since this pad belongs to the function to
5201           which this query will be sent. Fixes #158163.
5202
5203 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5204
5205         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5206
5207 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5208
5209         * docs/faq/general.xml: fix pipeline to actually work
5210
5211 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5212
5213         * gst/gstvalue.c: (gst_value_deserialize_string):
5214           check that a simple string that gets deserialized does not contain
5215           invalid characters
5216         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5217           remove a test that tested a wring behaviour
5218
5219 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5220
5221         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5222
5223         * docs/manual/intro-motivation.xml:
5224           Fix typos.
5225
5226 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5227
5228         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5229
5230         * docs/gst/tmpl/gstprobe.sgml:
5231           Fix documentation of probe callback - it is supposed to return
5232           FALSE, not TRUE, to remove data from the stream (#159087).
5233
5234 2004-12-16  Daniel Gazard  <dany42@free.fr>
5235
5236         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5237
5238         * gst/gstelementfactory.c: (gst_element_factory_create):
5239           Fix compile failure if compiling without libxml2 support (#149936).
5240
5241 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5242
5243         * docs/manual/advanced-autoplugging.xml:
5244         * docs/manual/highlevel-components.xml:
5245           Move spider from autoplugging to components. Autoplugging is for
5246           internals, not for solutions. ;-).
5247
5248 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5249
5250         * docs/random/ds/0.9-suggested-changes:
5251           Make note on device/location/uri property names.
5252
5253 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5254
5255         * docs/manual/advanced-autoplugging.xml:
5256         * docs/manual/advanced-clocks.xml:
5257         * docs/manual/advanced-interfaces.xml:
5258         * docs/manual/advanced-metadata.xml:
5259         * docs/manual/advanced-position.xml:
5260         * docs/manual/advanced-schedulers.xml:
5261         * docs/manual/advanced-threads.xml:
5262         * docs/manual/appendix-gnome.xml:
5263         * docs/manual/appendix-programs.xml:
5264         * docs/manual/appendix-quotes.xml:
5265         * docs/manual/autoplugging.xml:
5266         * docs/manual/basics-bins.xml:
5267         * docs/manual/basics-data.xml:
5268         * docs/manual/basics-elements.xml:
5269         * docs/manual/basics-helloworld.xml:
5270         * docs/manual/basics-init.xml:
5271         * docs/manual/basics-pads.xml:
5272         * docs/manual/basics-plugins.xml:
5273         * docs/manual/bins-api.xml:
5274         * docs/manual/bins.xml:
5275         * docs/manual/buffers-api.xml:
5276         * docs/manual/buffers.xml:
5277         * docs/manual/clocks.xml:
5278         * docs/manual/components.xml:
5279         * docs/manual/cothreads.xml:
5280         * docs/manual/debugging.xml:
5281         * docs/manual/dparams-app.xml:
5282         * docs/manual/dynamic.xml:
5283         * docs/manual/elements-api.xml:
5284         * docs/manual/elements.xml:
5285         * docs/manual/factories.xml:
5286         * docs/manual/gnome.xml:
5287         * docs/manual/goals.xml:
5288         * docs/manual/helloworld.xml:
5289         * docs/manual/helloworld2.xml:
5290         * docs/manual/highlevel-components.xml:
5291         * docs/manual/highlevel-xml.xml:
5292         * docs/manual/init-api.xml:
5293         * docs/manual/intro-basics.xml:
5294         * docs/manual/intro-motivation.xml:
5295         * docs/manual/intro-preface.xml:
5296         * docs/manual/intro.xml:
5297         * docs/manual/links-api.xml:
5298         * docs/manual/links.xml:
5299         * docs/manual/manual.xml:
5300         * docs/manual/motivation.xml:
5301         * docs/manual/pads-api.xml:
5302         * docs/manual/pads.xml:
5303         * docs/manual/plugins-api.xml:
5304         * docs/manual/plugins.xml:
5305         * docs/manual/programs.xml:
5306         * docs/manual/queues.xml:
5307         * docs/manual/quotes.xml:
5308         * docs/manual/schedulers.xml:
5309         * docs/manual/states-api.xml:
5310         * docs/manual/states.xml:
5311         * docs/manual/threads.xml:
5312         * docs/manual/typedetection.xml:
5313         * docs/manual/win32.xml:
5314         * docs/manual/xml.xml:
5315           Try 2. This time, include a short preface as a "general
5316           introduction", also add code blocks around all code samples
5317           so they get compiled. We still need a way to tell readers
5318           the filename of the code sample. In some cases, don't show
5319           all code in the documentation, but do include it in the generated
5320           code. This allows for focussing on specific bits in the docs,
5321           while still having a full test application available.
5322         * examples/manual/Makefile.am:
5323           Fix up examples for new ADM. Add several of the new examples that
5324           were either added or were missing from the build system.
5325         * examples/manual/extract.pl:
5326           Allow nameless blocks.
5327
5328 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5329
5330         * docs/manual/elements-api.xml:
5331         * docs/manual/helloworld.xml:
5332         * examples/manual/extract.pl:
5333           fix last example.  Add example of adding code blocks that are not
5334           shown in docbook output.
5335
5336 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5337
5338         * docs/manual/dynamic.xml:
5339         * docs/manual/elements-api.xml:
5340         * docs/manual/gnome.xml:
5341         * docs/manual/helloworld2.xml:
5342         * docs/manual/init-api.xml:
5343         * docs/manual/queues.xml:
5344         * docs/manual/threads.xml:
5345         * docs/manual/xml.xml:
5346         * examples/manual/extract.pl:
5347           Make it possible to extract example code from separate blocks.
5348           Should make Ronald happy.
5349
5350 2004-12-15  Wim Taymans  <wim@fluendo.com>
5351
5352         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5353         (remove_from_group), (group_elements_set_visited),
5354         (normalize_group), (gst_opt_scheduler_iterate):
5355         Fix bug where a flag was not updated on a decoupled entry point 
5356         because we were just checking the group element list and decoupled
5357         elements are not in that list..
5358
5359 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5360
5361         * docs/manual/advanced-autoplugging.xml:
5362         * docs/manual/advanced-clocks.xml:
5363         * docs/manual/advanced-dparams.xml:
5364         * docs/manual/advanced-interfaces.xml:
5365         * docs/manual/advanced-metadata.xml:
5366         * docs/manual/advanced-position.xml:
5367         * docs/manual/advanced-schedulers.xml:
5368         * docs/manual/advanced-threads.xml:
5369         * docs/manual/appendix-debugging.xml:
5370         * docs/manual/appendix-gnome.xml:
5371         * docs/manual/appendix-programs.xml:
5372         * docs/manual/appendix-quotes.xml:
5373         * docs/manual/appendix-win32.xml:
5374         * docs/manual/autoplugging.xml:
5375         * docs/manual/basics-bins.xml:
5376         * docs/manual/basics-data.xml:
5377         * docs/manual/basics-elements.xml:
5378         * docs/manual/basics-helloworld.xml:
5379         * docs/manual/basics-init.xml:
5380         * docs/manual/basics-pads.xml:
5381         * docs/manual/basics-plugins.xml:
5382         * docs/manual/bins-api.xml:
5383         * docs/manual/bins.xml:
5384         * docs/manual/buffers-api.xml:
5385         * docs/manual/buffers.xml:
5386         * docs/manual/clocks.xml:
5387         * docs/manual/components.xml:
5388         * docs/manual/cothreads.xml:
5389         * docs/manual/debugging.xml:
5390         * docs/manual/dparams-app.xml:
5391         * docs/manual/dynamic.xml:
5392         * docs/manual/elements-api.xml:
5393         * docs/manual/elements.xml:
5394         * docs/manual/factories.xml:
5395         * docs/manual/gnome.xml:
5396         * docs/manual/goals.xml:
5397         * docs/manual/helloworld.xml:
5398         * docs/manual/helloworld2.xml:
5399         * docs/manual/highlevel-components.xml:
5400         * docs/manual/highlevel-xml.xml:
5401         * docs/manual/init-api.xml:
5402         * docs/manual/intro-motivation.xml:
5403         * docs/manual/intro-preface.xml:
5404         * docs/manual/intro.xml:
5405         * docs/manual/links-api.xml:
5406         * docs/manual/links.xml:
5407         * docs/manual/manual.xml:
5408         * docs/manual/motivation.xml:
5409         * docs/manual/pads-api.xml:
5410         * docs/manual/pads.xml:
5411         * docs/manual/plugins-api.xml:
5412         * docs/manual/plugins.xml:
5413         * docs/manual/programs.xml:
5414         * docs/manual/queues.xml:
5415         * docs/manual/quotes.xml:
5416         * docs/manual/schedulers.xml:
5417         * docs/manual/states-api.xml:
5418         * docs/manual/states.xml:
5419         * docs/manual/threads.xml:
5420         * docs/manual/typedetection.xml:
5421         * docs/manual/win32.xml:
5422         * docs/manual/xml.xml:
5423           First try at rewriting the ADM. Needs lotsamore work, but some
5424           parts might already be somewhat useful.
5425         * docs/pwg/advanced-interfaces.xml:
5426           Remove properties interface, it never actually existed (except for
5427           on my HD...).
5428
5429 2004-12-13  David Schleef  <ds@schleef.org>
5430
5431         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5432         be NULL (bug #160220).
5433
5434 2004-12-13  David Schleef  <ds@schleef.org>
5435
5436         * configure.ac: remove all mmx stuff, because it's not used.
5437         * docs/random/ds/0.9-suggested-changes: additional notes
5438         * include/Makefile.am: we don't use these anymore
5439         * include/mmx.h: remove
5440         * include/sse.h: remove
5441
5442 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5443
5444         * docs/random/mimetypes:
5445           Add FOURCC code for h264 codec (VSSH)
5446           Add alternate FOURCC codes for h263 related codecs
5447
5448 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5449
5450         * docs/manual/programs.xml:
5451           Added more gst-launch examples.
5452
5453 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5454
5455         * gst/gstqueue.c: (gst_queue_handle_src_query):
5456           Check for availability again.
5457
5458 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5459
5460         * gst/gstcaps.c: (gst_caps_compare_structures):
5461           Simple caps go first. This has the nice side-effect of fixing an
5462           obscure warning.
5463
5464 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5465
5466         * gst/gstversion.h.in:
5467           Protect header.
5468
5469 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5470
5471         * gst/schedulers/gstoptimalscheduler.c:
5472         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5473         (gst_opt_scheduler_get_wrapper):
5474           When we're recursing into a chain run, only run the directly
5475           related group, not all queued ones. This will fix a possible
5476           deadlock in chains with more than two groups.
5477
5478 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5479
5480         * autogen.sh:
5481           remove patch if autopoint fails
5482
5483 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5484
5485         * docs/gst/gstreamer-sections.txt:
5486           Document Thomas' addition, fix build, make Luis the sheriff happy.
5487
5488 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5489
5490         * gst/gstplugin.c:
5491         * gst/gstplugin.h:
5492           add accessor for version field
5493
5494 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5495
5496         submitted by: Luca Ferretti <elle.uca@infinito.it>
5497
5498         * po/LINGUAS:
5499         * po/it.po:
5500           New tranlation added: Italian
5501
5502 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5503
5504         * gst/gstpad.c: (gst_pad_is_negotiated),
5505         (gst_pad_get_negotiated_caps):
5506           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5507           it doesn't actually check the contents), so be sure to hand it
5508           a RealPad else we'll crash.
5509
5510 2004-12-03  Wim Taymans  <wim@fluendo.com>
5511
5512         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5513         (gst_queue_link), (gst_queue_handle_src_query):
5514         Reverted to 1.110 until this makes the testsuite and various
5515         apps work.
5516
5517 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5518
5519         * docs/upload.mak: fix included CVS conflict strings
5520
5521 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5522
5523         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5524
5525         * gst/gstelement.c: (gst_element_error_full):
5526           Use g_error_new_literal because error text may have
5527           percentage signs in it. Fixes #160019.
5528
5529 2004-12-01  Benjamin Otte  <otte@gnome.org>
5530
5531         * gst/elements/gstbufferstore.c:
5532         (gst_buffer_store_add_buffer_func):
5533           don't try to make subbuffers bigger than they can be. (fixes
5534           #159970)
5535
5536 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5537
5538         * docs/gst/gstreamer-sections.txt:
5539         * docs/gst/tmpl/gstvalue.sgml:
5540           Add new function to docs to fix build.
5541
5542 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5543
5544         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5545         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5546         (_gst_pad_default_fixate_foreach):
5547         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5548         * gst/gstvalue.h:
5549           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5550           in some cases (arrays), the fixedness depends on the content.
5551         * gst/gstqueue.c: (gst_queue_handle_src_query):
5552           Check for availability before doing something.
5553
5554 2004-11-29  Wim Taymans  <wim@fluendo.com>
5555
5556         * testsuite/threads/Makefile.am:
5557         * testsuite/threads/signals.c: (gst_test_get_type),
5558         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5559         (gst_test_set_property), (gst_test_get_property),
5560         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5561         (gst_test_do_prop), (run_thread), (main):
5562         Added a bunch of testcases that show threadsafety bugs in glib.
5563
5564 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5565
5566         * docs/manual/programs.xml:
5567           Added a first batch of gst-launch examples, as provided by Ronald
5568           and others from the devel-mlist
5569
5570 2004-11-28  Benjamin Otte  <otte@gnome.org>
5571
5572         * gst/gstelement.c: (gst_element_negotiate_pads):
5573           simplify
5574         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5575         (gst_value_serialize_string), (gst_value_deserialize_string):
5576           add unwrapping of previously wrapped strings. Fix bug in wrapping
5577           while at it.
5578         * testsuite/caps/value_serialize.c: (test1),
5579         (test_string_serialization), (test_string_deserialization), (main):
5580           add tests for string (de)serialization
5581
5582 2004-11-26  Wim Taymans  <wim@fluendo.com>
5583
5584         * testsuite/threads/159566.c: (object_deep_notify), (main):
5585         * testsuite/threads/Makefile.am:
5586         Added testsuite to show bug #159566
5587
5588 2004-11-25  Wim Taymans  <wim@fluendo.com>
5589
5590         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5591         (gst_thread_child_state_change), (gst_thread_main_loop):
5592         Ref the thread object in the GThread mainloop. Break out of the
5593         thread mainloop if it holds the last ref. This properly exits
5594         the threads when disposing the thread from its own context. It
5595         also avoids possible deadlocks in the dispose function.
5596
5597 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5598
5599         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5600         it is necessary to wait.
5601
5602 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5603
5604         * docs/pwg/building-boiler.xml:
5605           Make description somewhat clearer.
5606
5607 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5608
5609         * docs/upload.mak:
5610           Apparently docs changed location on FDO's server.
5611
5612 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5613
5614         * docs/pwg/appendix-checklist.xml:
5615           Add some random notes on things to check when writing an element.
5616           This list can be extended as people see fit.
5617
5618 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5619
5620         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5621         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5622         pad. The queue will now wait until it is empty and forward the new
5623         caps to the source.
5624         * gst/gstbin.c (gst_bin_set_element_sched)
5625         (gst_bin_unset_element_sched): Make sure that all elements and
5626         links are registered and unregistered with the scheduler exactly
5627         once. This elaborates on a fix by Benjamin Otte, but
5628         guarantees that decoupled elements are also registered.
5629
5630 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5631
5632         * docs/manual/quotes.xml:
5633           add a quote
5634         * configure.ac:
5635         * gst/gst.c:
5636         * gst/gstinfo.c:
5637           add LIBDIR and move init message higher up so it's at the start
5638
5639 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5640
5641         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5642         * gstreamer.spec.in: add fair
5643
5644 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5645
5646         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5647         * gst/elements/gstidentity.c: (gst_identity_class_init):
5648           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5649           <teuf@gnome.org> (#157263).
5650         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5651         (gst_type_find_handle_src_query):
5652           Subtract size of internally stored data from position queries.
5653
5654 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5655
5656         * gst/schedulers/fairscheduler.c:
5657         * gst/schedulers/faircothreads.c:
5658         * gst/schedulers/faircothreads.h:
5659         New cothread based scheduler: Fair scheduler.
5660         * gst/schedulers/gthread-cothreads.h: 
5661         Add the standard #if around the whole file.
5662         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5663         compilation of the functions defined in this file. This is
5664         necessary to be able to use this file as a normal header.
5665         * gst/schedulers/Makefile.am: Add compiling support for fair
5666         scheduler.
5667         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5668         scheduler cothreads layer from documentation generation.
5669
5670 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5671
5672         * gst/autoplug/gstspideridentity.c:
5673         (gst_spider_identity_sink_loop_type_finding):
5674           Don't crash if that function is not implemented.
5675
5676 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5677
5678         * docs/pwg/advanced-types.xml:
5679           Another typo.
5680
5681 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5682
5683         * docs/pwg/intro-preface.xml:
5684           Hm, ok, so the brackets weren't really useful...
5685         * docs/pwg/other-ntoone.xml:
5686           Fix embarassing typo.
5687
5688 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5689
5690         * docs/pwg/intro-preface.xml:
5691           Rewrite preface.
5692
5693 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5694
5695         * docs/pwg/advanced-scheduling.xml:
5696         * docs/pwg/advanced-tagging.xml:
5697         * docs/pwg/advanced-types.xml:
5698         * docs/pwg/building-boiler.xml:
5699         * docs/pwg/building-chainfn.xml:
5700         * docs/pwg/building-signals.xml:
5701         * docs/pwg/building-state.xml:
5702         * docs/pwg/building-testapp.xml:
5703         * docs/pwg/intro-basics.xml:
5704         * docs/pwg/other-manager.xml:
5705         * docs/pwg/other-source.xml:
5706           Typo fixes.
5707         * docs/pwg/other-manager.xml:
5708           Add some first content. No example code yet.
5709         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5710           Remove double newlines.
5711
5712 2004-11-04  Wim Taymans  <wim@fluendo.com>
5713
5714         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5715         (remove_from_group), (normalize_group), (group_migrate_connected),
5716         (gst_opt_scheduler_iterate):
5717         * testsuite/schedulers/.cvsignore:
5718         * testsuite/schedulers/Makefile.am:
5719         * testsuite/schedulers/queue_link.c: (main):
5720         Added testcase for scheduler segfault.
5721         Fix scheduler segfault when removing a decoupled
5722         entry point as the last element from a group.
5723
5724 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5725
5726         * gst/gstmarshal.list: add missing marshaller, fixes build
5727
5728 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5729
5730         * docs/random/signal: added notes about using BOXED for GstBuffer
5731         signal marshallers, not POINTER
5732
5733 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5734
5735         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5736         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5737         POINTER=>BOXED changes to marshal GstBuffers
5738
5739 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5740
5741         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5742         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5743
5744 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5745
5746         * docs/gst/gstreamer-sections.txt:
5747         * docs/gst/tmpl/gstcaps.sgml:
5748         * docs/gst/tmpl/gsterror.sgml:
5749         * docs/gst/tmpl/gstinfo.sgml:
5750         * docs/gst/tmpl/gstmacros.sgml:
5751         * docs/gst/tmpl/gstutils.sgml:
5752         * docs/random/ensonic/interfaces.txt:
5753         * gst/gstinfo.h:
5754           added some more docs, removed two obsolete defines
5755
5756 2004-11-02  Kjartan Maraas <as at gnome.org>
5757
5758         reviewed by: Wim Taymans, Ronald Bultje.
5759
5760         * gst/cothreads.c: (cothread_create):
5761         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5762         (gst_bin_child_state_change_func):
5763         * gst/gstbuffer.c: (gst_buffer_span):
5764         * gst/gstelement.c: (gst_element_get_index),
5765         (gst_element_get_event_masks), (gst_element_get_query_types),
5766         (gst_element_get_formats):
5767         * gst/gsterror.c: (_gst_core_errors_init),
5768         (_gst_library_errors_init), (_gst_resource_errors_init),
5769         (_gst_stream_errors_init):
5770         * gst/gstobject.c: (gst_object_default_deep_notify):
5771         * gst/gstpad.c: (gst_pad_get_event_masks),
5772         (gst_pad_get_internal_links_default):
5773         * gst/gstplugin.c: (gst_plugin_register_func),
5774         (gst_plugin_get_module):
5775         * gst/gststructure.c: (gst_structure_get_string),
5776         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5777         (gst_structure_to_abbr):
5778         * gst/gstutils.c: (gst_print_element_args):
5779         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5780         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5781         Aplied part of patch #157127: Cleanup of issues reported by 
5782         sparse.
5783         Also do not try to use cothreads when there is no cothread
5784         context yet.
5785
5786 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5787
5788         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5789         (gst_opt_scheduler_iterate):
5790         Applied patch #154061. Running a pipeline in which an element 
5791         calls GST_ELEMENT_ERROR in the chain function, the opt 
5792         scheduler doesn't unref the chain so it never gets freed.
5793
5794 2004-11-02  Wim Taymans  <wim@fluendo.com>
5795
5796         * gst/gststructure.c: (gst_structure_get_abbrs),
5797         (gst_structure_from_abbr), (gst_structure_to_abbr):
5798         Remove that ugly if-then thing in the code that converts
5799         between strings and types.
5800
5801 2004-11-02  Wim Taymans  <wim@fluendo.com>
5802
5803         * gst/gstscheduler.c: (gst_scheduler_add_element),
5804         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5805         Aplied clock distribution patch, this should fix bug
5806         #148787.
5807
5808 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5809
5810         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5811
5812         * po/LINGUAS:
5813         * po/nb.po:
5814           Added Norwegian Bokmaal translation
5815
5816 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5817
5818         * tools/gst-inspect.c: (print_signal_info):
5819           print signal arguments as pointers if they are
5820
5821 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5822
5823         * docs/pwg/building-boiler.xml:
5824           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5825
5826 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5827
5828         * gst/parse/parse.l:
5829         * testsuite/parse/parse1.c: (main):
5830         Since parse can do 'element name=a:b' make 'a:b.' work as
5831         well. 
5832         Added testcase to verify fix.
5833
5834 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5835
5836         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5837         Use the realpad when printing the direction.
5838         Add extra \n when printing extensions of typefind factories.
5839
5840 2004-10-13  David Schleef  <ds@schleef.org>
5841
5842         * examples/manual/Makefile.am: $< isn't portable in Makefile
5843         rules.
5844
5845 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * docs/gst/tmpl/gstobject.sgml:
5848         * docs/gst/tmpl/gstplugin.sgml:
5849         * docs/gst/tmpl/gstpluginfeature.sgml:
5850         * docs/gst/tmpl/gstregistry.sgml:
5851         * docs/gst/tmpl/gstversion.sgml:
5852         * gst/gstbin.c:
5853           more api documentation
5854         * gst/gstplugin.c: (gst_plugin_register_func),
5855         (gst_plugin_check_file), (gst_plugin_load_file):
5856           better error signaling and logging
5857
5858 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5859
5860         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5861           Subtract current queue contents from position queries.
5862
5863 2004-10-11  Johan Dahlin  <johan@gnome.org>
5864
5865         * gst/gsturi.c (gst_uri_get_location): unescape string
5866         (gst_uri_construct): escape string.
5867
5868 2004-10-11  Benjamin Otte  <otte@gnome.org>
5869
5870         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5871         (gst_pad_try_set_caps_nonfixed):
5872           allow renegotiation of unconnected pads (as inside spider). Simply
5873           return OK if unconnected - mimic try_set_caps there.
5874
5875 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5876
5877         * gst/gstbin.c: (gst_bin_sync_children_state):
5878           Add missing break.
5879
5880 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5881
5882         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5883         Set element to EOS before sending EOS event
5884
5885 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5886
5887         * gst/elements/gsttypefindelement.c:
5888         (gst_type_find_element_handle_event):
5889         Handle EOS events when doing the transition from
5890         typefind to data passing. This should fix the
5891         infinite loops in short files.
5892
5893 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5894
5895         * gst/gstthread.c: (gst_thread_change_state),
5896         (gst_thread_child_state_change):
5897         Make sure no iteration happens while performing
5898         the state change as it could mess up the internal
5899         consistency of the thread state.
5900
5901 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5902
5903         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5904         (gst_thread_change_state), (gst_thread_child_state_change):
5905         Do not try to grab the iterate lock in the state change method
5906         when we are in the same thread as the iterate or else we
5907         could deadlock. Some other cleanups.
5908
5909 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5910
5911         * configure.ac:
5912           bump nano to cvs
5913
5914 === release 0.8.7 ===
5915
5916 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5917
5918         * configure.ac:
5919         * NEWS:
5920         * RELEASE:
5921         * configure.ac:
5922           releasing 0.8.7, "A Cruise"
5923
5924 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5925
5926         * docs/random/mimetypes:
5927         Add an entry for Sony ATRAC3 audio format with mime-type
5928         used by rmdemux et riff-read
5929
5930 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5931
5932         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5933         Push the buffer store instead of clearing it in case that
5934         the stream is not seekable.
5935
5936 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5937
5938         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5939         (gst_thread_main_loop):
5940         Lock the iteration and the state change so that automatic
5941         negotiation and fixation does not happen at the same time
5942         as the in stream negotiation.
5943
5944 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * configure.ac:
5947           bump nano to cvs
5948
5949 === release 0.8.6 ===
5950
5951 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * configure.ac:
5954         * NEWS:
5955         * RELEASE:
5956         * configure.ac:
5957           releasing 0.8.6, "Narc"
5958
5959 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5960
5961         * configure.ac:
5962           prerel bump
5963
5964 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5965
5966         patch by: Steve Lhomme
5967
5968         * gst/elements/gstfakesrc.c:
5969         * gst/elements/gstidentity.c:
5970         * gst/gstthread.c:
5971           Fix for #153881
5972
5973 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5974
5975         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5976         Fix threadsafety of the crc checking function.
5977
5978 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5979
5980         patch by: Ronald Bultje
5981
5982         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5983         (gst_type_find_element_handle_event),
5984         (gst_type_find_element_chain):
5985         * gst/elements/gsttypefindelement.h:
5986          #153657.
5987          Filter out discont event from seekable sources when typefind
5988          asks them to seek.  Fixes typefind with demuxers for
5989          avi, asf and matroska.
5990
5991 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * docs/gst/gstreamer-sections.txt:
5994         * gst/gstcaps.c:
5995         * gst/gstcaps.h:
5996         * gst/gstpad.c:
5997           Revert preferred caps: (#147789)
5998
5999 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6000
6001         * win32/dirent.c:
6002           fix a memory leak
6003
6004 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6005
6006         * configure.ac:
6007           bump for prerelease
6008
6009 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6010
6011         * docs/Makefile.am:
6012         * docs/manual/elements-api.xml:
6013           restructure so that common stuff is shown first
6014         * docs/manual/init-api.xml:
6015           convert to examples
6016         * docs/manual/manual.xml:
6017         * docs/manuals.mak:
6018         * docs/url.entities:
6019           link to API on the website, possibly override later in build
6020         * examples/manual/.cvsignore:
6021           ignore more
6022         * examples/manual/Makefile.am:
6023           add more examples
6024         * examples/manual/extract.pl:
6025           error out on failure
6026
6027 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         * docs/gst/tmpl/gstthread.sgml:
6030         * docs/manual/init-api.xml:
6031         * examples/manual/Makefile.am:
6032           convert two code bits to examples
6033
6034 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6035
6036         * gst/gstelement.c: (gst_element_change_state):
6037           Well, actually, I was about to remove this insane assert when
6038           I noticed Wim already did that. A warning is nice so we can
6039           fix actual ugs (using --g-fatal-warnings and backtraces), so
6040           I added that instead.
6041
6042 2004-09-06  Wim Taymans  <wim@fluendo.com>
6043
6044         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6045         (gst_element_threadsafe_properties_post_run),
6046         (gst_element_set_state), (gst_element_change_state):
6047         Added extra refcounting around various places. 
6048
6049 2004-09-06  Wim Taymans  <wim@fluendo.com>
6050
6051         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6052         Fix debug info.
6053
6054 2004-09-06  Wim Taymans  <wim@fluendo.com>
6055
6056         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6057         (remove_from_group):
6058         Some more debug info.
6059
6060 2004-09-03  Wim Taymans  <wim@fluendo.com>
6061
6062         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6063         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6064         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6065         (gst_fakesrc_get), (gst_fakesrc_change_state):
6066         * gst/elements/gstfakesrc.h:
6067         * gst/elements/gstidentity.c: (gst_identity_class_init),
6068         (gst_identity_init), (gst_identity_chain),
6069         (gst_identity_set_property), (gst_identity_get_property),
6070         (gst_identity_change_state):
6071         * gst/elements/gstidentity.h:
6072         Added datarate properties to limit the datarate.
6073
6074 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6075
6076         * gst/autoplug/gstspider.c: (plugin_init):
6077           don't set a rank. We don't want to autoplug by inserting spiders.
6078
6079 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6080
6081         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6082         (gst_spider_identity_plug):
6083           add a template for spider's sink
6084         * gst/gst.c: (gst_register_core_elements):
6085           queue's rank should be NULL, we don't want spider to add it.
6086
6087 2004-08-18  David Schleef  <ds@schleef.org>
6088
6089         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6090         * docs/libs/Makefile.am: same
6091         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6092         * docs/random/ds/0.9-planning: random additions
6093         * docs/random/ds/0.9-suggested-changes: same
6094         * gst/gstxml.h: remove vestigal GstXMLNs definition
6095
6096         Preferred caps: (#147789)
6097         * docs/gst/gstreamer-sections.txt: Add symbols
6098         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6099         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6100         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6101         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6102         (gst_caps_get_preferred), (gst_caps_set_preferred),
6103         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6104         (gst_caps_use_preferred): Handle caps preferences
6105         * gst/gstcaps.h: Add caps preferences
6106         * gst/gstpad.c: (gst_pad_link_get_preferred),
6107         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6108         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6109         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6110         negotiation.
6111
6112 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6113
6114         * gst/autoplug/gstspideridentity.c:
6115         (gst_spider_identity_request_new_pad):
6116         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6117         (gst_aggregator_init):
6118         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6119         (gst_fakesink_init):
6120         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6121         (gst_fakesrc_init):
6122         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6123         (gst_fdsink_init):
6124         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6125         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6126         (gst_filesink_init):
6127         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6128         (gst_filesrc_init):
6129         * gst/elements/gstidentity.c: (gst_identity_base_init),
6130         (gst_identity_init):
6131         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6132         (gst_multifilesrc_init):
6133         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6134         (gst_pipefilter_init):
6135         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6136         (gst_statistics_init):
6137         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6138         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6139           s/gst_pad_new/&_from_template/
6140           register pad templates in the base_init function
6141           add static pad template definitions
6142
6143 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6144
6145         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6146         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6147         * testsuite/refcounting/pad.c: (main):
6148         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6149           s/gst_pad_new/&_from_template/
6150           prepare deprecation of gst_pad_new
6151
6152 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         patch by: Luca Ognibene <skaboy81@virgilio.it>
6155
6156         * gst/gstcaps.c:
6157         * gst/gstelement.c:
6158         * gst/gstpad.c:
6159         * gst/gstxml.c:
6160           fix memleaks.  Fixes #150001
6161
6162 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6163
6164         * docs/random/ds/0.9-suggested-changes:
6165           add notes - mostly about pad templates
6166
6167 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6168
6169         * win32/GStreamer.vcproj:
6170           temporary locale files are .gmo not .mo
6171
6172 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6173
6174         * configure.ac: bump nano to cvs
6175
6176 === release 0.8.5 ===
6177
6178 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * configure.ac:
6181           releasing 0.8.5, "Stuttgart"
6182         * NEWS:
6183         * RELEASE:
6184         * configure.ac:
6185         * docs/random/release:
6186           updates for release
6187
6188 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6189
6190         patch by: Wim Taymans (wim@fluendo.com)
6191
6192         * gst/gstbuffer.c:
6193         * gst/gstindex.h:
6194         * libs/gst/dataprotocol/dataprotocol.c:
6195           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6196
6197 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * Makefile.am:
6200         * win32/MANIFEST:
6201           add win32 dir to the build.  Fixes #149981.
6202
6203 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * configure.ac:
6206           bump libtool versioning
6207         * gst/gststructure.c:
6208           mark function as static
6209         * po/af.po:
6210         * po/az.po:
6211         * po/ca.po:
6212         * po/cs.po:
6213         * po/en_GB.po:
6214         * po/fr.po:
6215         * po/nl.po:
6216         * po/sq.po:
6217         * po/sr.po:
6218         * po/sv.po:
6219         * po/tr.po:
6220         * po/uk.po:
6221           translations update
6222         * win32/README.txt:
6223           trademark protection
6224
6225 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6226
6227         * configure.ac:
6228           fix GST_ORIGIN
6229           set GST_PACKAGE to source, and distinguish between release and other
6230         * tools/gst-inspect.c:
6231           print out plugin an element factory is part of so we see this info
6232
6233 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6234
6235         * docs/gst/gstreamer-sections.txt:
6236         * docs/gst/tmpl/gstbuffer.sgml:
6237         * docs/gst/tmpl/gstschedulerfactory.sgml:
6238           reorder docs a little, make GstBuffer's more sensible.
6239         * gst/gstbuffer.h:
6240           API: added GST_BUFFER_FLAG_DELTA_UNIT
6241         * gst/gstscheduler.c:
6242           comment API addition
6243
6244 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6245
6246         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6247           work with non-regular files that can be mmapped (like /dev/zero)
6248         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6249           get rid of typefinds that require a seek when we can't seek instead
6250           of trying them over and over again
6251         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6252           return non-zero failure value when the pipeline was interrupted or
6253           an error occurred
6254
6255 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6256
6257         * win32/config.h:
6258         * win32/GStreamer.vcproj:
6259           compile and install the locales
6260
6261 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6262
6263         * gst/gstvalue.c:
6264           fix a possible memory leak under Windows
6265
6266 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6267
6268         * win32/GStreamer.vcproj:
6269           fix a memory leak that occured under Windows
6270         * win32/gstreamer.def:
6271           add gst_scheduler_register
6272
6273 2004-08-11  Benjamin Otte  <otte@gnome.org>
6274
6275         * docs/gst/gstreamer-sections.txt:
6276         * gst/gstscheduler.c: (gst_scheduler_register):
6277         * gst/gstscheduler.h:
6278           API:
6279           add gst_scheduler_register shortcut similar to gst_element_register
6280         * gst/schedulers/entryscheduler.c: (plugin_init):
6281         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6282         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6283           use it
6284
6285 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6286
6287         * gst/gstvalue.h:
6288           fix a memory leak that occured under Windows
6289
6290 2004-08-10  Colin Walters  <walters@redhat.com>
6291
6292         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6293         Don't use O_EXCL to open temporary registry.  It will prevent
6294         registry creation if a temporary one already exists, which
6295         is unnecessary.
6296
6297 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6298
6299         * docs/gst/gstreamer-sections.txt:
6300         * docs/gst/tmpl/gstvalue.sgml:
6301           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6302
6303 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6304
6305         * win32/gstbytestream.vcproj:
6306         * win32/gstelements.vcproj:
6307         * win32/gstgetbits.vcproj:
6308         * win32/gst-inspect.vcproj:
6309         * win32/gst-launch.vcproj:
6310         * win32/gstoptimalscheduler.vcproj:
6311         * win32/GStreamer.vcproj:
6312         * win32/gst-register.vcproj:
6313         * win32/gstspider.vcproj:
6314           update the include and lib dirs to fit standard libraries as
6315           described in the Win32 manual
6316
6317 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6318
6319         * win32/config.h:
6320         * win32/gstversion.h:
6321           enable NLS again, push the version number for the coming 0.8.5 release
6322
6323 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6324
6325         * gst/gstvalue.h:
6326           export gst_type_XXX for windows DLLs
6327
6328 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6329
6330         * docs/faq/gst-uninstalled:
6331           fix PKG_CONFIG_PATH and PYTHONPATH
6332         * gst/schedulers/Makefile.am:
6333           cleanup
6334         * libs/gst/bytestream/bytestream.c:
6335           remove newline
6336         * po/LINGUAS:
6337         * po/sq.po:
6338           adding Albanian translation (Laurent Dhima)
6339         * po/cs.po:
6340           updated
6341
6342 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6343
6344         * po/ca.po:
6345         * po/sv.po:
6346           updated translations
6347
6348 2004-08-04  Benjamin Otte  <otte@gnome.org>
6349
6350         * tests/mass_elements.c: (main):
6351           allow specifying src and sink element explicitly, so I can test
6352           videotestsrc instead of fakesrc
6353
6354 2004-08-04  Benjamin Otte  <otte@gnome.org>
6355
6356         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6357         (gst_structure_id_empty_new), (gst_structure_empty_new),
6358         (gst_structure_copy):
6359           add gst_structure_id_empty_new_with_size to allow preallocating
6360           value array sizes. Use this in gst_structure_copy to get rid of
6361           reallocs.
6362           don't do quark=>string=>quark when copying structures
6363
6364 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6365
6366         * docs/manual/win32.xml:
6367         * win32/README.txt:
6368           update documentation with the clean version of dependencies
6369
6370 2004-08-03  Benjamin Otte  <otte@gnome.org>
6371
6372         * gst/schedulers/entryscheduler.c:
6373         (gst_entry_scheduler_remove_element):
6374           fix for GST_DISABLE_DEBUG
6375         * tools/gst-launch.c: (print_tag):
6376           fixes for G_DISABLE_ASSERT
6377
6378 2004-08-03  Benjamin Otte  <otte@gnome.org>
6379
6380         * gst/gst.c: (gst_register_core_elements):
6381           fix for G_DISABLE_ASSERT
6382         * gst/gstinfo.c: (__gst_in_valgrind):
6383           add for GST_DISABLE_DEBUG
6384
6385 2004-08-03  Benjamin Otte  <otte@gnome.org>
6386
6387         * gst/parse/parse.l:
6388           fix for G_DISABLE_ASSERT
6389
6390 2004-08-03  Wim Taymans  <wim@fluendo.com>
6391
6392         * gst/gstbin.c: (gst_bin_get_type),
6393         (gst_bin_child_state_change_func):
6394         * gst/gstthread.c: (gst_thread_change_state):
6395         Backported some debug logging from a reverted patch
6396         Don't try to destroy the thread twice. Added some more
6397         debugging in GstThread. Unlock and signal even if we
6398         are in the thread context.
6399
6400 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6401
6402         * po/uk.po:
6403           updated translation
6404
6405 2004-07-30  David Schleef  <ds@schleef.org>
6406
6407         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6408
6409 2004-07-29  David Schleef  <ds@schleef.org>
6410
6411         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6412         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6413
6414 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6415
6416         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6417         (gst_bin_add_func), (gst_bin_remove_func),
6418         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6419         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6420         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6421         (gst_bin_sync_children_state):
6422         * gst/gstbin.h:
6423         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6424         (gst_thread_change_state):
6425         * testsuite/states/Makefile.am:
6426           revert state change patches as agreed so we can rework them
6427           gradually
6428
6429 2004-07-29  Benjamin Otte  <otte@gnome.org>
6430
6431         * libs/gst/control/Makefile.am:
6432           link to libgstreamer (fixes Debian bug 262019, see
6433           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6434
6435 2004-07-29  Wim Taymans  <wim@fluendo.com>
6436
6437         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6438         (check_from_fraction_convert), (transform_test), (main):
6439         Make the test less pedantic about float roundoff errors.
6440
6441 2004-07-29  Benjamin Otte  <otte@gnome.org>
6442
6443         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6444         (gst_filesrc_srcpad_event):
6445           make seek events to before start/after end of file not fail, but
6446           seek to start/end instead
6447         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6448           add more output
6449
6450 2004-07-29  Benjamin Otte  <otte@gnome.org>
6451
6452         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6453           check that caps are fixed
6454         * gst/gstpad.c: (gst_pad_template_new):
6455           don't try to simplify caps, costs too much time on gst_init
6456         * gst/gstplugin.c: (gst_plugin_add_feature):
6457           G_ERROR if features are added twice
6458         * gst/gsttypefind.c: (gst_type_find_register):
6459         * gst/gstelementfactory.c: (gst_element_register):
6460           don't add features twice
6461         * docs/random/ds/0.9-suggested-changes:
6462           add note about possible gst_init optimization
6463
6464 2004-07-28  David Schleef  <ds@schleef.org>
6465
6466         * testsuite/elements/Makefile.am:
6467         * testsuite/elements/struct_i386.h:
6468         * testsuite/elements/struct_size.c: (main):  A little test
6469         to keep distcheck from working if someone changes a structure
6470         size accidentally.
6471
6472 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * docs/libs/Makefile.am:
6475         * docs/libs/gstreamer-libs-docs.sgml:
6476         * docs/libs/gstreamer-libs-sections.txt:
6477         * docs/libs/tmpl/gstbytestream.sgml:
6478         * docs/libs/tmpl/gstcontrol.sgml:
6479         * docs/libs/tmpl/gstdataprotocol.sgml:
6480         * docs/libs/tmpl/gstgetbits.sgml:
6481         * libs/gst/bytestream/Makefile.am:
6482         * libs/gst/bytestream/bytestream.c:
6483         * libs/gst/bytestream/bytestream.h:
6484         * libs/gst/control/Makefile.am:
6485         * libs/gst/dataprotocol/Makefile.am:
6486         * libs/gst/getbits/Makefile.am:
6487         * libs/gst/getbits/getbits.h:
6488           various doc and style fixes, adding bytestream to libs docs.
6489
6490 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6491
6492         * docs/gst/gstreamer-docs.sgml:
6493         * docs/libs/Makefile.am:
6494         * docs/libs/gstreamer-libs-docs.sgml:
6495         * docs/libs/gstreamer-libs-sections.txt:
6496         * libs/gst/control/dparam.c:
6497           more doc fixes.  gst-libs docs now build the same way as gst.
6498
6499 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6500
6501         * configure.ac:
6502         * testsuite/Makefile.am:
6503         * testsuite/bins/Makefile.am:
6504         * testsuite/caps/Makefile.am:
6505         * testsuite/cleanup/Makefile.am:
6506         * testsuite/clock/Makefile.am:
6507         * testsuite/debug/Makefile.am:
6508         * testsuite/dlopen/Makefile.am:
6509         * testsuite/dynparams/Makefile.am:
6510         * testsuite/elements/.cvsignore:
6511         * testsuite/elements/Makefile.am:
6512         * testsuite/enumcaps/Makefile.am:
6513         * testsuite/enumcaps/enumcaps.c:
6514         * testsuite/ghostpads/Makefile.am:
6515         * testsuite/indexers/Makefile.am:
6516         * testsuite/negotiation/Makefile.am:
6517         * testsuite/parse/Makefile.am:
6518         * testsuite/plugin/Makefile.am:
6519         * testsuite/refcounting/Makefile.am:
6520         * testsuite/schedulers/.cvsignore:
6521         * testsuite/states/Makefile.am:
6522         * testsuite/tags/Makefile.am:
6523         * testsuite/threads/Makefile.am:
6524           fold enumcaps into caps dir
6525           clean up Makefile.am's for testsuite
6526
6527 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * docs/gst/Makefile.am:
6530         * docs/libs/Makefile.am:
6531           clean up docs build.  Fixes needless rebuilding of template files.
6532
6533 2004-07-28  Wim Taymans  <wim@fluendo.com>
6534
6535         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6536         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6537         Make sure that a bin state change tries to keep the children
6538         in sync. 
6539         Added debug logging to the thread.
6540
6541 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6542
6543         * win32/GStreamer.vcproj:
6544         * win32/gstreamer.def:
6545           more exports for the plugins
6546
6547 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6548
6549         * win32/gstgetbits.vcproj:
6550         * win32/gstgetbits.def:
6551         * win32/msvc71.sln:
6552           add support for the getbits plugin
6553
6554 2004-07-27  Wim Taymans  <wim@fluendo.com>
6555
6556         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6557         (gst_value_transform_fraction_double), (_gst_value_initialize):
6558         * testsuite/caps/Makefile.am:
6559         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6560         (check_from_fraction_convert), (transform_test), (main):
6561         Added transform functions between double and fraction.
6562         Added testcase to verify transforms
6563
6564 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6565
6566         * win32/GStreamer.vcproj:
6567           rename GStreamer-0.8.lib to libgstreamer.lib
6568
6569 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6570
6571         * win32/gstelements.vcproj:
6572         * win32/gstoptimalscheduler.vcproj:
6573           fixes for the Release build
6574
6575 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6576
6577         * win32/config.h:
6578           update the version number
6579
6580 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6581
6582         * win32/GStreamer.vcproj:
6583           add gstinterface to the build
6584
6585 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6586
6587         * win32/gstreamer.def:
6588           add many definitions needed by plugins,
6589           GST_CAT_DEFAULT only available in the Debug build ?
6590
6591 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * gst/gstelement.c: (gst_element_set_eos_recursive):
6594           various whitespace fixes.
6595           doc fix, fixes #148497
6596
6597 2004-07-25  Benjamin Otte  <otte@gnome.org>
6598
6599         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6600           don't delay links on the sink elements, it causes unnegotiated
6601           links.
6602         * gst/elements/gsttypefindelement.c:
6603         (gst_type_find_element_base_init):
6604           add our padtemplates, we indeed do have some.
6605         * gst/elements/gsttypefindelement.c:
6606         (gst_type_find_element_handle_event),
6607         (gst_type_find_element_chain):
6608           don't push data when typefinding failed.
6609         * gst/gstpad.c: (gst_pad_link_fixate):
6610           check that no fixate function returns empty caps.
6611         * gst/gstpad.c: (gst_pad_push):
6612           check that the link is negotiated before data gets pushed.
6613         * tools/gst-register.c: (main):
6614           don't assert (fixes #148283)
6615
6616 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6617
6618         * docs/gst/gstreamer-sections.txt:
6619         * docs/gst/tmpl/gstconfig.sgml:
6620           add GST_PLUGIN_EXPORT definition
6621
6622 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6623
6624         * gst/gstplugin.h:
6625         * gst/gstconfig.h.in:
6626         * win32/gstconfig.h:
6627         * win32/gstelements.def:
6628         * win32/gstelements.vcproj:
6629         * win32/gstoptimalscheduler.def:
6630         * win32/gstoptimalscheduler.vcproj:
6631         * win32/gstspider.def:
6632         * win32/gstspider.vcproj:
6633           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6634
6635 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6636
6637         * docs/gst/gstreamer-sections.txt:
6638           remove GST_CAT_DEFAULT because the type has changed
6639
6640 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6641
6642         * win32/gstbytestream.vcproj:
6643         * win32/gstelements.vcproj:
6644         * win32/gst-inspect.vcproj:
6645         * win32/gst-launch.vcproj:
6646         * win32/gstoptimalscheduler.vcproj:
6647         * win32/GStreamer.vcproj:
6648         * win32/gst-register.vcproj:
6649         * win32/gstspider.vcproj:
6650         * win32/msvc71.sln:
6651           Copy the files where needed after building, The testsuite will be
6652           built separately
6653
6654 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6655
6656         * win32/config.h:
6657         * win32/README.txt:
6658         * docs/manual/win32.xml:
6659         Fixed the plugin and GStreamer location
6660
6661 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6662
6663         * win32/gstreamer.def:
6664         More exports for the plugins
6665
6666 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6667
6668         * gst/gstinfo.h:
6669         Marc was right, we need to export literally GST_CAT_DEFAULT
6670
6671 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6672
6673         * win32/config.h:
6674         NLS crashes in gettext, disabled until this is solved
6675
6676 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6677
6678         * win32/gst-inspect.vcproj:
6679         * win32/gst-launch.vcproj:
6680         Should use NLS when available
6681
6682 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6683
6684         * gst/registries/gstxmlregistry.c:
6685         removing the file doesn't seem to be a good idea on Linux
6686
6687 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6688
6689         * gst/registries/gstxmlregistry.c:
6690         Remove the registry before renaming the tempfile (needed for Windows)
6691
6692 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6693
6694         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6695         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6696         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6697         * gst/elements/gstmultifilesrc.h:
6698         Added newmedia property so it generates newmedia events between each
6699         file when property is set, as well as fixed eos handling
6700
6701 2004-07-22  David Schleef  <ds@schleef.org>
6702
6703         * gst/gststructure.c: (gst_structure_id_empty_new),
6704         (gst_structure_empty_new):  Set type field correctly.
6705         * gst/gststructure.h: Check type field correctly.
6706         * testsuite/caps/Makefile.am:
6707         * testsuite/caps/structure.c: (test1), (main): Add a very small
6708         test for structures.
6709
6710 2004-07-22  David Schleef  <ds@schleef.org>
6711
6712         * docs/random/ds/0.9-suggested-changes: more comments
6713         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6714
6715 2004-07-22  Benjamin Otte  <otte@gnome.org>
6716
6717         * gst/gstelementfactory.c: (gst_element_register):
6718           set the factory in the class struct, so gst_element_get_factory
6719           actually works
6720         * gst/parse/grammar.y:
6721           set element to playing when it gets unlocked as we can't rely on the
6722           bin state - all elements in the bin state might still be locked in
6723           NULL)
6724
6725 2004-07-22  Benjamin Otte  <otte@gnome.org>
6726
6727         * gst/gstelement.c: (gst_element_set_state_func):
6728           make this a static function
6729
6730 2004-07-22  Wim Taymans  <wim@fluendo.com>
6731
6732         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6733         (gst_opt_scheduler_pad_link):
6734         fix 147894-2 and the group_link problem.
6735
6736 2004-07-22  Wim Taymans  <wim@fluendo.com>
6737
6738         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6739         (handoff_identity), (main):
6740         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6741         (handoff_identity), (main):
6742         * testsuite/schedulers/Makefile.am:
6743         * testsuite/schedulers/group_link.c: (main):
6744         Show bug in scheduler when linking chain and loop based element 
6745         where the chain based element was not yet in a group.
6746
6747 2004-07-21  Benjamin Otte  <otte@gnome.org>
6748
6749         * gst/.cvsignore:
6750         * gst/autoplug/.cvsignore:
6751         * gst/elements/.cvsignore:
6752         * gst/indexers/.cvsignore:
6753         * libs/gst/bytestream/.cvsignore:
6754         * libs/gst/control/.cvsignore:
6755         * libs/gst/getbits/.cvsignore:
6756         * testsuite/states/.cvsignore:
6757         * testsuite/threads/.cvsignore:
6758           keep this up to date, since I seem to be the only one who cares
6759           about not missing files on commits (editor's note: no you don't,
6760           but feel free to change them at the time you add stuff instead
6761           of later on)
6762
6763 2004-07-21  Benjamin Otte  <otte@gnome.org>
6764
6765         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6766         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6767         (gst_bin_child_state_change_func), (set_kid_state_func),
6768         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6769           make state changes work correctly and reentrant (so removing
6770           elements from bins during state changes of bins doesn't cause
6771           segfaults or even wrong states)
6772           add debugging category and debugging output to print children states
6773         * gst/gstbin.c: (gst_bin_dispose): 
6774           add some assertion checks
6775         * gst/gstbin.h:
6776         * gst/gstbin.c: (gst_bin_sync_children_state):
6777           deprecate this function - it just does gst_bin_set_state (bin,
6778           GST_STATE (bin)) 
6779         * testsuite/threads/queue.c: (main):
6780           don't use gst_bin_sync_children_state anymore
6781         * testsuite/states/Makefile.am:
6782         * testsuite/states/bin.c:
6783           test that the state changes of bins work as expected
6784         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6785           some adjustments to change states correctly, too
6786         * gst/gstthread.c: (gst_thread_change_state):
6787           don't enable/disable "threadsafe" properties, they're unused and
6788           cause random segfaults
6789         * testsuite/threads/Makefile.am:
6790           the queue check randomly passes now, ignore it
6791
6792 2004-07-21  Benjamin Otte  <otte@gnome.org>
6793
6794         * gst/gstpad.c:
6795           check if data is NULL before outputting debug info. (fixes #145100)
6796
6797 2004-07-21  Benjamin Otte  <otte@gnome.org>
6798
6799         * gst/schedulers/entryscheduler.c:
6800         (gst_entry_scheduler_loop_wrapper),
6801         (gst_entry_scheduler_chain_wrapper),
6802         (gst_entry_scheduler_get_wrapper):
6803           reset the state when the cothread starts, so we don't get assertion
6804           failures on restarting of cothreads
6805
6806 2004-07-20  Benjamin Otte  <otte@gnome.org>
6807
6808         * gst/gstelement.c: (gst_element_link_pads_filtered):
6809           use correct sinkpad, if only sinkpad is specified, but not srcpad
6810           (fixes #147889)
6811         * gst/gstelement.c: (gst_element_set_state_func),
6812         (gst_element_change_state): ref/unref the element, signal handlers
6813         could get rid of the element otherwise
6814
6815 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6816
6817         * docs/random/ds/0.9-suggested-changes:
6818           Make note about renaming fixed-list to array.
6819         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6820         (_gst_value_initialize):
6821           Add array intersections.
6822         * testsuite/caps/intersect2.c: (main):
6823           Add test for array intersections.
6824
6825 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6826
6827         * configure.ac: back to cvs
6828
6829 === release 0.8.4 ===
6830
6831 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6832
6833         * configure.ac:
6834           releasing 0.8.4, "Paella"
6835           bump libtool versioning
6836
6837 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6838
6839         * po/LINGUAS:
6840         * po/ca.po:
6841           adding Catalan translation (Jordi Mallach)
6842
6843 2004-07-20  Wim Taymans  <wim@fluendo.com>
6844
6845         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6846         (handoff_identity), (main):
6847         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6848         (handoff_identity), (main):
6849         * testsuite/schedulers/Makefile.am:
6850         Added failing testcase for variant of #147894
6851
6852 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6853
6854         patch by: David Moore
6855
6856         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6857         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6858         (group_migrate_connected):
6859         * testsuite/schedulers/Makefile.am:
6860           fix for #142813 (Deadlock in optimal scheduler)
6861
6862 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6863
6864         patch by: Wim Taymans
6865
6866         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6867         (gst_opt_scheduler_schedule_run_queue),
6868         (gst_opt_scheduler_get_wrapper), (get_group),
6869         (group_migrate_connected):
6870         * testsuite/schedulers/Makefile.am:
6871           fix for #147819 (Add some checks in the opt scheduler)
6872
6873 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6874
6875         patch by: Benjamin Otte
6876
6877         * gst/gstelementfactory.c: (__gst_element_details_set):
6878           fix for #147929: running gst-register in non-utf8 locale can cause
6879           invalid registry
6880
6881 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6882
6883         patch by: Wim Taymans
6884
6885         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6886         (group_has_element), (element_get_reachables_func),
6887         (group_migrate_connected):
6888           fix for #147894 (opt scheduler decoupled elements mismanagement)
6889         * testsuite/schedulers/Makefile.am:
6890           testsuite app now passes
6891
6892 2004-07-19  Wim Taymans  <wim@fluendo.com>
6893
6894         * testsuite/schedulers/147819.c: (handoff_identity1),
6895         (handoff_identity2), (main):
6896         * testsuite/schedulers/Makefile.am:
6897         Added testcase for bug 147819
6898
6899 2004-07-19  Wim Taymans  <wim@fluendo.com>
6900
6901         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6902         (handoff_identity), (main):
6903         * testsuite/schedulers/Makefile.am:
6904         Added testcase for bug 147894
6905
6906 2004-07-16  Wim Taymans  <wim@fluendo.com>
6907
6908         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6909         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6910         * testsuite/schedulers/Makefile.am:
6911         Added testsuite for bug 142183 in its two incarnations. Refcount
6912         is not increased for scheduled elements and threadsafe properties
6913         mutexes are not properly unlocked.
6914
6915 2004-07-16  Wim Taymans  <wim@fluendo.com>
6916
6917         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6918         (create_chain), (destroy_chain), (create_group), (destroy_group),
6919         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6920         (group_dec_link), (gst_opt_scheduler_pad_link),
6921         (group_inc_links_for_element), (group_migrate_connected):
6922         Call group_inc_link with the proper src->sink ordering -- 
6923         break this, and we break sort_chain. patch from wingo for bug
6924         147713.
6925         Partially revert patch 1.89. When adding a loop based element to 
6926         the scheduler, the links to other groups are automatically followed
6927         and incremented. This should not happen because the bin will call
6928         pad_link explicitly for those connection, resulting in them counted 
6929         twice. Results in assertion failure on pipeline cleanup.
6930
6931 2004-07-16  Wim Taymans  <wim@fluendo.com>
6932
6933         * testsuite/schedulers/143777-2.c: (main):
6934         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6935         (main):
6936         * testsuite/schedulers/Makefile.am:
6937         Added cleanup code to testcase 143777-2.
6938         Added testcase to show bug 147713, does not really show the
6939         deadlock as I can't figure out how to trigger it, but it does
6940         demonstrate bad ordering in the scheduler.
6941
6942 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6945           change strndup to g_strndup.  Fixes #147707
6946
6947 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6948
6949         * po/af.po:
6950         * po/az.po:
6951         * po/cs.po:
6952         * po/en_GB.po:
6953         * po/fr.po:
6954         * po/nl.po:
6955         * po/sr.po:
6956         * po/sv.po:
6957         * po/tr.po:
6958         * po/uk.po:
6959           updated translations
6960
6961 2004-07-16  Benjamin Otte  <otte@gnome.org>
6962
6963         * gst/gstvalue.c: (gst_greatest_common_divisor):
6964           use ints and return ints, fractions only use ints, too, so this
6965           avoids accidently casting multiplications to unsigned
6966         (gst_value_lcopy_fraction): it's ints, not uint32
6967         (gst_value_set_fraction): disallow minint, multiplying and negation
6968           are broken with it
6969         (gst_value_fraction_multiply): fix to make large numbers work and get
6970         rid of the assumption that the multiplication of two ints fits an
6971         int64 - dunno if that's true for all systems
6972         * testsuite/caps/Makefile.am:
6973         * testsuite/caps/fraction-multiply-and-zero.c:
6974         (check_multiplication), (check_equal), (zero_test), (main):
6975           add tests for all the stuff above
6976         * testsuite/caps/value_compare.c: (test1):
6977           fix comment
6978         * tests/.cvsignore:
6979         * testsuite/caps/.cvsignore:
6980         * testsuite/debug/.cvsignore:
6981         * testsuite/dlopen/.cvsignore:
6982         * testsuite/states/.cvsignore:
6983           get up to date
6984
6985 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6986
6987         * docs/manual/bins-api.xml:
6988         * docs/manual/factories.xml:
6989         * docs/manual/helloworld.xml:
6990         * docs/manual/links-api.xml: 
6991           fixes for out of date info, incorrect info and grammar
6992
6993 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6994
6995         * docs/manual/pads.xml:
6996         * docs/manual/pads-api.xml: grammar fix
6997
6998 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6999
7000         * docs/manual/pads-api.xml: typo + grammar fix
7001
7002 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7003
7004         * docs/gst/gstreamer-sections.txt:
7005           add new symbols
7006         * docs/gst/tmpl/gstelement.sgml:
7007         * docs/gst/tmpl/gstpad.sgml:
7008         * docs/gst/tmpl/gsttypes.sgml:
7009         * docs/gst/tmpl/gstvalue.sgml:
7010           update docs
7011         * gst/gststructure.c: (gst_structure_set_valist),
7012         (gst_structure_from_abbr), (gst_structure_to_abbr):
7013         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7014         (gst_greatest_common_divisor), (gst_value_init_fraction),
7015         (gst_value_copy_fraction), (gst_value_collect_fraction),
7016         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7017         (gst_value_get_fraction_numerator),
7018         (gst_value_get_fraction_denominator),
7019         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7020         (gst_value_deserialize_fraction),
7021         (gst_value_transform_fraction_string),
7022         (gst_value_transform_string_fraction),
7023         (gst_value_compare_fraction), (_gst_value_initialize):
7024         * gst/gstvalue.h:
7025           adding GstFraction GValue type, get/set, and multiply
7026         * testsuite/caps/Makefile.am:
7027         * testsuite/caps/fraction.c: (test), (main):
7028         * testsuite/caps/string-conversions.c: (main):
7029         * testsuite/caps/value_compare.c: (test1), (main):
7030           add regression tests for GstFraction
7031
7032 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7033         
7034         * docs/manual/init-api.xml: Grammar fix
7035
7036 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7037
7038         * docs/manual/states.xml: Fix inconsistent information
7039
7040 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7041
7042         * gst/gstelement.c: (gst_element_set_state):
7043         * gst/gstpad.c: (gst_pad_try_set_caps):
7044         * gst/gststructure.c:
7045         * gst/gstthread.c: (gst_thread_child_state_change):
7046         * gst/gstvalue.c: (gst_value_compare_double):
7047         * gst/gstvalue.h:
7048         * testsuite/parse/parse1.c: (main):
7049           debugging additions and style cleanups
7050
7051 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7052
7053         * docs/manual/states.xml: Grammar fix
7054
7055 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7056
7057         * docs/manual/pads.xml: Grammar fix
7058
7059 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7060
7061         * docs/manual/elements.xml: Fixed image reference
7062
7063 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7064
7065         * docs/manual/goals.xml: Grammar fix
7066
7067 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7068
7069         * docs/manual/motivation.xml:
7070         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7071
7072 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7073
7074         * docs/manual/motivation.xml: Fix spelling
7075
7076 2004-07-15  Benjamin Otte  <otte@gnome.org>
7077
7078         * gst/gstelement.h: 
7079           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7080           strings.
7081         * gst/gstelement.c (gst_element_class_init):
7082           GError's are boxed, not objects
7083         * gst/gstmarshal.list:
7084           update list for the fixed error signal
7085
7086 2004-07-14  Andy Wingo  <wingo@pobox.com>
7087
7088         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7089         there all along, but the function wasn't. (guile-gstreamer's build
7090         system uses the address of the function -- I wasn't actually
7091         trying to use this.)
7092
7093 2004-07-14  Andy Wingo  <wingo@pobox.com>
7094
7095         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7096         as gst_pad_proxy_pad_link) just link to every other pad when they
7097         are called. In the case where the graph has cycles, this will mean
7098         that a call to try_set_caps will recurse. Allow this recursion
7099         and return OK, while we wait for the first try_set_caps to give a
7100         proper return value.
7101         (gst_pad_link_call_link_functions): Since this function is the
7102         only one to set the NEGOTIATING flag on a pad, if the flag is set
7103         it means that the link functions have indirectly recursed. If this
7104         happens, error out to avoid infinite recursion and an eventual
7105         SEGV.
7106         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7107         (gst_pad_proxy_getcaps): Intersect the result with the template
7108         caps to ensure that the return value is valid.
7109
7110 2004-07-14  Andy Wingo  <wingo@pobox.com>
7111
7112         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7113         one refcount, the calling function is the owner of the buffer.
7114
7115 2004-07-14  Wim Taymans  <wim@fluendo.com>
7116
7117         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7118         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7119         Fix stupid warning when an element is to be migrated but
7120         is already migrated.
7121
7122 2004-07-14  Wim Taymans  <wim@fluendo.com>
7123
7124         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7125         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7126         Make sure that a single non-loop-based element does not 
7127         end up in a group. This fixes the testsuite again.
7128
7129 2004-07-14  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7132         (add_to_group), (merge_groups), (schedule_group),
7133         (gst_opt_scheduler_get_wrapper), (group_elements),
7134         (group_dec_link), (gst_opt_scheduler_pad_link),
7135         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7136         (gst_opt_scheduler_iterate):
7137         move isolated groups to a new chain.
7138         Emit a warning instead of segfaulting in some error cases.
7139         Fix a bug where the link count between groups was not calculated 
7140         correctly. Fixes #144510.
7141
7142 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7143         * gst/elements/gstfilesrc.c:
7144           Binary files support under Windows now OK
7145       
7146 2004-07-13  Benjamin Otte  <otte@gnome.org>
7147
7148           compatibility fixes for Solaris 8/gcc 2.95
7149         * configure.ac:
7150           include libintl libs in LDFLAGS
7151         * gstvalue.c (gst_value_deserialize_buffer):
7152           cast isxdigit stuff to int to silence compiler warning
7153
7154 2004-07-12  Benjamin Otte  <otte@gnome.org>
7155
7156         * gst/gsttypes.h:
7157           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7158           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7159           just causes support madness
7160         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7161           make it work without this
7162         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7163         (gst_file_index_commit):
7164           glib IO channels don't want binary mode
7165         * testsuite/bytestream/filepadsink.c: (main):
7166         * testsuite/bytestream/test1.c: (read_param_file):
7167           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7168
7169 2004-07-12  Benjamin Otte  <otte@gnome.org>
7170
7171         * gst/gstelement.c: (gst_element_class_init),
7172         (gst_element_set_state), (gst_element_set_state_func):
7173           virutalize gst_element_set_state, use set_state member in class
7174           struct that was already added in 0.7 for this.
7175         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7176         (gst_bin_change_state):
7177           make gst_bin_foreach works similar to other foreach functions, plug
7178           memleaks in it. Make functions using it work with the new approach.
7179           Document gst_bin_foreach, so it can be exported if we want to
7180         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7181           use virtualized set_state to make set_state on bins set the state of
7182           all its children.
7183
7184 2004-07-12  Benjamin Otte  <otte@gnome.org>
7185
7186         * configure.ac:
7187           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7188           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7189         * gst/gstpad.c: (gst_pad_alloc_buffer):
7190           allow buffer_alloc functions to return NULL and allocate a normal
7191           buffer in that case
7192
7193 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7194         * gst/elements/gstfilesink.c:
7195         * gst/elements/gstfilesrc.c:
7196         * gst/indexers/gstfileindex.c:
7197         * gst/gsttypes.h:
7198         * testsuite/bytestream/filepadsink.c:
7199         * testsuite/bytestream/test1.c:
7200           Handle binary files under Windows
7201
7202 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7203         * docs/manual/win32.xml:
7204         * win32/config.h:
7205         * win32/gst-register.vcproj:
7206         * win32/gstreamer.def:
7207           Update to another gettext public build
7208
7209 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7210         * gst/gstplugin.c:
7211           Fix an impossible C syntax
7212         * win32/config.h:
7213           Disable i18n under Windows for the moment
7214         * win32/gst-register.vcproj:
7215           Use this configuration
7216
7217 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7218         * docs/manual/quotes.xml:
7219           Keep the quotes file alive
7220         * docs/random/ds/0.9-suggested-changes:
7221           Add the suggestion of including a 'rowstride' as part of video
7222           format caps
7223
7224 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7225
7226         * gst/gstelement.c: (gst_element_set_state),
7227         (gst_element_change_state):
7228           d'oh.  Set PENDING state correctly before forcing bin to change.
7229         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7230         (gst_structure_parse_fixed_list):
7231         * gst/schedulers/gstoptimalscheduler.c:
7232         (gst_opt_scheduler_state_transition):
7233         * testsuite/states/parent.c: (main):
7234           remove comment now that it's fixed.
7235
7236 2004-07-11  Benjamin Otte  <otte@gnome.org>
7237
7238         * gst/gstclock.h:
7239           GST_SECOND shouldn't cause a conversion to unsigned.
7240         * testsuite/clock/.cvsignore:
7241         * testsuite/clock/Makefile.am:
7242         * testsuite/clock/signedness.c: (main):
7243           make sure it never will again
7244
7245 2004-07-11  Andy Wingo  <wingo@pobox.com>
7246
7247         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7248         whose state is higher than the bin state, raise the bin state to
7249         ensure that bin state := highest child state.
7250         
7251 2004-07-11  Andy Wingo  <wingo@pobox.com>
7252
7253         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7254         procedure on the children of a bin. Assumes that the procedure can
7255         change the set of children.
7256         (set_kid_state_func): New static function.
7257         (gst_bin_change_state): Use gst_bin_foreach to call
7258         set_kid_state_func. Fixes a bug: if a child had a state-change
7259         handler that removes it from the bin, there would be a segfault.
7260         Hopefully it should also work in the case where the state-change
7261         handler on one child adds or removes other children. In any case,
7262         fixes should go to gst_bin_foreach.
7263
7264 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7265
7266         * gst/gstelement.c: (gst_element_set_state):
7267           compatibility fix for latest plugins release.  Change loop back
7268           to while {}
7269
7270 2004-07-09  Wim Taymans  <wim@fluendo.com>
7271
7272         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7273         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7274         (gst_thread_main_loop):
7275         Since remove is virtual in GstBin we must not assume the 
7276         elements GList to have anothing useful.
7277         Add some more logging to GstThread and be a bit more paranoid
7278         when resetting the scheduler.
7279         Set the state of the bin to NULL before removing the children.
7280
7281 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7282
7283         * testsuite/threads/Makefile.am:
7284         * testsuite/threads/threadg.c:
7285           added test to check if problem when removing all elements from a
7286           GstThread before setting GstThread state to NULL
7287
7288 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7289
7290         * docs/gst/tmpl/gstelement.sgml:
7291         * docs/gst/tmpl/gsttypes.sgml:
7292         * gst/gstbin.c: (gst_bin_change_state):
7293         * gst/gstelement.c: (gst_element_set_state),
7294         (gst_element_change_state):
7295           rework so that for bins we try to set the state on all children
7296           as well even if the bin is in the correct state already.
7297           change while to do so at least one iteration is done.
7298           For regular elements, we fall back to the previous behaviour for
7299           now since we first need a new plugins release.
7300         * testsuite/states/parent.c: (main):
7301           test for this case
7302           Fixes #123774
7303
7304 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7305
7306         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7307         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7308         (gst_queue_release_locks), (gst_queue_change_state),
7309         (gst_queue_set_property):
7310           add proper lock debugging.  Change dispose to finalize, since
7311           we're freeing mutexes and other stuff which should happen only once.
7312
7313 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7314
7315         * docs/gst/tmpl/gstelement.sgml:
7316         * docs/gst/tmpl/gstplugin.sgml:
7317         * docs/gst/tmpl/gsttypes.sgml:
7318         * docs/pwg/building-state.xml:
7319         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7320         * gst/gstelement.c: (gst_element_change_state):
7321         * gst/gstthread.c: (gst_thread_change_state):
7322           catch wrong state changes in element base class.
7323
7324 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7325
7326         * gst/gstinfo.h:
7327           clean up layout a little.
7328
7329 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7330
7331         * configure.ac:
7332         * testsuite/Makefile.am:
7333         * testsuite/states/Makefile.am:
7334         * testsuite/states/parent.c: (main):
7335           re-enable states testsuite dir.  Add test for state changes and
7336           parent behaviour
7337
7338 2004-07-09  Wim Taymans  <wim@fluendo.com>
7339
7340         * gst/schedulers/gstoptimalscheduler.c:
7341         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7342         (element_get_reachables_func), (element_get_reachables),
7343         (debug_element), (rechain_group), (group_migrate_connected),
7344         (gst_opt_scheduler_pad_unlink):
7345         Do not try to migrate decoupled elements to a new group since
7346         they are not added to groups.
7347
7348 2004-07-08  Benjamin Otte  <otte@gnome.org>
7349
7350         * gst/gstelement.c: (gst_element_error_func):
7351           make reentrant (= allow removing elements in error handler)
7352
7353 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7354
7355         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7356         (gst_pad_send_event), (gst_pad_call_chain_function):
7357           events sent to elements below PAUSED cannot be handled, so
7358           don't try to
7359
7360 2004-07-08  Wim Taymans  <wim@fluendo.com>
7361
7362         * gst/schedulers/gstoptimalscheduler.c:
7363         (chain_recursively_migrate_group), (create_group),
7364         (schedule_group), (gst_opt_scheduler_pad_link),
7365         (group_elements_set_visited), (element_get_reachables_func),
7366         (element_get_reachables), (group_can_reach_group), (debug_element),
7367         (rechain_group), (group_migrate_connected),
7368         (gst_opt_scheduler_pad_unlink):
7369         * testsuite/schedulers/Makefile.am:
7370         Implemented group splitting and rechaining.
7371         Fixes 143777 and 143777-2 in the testsuite.
7372
7373 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7374
7375         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7376           extra debugging
7377         * gst/gstevent.h:
7378         * gst/gstinfo.c: (gst_debug_log_default):
7379           print time nicely.  add thread pointer until someone figures out
7380           a completely portable way of getting at thread id's.
7381         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7382         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7383         (gst_pad_call_chain_function):
7384           extra debugging
7385         * gst/schedulers/gstoptimalscheduler.c:
7386         (get_group_schedule_function), (loop_group_schedule_function),
7387         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7388         (pad_clear_queued), (gst_opt_scheduler_iterate):
7389           rename BUFPEN and friends to DATAPEN since that's what they are.
7390
7391 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7392
7393         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7394         * gst/gstbuffer.h:
7395         * gst/gstpad.c:
7396           cleanups and debugging
7397
7398 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7399
7400         * configure.ac:
7401         * gst/gstvalue.c: (gst_value_compare_enum),
7402         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7403         (gst_value_can_compare), (gst_value_compare):
7404         * testsuite/Makefile.am:
7405         * testsuite/enumcaps/Makefile.am:
7406         * testsuite/enumcaps/enumcaps.c:
7407           Fix enum serialization, deserialization, comparison in caps, add
7408           a test to ensure that this continues working in the future.
7409
7410 2004-07-06  David Schleef  <ds@schleef.org>
7411
7412         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7413         Fix memleak.
7414
7415 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7418         * gst/gstplugin.h:
7419         * gst/registries/gstxmlregistry.c:
7420         (plugin_times_older_than_recurse), (plugin_times_older_than),
7421         (gst_xml_registry_parse_padtemplate):
7422           only rebuild registry when actual plugins have a newer time than
7423           the registry.  Fixes #145520
7424
7425 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7426
7427         * docs/manual/manual.xml:
7428         * docs/manual/win32.xml:
7429           add chapter on win32 building.  fixes #142422
7430
7431 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7432
7433         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7434
7435         * gst/autoplug/gstspider.c: (gst_spider_init),
7436         (gst_spider_dispose):
7437           fix spider memleaks.  fixes #137863
7438
7439 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7442
7443         * gst/schedulers/gstoptimalscheduler.c:
7444         (gst_opt_scheduler_pad_unlink):
7445           fix SIGBUS error, fixes #145338
7446
7447 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         * gst/gstobject.c: (gst_object_replace):
7450         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7451         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7452           clean up clock lifecycle.  Fixes #109831
7453
7454 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7455
7456         * po/LINGUAS:
7457         * po/cs.po:
7458           added Czech translation (Miloslav Trmac)
7459
7460 2004-07-04  David Schleef  <ds@schleef.org>
7461
7462         * tools/Makefile.am:
7463         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7464
7465 2004-07-04  David Schleef  <ds@schleef.org>
7466
7467         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7468
7469 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7470
7471         * gst/gstbin.c: (gst_bin_restore_thyself):
7472           chain to parent restore so the bins get restored correctly
7473           in the editor
7474
7475 2004-07-03  David Schleef  <ds@schleef.org>
7476
7477         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7478         Actually do something in these functions, like before the big
7479         caps change.  (bug #145137)
7480
7481 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7482
7483         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7484         (gst_element_get_compatible_pad_filtered):
7485         * gst/gstthread.c: (gst_thread_main_loop):
7486           more debugging
7487
7488 2004-07-02  David Schleef  <ds@schleef.org>
7489
7490         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7491         * gst/gstobject.h:
7492         * gst/gstparse.h:
7493         * gst/gsttrace.h:
7494         * gst/gstxml.h:
7495
7496 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7497
7498         * gst/gstpad.c: (gst_pad_check_schedulers),
7499         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7500         (gst_pad_link_prepare):
7501           revert until testsuite is fixed
7502
7503 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7504
7505         * testsuite/Makefile.am:
7506         * testsuite/caps/filtercaps.c: (main):
7507         * testsuite/clock/clock1.c: (main):
7508         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7509           fix some more tests
7510
7511 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7512
7513         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7514         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7515         * testsuite/cleanup/cleanup4.c: (main):
7516           fix testsuite
7517
7518 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7519
7520         * libs/gst/control/control.c:
7521         * libs/gst/control/dparam.c:
7522         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7523         * libs/gst/control/dparammanager.c:
7524         * libs/gst/control/dparammanager.h:
7525         * testsuite/dynparams/Makefile.am:
7526         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7527         (gst_dptest_change_state), (gst_dptest_chain), (main):
7528           fix testcase for dparams
7529           add debugging category
7530
7531 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7532
7533         * testsuite/Rules:
7534           change path
7535
7536 2004-07-02  Benjamin Otte  <otte@gnome.org>
7537
7538         * tests/.cvsignore:
7539         * tests/Makefile.am:
7540         * tests/mass_elements.c: (gst_get_current_time), (main):
7541           add simple benchmark to test various speeds of fakesrc ! identity !
7542           identity ! ... ! fakesink.
7543           Usage: mass_elements [num_identities] [num_buffers]
7544           If not specified they default to 1000.
7545
7546 2004-07-02  Benjamin Otte  <otte@gnome.org>
7547
7548         * gst/gstpad.c: (gst_pad_check_schedulers),
7549         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7550         (gst_pad_link_prepare):
7551           check that pads that get linked belong to the same manager. The old
7552           code allowed linking elements before putting them into bins, so it
7553           worked to link them and then put them in different threads, which
7554           lead to weird behaviour.
7555           Since this effectively disallows linking elements before putting
7556           them in a bin, some applications might not work after this and error
7557           out. If these applications are too critical, we might need to revert
7558           that patch. Please test this before the next release...
7559
7560 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7561
7562         * gst/gstpad.c: (gst_pad_get_caps):
7563           throw an error if the getcaps function does not return a subset of
7564           the template caps.
7565         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7566           make disconts without position info an error in debugging
7567         * tests/spidey_bench.c: (handoff), (main):
7568           don't count first try when averaging
7569
7570 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         * gst/gstplugin.c: (gst_plugin_load_file):
7573           figure out problem with dynamic test
7574
7575 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7576
7577         * docs/gst/Makefile.am:
7578           fix docs build
7579
7580 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7581
7582         * po/POTFILES.in:
7583         * po/af.po:
7584         * po/az.po:
7585         * po/en_GB.po:
7586         * po/fr.po:
7587         * po/nl.po:
7588         * po/sr.po:
7589         * po/sv.po:
7590         * po/tr.po:
7591         * po/uk.po:
7592         * tools/gst-register.c: (plugin_added_func), (main):
7593           i18n-ize -register, fix plural
7594
7595 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * gst/elements/gstidentity.c: (gst_identity_class_init),
7598         (gst_identity_init), (gst_identity_chain),
7599         (gst_identity_set_property), (gst_identity_get_property):
7600         * gst/elements/gstidentity.h:
7601           check for perfect stream
7602
7603 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7604
7605         * gst/elements/gstidentity.c: (gst_identity_chain):
7606           print offset_end
7607
7608 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7609
7610         * docs/gst/Makefile.am:
7611         * docs/gst/gstreamer-docs.sgml:
7612           doc fixes
7613
7614 2004-06-24  David Schleef  <ds@schleef.org>
7615
7616         * autogen.sh:  Remove call to env, since the buildbot isn't
7617         broken anymore.
7618
7619 2004-06-24  Wim Taymans  <wim@fluendo.com>
7620
7621         * gst/elements/Makefile.am:
7622         * gst/elements/gstelements.c:
7623         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7624         (gst_multifdsink_class_init), (gst_multifdsink_init),
7625         (gst_multifdsink_add), (gst_multifdsink_remove),
7626         (gst_multifdsink_clear), (gst_multifdsink_chain),
7627         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7628         * gst/elements/gstmultifdsink.h:
7629         Added an element that writes to multiple filedescriptors at once.
7630
7631 2004-06-24  Benjamin Otte  <otte@gnome.org>
7632
7633         * gst/parse/grammar.y:
7634           don't try to link elements before they have been added to bins
7635
7636 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7637
7638         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7639         (gst_file_pad_get_length):
7640         * libs/gst/bytestream/filepad.h:
7641           add 2 new functions
7642
7643 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7644
7645         * docs/gst/gstreamer-sections.txt:
7646         remove from docs, the define that Benjamin removed from gstelement.h
7647
7648 2004-06-22  Benjamin Otte  <otte@gnome.org>
7649
7650         * gst/gstelement.h:
7651           remove define that referenced a nonexisting GstElement struct member
7652
7653 2004-06-20  Benjamin Otte  <otte@gnome.org>
7654
7655         * gst/gstdata.c: (gst_data_is_writable):
7656           whoops, return values were wrong, so writable data was marked as
7657           non-writable and vice versa. (fixes #143953, spotted by Francis
7658           Labonte)
7659           Shows how rarely we need to copy data ;)
7660
7661 2004-06-20  Benjamin Otte  <otte@gnome.org>
7662
7663         * testsuite/schedulers/.cvsignore:
7664         * testsuite/schedulers/Makefile.am:
7665         * testsuite/schedulers/143777-2.c: (main):
7666           add test for opt breakage in bug #143777
7667
7668 2004-06-20  Benjamin Otte  <otte@gnome.org>
7669
7670         * gst/gstpad.c: (gst_pad_call_chain_function):
7671           check for if we were unlinked while inside the chainfunction (fixes
7672           entrygthread having issues with #143777)
7673         * testsuite/schedulers/143777.c: (main):
7674         * testsuite/schedulers/Makefile.am:
7675           add a test for that fix
7676
7677 2004-06-20  Benjamin Otte  <otte@gnome.org>
7678
7679         * gst/gstvalue.c: (gst_value_set_int_range):
7680           test that start is smaller then end
7681         * libs/gst/bytestream/Makefile.am:
7682         * libs/gst/bytestream/filepad.c: 
7683         * libs/gst/bytestream/filepad.h:
7684           add GstFilePad - a pad that behaves like a FILE*
7685         * testsuite/bytestream/.cvsignore:
7686         * testsuite/bytestream/Makefile.am:
7687         * testsuite/bytestream/filepadsink.c: 
7688           test for the GstFilePad
7689
7690 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7691
7692         * gst/elements/gstidentity.c: (gst_identity_class_init),
7693         (gst_identity_init), (gst_identity_set_clock),
7694         (gst_identity_chain), (gst_identity_set_property),
7695         (gst_identity_get_property):
7696         * gst/elements/gstidentity.h:
7697         * gst/gstclock.c: (gst_clock_id_wait):
7698           add a "sync" property to sync to the clock
7699
7700 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7701
7702         * gst/gstelementfactory.c: (gst_element_factory_create):
7703           make the freakin "elementfactory bla has no type" message more
7704           useful. So we actually can do something when someone shows up
7705           complaining about it.
7706
7707 2004-06-15  Johan Dahlin  <johan@gnome.org>
7708
7709         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7710         found. This matches the old behavior better. Thanks to Thomas for
7711         pointing out.
7712
7713 2004-06-14  David Schleef  <ds@schleef.org>
7714
7715         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7716         -fomit-frame-pointer.  Appears to generate correct code in
7717         other cases as well.
7718
7719 2004-06-14  Johan Dahlin  <johan@gnome.org>
7720
7721         * tools/gst-inspect.c (main): Add two new command line options: -a
7722         to print all elements and -n to print the name on each line. Also
7723         fix some error reporting.
7724         (main): Simplify, remove -n and always print names if -a is specified
7725
7726 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7727
7728         * win32/gstconfig.h:
7729         * win32/GSTreamer.vcproj:
7730         * win32/Makefile:
7731         * gst/gstconfig.h.in:
7732         * gst/gst.h:
7733         * gst/gstbin.h:
7734         * gst/gstelement.h:
7735         * gst/gstevent.h:
7736         * gst/gstobject.h:
7737         * gst/gstpad.h:
7738         * docs/gst/gstreamer-sections.txt:
7739         * docs/gst/tmpl/gstconfig.sgml:
7740           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7741
7742 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7743         * docs/gst/gstreamer-sections.txt:
7744         * docs/gst/tmpl/gstconfig.sgml:
7745         Add the GSTREAMER_EXPORT macro to the docs
7746
7747 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7748
7749         * tools/gst-compprep.c: (handle_xmlerror), (main):
7750         Add a check for the version that introduced SetStructuredError to fix
7751         the build on FC1
7752
7753 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7754
7755         * win32/msvc71.sln:
7756         * win32/testsuite/:
7757           prepare to compile the testsuite with MSVC
7758
7759 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7760
7761         * docs/manual/win32.xml:
7762           attempt to transform the Win32 README into an XML doc
7763
7764 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7765
7766         * gst/gst.c:
7767         * gst/gstbin.*:
7768         * gst/config.h.in:
7769         * gst/gstelement.*:
7770         * gst/gstevent.h:
7771         * gst/gstobject.*:
7772         * gst/gstpad.h:
7773         * tools/gst-register.c:
7774         * win32/gstreamer.def:
7775           extern symbols are now exported for the Windows DLL
7776
7777 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7778
7779         * gst/gstinfo.h:
7780           fix a problem to enable/disable DEBUG under MSVC
7781
7782 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7783
7784         * win32/:
7785           enable more debug code in DEBUG build
7786
7787 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7788
7789         * win32/config.h:
7790         * gst/gst-i18n-app.h:
7791           enable NLS under Windows
7792
7793 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7794         * tools/gst-compprep.c: (handle_xmlerror), (main):
7795           Make an error that baffled me a bit clearer
7796
7797 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7798
7799         * gst/gstqueue.c:
7800           don't use g_queue_get_length () because it's 2.4, use ->length
7801
7802 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7803
7804         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7805
7806         * tools/gst-inspect.c: (print_signal_info):
7807           don't free random data twice. (fixes #144185)
7808
7809 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7810
7811         * gst/gstqueue.c:
7812         * gst/gstqueue.h:
7813           fix removing from the wrong queue on event timeout
7814           fix disposing of the event queue by casting correctly
7815           add mutexes for handling the event queue
7816           someone was sleeping when fixing queue last time around :)
7817
7818 2004-06-10  Johan Dahlin  <johan@gnome.org>
7819
7820         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7821         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7822
7823 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7824
7825         * docs/random/gdp:
7826         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7827         * libs/gst/dataprotocol/dataprotocol.c:
7828         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7829         (gst_dp_buffer_from_header):
7830         * libs/gst/dataprotocol/dataprotocol.h:
7831         * libs/gst/dataprotocol/dp-private.h:
7832           rev version to 0.1, add buffer flags and copy them
7833
7834 2004-06-09  Johan Dahlin  <johan@gnome.org>
7835
7836         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7837         the flags from the buffer we're copying.
7838
7839 2004-06-09  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7842         * gst/elements/gstidentity.c: (gst_identity_init),
7843         (gst_identity_chain):
7844         Print more buffer info in fakesink.
7845         Make identity output similar to fakesink.
7846
7847 2004-06-07  Daniel Gazard  <dany42@free.fr>
7848
7849         reviewed by Benjamin Otte  <otte@gnome.org>
7850
7851         * configure.ac:
7852           fix cross compiling not working. (fixes #143741)
7853
7854 2004-06-07  Benjamin Otte  <otte@gnome.org>
7855
7856         * gst/gstelement.c: (gst_element_set_time_delay):
7857           add failure check
7858         * gst/gstinfo.h:
7859           put brackets around macro arguments of GST_TIME_ARGS, add note to
7860           move it to correct header in 0.9
7861
7862 2004-06-07  Benjamin Otte  <otte@gnome.org>
7863
7864         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7865         (gst_file_index_load), (_file_index_id_save_entries),
7866         (gst_file_index_commit), (gst_file_index_add_association),
7867         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7868         (gst_file_index_plugin_init):
7869           make debugging use a default category
7870
7871 2004-06-06  David Moore  <dcm@acm.org>
7872
7873         reviewed by Benjamin Otte  <otte@gnome.org>
7874
7875         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7876         (gst_fdsrc_change_state):
7877           reset offset counter when going READY => PAUSED. (fixes #142903)
7878
7879 2004-06-06  ed@catmur.co.uk
7880
7881         reviewed by Benjamin Otte  <otte@gnome.org>
7882
7883         * gst/registries/gstxmlregistry.c:
7884         (gst_xml_registry_rebuild_recurse):
7885           don't rely on g_dir_open to figure out if a file is a directory, use
7886           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7887           directories. (fixes #142850)
7888
7889 2004-06-06  Benjamin Otte  <otte@gnome.org>
7890
7891         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7892           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7893         * libs/gst/bytestream/adapter.c:
7894         * libs/gst/bytestream/adapter.h:
7895           fix copyright in header and typo in debugging category name
7896
7897 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7898
7899         * configure.ac:
7900           bump nano to cvs
7901
7902 === release 0.8.3 ===
7903
7904 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7905
7906         * configure.ac:
7907           update libtool versioning
7908           do a new release
7909         * docs/gst/tmpl/gstelement.sgml:
7910         * docs/gst/tmpl/gsttypes.sgml:
7911         * gst/gstinfo.c: (_gst_debug_init):
7912           put back GST_CAT_DATAFLOW to fix API breakage
7913
7914 2004-06-04  David Schleef  <ds@schleef.org>
7915
7916         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7917
7918 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7919
7920         * configure.ac:
7921           bump nano to cvs
7922
7923 === release 0.8.2 ===
7924
7925 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7928           check GST_DEBUG environment variable which is parsed the same way
7929           as --gst-debug=
7930
7931 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7932
7933         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7934                             gstmd5sink.c gstshaper.c gsttee.c
7935                             gsttypefindelement.c
7936         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7937
7938           - removing trailing commas at end of enums
7939             it is correct C99 code but C90 compilers would complain
7940             (AIX, Forte, ...)
7941             ('should' fix #143290, at least partially)
7942
7943 2004-05-27  Wim Taymans  <wim@fluendo.com>
7944
7945         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7946         (chain_group_set_enabled), (create_group), (add_to_group),
7947         (merge_groups), (setup_group_scheduler), (group_elements),
7948         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7949         Don't try to follow the pad connections with other groups
7950         when a loop based element is added to the scheduler because
7951         the bin will inform the scheduler about the pad links a little
7952         later.
7953
7954 2004-05-27  Wim Taymans  <wim@fluendo.com>
7955
7956         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7957         (remove_from_chain), (chain_group_set_enabled),
7958         (setup_group_scheduler), (group_element_set_enabled),
7959         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7960         (gst_opt_scheduler_show):
7961         Elements without a group can do a state change as well, just wait
7962         with the setup of the scheduling function when it is added to a
7963         chain.
7964
7965 2004-05-27  Wim Taymans  <wim@fluendo.com>
7966
7967         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7968         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7969         (merge_groups), (setup_group_scheduler),
7970         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7971         (gst_opt_scheduler_show):
7972         Fixes to maintain internal consistency of the scheduler data
7973         structures. 
7974          - adding an enabled group to a chain should increment the
7975            number of enabled elements in that chain.
7976          - removing an enabled group from a chain could disable the
7977            chain.
7978          - removing a disabled group from a chain could enable the
7979            chain.
7980          - add g_assert when internal inconsistency is detected.
7981          - adding an element to a group could increase the number of
7982            links this group has with other groups.
7983          - merging two groups also merges the chains.
7984          - also show group links in the _show method.
7985            
7986
7987 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7988
7989         * gst/gstcaps.c: (gst_caps_structure_simplify):
7990           don't print error messages when there is no error
7991         * gst/gstvalue.c: (gst_value_compare_int_range):
7992           compare the second value, too
7993         * testsuite/caps/Makefile.am:
7994         * testsuite/caps/random.c: (assert_on_error), (main):
7995           add tests to make sure the two things above are checked for
7996
7997 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7998
7999         * configure.ac:
8000         * libs/gst/dataprotocol/Makefile.am:
8001         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8002         * libs/gst/dataprotocol/dataprotocol.h:
8003           wrap header in GST_ENABLE_NEW.  make code use it
8004
8005 2004-05-23  Johan Dahlin  <johan@gnome.org>
8006
8007         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8008         so verbose and print GstElement signal names all the time.
8009
8010 2004-05-22  David Schleef  <ds@schleef.org>
8011
8012         * gst/registries/gstxmlregistry.c:
8013         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8014         (bug #142957)
8015
8016 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8017
8018         * configure.ac:
8019           scrub cflags for glib2 so gcc doesn't complain when glib is in
8020           /usr/local
8021
8022 2004-05-21  Johan Dahlin  <johan@gnome.org>
8023
8024         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8025         __GNUC__, patch from Brian Cameron, fixes bug #142804
8026
8027 2004-05-20  David Schleef  <ds@schleef.org>
8028
8029         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8030         comparison code.  (bug #142819)
8031
8032 2004-05-20  Wim Taymans  <wim@fluendo.com>
8033
8034         * gst/gstbuffer.c: (gst_buffer_default_copy):
8035         * gst/gstbuffer.h:
8036         Added Comment to a flag.
8037         copy relevant flags in _buffer_copy.
8038
8039 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8040
8041         reviewed by: Wim Taymans <wim at fluendo dot com>
8042
8043         * gst/gstbuffer.h:
8044           add GST_BUFFER_IN_CAPS buffer flag
8045         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8046         (gst_structure_parse_any_list), (gst_structure_parse_list),
8047         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8048         * gst/gstvalue.c: (gst_value_serialize_any_list),
8049         (gst_value_transform_any_list_string),
8050         (gst_value_list_prepend_value), (gst_value_list_append_value),
8051         (gst_value_list_get_size), (gst_value_list_get_value),
8052         (gst_value_transform_list_string),
8053         (gst_value_transform_fixed_list_string),
8054         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8055         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8056         (_gst_value_initialize):
8057         * gst/gstvalue.h:
8058           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8059           < , > as a format.
8060         * testsuite/caps/string-conversions.c: (main):
8061           add regression tests for < >
8062
8063 2004-05-20  Johan Dahlin  <johan@gnome.org>
8064
8065         * docs/gst/Makefile.am (all-local): Re-add
8066
8067 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8068
8069         * docs/gst/Makefile.am:
8070         * docs/gst/gstreamer-docs.sgml:
8071         * docs/libs/Makefile.am:
8072         * docs/libs/gstreamer-libs-docs.sgml:
8073           fix distcheck issues
8074
8075 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8076
8077         * libs/gst/dataprotocol/Makefile.am:
8078           add to autotest
8079
8080 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * libs/gst/dataprotocol/Makefile.am:
8083         * libs/gst/dataprotocol/dataprotocol.c:
8084         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8085         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8086         * libs/gst/dataprotocol/dp-private.h:
8087           use GST macros to read/write fixed length ints
8088           add some more asserts
8089
8090 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         * docs/libs/gstreamer-libs-docs.sgml:
8093         * docs/libs/gstreamer-libs-sections.txt:
8094           remove idct and putbits
8095         * configure.ac:
8096         * docs/libs/tmpl/gstdataprotocol.sgml:
8097         * libs/gst/Makefile.am:
8098         * libs/gst/dataprotocol/Makefile.am:
8099         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8100         (buffer_test), (caps_test), (event_test), (main):
8101         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8102         (gst_dp_dump_byte_array), (gst_dp_init),
8103         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8104         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8105         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8106         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8107         (gst_dp_validate_header), (gst_dp_validate_payload),
8108         (gst_dp_validate_packet), (plugin_init):
8109         * libs/gst/dataprotocol/dataprotocol.h:
8110         * libs/gst/dataprotocol/dp-private.h:
8111           add dataprotocol
8112
8113 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8114
8115         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8116           fix int variable deserialization and add a helper so we can actually
8117           debug this.
8118
8119 2004-05-18  David Schleef  <ds@schleef.org>
8120
8121         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8122           argv[0].  Calling yourself is probably not the best way to
8123           construct a test like this, btw.
8124
8125 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8126
8127         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8128           don't claim to be more intelligent than a scheduler when the
8129           scheduler claims the pipeline is stopped
8130         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8131         (safe_cothread_destroy),
8132         (gst_entry_scheduler_remove_all_cothreads),
8133         (gst_entry_scheduler_reset), (_remove_cothread),
8134         (gst_entry_scheduler_state_transition):
8135           hold off cothread destruction if we're not in main cothread
8136         * configure.ac:
8137         * testsuite/Makefile.am:
8138           add new test dir
8139         * testsuite/schedulers/.cvsignore:
8140         * testsuite/schedulers/Makefile.am:
8141           add tests
8142         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8143           check relinking and adding/removing elements from a running pipeline
8144         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8145           check unlinking in a running pipeline
8146         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8147           check unreffing a running pipeline
8148         * testsuite/schedulers/useless_iteration.c: (main):
8149           check iterating a pipeline that contains running threads works
8150
8151 2004-05-18  David Schleef  <ds@schleef.org>
8152
8153         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8154           is false.
8155
8156 2004-05-18  Wim Taymans  <wim@fluendo.com>
8157
8158         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8159         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8160         Fixed an error introduced with patch for 1.63. When setting
8161         a get based element as the entry point in a group, make sure
8162         to mark the group as GET based.
8163
8164 2004-05-18  Wim Taymans  <wim@fluendo.com>
8165
8166         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8167         (setup_group_scheduler), (loop_group_schedule_function),
8168         (gst_opt_scheduler_pad_link):
8169         Added some more debug info and fixed a bug where the group
8170         type was set to LOOP but it was in fact unknown.
8171
8172 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8173
8174         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8175           make resetting scheduler work twice in a row
8176
8177 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8178
8179         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8180         (CREATE_USERIALIZATION), (_gst_value_initialize),
8181         (gst_value_compare_float), (gst_value_serialize_float),
8182         (gst_value_deserialize_float), (gst_value_compare_enum),
8183         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8184           add serialization and comparison functions for long, int64, enum and
8185           float values
8186         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8187           use best serialization function in type hierarchy instead of only a
8188           matching one. This is required for enums to work.
8189         * gst/parse/grammar.y:
8190           use gst_caps_deserialize
8191         * testsuite/parse/Makefile.am:
8192           parse1 now works
8193         * testsuite/parse/parse1.c: (main):
8194           remove aggregator check, aggregator is broken, this test works now
8195           but fails because of bug #138012
8196         * testsuite/parse/parse2.c: (main):
8197           s/xvideosink/xvimagesink - this test looks a lot like we should
8198           disable it
8199
8200 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8201
8202         * gst/gstelement.c: (gst_element_class_init):
8203           whoops, store the signal id correctly
8204         * gst/schedulers/gstbasicscheduler.c:
8205         (gst_basic_scheduler_chain_wrapper):
8206           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8207           chain function isn't linked
8208
8209 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8210         * configure.ac:
8211         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8212         support until we decide where the flags should be used
8213         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8214         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8215         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8216         Output refused caps in the debug info
8217
8218 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8219
8220         * gst/elements/gstidentity.c: (gst_identity_chain):
8221           add duration debug
8222         * gst/gstinfo.c: (gst_debug_log_default):
8223           add timestamp
8224
8225 2004-05-13  Benjamin Otte  <otte@gnome.org>
8226
8227         * gst/gstpipeline.c: (gst_pipeline_dispose),
8228         (gst_pipeline_change_state):
8229           call gst_scheduler_reset on dispose (fixes #141416)
8230
8231 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8232
8233         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8234           compute mapsize correctly
8235         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8236           use correct datatypes when calling a varargs function
8237         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8238           push a DISCONT event as first thing
8239         * gst/gst_private.h:
8240         * gst/gstinfo.c: (_gst_debug_init):
8241           remove GST_DATAFLOW debugging category
8242         * gst/gstbin.c: (gst_bin_iterate):
8243           use GST_SCHEDULING category
8244         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8245         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8246         (gst_pad_call_get_function):
8247           add GST_DATAFLOW to easily track flow of buffers or events.
8248         * gst/gstqueue.c: (gst_queue_get_type),
8249         (gst_queue_handle_pending_events), (gst_queue_chain),
8250         (gst_queue_get), (gst_queue_handle_src_event):
8251           use own static debugging category GST_DATAFLOW for dataflow,
8252           use DEBUG category for showing which path events go, use LOG
8253           category for buffers.
8254
8255 2004-05-10  David Schleef  <ds@schleef.org>
8256
8257         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8258
8259 2004-05-10  David Schleef  <ds@schleef.org>
8260
8261         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8262         symbols, because otherwise we don't know what they are.  Thanks,
8263         the GStreamer team.
8264         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8265
8266 2004-05-10  David Schleef  <ds@schleef.org>
8267
8268         (from Steve Lhomme)
8269         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8270         are deleted.  Fix.
8271         * win32/Makefile.inspect:
8272         * win32/Makefile.launch:
8273         * win32/Makefile.register:
8274
8275 2004-05-10  David Schleef  <ds@schleef.org>
8276
8277         * gst/gstinfo.h: Add missing inline function.
8278         * gst/gsttrace.c: add include
8279         * gst/parse/grammar.y: remove unused code
8280         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8281         more portable.
8282         * tools/gst-register.c: wrap unistd.h
8283         
8284         More additions/fixes from Steve for the MSVC build.
8285         * win32/GStreamer.vcproj:
8286         * win32/Makefile:
8287         * win32/Makefile.inspect:
8288         * win32/Makefile.launch:
8289         * win32/Makefile.register:
8290         * win32/README.txt:
8291         * win32/gst-inspect.vcproj:
8292         * win32/gst-launch.vcproj:
8293         * win32/gst-register.vcproj:
8294         * win32/gstbytestream.def:
8295         * win32/gstbytestream.vcproj:
8296         * win32/gstconfig.h:
8297         * win32/gstelements.def:
8298         * win32/gstelements.vcproj:
8299         * win32/gstenumtypes.c:
8300         * win32/gstenumtypes.h:
8301         * win32/gstoptimalscheduler.def:
8302         * win32/gstoptimalscheduler.vcproj:
8303         * win32/gstreamer.def:
8304         * win32/gstspider.def:
8305         * win32/gstspider.vcproj:
8306         * win32/gstversion.h:
8307         * win32/msvc71.sln:
8308
8309 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8310
8311         * gst/gstelement.c: (gst_element_class_init),
8312         (gst_element_no_more_pads):
8313         * gst/gstelement.h:
8314           add gst_element_no_more_pads and the "no-more-pads" signal
8315
8316 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8317
8318         * gst/gstregistry.c: (gst_registry_add_plugin):
8319           refuse to add plugins when a plugin with same name is already
8320           registered. Fixes a bunch of "How to remove plugins?" issues.
8321           May lead to other problems though, let's test
8322
8323 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8324
8325         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8326         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8327         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8328
8329 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8330
8331         * tests/Makefile.am: fix am16 issue
8332
8333 2004-05-09  Benjamin Otte  <otte@gnome.org>
8334
8335         * libs/gst/bytestream/Makefile.am:
8336           we should indeed add .c files to makefiles or they won't be built
8337           (d'oh)
8338
8339 2004-05-08  Benjamin Otte  <otte@gnome.org>
8340
8341         * gst/gstpad.c: (gst_pad_proxy_fixate):
8342           really reduce the set of caps
8343
8344 2004-05-08  Benjamin Otte  <otte@gnome.org>
8345
8346         * tests/Makefile.am:
8347         * tests/spidey_bench.c: (handoff), (main):
8348           add benchmark to test how long spider needs to create a pipeline
8349
8350 2004-05-08  Benjamin Otte  <otte@gnome.org>
8351
8352         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8353           mark links as unengaged when unnegotiating instead of deactivating.
8354           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8355
8356 2004-05-08  Benjamin Otte  <otte@gnome.org>
8357
8358         * docs/manual/helloworld.xml:
8359           s/audiosink/osssink (patch by Patrick Guimond)
8360
8361 2004-05-07  David Schleef  <ds@schleef.org>
8362
8363         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8364         since it contains important stuff.
8365
8366 2004-05-07  David Schleef  <ds@schleef.org>
8367
8368         * testsuite/caps/caps.c: (test3), (main): A check for appending
8369         ANY caps.
8370
8371 2004-05-07  David Schleef  <ds@schleef.org>
8372
8373         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8374         which may contain commas.  Fixes detection of -Wa,-mregnames
8375
8376 2004-05-06  David Schleef  <ds@schleef.org>
8377
8378         Changes to handle compilers that don't have variadic macro
8379         support.  In particular, glib headers define some inlines
8380         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8381         builds.
8382         * gst/Makefile.am:
8383         * gst/cothreads.c:
8384         * gst/elements/gstfdsink.c:
8385         * gst/elements/gstfdsrc.c:
8386         * gst/elements/gstfilesink.c:
8387         * gst/elements/gstfilesrc.c:
8388         * gst/gst_private.h:
8389         * gst/gstatomic.c:
8390         * gst/gstcaps.c: (gst_caps_append):
8391         * gst/gstcpu.c: (gst_cpuid_i386):
8392         * gst/gstelement.c:
8393         * gst/gsterror.c:
8394         * gst/gstfilter.c:
8395         * gst/gstinfo.h:
8396         * gst/gstprobe.c:
8397         * gst/gstquery.c:
8398         * gst/gstregistry.c:
8399         * gst/gststructure.c:
8400         * gst/gsttaginterface.c:
8401         * gst/gsttrace.c: (gst_trace_new):
8402         * gst/gsttrashstack.c:
8403         * gst/gsturi.c:
8404         * gst/gstvalue.c:
8405         * gst/parse/grammar.y:
8406         * gst/parse/parse.l:
8407         * tools/gst-inspect.c: (main):
8408         * tools/gst-launch.c: (main):
8409         * tools/gst-xmlinspect.c: (PUT_STRING):
8410
8411 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8412
8413         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8414         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8415         * gst/elements/gstfilesrc.h:
8416           send NEW_MEDIA events correctly
8417         * gst/elements/gsttypefindelement.c: (start_typefinding),
8418         (gst_type_find_element_handle_event):
8419           restart typefinding when we get a NEW_MEDIA event
8420         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8421         (gst_bin_dispose):
8422           don't die when someone removes elements in callbacks
8423         * gst/gstelement.c: (gst_element_change_state):
8424           improve debugging
8425         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8426           we need a NEW_MEDIA event to engage a link
8427         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8428           don't g_print debugging stuff
8429         * testsuite/caps/simplify.c: (check_caps):
8430
8431 2004-05-04  Benjamin Otte  <otte@gnome.org>
8432
8433         * gst/parse/grammar.y:
8434           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8435
8436 2004-05-04  Benjamin Otte  <otte@gnome.org>
8437
8438         * testsuite/caps/renegotiate.c: (main):
8439           improve output in error case
8440
8441 2004-05-04  Benjamin Otte  <otte@gnome.org>
8442
8443         * gst/parse/grammar.y:
8444           fix assert to not trigger when there's no error argument
8445         * gst/parse/parse.l:
8446           fix definition of caps to allow more than two structures
8447         * testsuite/caps/Makefile.am:
8448         * testsuite/caps/renegotiate.c: (main):
8449           it's sinesrc and works in that case
8450
8451 2004-05-04  Wim Taymans  <wim@fluendo.com>
8452
8453         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8454         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8455         when removing an element from a group, we always need to
8456         decrement the link count that this group had with other 
8457         groups through the element.
8458         added an extra assert to catch inconsistencies when decrementing
8459         the link count.
8460
8461 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8462
8463         * configure.ac:
8464         * docs/gst/Makefile.am:
8465         * docs/gst/gstreamer-sections.txt:
8466         * docs/gst/tmpl/gstcompat.sgml:
8467         * examples/appreader/Makefile.am:
8468         * examples/cutter/Makefile.am:
8469         * examples/events/Makefile.am:
8470         * examples/helloworld/Makefile.am:
8471         * examples/helloworld2/Makefile.am:
8472         * examples/launch/Makefile.am:
8473         * examples/manual/Makefile.am:
8474         * examples/mixer/Makefile.am:
8475         * examples/pingpong/Makefile.am:
8476         * examples/plugins/Makefile.am:
8477         * examples/queue/Makefile.am:
8478         * examples/queue2/Makefile.am:
8479         * examples/queue3/Makefile.am:
8480         * examples/queue4/Makefile.am:
8481         * examples/retag/Makefile.am:
8482         * examples/thread/Makefile.am:
8483         * examples/typefind/Makefile.am:
8484         * examples/xml/Makefile.am:
8485         * gst/Makefile.am:
8486         * gst/autoplug/Makefile.am:
8487         * gst/elements/Makefile.am:
8488         * gst/gstcompat.h:
8489         * gst/indexers/Makefile.am:
8490         * gst/parse/Makefile.am:
8491         * gst/registries/Makefile.am:
8492         * gst/schedulers/Makefile.am:
8493         * libs/gst/bytestream/Makefile.am:
8494         * libs/gst/control/Makefile.am:
8495         * libs/gst/getbits/Makefile.am:
8496         * po/af.po:
8497         * po/az.po:
8498         * po/en_GB.po:
8499         * po/fr.po:
8500         * po/nl.po:
8501         * po/sr.po:
8502         * po/sv.po:
8503         * po/tr.po:
8504         * po/uk.po:
8505         * tests/Makefile.am:
8506         * tests/bufspeed/Makefile.am:
8507         * tests/instantiate/Makefile.am:
8508         * tests/memchunk/Makefile.am:
8509         * tests/muxing/Makefile.am:
8510         * tests/negotiation/Makefile.am:
8511         * tests/probes/Makefile.am:
8512         * tests/sched/Makefile.am:
8513         * tests/seeking/Makefile.am:
8514         * tests/threadstate/Makefile.am:
8515         * testsuite/caps/Makefile.am:
8516         * testsuite/cleanup/Makefile.am:
8517         * testsuite/dlopen/Makefile.am:
8518         * testsuite/dynparams/Makefile.am:
8519         * testsuite/plugin/Makefile.am:
8520         * testsuite/states/Makefile.am:
8521         * tools/Makefile.am:
8522           reorganize compile/link flags to be consistent
8523           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8524
8525 2004-05-04  David Schleef  <ds@schleef.org>
8526
8527         The "once more, with feeling" check-in.
8528         * testsuite/caps/Makefile.am: dist caps_strings
8529         * testsuite/caps/renegotiate.c: (main): This test triggers a
8530           segfault in the core.  Marking as failing.
8531
8532 2004-05-03  David Schleef  <ds@schleef.org>
8533
8534         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8535           by the build bots.
8536         * testsuite/caps/renegotiate.c: (main): Same.
8537
8538 2004-05-03  David Schleef  <ds@schleef.org>
8539
8540         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8541
8542 2004-05-03  David Schleef  <ds@schleef.org>
8543
8544         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8545           variable to find our source file.
8546
8547 2004-05-03  David Schleef  <ds@schleef.org>
8548
8549         * configure.ac:  Link plugins with libgstreamer and dependent
8550           libraries
8551         * testsuite/caps/Makefile.am:
8552         * testsuite/caps/caps_strings:
8553         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8554           through a file of caps strings and test each one
8555
8556 2004-05-04  Benjamin Otte  <otte@gnome.org>
8557
8558         * libs/gst/bytestream/Makefile.am:
8559         * libs/gst/bytestream/adapter.c: 
8560         * libs/gst/bytestream/adapter.h:
8561           add GstAdapter, similar to bytestream, but doesn't require ugly event
8562           handling or uglier loopbased elements
8563
8564 2004-05-03  David Schleef  <ds@schleef.org>
8565
8566         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8567         * testsuite/caps/erathostenes.c:
8568         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8569
8570 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8571
8572         * docs/pwg/pwg.xml:
8573           remove hardcoded stylesheet path (duh)
8574         * docs/random/release:
8575         * docs/gst/gstreamer-sections.txt:
8576         * gst/Makefile.am:
8577         * gst/gst.h:
8578         * gst/gst_private.h:
8579         * gst/gstcaps.c:
8580         * gst/gstevent.c:
8581         * gst/gstformat.c:
8582         * gst/gstinfo.c:
8583         * gst/gstinfo.h:
8584         * gst/gstinterface.c:
8585         * gst/gstmemchunk.c:
8586         * gst/gstprobe.c:
8587         * gst/gstquery.c:
8588         * gst/gstregistry.c:
8589         * gst/gstregistrypool.c:
8590         * gst/gststructure.c:
8591         * gst/gsttaginterface.c:
8592         * gst/gstthread.c:
8593         * gst/gsttrace.c:
8594         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8595         * gst/gsturi.c:
8596         * gst/gstvalue.c:
8597           deprecate gst_info; remove gstlog.h
8598    
8599
8600 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8601
8602         * Makefile.am:
8603         * po/en_GB.po:
8604         * po/sv.po:
8605         * po/uk.po:
8606           updated translations
8607
8608 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8609
8610         * gst/gstbin.c: (gst_bin_dispose):
8611           better debugging
8612
8613 2004-05-03  Johan Dahlin  <johan@gnome.org>
8614
8615         * gst/schedulers/gstoptimalscheduler.c
8616         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8617         really is a GstElement. Avoids critical when running gst-launch -v
8618         and a oggdemux/decoding pipeline.
8619
8620 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8621
8622         * docs/gst/tmpl/gstpipeline.sgml :
8623         * docs/manual/elements-api.xml :
8624                 doc fix by Patrick Guimond (Protector) from devel ML
8625                 reviewed by ronald
8626
8627 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8628
8629         * docs/gst/Makefile.am :
8630         * docs/libs/Makefile.am :
8631                 apply a patch from Arwed v. Merkatz so that gtk-doc
8632                 generated docs install (same for .devhelp file)
8633                 (fixes part 1 of #138836)
8634
8635 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8636
8637         * docs/faq/dependencies.xml: typo
8638         * docs/faq/getting.xml :
8639             - fix download URL for new gstreamer site
8640             - hide sf.net download page as latest version aren't there
8641             - fix apt URLs
8642             - fill "get via CVS" paragraph (link to dev page on the site)
8643         * docs/faq/general.xml:
8644             hide status tables as they no more exists
8645             change case on plugins license file to reflect reality
8646         * docs/faq/troubleshooting.xml:
8647             remove the wiki question/answer as there is no more wiki
8648
8649 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * gst/gsterror.h:
8652           include the headers needed for declarations used in this header
8653
8654 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8655
8656         * docs/random/uraeus/gstreamer_and_midi.txt :
8657           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8658           (fixes #132288)
8659
8660 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8661
8662         reviewed by Benjamin Otte  <otte@gnome.org>
8663
8664         * gst/schedulers/gthread-cothreads.h:
8665           free allocated data for main cothread, too when destroying context
8666           (fixes #141417)
8667
8668 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8669
8670         * docs/manual/goals.xml : remove duplicated paragraph at end 
8671         of doc page (fixes #141448)
8672
8673 2004-04-29  David Schleef  <ds@schleef.org>
8674
8675         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8676         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8677
8678 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8679
8680         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8681           fix property
8682         * gst/gstcaps.c:
8683           fix doc string
8684         * po/POTFILES.in:
8685           rename typefind source file
8686
8687 2004-04-28  David Schleef  <ds@schleef.org>
8688
8689         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8690         * win32/GStreamer.vcproj:
8691         * win32/Makefile:
8692         * win32/config.h:
8693         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8694         (_trewinddir), (_ttelldir), (_tseekdir):
8695         * win32/dirent.h:
8696         * win32/gst-inspect.vcproj:
8697         * win32/gst-launch.vcproj:
8698         * win32/gst-register.vcproj:
8699         * win32/gstbytestream.vcproj:
8700         * win32/gstelements.vcproj:
8701         * win32/gstoptimalscheduler.vcproj:
8702         * win32/gstspider.vcproj:
8703         * win32/gtchar.h:
8704         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8705         * win32/mman.h:
8706         * win32/mman.inl:
8707         * win32/msvc71.sln:
8708
8709 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8710
8711         * gst/gst.c: (init_post):
8712         * gst/gstinfo.c:
8713           remove useless _gst_progname stuff
8714         * tools/gst-inspect.c: (print_field), (print_caps):
8715           improve caps output
8716
8717 2004-04-28  David Schleef  <ds@schleef.org>
8718
8719         Disable parsing of a lot of files that aren't part of the
8720         exported API.  Move corresponding template files to old/,
8721         waiting for removal when they don't contain anything
8722         interesting.
8723         * docs/gst/Makefile.am:
8724         * docs/gst/gstreamer-sections.txt:
8725         * docs/gst/tmpl/cothreads.sgml:
8726         * docs/gst/tmpl/cothreads_compat.sgml:
8727         * docs/gst/tmpl/gettext.sgml:
8728         * docs/gst/tmpl/gobject2gtk.sgml:
8729         * docs/gst/tmpl/grammar.tab.sgml:
8730         * docs/gst/tmpl/gst-i18n-app.sgml:
8731         * docs/gst/tmpl/gst-i18n-lib.sgml:
8732         * docs/gst/tmpl/gst_private.sgml:
8733         * docs/gst/tmpl/gstaggregator.sgml:
8734         * docs/gst/tmpl/gstarch.sgml:
8735         * docs/gst/tmpl/gstatomic_impl.sgml:
8736         * docs/gst/tmpl/gstbufferstore.sgml:
8737         * docs/gst/tmpl/gstdata_private.sgml:
8738         * docs/gst/tmpl/gstdisksink.sgml:
8739         * docs/gst/tmpl/gstdisksrc.sgml:
8740         * docs/gst/tmpl/gstelementfactory.sgml:
8741         * docs/gst/tmpl/gstextratypes.sgml:
8742         * docs/gst/tmpl/gstfakesink.sgml:
8743         * docs/gst/tmpl/gstfakesrc.sgml:
8744         * docs/gst/tmpl/gstfdsink.sgml:
8745         * docs/gst/tmpl/gstfdsrc.sgml:
8746         * docs/gst/tmpl/gstfilesink.sgml:
8747         * docs/gst/tmpl/gstfilesrc.sgml:
8748         * docs/gst/tmpl/gsthttpsrc.sgml:
8749         * docs/gst/tmpl/gstidentity.sgml:
8750         * docs/gst/tmpl/gstindexfactory.sgml:
8751         * docs/gst/tmpl/gstmarshal.sgml:
8752         * docs/gst/tmpl/gstmd5sink.sgml:
8753         * docs/gst/tmpl/gstmultidisksrc.sgml:
8754         * docs/gst/tmpl/gstmultifilesrc.sgml:
8755         * docs/gst/tmpl/gstpadtemplate.sgml:
8756         * docs/gst/tmpl/gstpipefilter.sgml:
8757         * docs/gst/tmpl/gstschedulerfactory.sgml:
8758         * docs/gst/tmpl/gstsearchfuncs.sgml:
8759         * docs/gst/tmpl/gstshaper.sgml:
8760         * docs/gst/tmpl/gstspider.sgml:
8761         * docs/gst/tmpl/gstspideridentity.sgml:
8762         * docs/gst/tmpl/gststatistics.sgml:
8763         * docs/gst/tmpl/gsttee.sgml:
8764         * docs/gst/tmpl/gsttimecache.sgml:
8765         * docs/gst/tmpl/gsttypefind.sgml:
8766         * docs/gst/tmpl/gsttypefindfactory.sgml:
8767         * docs/gst/tmpl/gstxmlregistry.sgml:
8768         * docs/gst/tmpl/gthread-cothreads.sgml:
8769         * docs/gst/tmpl/old/cothreads.sgml:
8770         * docs/gst/tmpl/old/cothreads_compat.sgml:
8771         * docs/gst/tmpl/old/gettext.sgml:
8772         * docs/gst/tmpl/old/gobject2gtk.sgml:
8773         * docs/gst/tmpl/old/grammar.tab.sgml:
8774         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8775         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8776         * docs/gst/tmpl/old/gst_private.sgml:
8777         * docs/gst/tmpl/old/gstaggregator.sgml:
8778         * docs/gst/tmpl/old/gstarch.sgml:
8779         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8780         * docs/gst/tmpl/old/gstbufferstore.sgml:
8781         * docs/gst/tmpl/old/gstdata_private.sgml:
8782         * docs/gst/tmpl/old/gstdisksink.sgml:
8783         * docs/gst/tmpl/old/gstdisksrc.sgml:
8784         * docs/gst/tmpl/old/gstelementfactory.sgml:
8785         * docs/gst/tmpl/old/gstextratypes.sgml:
8786         * docs/gst/tmpl/old/gstfakesink.sgml:
8787         * docs/gst/tmpl/old/gstfakesrc.sgml:
8788         * docs/gst/tmpl/old/gstfdsink.sgml:
8789         * docs/gst/tmpl/old/gstfdsrc.sgml:
8790         * docs/gst/tmpl/old/gstfilesink.sgml:
8791         * docs/gst/tmpl/old/gstfilesrc.sgml:
8792         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8793         * docs/gst/tmpl/old/gstidentity.sgml:
8794         * docs/gst/tmpl/old/gstindexfactory.sgml:
8795         * docs/gst/tmpl/old/gstmarshal.sgml:
8796         * docs/gst/tmpl/old/gstmd5sink.sgml:
8797         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8798         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8799         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8800         * docs/gst/tmpl/old/gstpipefilter.sgml:
8801         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8802         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8803         * docs/gst/tmpl/old/gstshaper.sgml:
8804         * docs/gst/tmpl/old/gstspider.sgml:
8805         * docs/gst/tmpl/old/gstspideridentity.sgml:
8806         * docs/gst/tmpl/old/gststatistics.sgml:
8807         * docs/gst/tmpl/old/gsttee.sgml:
8808         * docs/gst/tmpl/old/gsttimecache.sgml:
8809         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8810         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8811         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8812         * docs/gst/tmpl/old/types.sgml:
8813         * docs/gst/tmpl/types.sgml:
8814
8815         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8816         gtkdoc-scan doesn't like files with the same name in different
8817         directories.
8818         * gst/elements/Makefile.am:
8819         * gst/elements/gstelements.c:
8820         * gst/elements/gsttypefind.c: 
8821         * gst/elements/gsttypefind.h:
8822         * gst/elements/gsttypefindelement.c:
8823         * gst/elements/gsttypefindelement.h:
8824
8825 2004-04-28  David Schleef  <ds@schleef.org>
8826
8827         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8828         patch (bug #141317):
8829         * gst/gst-i18n-lib.h: Allow disabling gettext.
8830         * gst/gstatomic_impl.h: disable warning when it's dumb.
8831         * gst/gstclock.c: fix include
8832         * gst/gstcompat.h: fix variadic macro
8833         * gst/gstinfo.c: fix include
8834         * gst/gstmacros.h: add defines for inlines on MSVC
8835         * gst/gstplugin.c: fix includes
8836         * gst/gstregistry.c: fix includes
8837         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8838         * gst/gstsystemclock.c: fix include
8839         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8840         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8841         * gst/registries/gstxmlregistry.c:
8842         (gst_xml_registry_parse_element_factory): fix use of non-portable
8843         functions
8844         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8845         * libs/gst/control/dparammanager.h: same
8846
8847 2004-04-28  David Schleef  <ds@schleef.org>
8848
8849         Move a bunch of unused files to old/ with names that are
8850         not case-insensitive-unique.  These files still contain some
8851         useful information that needs to be merged into gstbin.sgml,
8852         etc., so they shouldn't be deleted yet.
8853         * docs/gst/tmpl/GstBin.sgml:
8854         * docs/gst/tmpl/GstBuffer.sgml:
8855         * docs/gst/tmpl/GstCaps.sgml:
8856         * docs/gst/tmpl/GstClock.sgml:
8857         * docs/gst/tmpl/GstCompat.sgml:
8858         * docs/gst/tmpl/GstData.sgml:
8859         * docs/gst/tmpl/GstElement.sgml:
8860         * docs/gst/tmpl/GstEvent.sgml:
8861         * docs/gst/tmpl/GstIndex.sgml:
8862         * docs/gst/tmpl/GstStructure.sgml:
8863         * docs/gst/tmpl/GstTag.sgml:
8864         * docs/gst/tmpl/old/GstBin.sgml:
8865         * docs/gst/tmpl/old/GstBuffer.sgml:
8866         * docs/gst/tmpl/old/GstCaps.sgml:
8867         * docs/gst/tmpl/old/GstClock.sgml:
8868         * docs/gst/tmpl/old/GstCompat.sgml:
8869         * docs/gst/tmpl/old/GstData.sgml:
8870         * docs/gst/tmpl/old/GstElement.sgml:
8871         * docs/gst/tmpl/old/GstEvent.sgml:
8872         * docs/gst/tmpl/old/GstIndex.sgml:
8873         * docs/gst/tmpl/old/GstStructure.sgml:
8874         * docs/gst/tmpl/old/GstTag.sgml:
8875
8876 2004-04-28  David Schleef  <ds@schleef.org>
8877
8878         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8879         (gst_caps_append), (gst_caps_append_structure),
8880         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8881         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8882         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8883         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8884         (gst_caps_intersect), (gst_caps_normalize),
8885         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8886         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8887         * gst/gstcaps.h: use GST_IS_CAPS().
8888
8889 2004-04-26  David Schleef  <ds@schleef.org>
8890
8891         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8892         assembly.  gcc doesn't handle it correctly. (bug #141083)
8893         * gst/gsttrashstack.h: same
8894
8895 2004-04-25  Benjamin Otte  <otte@gnome.org>
8896
8897         * gst/gstelement.c: (gst_element_change_state):
8898           fix assertion to do an int comparison
8899
8900 2004-04-25  Benjamin Otte  <otte@gnome.org>
8901
8902         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8903           better debugging output on error
8904
8905 2004-04-25  Benjamin Otte  <otte@gnome.org>
8906
8907         * gst/gstcaps.c: (gst_caps_subtract):
8908           fix memleak
8909
8910 2004-04-23  Benjamin Otte  <otte@gnome.org>
8911
8912         * gst/gstvalue.c: (gst_value_compare_buffer),
8913         (_gst_value_initialize):
8914           add comparison function for buffers
8915
8916 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8917
8918         * docs/pwg/pwg.xml:
8919           Just found out that this so-called "ima-wav" format is really
8920           just "dvi adpcm" (according to the MS WAV documentation). So
8921           renaming it. We didn't use it yet anyway.
8922
8923 2004-04-23  Benjamin Otte  <otte@gnome.org>
8924
8925         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8926           call gst_caps_is_subset
8927
8928 2004-04-23  Benjamin Otte  <otte@gnome.org>
8929
8930         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8931         (gst_caps_is_subset):
8932           add documentation
8933
8934 2004-04-23  Benjamin Otte  <otte@gnome.org>
8935           
8936         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8937         (gst_caps_structure_subtract), (gst_caps_subtract),
8938         (gst_caps_structure_figure_out_union),
8939         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8940           fix simplifying and subtracting not working correctly with optional
8941           properties
8942           solve assorted problems that make it now simplify ebven more
8943         * docs/gst/tmpl/gstcaps.sgml:
8944         * gst/gstcaps.h:
8945           make gst_caps_do_simplify return a bool to indicate if it simplified
8946         * testsuite/caps/simplify.c: (main):
8947           add more checks. The tests is quite a bit useless right now because
8948           the core is heavily simplifying itself.
8949         * testsuite/caps/caps.h:
8950           fix caps to contain all optional properties
8951
8952 2004-04-22  Benjamin Otte  <otte@gnome.org>
8953
8954         * docs/gst/tmpl/gstcaps.sgml:
8955         * docs/gst/tmpl/gstfilesrc.sgml:
8956         * docs/gst/tmpl/gststructure.sgml:
8957         * docs/gst/tmpl/gstvalue.sgml:
8958           update for recent API changes
8959         * gst/gstcaps.c: (gst_caps_do_simplify):
8960           fix to stop trying with a freed structure
8961         * gst/gstpad.c: (gst_pad_link_fixate):
8962           simplify caps
8963         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8964           remove C++ comment
8965         * gst/gstpad.h:
8966           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8967         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8968         (gst_structure_to_string):
8969           keep the correct type when using lists of ranges
8970         * gst/gstvalue.c: (gst_value_list_prepend_value),
8971         (gst_value_list_append_value):
8972           copy the value before adding to the list (d'oh)
8973         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8974         (gst_value_subtract_int_range_int_range):
8975           handle overflows correctly
8976         * gst/gstvalue.c: (gst_value_subtract_from_list):
8977           fix memleak
8978         * testsuite/caps/caps.h:
8979           add a caps that caused segfaults
8980
8981 2004-04-22  Benjamin Otte  <otte@gnome.org>
8982
8983         * testsuite/refcounting/pad.c: (main):
8984           fix test
8985
8986 2004-04-22  Benjamin Otte  <otte@gnome.org>
8987
8988         * gst/gstcaps.c: (gst_caps_subtract):
8989           allow subtracting ANY and EMPTY from ANY caps
8990
8991 2004-04-22  Benjamin Otte  <otte@gnome.org>
8992
8993         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8994         (gst_caps_union):
8995           only simplify in functions that create new caps. Simplifying in
8996           gst_caps_append breaks tests.
8997
8998 2004-04-22  Benjamin Otte  <otte@gnome.org>
8999
9000         * gst/gstcaps.c: (gst_caps_structure_simplify):
9001           unset GValue after use
9002         * gst/gstcaps.c: (gst_caps_append), 
9003         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9004           use gst_caps_simplify (reduces registry size by 30%)
9005         * gst/gstpad.c: (gst_pad_template_new):
9006           don't allow NULL caps
9007
9008 2004-04-22  Benjamin Otte  <otte@gnome.org>
9009
9010         * docs/gst/gstreamer-sections.txt:
9011           add gst_caps_do_simplify
9012         * gst/gstcaps.c:
9013           add documentation for gst_caps_do_simplify
9014         * gst/gstvalue.h:
9015           fix typo in gst_value_register_subtract_func declaration for gst-doc
9016
9017 2004-04-22  Benjamin Otte  <otte@gnome.org>
9018
9019         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9020           fix bug when converting from empty string.
9021         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9022         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9023           use gst_caps_new_empty to allocate a new caps. Only that function
9024           allocates memory for caps now.
9025         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9026         (gst_caps_remove_structure):
9027           add ability to remove one structure (but not to header yet)
9028         * gst/gstcaps.c: (gst_caps_compare_structures),
9029         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9030         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9031         * gst/gstcaps.h:
9032           add gst_caps_do_simplify that tries to simplify a caps in place.
9033           Deprecate old gst_caps_simplify function.
9034         * testsuite/caps/caps.h:
9035           add caps.h containing a common set of caps to test against.
9036         * testsuite/caps/sets.c: (check_caps), (main):
9037           use it.
9038         * testsuite/caps/.cvsignore:
9039         * testsuite/caps/Makefile.am:
9040         * testsuite/caps/simplify.c: (check_caps), (main):
9041           add test to check correctness and efficency of caps simplification.
9042
9043 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9044
9045         reviewed by Benjamin Otte  <otte@gnome.org>
9046
9047         * gst/gstparse.c: (_gst_parse_escape):
9048           Free the GString used in _gst_parse_escape()
9049
9050 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9051
9052         * gst/gstpad.c: (gst_pad_link_negotiate):
9053           refuse to link if the link is not possible
9054         * configure.ac:
9055         * testsuite/Makefile.am:
9056         * testsuite/negotiation/.cvsignore:
9057         * testsuite/negotiation/Makefile.am:
9058         * testsuite/negotiation/pad_link.c: (main):
9059           add test that checks the above behaviour
9060
9061 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9062
9063         * docs/gst/gstreamer-sections.txt:
9064           add newly added API
9065
9066 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9067
9068         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9069         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9070         (gst_filesrc_open_file), (gst_filesrc_close_file),
9071         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9072         * gst/elements/gstfilesrc.h:
9073           add support for non-regular files (#140734)
9074
9075 2004-04-21  Benjamin Otte  <otte@gnome.org>
9076
9077         * gst/gstpad.c: (gst_pad_link_fixate):
9078           add sophisticated error checking code to see if fixation functions
9079           did their fixation right
9080
9081 2004-04-21  Benjamin Otte  <otte@gnome.org>
9082
9083         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9084           check for ANY caps before appending/unioning
9085         * gst/gstcaps.c: (gst_caps_is_subset),
9086         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9087         (gst_caps_structure_subtract), (gst_caps_subtract):
9088         * gst/gstcaps.h:
9089           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9090           the API. deprecate gst_caps_is_equal_fixed
9091         * gst/gstpad.c: (gst_pad_try_set_caps):
9092         * gst/gstqueue.c: (gst_queue_link):
9093           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9094         * gst/gststructure.c: (gst_structure_get_name_id):
9095         * gst/gststructure.h:
9096           add function gst_structure_get_name_id
9097         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9098         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9099         (gst_value_subtract_int_range_int_range),
9100         (gst_value_subtract_double_double_range),
9101         (gst_value_subtract_double_range_double),
9102         (gst_value_subtract_double_range_double_range),
9103         (gst_value_subtract_from_list), (gst_value_subtract_list),
9104         (gst_value_can_intersect), (gst_value_subtract),
9105         (gst_value_can_subtract), (gst_value_register_subtract_func),
9106         (_gst_value_initialize):
9107         * gst/gstvalue.h:
9108           add support for subtracting values from each other. Note that
9109           subtracting means subtracting as in set theory. Required for caps
9110           stuff above.
9111         * testsuite/caps/.cvsignore:
9112         * testsuite/caps/Makefile.am:
9113         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9114         * testsuite/caps/sets.c: (check_caps), (main):
9115         * testsuite/caps/subtract.c: (check_caps), (main):
9116           add tests for subtraction and equality code.
9117
9118 2004-04-20  David Schleef  <ds@schleef.org>
9119
9120         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9121         * gst/indexers/Makefile.am:
9122         * gst/schedulers/Makefile.am:
9123         * libs/gst/bytestream/Makefile.am:
9124         * libs/gst/control/Makefile.am:
9125         * libs/gst/getbits/Makefile.am:
9126
9127 2004-04-20  David Schleef  <ds@schleef.org>
9128
9129         * common/as-libtool.mak: Fine-tune DLL building.
9130         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9131         (like gst-plugins)
9132         * examples/plugins/Makefile.am: remove plugindir
9133         * gst/autoplug/Makefile.am: DLL building fixes
9134         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9135         Windows.
9136         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9137         * gst/indexers/Makefile.am: DLL building fixes
9138         * gst/schedulers/Makefile.am: DLL building fixes.
9139         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9140         * libs/gst/control/Makefile.am: same
9141         * libs/gst/getbits/Makefile.am: same
9142         * testsuite/Makefile.am: New dlopen directory
9143         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9144         when dlopened.
9145         * testsuite/dlopen/dlopen_gst.c: (main): same
9146         * testsuite/dlopen/loadgst.c: (do_test): same
9147
9148 2004-04-20  David Schleef  <ds@schleef.org>
9149
9150         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9151         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9152
9153 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9154
9155         * gst/gstelement.c: (gst_element_wait),
9156         (gst_element_set_time_delay), (gst_element_change_state):
9157           Use GST_TIME_*
9158
9159 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9160
9161         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9162         (gst_spider_identity_plug):
9163           improve debugging messages
9164         * gst/gstbin.c: (gst_bin_remove_func):
9165           make sure the state_change function is only called with simple state
9166           transitions
9167
9168 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9171         (gst_fakesink_set_property), (gst_fakesink_chain):
9172         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9173         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9174         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9175         * gst/elements/gstidentity.c: (gst_identity_chain),
9176         (gst_identity_set_property):
9177         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9178         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9179           add warnings to _set_property for unknown arguments
9180           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9181
9182 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9183
9184         * Makefile.am:
9185         * docs/manuals.mak:
9186           add .po file download snippet
9187           fix a bug in the doc makefile
9188
9189 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9190
9191         * Makefile.am:
9192         * po/LINGUAS:
9193         * po/en_GB.po:
9194           Added en_GB translation (Gareth Owen)
9195
9196 2004-04-20  Johan Dahlin  <johan@gnome.org>
9197
9198         * gst/gstpad.c (_invent_event): Clean up
9199
9200 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9201
9202         * testsuite/caps/filtercaps.c: (main):
9203           fix test to test things correctly (caps are complicated)
9204
9205 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9206
9207         * testsuite/caps/Makefile.am:
9208         * testsuite/caps/filtercaps.c: (main):
9209           add test (that doesn't work right now, but should)
9210
9211 2004-04-19  David Schleef  <ds@schleef.org>
9212
9213         * configure.ac: Add test for allowing unaligned access.  Add define
9214         to put in gstconfig.h.
9215         * docs/gst/gstreamer-sections.txt: New symbols
9216         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9217         * docs/gst/tmpl/gstfilesrc.sgml:
9218         * docs/gst/tmpl/gstparse.sgml:
9219         * docs/gst/tmpl/gsttypes.sgml:
9220         * docs/gst/tmpl/gstutils.sgml:
9221         * docs/gst/tmpl/gstvalue.sgml:
9222         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9223         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9224         on most !i386/!powerpc architectures.  From Daniel Gazard
9225         <daniel.gazard@free.fr>.  (bug #140156)
9226         * po/af.po: Check in changes made by gettext.
9227         * po/az.po:
9228         * po/fr.po:
9229         * po/nl.po:
9230         * po/sr.po:
9231         * po/sv.po:
9232
9233 2004-04-20  Benjamin Otte  <otte@gnome.org>
9234
9235         * gst/schedulers/entryscheduler.c: 
9236         (gst_entry_scheduler_yield):
9237           refuse to yield when decoupled elements insist on doing that.
9238           At least it's better than crashing
9239
9240 2004-04-19  David Schleef  <ds@schleef.org>
9241
9242         * docs/libs/Makefile.am: Change sinclude to include
9243         * docs/gst/Makefile.am: same
9244         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9245
9246 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9247
9248         * po/LINGUAS:
9249         * po/uk.po:
9250           Added Ukrainian translation (Maxim V. Dziumanenko)
9251
9252 2004-04-19  Johan Dahlin  <johan@gnome.org>
9253
9254         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9255         checking here, do it before calling the function.
9256         Clean up, use for loops instead of while loops while iterating
9257         over lists.
9258
9259         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9260         in debug message.
9261         (gst_spider_create_and_plug): Improve debug message.
9262         General: Replace while loops which iterates over GLists with for
9263         loops. Which are much cleaner, improves readability, especially
9264         for gst_spider_identity_plug
9265
9266         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9267         fixes bug 140477
9268
9269 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9270
9271         * po/LINGUAS:
9272         * po/tr.po:
9273           Added Turkish translation (Baris Cicek)
9274
9275 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9276
9277         * docs/faq/troubleshooting.xml:
9278           Mention gst-register in the FAQ (fixes 139045).
9279
9280 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * docs/gst/gstreamer-sections.txt:
9283
9284 2004-04-17  Benjamin Otte  <otte@gnome.org>
9285
9286         * gst/gstelement.c: (gst_element_dispose):
9287           simplify
9288         * gst/gstpad.c: (gst_pad_call_chain_function):
9289           don't create loads of events due to bad macro usage
9290
9291 2004-04-16  David Schleef  <ds@schleef.org>
9292
9293         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9294         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9295         * gst/gstvalue.c: (gst_value_serialize_buffer),
9296         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9297         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9298         to indicate types that are fixed wrt caps or not.  Switching to
9299         this function fixes (bug #140298).
9300         * gst/gstvalue.h:
9301
9302 2004-04-16  David Schleef  <ds@schleef.org>
9303
9304         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9305         for GST_UNALIGNED_ACESS, since we essentially know which archs
9306         are ok.
9307
9308 2004-04-17  Benjamin Otte  <otte@gnome.org>
9309
9310         * docs/gst/Makefile.am:
9311           ignore gst/parse directory when building docs (fixes #140205)
9312
9313 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9314
9315         * testsuite/refcounting/mem.c: (vmsize):
9316           do error checking
9317
9318 2004-04-16  Johan Dahlin  <johan@gnome.org>
9319
9320         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9321         and gst_pad_call_get_function.
9322
9323 2004-04-15  David Schleef  <ds@schleef.org>
9324
9325         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9326         checks if we can access unaligned memory.
9327         * configure.ac: Use it.
9328
9329 2004-04-16  Benjamin Otte  <otte@gnome.org>
9330
9331         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9332         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9333         * gst/elements/gstfilesrc.h:
9334           s/seek_happened/need_discont/ and require discont before sending any
9335           data
9336
9337 2004-04-15  David Schleef  <ds@schleef.org>
9338
9339         * gst/gstvalue.c: (gst_value_serialize_buffer),
9340         (gst_value_deserialize_buffer), (_gst_value_initialize):
9341         Register these types as fundamental types. (bug #140015)
9342
9343 2004-04-16  Benjamin Otte  <otte@gnome.org>
9344
9345         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9346         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9347         (gst_pad_pull):
9348           implement enforcing discont events before buffers are passed. This
9349           allows state changes of only some elements and later correctly going
9350           on where they left off (or in short: you can now set audio sinks to
9351           NULL to release the device when the pipeline is paused)
9352         * gst/gstpad.c: (gst_pad_call_chain_function),
9353         (gst_pad_call_get_function):
9354         * gst/gstpad.h:
9355           add gst_pad_call_chain_function and gst_pad_call_get_function for
9356           scheduler interaction. They are required because of the changes
9357           above.
9358         * gst/schedulers/entryscheduler.c: (get_buffer),
9359         (gst_entry_scheduler_chain_wrapper),
9360         (gst_entry_scheduler_get_wrapper),
9361         (gst_entry_scheduler_state_transition),
9362         (gst_entry_scheduler_pad_link):
9363         * gst/schedulers/gstbasicscheduler.c:
9364         (gst_basic_scheduler_chain_wrapper),
9365         (gst_basic_scheduler_src_wrapper),
9366         (gst_basic_scheduler_chainhandler_proxy),
9367         (gst_basic_scheduler_gethandler_proxy),
9368         (gst_basic_scheduler_cothreaded_chain),
9369         (gst_basic_scheduler_chain_elements):
9370         * gst/schedulers/gstoptimalscheduler.c:
9371         (get_group_schedule_function), (pad_clear_queued),
9372         (gst_opt_scheduler_pad_link):
9373           use the new functions instead of calling get/chain-functions
9374           directly.
9375
9376 2004-04-15  David Schleef  <ds@schleef.org>
9377
9378         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9379         * docs/gst/tmpl/gstinfo.sgml: same
9380         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9381         gtk-doc put here.
9382         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9383         * examples/queue/queue.c: (main):  We iterate pipelines, not
9384         bins.  (bug #139996)
9385
9386 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9387
9388         * docs/pwg/advanced-types.xml:
9389           Add MS RLE support. Also document Qt RLE although I have no sample
9390           files for that yet. And document an extra property for ADPCM.
9391
9392 2004-04-15  David Schleef  <ds@schleef.org>
9393
9394         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9395         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9396         Windows.
9397
9398 2004-04-15  David Schleef  <ds@schleef.org>
9399
9400         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9401         symbol names to not conflict with new gstinfo.h symbols.
9402         * gst/gstinfo.h: Add inline functions for all those crazy
9403         compilers that don't know how to handle variadic macros (MSVC).
9404
9405 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9406
9407         * configure.ac: bump nano to 1
9408
9409 === release 0.8.1 ===
9410
9411 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * NEWS:
9414         * RELEASE:
9415         * configure.ac:
9416           releasing 0.8.1, "Snow Brigade"
9417
9418 2004-04-14  David Schleef  <ds@schleef.org>
9419
9420         * testsuite/Makefile.am: define tests_ignore
9421         * testsuite/Rules: Added new tests_ignore, which get compiled,
9422         but not run (generally because they're inconsistent or have
9423         heisenbugs).  Now we can ensure all the .c files compile in
9424         testsuite/.
9425         * testsuite/bins/Makefile.am: define tests_ignore
9426         * testsuite/bytestream/Makefile.am:
9427         * testsuite/caps/Makefile.am:
9428         * testsuite/clock/Makefile.am:
9429         * testsuite/debug/Makefile.am:
9430         * testsuite/debug/global.c: (gst_debug_log_one),
9431         (gst_debug_log_two): Fix compilation problem.
9432         * testsuite/dynparams/Makefile.am:
9433         * testsuite/elements/Makefile.am:
9434         * testsuite/ghostpads/Makefile.am:
9435         * testsuite/indexers/Makefile.am:
9436         * testsuite/parse/Makefile.am:
9437         * testsuite/plugin/Makefile.am:
9438         * testsuite/refcounting/Makefile.am:
9439         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9440         results, because it's not calculated correctly.
9441         * testsuite/refcounting/pad.c: (main): same
9442         * testsuite/states/Makefile.am:
9443         * testsuite/tags/Makefile.am:
9444         * testsuite/threads/Makefile.am:
9445
9446 2004-04-14  David Schleef  <ds@schleef.org>
9447
9448         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9449         generating bad code around the cpu detection asm code.
9450
9451 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         * tools/gst-inspect.c: (print_element_info):
9454           print numeric version of rank as well, since we added some - 1
9455           rank values to elements
9456
9457 2004-04-13  David Schleef  <ds@schleef.org>
9458
9459         * configure.ac:  Disable various code when compiling for MinGW.
9460         * gst/elements/Makefile.am:
9461         * gst/elements/gstelements.c:
9462         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9463         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9464         * gst/registries/gstxmlregistry.c: (make_dir):
9465
9466 2004-04-13  David Schleef  <ds@schleef.org>
9467
9468         * gst/Makefile.am:
9469         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9470         assembly.
9471         * gst/gstcpuid_i386.s: remove
9472
9473 2004-04-13  David Schleef  <ds@schleef.org>
9474
9475         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9476         seems to think it needs to be done.
9477         * docs/gst/tmpl/gstfakesink.sgml:
9478         * docs/gst/tmpl/gstfakesrc.sgml:
9479         * docs/gst/tmpl/gstfdsink.sgml:
9480         * docs/gst/tmpl/gstfdsrc.sgml:
9481         * docs/gst/tmpl/gstfilesink.sgml:
9482         * docs/gst/tmpl/gstfilesrc.sgml:
9483         * docs/gst/tmpl/gstidentity.sgml:
9484         * docs/gst/tmpl/gstmd5sink.sgml:
9485         * docs/gst/tmpl/gstmultifilesrc.sgml:
9486         * docs/gst/tmpl/gstpipefilter.sgml:
9487         * docs/gst/tmpl/gstshaper.sgml:
9488         * docs/gst/tmpl/gstspider.sgml:
9489         * docs/gst/tmpl/gstspideridentity.sgml:
9490         * docs/gst/tmpl/gststatistics.sgml:
9491         * docs/gst/tmpl/gsttee.sgml:
9492         * docs/gst/tmpl/gsttypefind.sgml:
9493         * docs/gst/tmpl/gstutils.sgml:
9494
9495 2004-04-13  David Schleef  <ds@schleef.org>
9496
9497         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9498         and to build DLLs on Windows.
9499         * gst/Makefile.am:
9500         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9501         (gst_filesrc_open_file):
9502         * gst/schedulers/Makefile.am:
9503
9504 2004-04-13  David Schleef  <ds@schleef.org>
9505
9506         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9507         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9508         fixating lists.
9509
9510 2004-04-12  David Schleef  <ds@schleef.org>
9511
9512         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9513         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9514         to using it.
9515         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9516         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9517         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9518         * gst/gststructure.c: (gst_structure_set_valist),
9519         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9520         support for buffers.
9521         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9522         intended to be const.
9523         * gst/gsttag.h: same
9524         * gst/gstvalue.c: (gst_value_serialize_buffer),
9525         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9526         to (de)serialize buffers.
9527         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9528         * testsuite/caps/string-conversions.c: (main):
9529         * testsuite/caps/value_serialize.c: add new test
9530
9531 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9532
9533         * docs/pwg/advanced-types.xml:
9534           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9535
9536 2004-04-11  Benjamin Otte  <otte@gnome.org>
9537
9538         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9539           rename categories to basic_*
9540         * gst/schedulers/gstbasicscheduler.c: 
9541         (gst_basic_scheduler_chain_wrapper),
9542         (gst_basic_scheduler_chainhandler_proxy),
9543         (gst_basic_scheduler_gethandler_proxy),
9544         (gst_basic_scheduler_eventhandler_proxy):
9545           debugging category fixes - put common stuff in log category
9546         * gst/schedulers/gstbasicscheduler.c: 
9547         (gst_basic_scheduler_chain_elements):
9548           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9549           active and linking two active chains
9550
9551 2004-04-10  Benjamin Otte  <otte@gnome.org>
9552
9553         * docs/pwg/intro-preface.xml:
9554           fix dead links and remove reference to Wiki
9555
9556 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9557
9558         * gst/schedulers/gstbasicscheduler.c:
9559           make sure we can switch back to the main function if we're still in
9560           the main function (supposed to fix #139617)
9561         * gst/schedulers/gthread-cothreads.h:
9562           don't throw an error when switching to the same cothread
9563
9564 2004-04-09  Benjamin Otte  <otte@gnome.org>
9565
9566         * gst/gstbin.c: (gst_bin_get_type):
9567         * gst/gstclock.c: (gst_clock_get_type):
9568         * gst/gstindex.c: (gst_index_get_type):
9569         * gst/gstobject.c: (gst_object_get_type),
9570         (gst_signal_object_get_type):
9571         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9572         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9573         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9574         * gst/gstqueue.c: (gst_queue_get_type):
9575         * gst/gstregistry.c: (gst_registry_get_type):
9576         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9577         * gst/gstthread.c: (gst_thread_get_type):
9578           don't use memchunks for these objects, use malloc instead
9579
9580 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * docs/gst/.cvsignore:
9583         * docs/gst/Makefile.am:
9584         * docs/gst/gstreamer-sections.txt:
9585         * docs/gst/tmpl/gstaggregator.sgml:
9586         * docs/gst/tmpl/gstbuffer.sgml:
9587         * docs/gst/tmpl/gstclock.sgml:
9588         * docs/gst/tmpl/gstelement.sgml:
9589         * docs/gst/tmpl/gstfakesink.sgml:
9590         * docs/gst/tmpl/gstfakesrc.sgml:
9591         * docs/gst/tmpl/gstfdsink.sgml:
9592         * docs/gst/tmpl/gstfdsrc.sgml:
9593         * docs/gst/tmpl/gstfilesink.sgml:
9594         * docs/gst/tmpl/gstfilesrc.sgml:
9595         * docs/gst/tmpl/gstidentity.sgml:
9596         * docs/gst/tmpl/gstindex.sgml:
9597         * docs/gst/tmpl/gstinfo.sgml:
9598         * docs/gst/tmpl/gstmd5sink.sgml:
9599         * docs/gst/tmpl/gstmultifilesrc.sgml:
9600         * docs/gst/tmpl/gstpad.sgml:
9601         * docs/gst/tmpl/gstpipefilter.sgml:
9602         * docs/gst/tmpl/gstpipeline.sgml:
9603         * docs/gst/tmpl/gstpluginfeature.sgml:
9604         * docs/gst/tmpl/gstqueue.sgml:
9605         * docs/gst/tmpl/gstregistry.sgml:
9606         * docs/gst/tmpl/gstscheduler.sgml:
9607         * docs/gst/tmpl/gstshaper.sgml:
9608         * docs/gst/tmpl/gstspider.sgml:
9609         * docs/gst/tmpl/gstspideridentity.sgml:
9610         * docs/gst/tmpl/gststatistics.sgml:
9611         * docs/gst/tmpl/gstsystemclock.sgml:
9612         * docs/gst/tmpl/gsttee.sgml:
9613         * docs/gst/tmpl/gstthread.sgml:
9614         * docs/gst/tmpl/gsttypefind.sgml:
9615         * docs/gst/tmpl/gstutils.sgml:
9616           further doc build fixes
9617
9618 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9619
9620         * docs/gst/Makefile.am:
9621           make docs exit on scanning problems
9622           fix nonsrcdir build issues
9623         * docs/gst/gstreamer-sections.txt:
9624           adding stuff from -unused
9625         * gst/gstqueue.h:
9626           create GstQueueSize
9627         * gst/schedulers/cothreads_compat.h:
9628           fix cothread warnings
9629
9630 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * docs/gst/gstreamer-sections.txt:
9633           remove defines deprecated by Benjamin
9634
9635 2004-04-07  Benjamin Otte  <otte@gnome.org>
9636
9637         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9638           when the buffer is complete, don't check if other buffers are needed
9639         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9640           check that the offset is >0 so we don't try to read before the
9641           beginning of the file
9642         * gst/gstpad.c: (gst_pad_set_pad_template):
9643           sink the template, so we don't end up with 130k pad templates
9644
9645 2004-04-06  Benjamin Otte  <otte@gnome.org>
9646
9647         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9648           don't ref the element, adding already reffed it. And we didn't unref
9649           it later anyway... (huge memleak when you used many spider elements)
9650         * gst/gstelement.c: (gst_element_base_class_finalize):
9651         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9652         (gst_element_register):
9653         * gst/gsturi.c: (gst_element_make_from_uri):
9654           use gst_object_(un)ref instead of g_object(un)ref
9655
9656 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9657
9658         * gst/gstbuffer.h:
9659           remove macro that wouldn't work anymore because struct member has
9660           been removed.
9661         * gst/schedulers/entryscheduler.c: (schedule_forward):
9662           fix segfault for unconnected pads
9663         
9664 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9665
9666         reviewed by David Schleef <ds@schleef.org>
9667
9668         * gst/gstinfo.h:
9669           *_FORMAT modifiers should require putting a % in front of them for
9670           consistency reasons.
9671
9672 2004-04-05  Colin Walters  <walters@redhat.com>
9673
9674         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9675         space.
9676
9677 2004-04-05  Benjamin Otte  <otte@gnome.org>
9678
9679         * configure.ac:
9680         * gst/Makefile.am:
9681         * gst/gst_private.h:
9682         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9683           add support for detecting if GStreamer runs inside valgrind.
9684           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9685           print a big message in valgrind that GStreamer has detected it's
9686           running inside and might now use different code.
9687         * gst/gstmemchunk.c: (populate), (free_area),
9688         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9689         (gst_mem_chunk_free):
9690           flag memchunks for valgrind, so it can detect leaking of chunks.
9691           This allows detecting leaks of GstBuffer and GstEvent correctly
9692           inside valgrind.
9693
9694 2004-04-05  David Schleef  <ds@schleef.org>
9695
9696         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9697           jensgr@gmx.net (Jens Granseuer)
9698
9699 2004-04-05  David Schleef  <ds@schleef.org>
9700
9701         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9702         (gst_buffer_default_free), (gst_buffer_default_copy),
9703         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9704         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9705         structures in one place.
9706
9707 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9710           (GST_TIME_FORMAT, GST_TIME_ARGS)
9711
9712 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * testsuite/elements/Makefile.am:
9715           disable test until it stops breaking make distcheck
9716
9717 2004-04-05  Johan Dahlin  <johan@gnome.org>
9718
9719         * po/sv.po: Updated translation
9720
9721 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9722
9723         * gst/gstplugin.c: (gst_plugin_load_file):
9724           fix segfault for when original plugin was loaded statically
9725
9726 2004-04-05  Benjamin Otte  <otte@gnome.org>
9727
9728         * testsuite/debug/category.c: (main):
9729         * testsuite/debug/commandline.c: (main):
9730         * testsuite/debug/output.c: (main):
9731           fix tests to work again with debugging enabled
9732
9733 2004-04-05  Benjamin Otte  <otte@gnome.org>
9734
9735         * gst/schedulers/gstbasicscheduler.c:
9736         (gst_basic_scheduler_pad_link):
9737           fix to work with recent scheduling changes
9738
9739 2004-04-05  Benjamin Otte  <otte@gnome.org>
9740
9741         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9742         prepareChangeLog doesn't work when cvs indents):
9743           don't throw an error when no element can be scheduled, there's too
9744           many weird reasons why it doesn't work. Return STOPPED instead.
9745           decoupled elemts' schedulability doesn't depend on bufpens.
9746
9747 2004-04-04  Benjamin Otte  <otte@gnome.org>
9748
9749         * gst/schedulers/gstbasicscheduler.c:
9750         (gst_basic_scheduler_pad_select):
9751           fix uninitialized variable warnings
9752
9753 2004-04-04  Benjamin Otte  <otte@gnome.org>
9754
9755         * gst/gstpad.c: (gst_pad_collect_valist):
9756           fix uninitialized variable warning
9757         * gst/schedulers/entryscheduler.c: (schedule_forward):
9758           fix shadowed variable
9759
9760 2004-04-04  Benjamin Otte  <otte@gnome.org>
9761
9762         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9763         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9764         (gst_pad_select):
9765         * gst/gstpad.h:
9766         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9767         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9768         * gst/gstscheduler.h:
9769           implement gst_pad_collect as replacement for gst_pad_select.
9770           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9771           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9772           new pad_select, lock and unlock calls.
9773         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9774         * gst/cothreads.h:
9775         * gst/schedulers/cothreads_compat.h:
9776         * gst/schedulers/gthread-cothreads.h:
9777           remove unused cothread_lock and cothread_unlock calls
9778         * gst/schedulers/entryscheduler.c:
9779         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9780         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9781         (gst_entry_scheduler_pad_select):
9782           update to new API
9783         * gst/schedulers/gstbasicscheduler.c:
9784         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9785         (gst_basic_scheduler_pad_select):
9786           remove useless lock and unlock calls, update pad_select to new API
9787           (untested)
9788         * gst/schedulers/gstoptimalscheduler.c:
9789         (gst_opt_scheduler_class_init):
9790           remove useless select, lock and unlock function calls
9791         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9792           use gst_pad_collect instead of gst_pad_select
9793
9794 2004-04-04  Benjamin Otte  <otte@gnome.org>
9795
9796         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9797         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9798         (schedule_next_element), (print_entry):
9799           add can_schedule_pad to handle element states.
9800           add schedule_forward to select the correct entry to schedule next
9801
9802 2004-04-03  Benjamin Otte  <otte@gnome.org>
9803
9804         * gst/schedulers/entryscheduler.c: 
9805           remove unused variable, fix error inside Rb, fix compile warning in
9806           unreachable code
9807
9808 2004-04-03  Benjamin Otte  <otte@gnome.org>
9809
9810         * gst/schedulers/entryscheduler.c:
9811           completely revamp the inner workings, so it's a lot easier to
9812           understand and extend
9813
9814 2004-04-03  Andy Wingo  <wingo@pobox.com>
9815
9816         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9817         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9818         This allows better introspection of pipeline topology.
9819         (add_to_chain): Don't do trickery to put loop elements first;
9820         rather, queue a chain sort by marking the chain as dirty.
9821         (remove_from_chain): Mark the chain dirty.
9822         (sort_chain): New function. Sorts the group list so that terminal
9823         sinks are first. This means elements on the sink side will be
9824         preferentially sscheduled before elements on the src side of the
9825         pipeline.
9826         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9827         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9828         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9829         (group_inc_link): Change argument and variable names to match the
9830         new link structure member names (src and sink).
9831         (group_dec_link): Add some description
9832
9833 2004-04-03  Benjamin Otte  <otte@gnome.org>
9834
9835         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9836         * gst/gstinfo.h:
9837         * testsuite/debug/category.c: (main):
9838         * testsuite/debug/commandline.c: (main):
9839         * testsuite/debug/output.c: (main):
9840         * testsuite/debug/printf_extension.c: (main):
9841           fix to successfully build and test with --disable-gst-debug
9842           configure switch (fixes #138705)
9843
9844 2004-04-03  Benjamin Otte  <otte@gnome.org>
9845
9846         * docs/pwg/building-boiler.xml:
9847           add cvs login line and s/anonymous/anoncvs/
9848
9849 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9850
9851         reviewed by Benjamin Otte  <otte@gnome.org>
9852
9853         * gst/gststructure.c: (gst_structure_free):
9854           memleak fix: free fields array (partial fix for #134839)
9855
9856 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9857
9858         * docs/random/ds/0.9-suggested-changes:
9859           Add a note to change handoff use in fakesrc to be usable in
9860           a more generic way (fakesrc should be renamed to appsrc or so).
9861         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9862           Change signal type to scope, so we can fill the buffer in the
9863           handoff handler (that's the whole use of this signal...).
9864
9865 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9866
9867         * docs/pwg/other-ntoone.xml:
9868           Document muxers and n-to-1 elements.
9869
9870 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9871
9872         * gst/registries/gstxmlregistry.c
9873         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9874         determine if a file is a G_MODULE. The old one discards paths
9875         containing "so" somewhere in the middle. My home directory is
9876         called "soto". Go figure...
9877
9878 2004-03-31  David Schleef  <ds@schleef.org>
9879
9880         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9881         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9882         * gst/gstbuffer.h:
9883
9884 2004-03-31  David Schleef  <ds@schleef.org>
9885
9886         * gst/gstvalue.c: (gst_value_union_int_int_range),
9887         (gst_value_union_int_range_int_range), (gst_value_can_union),
9888         (gst_value_union), (_gst_value_initialize):  Add some union
9889         implementations.  We didn't have any previously.
9890         * testsuite/caps/Makefile.am:
9891         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9892         (gst_audioscale_getcaps), (test_caps), (main): A little test
9893         that is the same as the caps manipulation in audioscale.
9894
9895 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9896
9897         * docs/faq/general.xml:
9898           add entry about "does gst support format X?"
9899
9900 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9901
9902         * gst/gstthread.c:
9903           fix docs
9904         * gst/gstutils.h:
9905           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9906
9907 2004-03-30  Benjamin Otte  <otte@gnome.org>
9908
9909         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9910           set the offset of the buffer to the requested offset
9911         * gst/elements/gsttypefind.c: (stop_typefinding):
9912           revert patch 1.18 (which I unfortunately don't know the reason for).
9913           This is needed to allow downstream elements to seek. Otherwise
9914           typefind might overwrite a previous seek by downstream elements.
9915           This lead to errors with id3tag and typefind on some mp3s.
9916         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9917         (gst_entry_scheduler_iterate):
9918           be more verbose when debugging
9919
9920 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9921
9922         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9923           make sure we don't get NULL strings
9924
9925 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * gst/gstcaps.c:
9928         * gst/gstelement.c:
9929         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9930         * gst/gstindex.c: (gst_index_resolver_get_type),
9931         (gst_index_get_type), (gst_index_factory_get_type):
9932         * gst/gstinfo.c:
9933         * gst/gstpad.c:
9934         * gst/gstplugin.c:
9935         * gst/gsturi.c: (gst_uri_handler_get_type):
9936         * gst/gstvalue.c:
9937           first batch of documentation fixes
9938
9939 2004-03-29  David Schleef  <ds@schleef.org>
9940
9941         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9942         * docs/gst/gstreamer-docs.sgml:  More hacking
9943         * docs/gst/gstreamer-sections.txt:
9944         * docs/gst/tmpl/cothreads_compat.sgml:
9945         * docs/gst/tmpl/gstcaps.sgml:
9946         * docs/gst/tmpl/gstclock.sgml:
9947         * docs/gst/tmpl/gstelement.sgml:
9948         * docs/gst/tmpl/gstevent.sgml:
9949         * docs/gst/tmpl/gstpad.sgml:
9950         * docs/gst/tmpl/gstutils.sgml:
9951         * docs/gst/tmpl/gstxml.sgml:
9952         * docs/gst/tmpl/gthread-cothreads.sgml:
9953         * docs/random/ds/0.9-suggested-changes:
9954         * gst/elements/gstfakesink.h: doc fixes
9955         * gst/elements/gstfakesrc.h: doc fixes
9956         * gst/gstcaps.c: doc fixes
9957         * gst/gstcaps.h: doc fixes
9958         * gst/gstelement.c: doc fixes
9959         * gst/gstelement.h: doc fixes
9960         * gst/gstindex.c: doc fixes
9961         * gst/gstinfo.c: doc fixes
9962         * gst/gstpad.c: doc fixes
9963         * gst/gstpad.h: doc fixes
9964         * gst/gstplugin.c: doc fixes
9965         * gst/gsttypefind.h: doc fixes
9966         * gst/gsturi.c: doc fixes
9967         * gst/gstvalue.c: doc fixes
9968
9969 2004-03-29  Colin Walters  <walters@redhat.com>
9970
9971         * gst/registries/gstxmlregistry.c (get_time)
9972         (plugin_times_older_than_recurse):
9973         Use the result of stat to determine whether a path is a file,
9974         so we don't attempt to opendir() files.
9975
9976 2004-03-29  Benjamin Otte  <otte@gnome.org>
9977
9978         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9979           print caps in debugging output when setting caps failed
9980         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9981         (schedule_next_element), (get_buffer), (run_chainhandler),
9982         (element_may_start), (gst_entry_scheduler_chain_handler),
9983         (gst_entry_scheduler_get_handler),
9984         (gst_entry_scheduler_state_transition),
9985         (gst_entry_scheduler_pad_link):
9986           make this scheduler a testcase for mandatory
9987           discont-before-first-buffer which is needed if we want to allow apps
9988           to release the sound device.
9989           add SCHED_ASSERT macro to print scheduler state before an assertion
9990           triggers.
9991
9992 2004-03-29  Benjamin Otte  <otte@gnome.org>
9993
9994         * COPYING:
9995           replace by LGPL (former COPYING.LIB). The core is completely
9996           licensed LGPL.
9997         * COPYING.LIB:
9998           remove
9999
10000 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10001
10002         * po/af.po:
10003         * po/sv.po:
10004           updated Afrikaans and Swedish
10005
10006 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10007
10008         * po/LINGUAS:
10009         * po/az.po:
10010           adding Azerbaijani (Mətin Əmirov)
10011
10012 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10013
10014         * gst/gstelement.h: 
10015         * gst/gstelement.c (gst_element_set_time_delay): New function for
10016         setting element time taking into account a hardware buffering
10017         delay.
10018         (gst_element_set_time): Now just an invocation of
10019         gst_element_set_time_delay.
10020         * gst/gstclock.h: 
10021         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10022         allowing to set event times in the future.
10023         (gst_clock_get_event_time): Now just an invocation of
10024         gst_clock_get_event_time_delay.
10025
10026 2004-03-28  Benjamin Otte  <otte@gnome.org>
10027
10028         * gst/gstbin.c: (gst_bin_set_element_sched),
10029         (gst_bin_unset_element_sched):
10030           don't add decoupled elements to schedulers - otherwise it's
10031           impossible to control if a link to a decoupled element was already
10032           removed from a scheduler or not.
10033         * gst/schedulers/cothreads_compat.h:
10034         * gst/schedulers/gthread-cothreads.h:
10035           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10036           is no "unused" warning.
10037         * gst/schedulers/Makefile.am:
10038         * gst/schedulers/entryscheduler.c:
10039           add new scheduler, based on ideas from talking to David and Martin.
10040           It's supposed to be small and correct. Currently it's also slow (but
10041           it's not noticable)
10042         * examples/retag/retag.c: (main):
10043         * testsuite/bytestream/test1.c: (main):
10044           fix missing NULLs at end of variadic functions
10045         * testsuite/elements/.cvsignore:
10046           update
10047
10048 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10049
10050         * gst/gstevent.h:
10051         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10052
10053 2004-03-25  David Schleef  <ds@schleef.org>
10054
10055         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10056         * docs/gst/tmpl/gstaggregator.sgml:
10057         * docs/gst/tmpl/gstautoplugfactory.sgml:
10058         * docs/gst/tmpl/gstbin.sgml:
10059         * docs/gst/tmpl/gstbuffer.sgml:
10060         * docs/gst/tmpl/gstbufferstore.sgml:
10061         * docs/gst/tmpl/gstfakesink.sgml:
10062         * docs/gst/tmpl/gstfakesrc.sgml:
10063         * docs/gst/tmpl/gstmd5sink.sgml:
10064         * docs/gst/tmpl/gstreamer-unused.sgml:
10065         * docs/gst/tmpl/gstsearchfuncs.sgml:
10066         * docs/gst/tmpl/gstshaper.sgml:
10067         * docs/gst/tmpl/gstspider.sgml:
10068         * docs/gst/tmpl/gsttee.sgml:
10069         * docs/gst/tmpl/gstutils.sgml:
10070         * docs/gst/tmpl/gstvalue.sgml:
10071         * docs/gst/tmpl/gstxml.sgml:
10072         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10073         and we don't support it.
10074         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10075         (gst_use_threads), (gst_has_threads): same
10076         * gst/gstthreaddummy.c: same
10077         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10078         * gst/autoplug/gstspider.h: same
10079         * gst/elements/gstaggregator.h: Remove bogus function from header
10080         * gst/elements/gstfakesink.h: same
10081         * gst/elements/gstfakesrc.h: same
10082         * gst/elements/gstmd5sink.h: same
10083         * gst/elements/gstshaper.h: same
10084         * gst/elements/gsttee.h: same
10085         * gst/gstbin.c: doc fixes
10086         * gst/gstbin.h: Remove unused definition.
10087         * gst/gstbuffer.c: doc fixes
10088         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10089         * gst/gstfilter.c: doc fixes
10090         * gst/gsttag.c: doc fixes
10091         * gst/gstvalue.c: doc fixes
10092
10093 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10094
10095         * docs/pwg/advanced-types.xml:
10096           Document typefinding.
10097         * docs/pwg/other-oneton.xml:
10098           Document one-to-n elements, demuxers and parsers.
10099
10100 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10101
10102         reviewed by: David Schleef  <ds@schleef.org>
10103
10104         * configure.ac: Check bison version (bug #127838)
10105
10106 2004-03-25  David Schleef  <ds@schleef.org>
10107
10108         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10109         * docs/gst/gstreamer-sections.txt:
10110         * docs/gst/tmpl/gstautoplug.sgml:
10111         * docs/gst/tmpl/gststaticautoplug.sgml:
10112         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10113         * docs/gst/tmpl/gstutils.sgml:
10114         * docs/gst/tmpl/gstxml.sgml:
10115
10116 2004-03-24  David Schleef  <ds@schleef.org>
10117
10118         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10119         manual being such complete crap, that I decided to do major
10120         hacking of it.  This checkin replaces any fine tuning that
10121         may have been done previously, with the benefit of actually
10122         being complete for much of the API that was changed since
10123         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10124         * docs/gst/gstreamer-sections.txt:
10125         * docs/gst/tmpl/GstBin.sgml:
10126         * docs/gst/tmpl/GstBuffer.sgml:
10127         * docs/gst/tmpl/GstCaps.sgml:
10128         * docs/gst/tmpl/GstClock.sgml:
10129         * docs/gst/tmpl/GstCompat.sgml:
10130         * docs/gst/tmpl/GstData.sgml:
10131         * docs/gst/tmpl/GstElement.sgml:
10132         * docs/gst/tmpl/GstEvent.sgml:
10133         * docs/gst/tmpl/GstIndex.sgml:
10134         * docs/gst/tmpl/GstStructure.sgml:
10135         * docs/gst/tmpl/GstTag.sgml:
10136         * docs/gst/tmpl/cothreads.sgml:
10137         * docs/gst/tmpl/cothreads_compat.sgml:
10138         * docs/gst/tmpl/gettext.sgml:
10139         * docs/gst/tmpl/grammar.tab.sgml:
10140         * docs/gst/tmpl/gst-i18n-app.sgml:
10141         * docs/gst/tmpl/gst-i18n-lib.sgml:
10142         * docs/gst/tmpl/gst.sgml:
10143         * docs/gst/tmpl/gst_private.sgml:
10144         * docs/gst/tmpl/gstaggregator.sgml:
10145         * docs/gst/tmpl/gstarch.sgml:
10146         * docs/gst/tmpl/gstatomic.sgml:
10147         * docs/gst/tmpl/gstatomic_impl.sgml:
10148         * docs/gst/tmpl/gstbin.sgml:
10149         * docs/gst/tmpl/gstbuffer.sgml:
10150         * docs/gst/tmpl/gstbufferstore.sgml:
10151         * docs/gst/tmpl/gstcaps.sgml:
10152         * docs/gst/tmpl/gstclock.sgml:
10153         * docs/gst/tmpl/gstcompat.sgml:
10154         * docs/gst/tmpl/gstconfig.sgml:
10155         * docs/gst/tmpl/gstcpu.sgml:
10156         * docs/gst/tmpl/gstdata.sgml:
10157         * docs/gst/tmpl/gstdata_private.sgml:
10158         * docs/gst/tmpl/gstelement.sgml:
10159         * docs/gst/tmpl/gstenumtypes.sgml:
10160         * docs/gst/tmpl/gsterror.sgml:
10161         * docs/gst/tmpl/gstevent.sgml:
10162         * docs/gst/tmpl/gstfakesink.sgml:
10163         * docs/gst/tmpl/gstfakesrc.sgml:
10164         * docs/gst/tmpl/gstfilesink.sgml:
10165         * docs/gst/tmpl/gstfilter.sgml:
10166         * docs/gst/tmpl/gstindex.sgml:
10167         * docs/gst/tmpl/gstinfo.sgml:
10168         * docs/gst/tmpl/gstinterface.sgml:
10169         * docs/gst/tmpl/gstlog.sgml:
10170         * docs/gst/tmpl/gstmacros.sgml:
10171         * docs/gst/tmpl/gstmarshal.sgml:
10172         * docs/gst/tmpl/gstmd5sink.sgml:
10173         * docs/gst/tmpl/gstmultifilesrc.sgml:
10174         * docs/gst/tmpl/gstobject.sgml:
10175         * docs/gst/tmpl/gstpad.sgml:
10176         * docs/gst/tmpl/gstparse.sgml:
10177         * docs/gst/tmpl/gstpipeline.sgml:
10178         * docs/gst/tmpl/gstplugin.sgml:
10179         * docs/gst/tmpl/gstpluginfeature.sgml:
10180         * docs/gst/tmpl/gstqueue.sgml:
10181         * docs/gst/tmpl/gstreamer-unused.sgml:
10182         * docs/gst/tmpl/gstregistry.sgml:
10183         * docs/gst/tmpl/gstregistrypool.sgml:
10184         * docs/gst/tmpl/gstscheduler.sgml:
10185         * docs/gst/tmpl/gstsearchfuncs.sgml:
10186         * docs/gst/tmpl/gstshaper.sgml:
10187         * docs/gst/tmpl/gstspider.sgml:
10188         * docs/gst/tmpl/gstspideridentity.sgml:
10189         * docs/gst/tmpl/gststructure.sgml:
10190         * docs/gst/tmpl/gstsystemclock.sgml:
10191         * docs/gst/tmpl/gsttag.sgml:
10192         * docs/gst/tmpl/gsttaginterface.sgml:
10193         * docs/gst/tmpl/gsttee.sgml:
10194         * docs/gst/tmpl/gstthread.sgml:
10195         * docs/gst/tmpl/gsttrace.sgml:
10196         * docs/gst/tmpl/gsttrashstack.sgml:
10197         * docs/gst/tmpl/gsttypefind.sgml:
10198         * docs/gst/tmpl/gsttypes.sgml:
10199         * docs/gst/tmpl/gsturi.sgml:
10200         * docs/gst/tmpl/gsturitype.sgml:
10201         * docs/gst/tmpl/gstutils.sgml:
10202         * docs/gst/tmpl/gstvalue.sgml:
10203         * docs/gst/tmpl/gstversion.sgml:
10204         * docs/gst/tmpl/gstxml.sgml:
10205         * docs/gst/tmpl/gstxmlregistry.sgml:
10206         * docs/gst/tmpl/gthread-cothreads.sgml:
10207         * docs/gst/tmpl/types.sgml:
10208
10209 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10210
10211         * docs/pwg/other-sink.xml:
10212         * docs/pwg/other-source.xml:
10213           Documentation on how to write source and sink elements. Other
10214           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10215           manager, autoplugger) are all still pending.
10216
10217 2004-03-25  Benjamin Otte  <otte@gnome.org>
10218
10219         * testsuite/elements/Makefile.am:
10220         * testsuite/elements/gst-compprep-check:
10221           add check to make sure gst-compprep works
10222         * testsuite/elements/gst-inspect-check.in:
10223           improve initialization output
10224         * testsuite/Makefile.am:
10225         * testsuite/gst-inspect-check:
10226           remove old file
10227
10228 2004-03-24  David Schleef  <ds@schleef.org>
10229
10230         * testsuite/elements/Makefile.am:
10231         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10232         to the testsuite.
10233
10234 2004-03-24  Benjamin Otte  <otte@gnome.org>
10235
10236         * libs/gst/control/dparam.c: (gst_dparam_attach),
10237         (gst_dparam_detach):
10238         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10239           fix lvalue casts for real
10240
10241 2004-03-24  Benjamin Otte  <otte@gnome.org>
10242
10243         * gst/schedulers/gstbasicscheduler.c:
10244         (gst_basic_scheduler_src_wrapper):
10245         * gst/schedulers/gstoptimalscheduler.c:
10246         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10247         (pad_clear_queued), (gst_opt_scheduler_add_element),
10248         (gst_opt_scheduler_remove_element):
10249           fix GStreamer to not have issues with lvalue casts anymore (fixes
10250           #136841)
10251
10252 2004-03-24  Benjamin Otte  <otte@gnome.org>
10253
10254         * gst/gstelement.c:
10255           add documentation about a gobject quirk where the object hasn't the
10256           correct class pointer set on initialization
10257         * gst/schedulers/gstbasicscheduler.c:
10258         (gst_basic_scheduler_src_wrapper):
10259           make sure to not run into an infinite loop
10260
10261 2004-03-22  Benjamin Otte  <otte@gnome.org>
10262
10263         * gst/gstutils.c: (gst_util_dump_mem):
10264         * gst/gstutils.h:
10265           first argument of gst_util_dump_mem should be const
10266
10267 2004-03-22  Johan Dahlin  <johan@gnome.org>
10268
10269         * gst/gstvalue.h: Clean up a little bit.
10270
10271 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10272
10273         reviewed by Benjamin Otte  <otte@gnome.org>
10274
10275         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10276         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10277         (gst_aggregator_class_init), (gst_aggregator_init):
10278         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10279         (gst_filesrc_dispose), (gst_filesrc_set_location):
10280         * gst/elements/gstidentity.c: (gst_identity_finalize),
10281         (gst_identity_class_init), (gst_identity_chain):
10282         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10283         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10284         (gst_statistics_class_init):
10285         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10286         (gst_tee_get_property):
10287           clean up used memory in this elements correctly on teardown (closes
10288           #137279)
10289
10290 2004-03-20  Colin Walters  <walters@redhat.com>
10291
10292         * gst/registries/gstxmlregistry.c:
10293         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10294         registry saving atomic.
10295
10296 2004-03-20  Colin Walters  <walters@redhat.com>
10297
10298         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10299         Just use
10300         access() instead of actually creating and deleting files.
10301
10302 2004-03-18  David Schleef  <ds@schleef.org>
10303
10304         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10305         (bug #137625)
10306
10307 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * po/sv.po: updated translation (Christian Rose)
10310
10311 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10314         (gst_filesink_get_query_types), (_do_init),
10315         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10316           return FALSE silently
10317         * po/af.po: updated translation (Petri Jooste)
10318
10319 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10320
10321         * Makefile.am:
10322         * configure.ac:
10323           dist common properly
10324         * po/af.po:
10325         * po/fr.po:
10326         * po/nl.po:
10327         * po/sr.po:
10328         * po/sv.po:
10329           refreshing translations
10330
10331 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * po/LINGUAS:
10334         * po/sv.po:
10335         * po/af.po:
10336           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10337
10338 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10339
10340         * Makefile.am: use common/release.mak
10341
10342 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10343
10344         * docs/faq/gst-uninstalled:
10345           adding gst-monkeysaudio to the list of possible plugin dirs
10346
10347 2004-03-16  David Schleef  <ds@schleef.org>
10348
10349         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10350         (gst_init_check_with_popt_table):  Fix some gettext strings to
10351         make them easier to translate.  Required making the strings
10352         non-const.
10353
10354 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10355
10356         * configure.ac: bump nano to 1
10357
10358 === release 0.8.0 ===
10359
10360 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10361
10362         * configure.ac: release 0.8.0, "Executive Slacks"
10363
10364 2004-03-16  Johan Dahlin  <johan@gnome.org>
10365
10366         * gst/schedulers/gstoptimalscheduler.c
10367         (gst_opt_scheduler_pad_unlink): Remove double ;,
10368         spotted by Scott Wheeler
10369
10370 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10371
10372         * configure.ac: bump libtool version
10373
10374 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10375
10376         * gst/gstcaps.h:
10377         * gst/gststructure.h:
10378           add reserved padding
10379
10380 2004-03-15  Benjamin Otte  <otte@gnome.org>
10381
10382         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10383           set the first parameter for select call correctly.
10384           (fixes #137230)
10385
10386 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * *.c,*.h: don't mix tabs and spaces
10389
10390 2004-03-15  Johan Dahlin  <johan@gnome.org>
10391
10392         * gst/schedulers/gstoptimalscheduler.c
10393         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10394         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10395
10396         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10397         
10398 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10399
10400         * testsuite/Rules:
10401           fix gst-register rules
10402
10403 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10404
10405         * testsuite/Rules:
10406           use versioned gst-register
10407
10408 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10409
10410         * docs/libs/gstreamer-libs-sections.txt:
10411           remove </SUBSECTION>
10412         * gst/gstplugin.c:
10413         * gst/gstregistry.c: (gst_registry_add_plugin):
10414         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10415         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10416           add debugging and fix some comment blocks
10417
10418 2004-03-15  Johan Dahlin  <johan@gnome.org>
10419
10420         * *.h: Revert indent changes.
10421         
10422 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10423
10424         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10425           g_error_free the g_error
10426         * tools/gst-feedback-m.m:
10427           check for other versions of gstreamer
10428         * tools/gst-indent:
10429           use sh, not bash
10430
10431 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10432
10433         * tools/gst-register.c: do not spill paths when registries are not
10434           writable, until we fix the "user running gst-register" case.
10435
10436 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * *.c, *.h: commit of gst-indent run on core
10439
10440 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10441
10442         * tools/gst-indent:
10443         * tools/Makefile.am:
10444           add our indentation style as a script
10445
10446 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10447
10448         * po/sr.po:
10449         * po/LINGUAS:
10450           added Serbian translation
10451
10452 2004-03-13  Benjamin Otte  <otte@gnome.org>
10453
10454         * gst/gstelement.c:
10455           add documentation note about gst_element_found_tags_for_pad not
10456           being usable in getfunctions. (see #137042)
10457
10458 2004-03-12  David Schleef  <ds@schleef.org>
10459
10460         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10461         change API right now!  Readd gst_caps_is_simple() macro.
10462         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10463         uninitialized variable.  I'd bet this caused crashes.
10464         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10465
10466 2004-03-12  Johan Dahlin  <johan@gnome.org>
10467
10468         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10469         * gst/gstcaps.h: Clean up
10470
10471         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10472         _gst_caps_initalize()
10473
10474         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10475         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10476
10477         * gst/gststructure.c (gst_structure_get_type): Ditto
10478
10479         * gst/gststructure.h: Ditto
10480         
10481 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10482
10483         * gst/gstqueue.c: (gst_queue_init):
10484           Reset default max. values in queues. Reason is simply to avoid
10485           braindead use. If you want wider values, use the properties. The
10486           default is supposed to always work. Wider values would make this
10487           beast a memory hog by default (250 full-PAL RGB32 video frames?
10488           That's 440 MB! No thank you).
10489
10490 2004-03-10  David Schleef  <ds@schleef.org>
10491
10492         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10493         were found.  (bug #136793)
10494
10495 2004-03-10  Johan Dahlin  <johan@gnome.org>
10496
10497         * gst/schedulers/gstoptimalscheduler.c
10498         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10499         links to elements within the same group, so we can finally remove
10500         that annoying warning. Refactor the code a little bit
10501         (group_dec_links_for_element): Split out
10502
10503 2004-03-09  David Schleef  <ds@schleef.org>
10504
10505         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10506         (bug #134863)
10507
10508 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10509
10510         * configure.ac: first bug fix due to major/minor bump
10511
10512 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10513
10514         * configure.ac: bump nano to 1
10515
10516 === release 0.7.6 ===
10517
10518 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10519
10520         * NEWS:
10521         * RELEASE:
10522         * configure.ac:
10523           releasing 0.7.6, "Almost"
10524         * po/fr.po:
10525         * po/nl.po:
10526         * tools/Makefile.am:
10527         * tools/gst-feedback-m.m:
10528           unversioned source
10529
10530 2004-03-09  Johan Dahlin  <johan@gnome.org>
10531
10532         Reviewed by: Thomas Vander Stichele
10533
10534         * gst/gstelement.c (gst_element_class_init): register second
10535         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10536         language bindings can (de)marshall correctly.
10537
10538         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10539
10540         * gst/gsterror.c (gst_g_error_get_type): New function
10541
10542         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10543         with VOID:OBJECT,OBJECT,STRING 
10544
10545 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10546
10547         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10548         Free a leaked g_timer on early returns.
10549
10550 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10551
10552         * docs/pwg/advanced-types.xml:
10553           Add cinepak description.
10554
10555 2004-03-07  David Schleef  <ds@schleef.org>
10556
10557         * docs/random/mimetypes:  Added cinepak description
10558
10559 2004-03-07  Andy Wingo  <wingo@pobox.com>
10560
10561         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10562
10563         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10564         there are no links to other groups when a group is destroyed.
10565         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10566         removed from a group, make sure the link count to elements linked
10567         to other pads is appropriately decremented. This really fixes
10568         #135672.
10569
10570         The 1.60->1.61 patch has been reapplied in light of this fix.
10571
10572         * gst/gstelement.c (gst_element_dispose): Really protect against
10573         multiple invocations this time.
10574
10575 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10576
10577         * docs/gst/gstreamer-sections.txt:
10578         * docs/gst/tmpl/gsttag.sgml:
10579           remove some deprecated functions, document some existing ones
10580         * gst/gsttag.c: (gst_tag_get_flag):
10581         * gst/gsttag.h:
10582           add accessor function
10583
10584 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10585
10586         * docs/gst/gstreamer-sections.txt:
10587         * docs/gst/tmpl/gsttag.sgml:
10588         * docs/gst/tmpl/gstxml.sgml:
10589         * gst/gsttag.c: (gst_tag_get_flag):
10590         * gst/gsttag.h:
10591
10592 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10593
10594         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10595         leak
10596
10597 2004-03-05  David Schleef  <ds@schleef.org>
10598
10599         * REQUIREMENTS: Add bison and flex.
10600         * configure.ac: Fix comment about bison.
10601         * docs/random/ds/0.9-suggested-changes: yer ma
10602         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10603
10604 2004-03-05  Benjamin Otte  <otte@gnome.org>
10605
10606         * gst/gstelement.c: (gst_element_error_full):
10607           revert recent recursive state changing commit - messing with other
10608           elements' states is evil and should be done by apps only.
10609
10610 2004-03-05  Benjamin Otte  <otte@gnome.org>
10611
10612         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10613           check for empty intersection instead of NULL caps
10614         (gst_element_get_compatible_pad_filtered):
10615           remove old workaround that is only a bug nowadays
10616
10617 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10618
10619         * gst/gstelement.c: (gst_element_error_full):
10620           make elements try to recursively change state to PAUSED on all
10621           parents after an error to suppress ensuing warnings
10622         * gst/parse/grammar.y:
10623           make it check if it was able to sync the state, and throw an error
10624           if not, so stuff like
10625           oggdemux ! vorbisdec ! osssink gets caught
10626
10627 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10628
10629         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10630           it contains lib64; use AS_AC_EXPAND to handle it properly
10631
10632 2004-03-05  David Schleef  <ds@schleef.org>
10633
10634         * gst/gstcpuid_i386.s:  Remove unused code
10635         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10636         (gst_getbits_newbuf): Remove MMX code
10637         * libs/gst/getbits/getbits.h: Remove MMX code
10638
10639 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10640
10641         * debian/.cvsignore:
10642         * debian/README.Debian:
10643         * debian/changelog:
10644         * debian/control:
10645         * debian/control.in:
10646         * debian/copyright:
10647         * debian/gstreamer-core-libs-dev.files:
10648         * debian/gstreamer-core-libs.files:
10649         * debian/gstreamer-core.files:
10650         * debian/gstreamer-core.postinst:
10651         * debian/gstreamer-core.postrm:
10652         * debian/gstreamer-doc.files:
10653         * debian/gstreamer-doc.links:
10654         * debian/gstreamer-doc.lintian:
10655         * debian/gstreamer-runtime.files:
10656         * debian/gstreamer-runtime.manpages:
10657         * debian/gstreamer-runtime.postinst:
10658         * debian/gstreamer-runtime.postrm:
10659         * debian/gstreamer-tools.files:
10660         * debian/gstreamer-tools.manpages:
10661         * debian/libgstreamer-dev.files:
10662         * debian/libgstreamer0.4.1.files:
10663         * debian/libgstreamerVERSION.files:
10664         * debian/rules:
10665         Debian package info not maintained here.
10666
10667 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10668
10669         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10670         * gst/gstbin.c: (gst_bin_class_init):
10671         * gst/gstelement.c: (gst_element_class_init):
10672         * gst/gstindex.c: (gst_index_class_init):
10673         * gst/gstobject.c: (gst_object_class_init),
10674         (gst_signal_object_class_init):
10675         * gst/gstpad.c: (gst_pad_template_class_init):
10676         * gst/gstregistry.c: (gst_registry_class_init):
10677         * gst/gsturi.c: (gst_uri_handler_base_init):
10678         * gst/gstxml.c: (gst_xml_class_init):
10679         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10680         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10681           make all signal names use dashes instead of underscore
10682
10683 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10684
10685         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10686
10687 2004-03-03  Benjamin Otte  <otte@gnome.org>
10688
10689         * gst/schedulers/gstoptimalscheduler.c:
10690           revert last commit by Andy Wingo. It causes segfaults on unreffing
10691           in Rhythmbox. (see bug #135672)
10692
10693 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10694
10695         * po/fr.po: fix typo
10696
10697 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10698
10699         * tools/gst-inspect.c: (main): 
10700         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10701
10702 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10703
10704         * configure.ac:
10705           get GLIB_ONLY and POPT flags for the nonversioned binaries
10706         * tools/Makefile.am:
10707           use them
10708
10709 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10710
10711         * gst/gst.c: (init_post):
10712           change so that GST_REGISTRY now is where the global registry gets
10713           saved, since that is where plugins now get attached to first, and
10714           spilled over to the user registry.  Note that in the case of using
10715           GST_REGISTRY env var, we don't want to affect any real registries
10716           beyond the one given by this var, and thus we don't set a user
10717           registry to spill to.  So make sure GST_REGISTRY is writable.
10718
10719 2004-03-01  David Schleef  <ds@schleef.org>
10720
10721         * AUTHORS:  Added some names.  Add yourself if you're missing.
10722
10723 2004-03-01  David Schleef  <ds@schleef.org>
10724
10725         * MAINTAINERS: Add
10726
10727 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * configure.ac:
10730           remove whitespace
10731         * docs/gst/tmpl/gstbuffer.sgml:
10732         * docs/gst/tmpl/gstdata.sgml:
10733         * docs/gst/tmpl/gstreamer-unused.sgml:
10734         * docs/gst/tmpl/gstxml.sgml:
10735           doc update
10736         * docs/manuals.mak:
10737           add a FIXME
10738         * docs/pwg/intro-preface.xml:
10739         * docs/pwg/pwg.xml:
10740           remove GNOME
10741         * gst/gst.c: (init_post):
10742           try GST_PLUGIN_PATH paths for the _global_registry first
10743         * gst/gstelement.h:
10744           add the error message as well, otherwise (null) debug info doesn't
10745           make much sense
10746         * tools/gst-register.c: (main):
10747           spill paths to next registry if this registry is not writable
10748         * po/fr.po:
10749         * po/nl.po:
10750           translation updates
10751
10752 2004-03-01  Johan Dahlin  <johan@gnome.org>
10753
10754         * gst/gstbuffer.c (_gst_buffer_initialize): 
10755         * gst/gstdata.c (gst_data_get_type): 
10756         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10757         instead of ref, since some applications that uses GBoxed
10758         routines depends on a function that actually returns a copy.
10759
10760 2004-02-27  Benjamin Otte  <otte@gnome.org>
10761
10762         * gst/gstbuffer.h:
10763           remove gst_buffer_free, use gst_data_unref
10764         * gst/gstdata.c: (gst_data_get_type):
10765           use refcounting in GstData GBoxed registration
10766         * gst/gstdata.h:
10767           remove gst_data_free, use gst_data_unref
10768
10769 2004-02-27  Johan Dahlin  <johan@gnome.org>
10770
10771         * gst/gstdata.c (gst_data_get_type): New function, register
10772         GstData as a GBoxed type.
10773
10774         * gst/gstdata.h (GST_TYPE_DATA): New macro
10775
10776 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * Makefile.am:
10779         * gstreamer.spec.in:
10780           put back RELEASE
10781         * gst/Makefile.am:
10782           clean up non-disting of built files
10783         * testsuite/debug/commandline.c:
10784           test fix for option rename
10785
10786 2004-02-26  David Schleef  <ds@schleef.org>
10787
10788         * configure.ac:  We don't really need glib-2.3.  Also remove
10789         some unneeded checks for library functions.
10790         * gst/Makefile.am:  Instead, we need to not dist files created
10791         by glib-genmarshal.
10792
10793 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10794
10795         * configure.ac:
10796           bump glib required version to 2.3.0 for g_value_takes_boxed
10797
10798  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10799
10800         * common/m4/gst-docs.m4
10801         change flavour text from enable to disable as enable is our default
10802         closes bug Bug 135304
10803
10804 === release 0.7.5 ===
10805  
10806  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10807  
10808         * NEWS:
10809           instate NEWS file
10810         * Makefile.am:
10811         * gstreamer.spec.in:
10812         * RELEASE:
10813           put back release
10814         * configure.ac:
10815         * docs/random/release:
10816           more updates
10817
10818 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10819
10820         * gst/gsttag.c: (_gst_tag_initialize):
10821         * po/fr.po:
10822         * po/nl.po:
10823           remove hyphen from codec tags
10824
10825 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10826
10827         * gst/parse/Makefile.am:
10828           fix dependency so that a make from a clean build works the first
10829           time
10830
10831 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10832
10833         * docs/random/release:
10834           update release strategy
10835         * po/fr.po:
10836           auto-update po file
10837         * po/nl.po:
10838           update dutch translation
10839
10840 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * docs/manual/debugging.xml:
10843         fix manual for new debugging system
10844
10845 2004-02-25  Andy Wingo  <wingo@pobox.com>
10846
10847         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10848         gst_pad_link_prepare. Please email the list with specific reasons
10849         for reverting.
10850
10851 2004-02-24  Andy Wingo  <wingo@pobox.com>
10852
10853         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10854         invocations.
10855
10856         * gst/schedulers/gstoptimalscheduler.c:
10857         I added a mess of prototypes at the top of the file by way of
10858         documentation. Some of the operations on chains and groups were
10859         re-organized.
10860
10861         (create_group): Added a type argument so if the group is enabled,
10862         the setup_group_scheduler knows what to do.
10863         (group_elements): Added a type argument here, too, to be passed on
10864         to create_group.
10865         (group_element_set_enabled): If an unlinked PLAYING element is
10866         added to a bin, we have to create a new group to hold the element,
10867         and this function will be called before the group is added to the
10868         chain. Thus we have a valid case for group->chain==NULL. Instead
10869         of calling chain_group_set_enabled, just set the flag on the group
10870         (the chain's status will be set when the group is added to it).
10871         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10872         Setup the group scheduler when the group is enabled, not
10873         specifically when an element goes PAUSED->PLAYING. This means
10874         PLAYING elements can be added, linked, and scheduled into a
10875         PLAYING pipeline, as was intended.
10876         (add_to_group): Don't ref the group twice. I don't know when this
10877         double-ref got in here. Removing it has the potential to cause
10878         segfaults if other parts of the scheduler are buggy. If you find
10879         that the scheduler is segfaulting for you, put in an extra ref
10880         here and see if that hacks over the underlying issue. Of course,
10881         then find out what code is unreffing a group it doesn't own...
10882         (create_group): Make the extra refcount floating, and remove it
10883         after adding the element. This means that...
10884         (unref_group): Destroy when the refcount reaches 0, not 1, like
10885         every other refcounted object in the known universe.
10886         (remove_from_group): When a group becomes empty, set it to be not
10887         active, and remove it from its chain. Don't unref it again,
10888         there's no floating reference any more.
10889         (destroy_group): We have to remove the group from the chain in
10890         remove_from_group (rather than here) to break refcounting cycles
10891         (the chain always has a ref on the group). So assert that
10892         group->chain==NULL.
10893         (ref_group_by_count): Removed, it was commented out anyway.
10894         (merge_chains): Use the remove_from_chain and add_to_chain
10895         primitives to do the reparenting, instead of rolling our own
10896         implementation.
10897         (add_to_chain): The first non-disabled group in the chain's group
10898         list will be the entry point for the chain. Because buffers can
10899         accumulate in loop elements' peer bufpens, we preferentially
10900         schedule loop groups before get groups to avoid unnecessary
10901         execution of get-based groups when the bufpens are already full.
10902         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10903         (get_group_schedule_function): Ditto.
10904         (loop_group_schedule_function): Ditto.
10905         (gst_opt_scheduler_loop_wrapper): Ditto.
10906         (gst_opt_scheduler_iterate): Ditto.
10907
10908         I understand the opt scheduler now, yippee!
10909
10910         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10911         (gst_pad_get_name, gst_pad_set_chain_function) 
10912         (gst_pad_set_get_function, gst_pad_set_event_function) 
10913         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10914         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10915         (gst_pad_set_query_function, gst_pad_get_query_types) 
10916         (gst_pad_get_query_types_default) 
10917         (gst_pad_set_internal_link_function) 
10918         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10919         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10920         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10921         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10922         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10923         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10924         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10925         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10926         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10927         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10928         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10929         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10930         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10931         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10932         argument checks, and some doc fixes.
10933
10934         (gst_pad_custom_new_from_template): Um, does anyone
10935         use these functions? Actually make a custom pad instead of a
10936         normal one.
10937         (gst_pad_try_set_caps): Transpose some checks.
10938         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10939         the pad is in negotiation.
10940         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10941         
10942         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10943
10944         * gst/gstelement.h: 
10945         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10946         on the list.
10947
10948 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10949
10950         * gst/gstbin.c: (gst_bin_add):
10951           add error for not being able to add elements
10952
10953 2004-02-22  Julien MOUTTE <julien@moutte.net>
10954
10955         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10956         audio-codec and video-codec.
10957
10958 2004-02-22  Benjamin Otte  <otte@gnome.org>
10959
10960         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10961
10962         * autogen.sh:
10963           replace test -e with test -x for mkinstalldirs to be more portable.
10964           (fixes #134816)
10965
10966 2004-02-22  Benjamin Otte  <otte@gnome.org>
10967
10968         * gst/gstpad.c:
10969           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10970           too noisy
10971         * gst/gsttag.c: (_gst_tag_initialize):
10972         * gst/gsttag.h:
10973           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10974         * libs/gst/control/dparam.c: (gst_dparam_attach):
10975         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10976           check that types for attached dparams match
10977
10978 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10979
10980         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10981         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10982         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10983           fix errors
10984
10985 2004-02-20  Andy Wingo  <wingo@pobox.com>
10986
10987         * gst/gstbin.c:
10988         * gst/gstbuffer.c:
10989         * gst/gstplugin.c:
10990         * gst/registries/gstxmlregistry.c: 
10991         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10992
10993         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10994         (gst_element_add_pad): DEBUG->INFO, some fixes.
10995         (gst_element_get_compatible_pad_template): Just see if the
10996         templates' caps intersect, not if one is a strict subset of the
10997         other. This conforms more to what gst_pad_link_intersect() does.
10998         (gst_element_class_add_pad_template): Don't memcpy the pad
10999         template, just ref it.
11000         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11001
11002         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11003         (gst_pad_link_filtered): Debug changes.
11004         (gst_pad_link_prepare): New function, consolidated from
11005         can_link_filtered and link_filtered.
11006
11007         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11008         look more like that of the functions in gstelement.c
11009
11010         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11011         object, and return the empty string if object is NULL.
11012
11013         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11014         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11015         LOG, not DEBUG. We still get flex info on debug.
11016
11017         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11018         debug string more verbose.
11019         (plugin_times_older_than): DEBUG->LOG.
11020
11021 2004-02-20  Julien MOUTTE <julien@moutte.net>
11022
11023         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11024         will emit found_tag for each stream they demux with the codec.
11025
11026 2004-02-20  Benjamin Otte  <otte@gnome.org>
11027
11028         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11029           copy navigation event correctly. Check freeing tag lists. 
11030         * gst/gstthread.c: (gst_thread_change_state):
11031           don't abort() on state changing mess - it might happen because of
11032           bugs.
11033         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11034           use boxed functions
11035         * gst/gstvalue.h:
11036           fix GST_VALUE_HOLDS_CAPS
11037
11038 2004-02-19  David Schleef  <ds@schleef.org>
11039
11040         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11041         and use it for GST_FUNCTION.  (bug #134750)
11042
11043 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11044
11045         * po/fr.po:
11046         * po/nl.po:
11047           updating translations
11048
11049 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11050
11051         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11052
11053 2004-02-18  kost@imn.htwk-leipzig.de
11054
11055         reviewed by: David Schleef  <ds@schleef.org>
11056
11057         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11058         for libgstcontrol.
11059
11060 2004-02-18  David Schleef  <ds@schleef.org>
11061
11062         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11063         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11064         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11065         * tools/gst-inspect.c: (print_element_info): Support dumping of
11066         double dparam information.
11067
11068 2004-02-17  David Schleef  <ds@schleef.org>
11069
11070         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11071         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11072         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11073         Use GST_TYPE_CAPS in signal prototype.
11074         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11075         Convert GST_TYPE_CAPS to boxed.
11076         * gst/gstelement.c: (gst_element_class_init):
11077         Use GST_TYPE_TAG_LIST in signal prototype.
11078         * gst/gstindex.c: (gst_index_class_init):
11079         * gst/gstindex.h:
11080         Add GST_TYPE_INDEX_ENTRY type.
11081         * gst/gstmarshal.list:
11082         Add necessary marshal types.
11083         * gst/gstpad.c: (gst_real_pad_class_init),
11084         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11085         (gst_pad_recover_caps_error):
11086         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11087         * gst/gststructure.c: (_gst_structure_initialize),
11088         (gst_structure_copy), (_gst_structure_copy_conditional):
11089         * gst/gststructure.h:
11090         Convert GST_TYPE_STRUCTURE to boxed.
11091         * gst/gsttag.c: (gst_tag_list_get_type):
11092         * gst/gsttag.h:
11093         Add GST_TYPE_TAG_LIST type.
11094
11095 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11096
11097         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11098         to what we agreed with david.
11099         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11100
11101 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11102
11103         * po/nl.po: update translation
11104
11105 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11106
11107         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11108           throw an error if spider is trying to play a mime type there is
11109           no decoder for
11110         * po/POTFILES.in:
11111           add gst/autoplug/gstspider.c for translation
11112
11113 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11114
11115         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11116         silently when the pad is negotiating.
11117
11118 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11119
11120         * docs/faq/Makefile.am:
11121           add script to run gstreamer uninstalled 
11122         * docs/faq/faq.xml:
11123         * docs/faq/developing.xml:
11124         * docs/faq/gst-uninstalled:
11125           extract script to run gstreamer uninstalled
11126         * docs/manuals.mak:
11127           add EXTRA_SOURCES variable for Makefile.am's to set to
11128           use additional SOURCE files for the doc build
11129
11130 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11131
11132         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11133
11134 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11135
11136         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11137         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11138         an error was thrown by osssink. Basically a state change failure for
11139         an element in a different scheduling group was considered as
11140         successful, which means that caps nego was going on and weird stuff
11141         happened. Like I wrote in the comment there, if someone wants to
11142         revert that please drop me a mail explaining why because I really see
11143         no point in keeping that broken behaviour there.
11144         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11145         be empty, we then return NULL which will trigger a nice error when 
11146         pulling from the pad.
11147
11148 2004-02-13  David Schleef  <ds@schleef.org>
11149
11150         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11151         (gst_dparam_get_property), (gst_dparam_set_property),
11152         (gst_dparam_do_update_default):
11153         * libs/gst/control/dparam.h:
11154         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11155         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11156         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11157         (gst_dpsmooth_do_update_double):
11158         * libs/gst/control/dparam_smooth.h:
11159         * libs/gst/control/dparammanager.c:
11160         (gst_dpman_inline_direct_update):
11161         Add support for double dparams.
11162
11163 2004-02-13  David Schleef  <ds@schleef.org>
11164
11165         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11166         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11167
11168 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11169
11170         reviewed by: David Schleef  <ds@schleef.org>
11171
11172         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11173         (gst_fdsrc_init), (gst_fdsrc_set_property),
11174         (gst_fdsrc_get_property), (gst_fdsrc_get):
11175         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11176         and sends an EOS event if file descriptor reading times out.
11177
11178 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11179
11180         * configure.ac:
11181           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11182
11183 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11184
11185         * configure.ac: pass required libxml version as argument
11186         (bug reported by Christophe Fergeau)
11187
11188 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11189   
11190         * docs/gst/gstreamer-docs.sgml:
11191         * docs/gst/tmpl/gstxml.sgml:
11192         * docs/libs/gstreamer-libs-docs.sgml:
11193           version API docs
11194
11195 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11196
11197         * gst/gstinfo.c:
11198         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11199         (gst_registry_pool_feature_filter):
11200         * gst/gstthread.c: (gst_thread_class_init):
11201         * gst/gstvalue.c:
11202           add includes exposed by building without libxml
11203         * gst/indexers/Makefile.am:
11204           do not build fileindex when LOADSAVE disabled; we should have
11205           a better libxml check later since fileindex depends on xml, not
11206           LOADSAVE or REGISTRY
11207         * libs/gst/control/Makefile.am:
11208           link with m
11209         * tools/Makefile.am:
11210           fix wrong source code for gst-xmlinspect
11211
11212 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11213
11214         * configure.ac:
11215           fix gcov help output
11216           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11217         * docs/random/release:
11218           some updated releasing notes
11219         * gstreamer.spec.in:
11220           more updates
11221
11222 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11223
11224         * docs/faq/faq.xml:
11225         * docs/manual/manual.xml:
11226         * docs/pwg/pwg.xml:
11227         * docs/pwg/titlepage.xml:
11228           put version in documentation
11229
11230 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11231
11232         * tools/Makefile.am: fix man page installation
11233
11234 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11235
11236         * configure.ac:
11237           don't check for libxml when load/save and registry disabled (#105844)
11238         * gstreamer.spec.in:
11239           sync with fedora candidate spec
11240
11241 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11242
11243         * po/fr.po:
11244         * po/nl.po:
11245           replace multidisksrc with multifilesrc
11246
11247 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11248
11249         * po/POTFILES.in:
11250           update to multidisksrc => multifilesrc file renaming (#134145)
11251
11252 2004-02-11  David Schleef  <ds@schleef.org>
11253
11254         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11255         * docs/gst/tmpl/gstpadtemplate.sgml: same
11256         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11257         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11258         fixing dance.
11259         * gst/gstutils.c: Remove disabled code that uses GstProps.
11260         * gst/registries/gstxmlregistry.h: same
11261         * docs/random/ds/0.9-suggested-changes: random notes
11262
11263 2004-02-11  kost@imn.htwk-leipzig.de
11264
11265         reviewed by: David Schleef  <ds@schleef.org>
11266
11267         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11268         initialisation of clock (bug #134128)
11269
11270 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * configure.ac:
11273         * gst/elements/Makefile.am:
11274         * gst/elements/gstelements.c:
11275         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11276         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11277         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11278         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11279         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11280         * gst/elements/gstmultifilesrc.h:
11281           rename multidisksrc to multifilesrc (part of #122200)
11282
11283 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11284
11285         * docs/manuals.mak:
11286           fix automake complaints
11287         * gst-element-check.m4:
11288           fix unquotedness
11289
11290 2004-02-11  David Schleef  <ds@schleef.org>
11291
11292         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11293         * gst/gstatomic_impl.h: Disable sparc implementation.
11294
11295 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11296
11297         * gst-element-check.m4:
11298           fix underquoted macros as reported by automake 1.8.x (#133800)
11299         * configure.ac:
11300           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11301           by autopoint (fixes #132996)
11302
11303 2004-02-10  Andy Wingo  <wingo@pobox.com>
11304
11305         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11306         way to do inheritance.
11307         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11308         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11309         Routine docs.
11310         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11311         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11312         doc.
11313         (gst_pad_unlink, gst_pad_is_linked): Docs.
11314         (gst_pad_renegotiate): A brief description of capsnego.
11315         (gst_pad_try_set_caps): Document.
11316         (gst_pad_try_set_caps_nonfixed): Document.
11317         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11318         (gst_pad_set_parent): Deprecated (although not out of the API).
11319         (gst_pad_get_parent): Deprecated, although many plugins use this.
11320         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11321         are private and will go away in 0.9.
11322         (gst_pad_perform_negotiate): Doc.
11323         (gst_pad_link_unnegotiate): I think this is meant to be static.
11324         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11325         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11326         (gst_pad_get_peer): Doc updates.
11327         (gst_pad_caps_change_notify): Doc.
11328         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11329         (gst_ghost_pad_new): Doc fixes.
11330
11331         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11332         (gst_object_check_uniqueness): 
11333
11334         * gst/gstelement.c (gst_element_add_pad) 
11335         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11336         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11337         (gst_element_get_static_pad, gst_element_get_pad_list) 
11338         (gst_element_class_get_pad_template_list) 
11339         (gst_element_class_get_pad_template): Work on the docs.
11340         (gst_element_get_pad_template_list): Uses the class method.
11341         (gst_element_get_compatible_pad_template): Docs, and consolidate
11342         some test conditions. 
11343         (gst_element_get_pad_from_template): New static function.
11344         (gst_element_request_compatible_pad): Docs, and work with
11345         non-request compatible templates. 
11346         (gst_element_get_compatible_pad_filtered): Docs and remove
11347         redundant checks.
11348         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11349         (gst_element_link_filtered, gst_element_link_many) 
11350         (gst_element_link, gst_element_link_pads) 
11351         (gst_element_unlink_many): Docs.
11352
11353 2004-02-05  Andy Wingo  <wingo@pobox.com>
11354
11355         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11356         s/pointer/boxed/.
11357
11358         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11359
11360         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11361         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11362         with the type=GST_TYPE_CAPS. This allows language bindings to know
11363         what kind of data they're dealing with.
11364
11365         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11366         to NULL when g_value_init is called. GstCaps, which rolls its own
11367         type implementation, now does the same instead of allocating empty
11368         caps.
11369         (_gst_caps_initialize, _gst_caps_collect_value,
11370         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11371         table methods. This allows G_VALUE_COLLECT to work.
11372
11373 2004-02-05  Andy Wingo  <wingo@pobox.com>
11374
11375         * configure.ac:
11376         * testsuite/Makefile.am (SUBDIRS): 
11377         * testsuite/ghostpads/Makefile.am: 
11378         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11379
11380         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11381         These two routines are the only ones that set
11382         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11383         pad template. They should be made static, depending on ABI needs.
11384         (gst_real_pad_dispose): Handle the case of ghost pads without a
11385         parent. Assert after dealing with ghost pads that the ghost pad
11386         list is empty.
11387         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11388         set after creation.
11389         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11390         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11391         functions. set_property will call add_ghost_pad/remove_ghost_pad
11392         as appropriate.
11393         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11394
11395         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11396         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11397         (gst_element_remove_pad): Handle ghost pads as well.
11398         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11399         depending on API-stability needs).
11400
11401 2004-02-05  Andy Wingo  <wingo@pobox.com>
11402
11403         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11404         of course they're const
11405
11406 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11407
11408         * tools/Makefile.am:
11409         * tools/gst-feedback:
11410         * tools/gst-feedback-0.7:
11411           make gst-feedback versioned too for consistency
11412
11413 2004-02-11  David Schleef  <ds@schleef.org>
11414
11415         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11416         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11417
11418 2004-02-10  Julien MOUTTE <julien@moutte.net>
11419
11420         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11421         the structure does not contain a valid tag list. Adding a safety check
11422         to remove a noisy warning in that case.
11423
11424 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * gst/gst.c: fix name to be in line with others
11427
11428 2004-02-09  Julien MOUTTE <julien@moutte.net>
11429
11430         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11431         not shout that loud when len is 0. Just return 0 silently.
11432
11433 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11434
11435         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11436         because data_unref has one and I prefer the debug to be symetric.
11437         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11438         were refed when added to the queue and unrefed only once when the queue
11439         was flushed. Now the flush handler unref the buffers two times : first
11440         unref for the ref added when pushing in the queue's tail and second
11441         unref to destroy the flushed buffer.
11442
11443 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11444
11445         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11446
11447 2004-02-06  David Schleef  <ds@schleef.org>
11448
11449         * docs/random/ds/0.9-suggested-changes: Random ramblings
11450         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11451         to int before printing.
11452         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11453         * gst/parse/parse.l: same.  See bug #129600
11454
11455 2004-02-06  David Schleef  <ds@schleef.org>
11456
11457         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11458         (gst_index_add_entry), (gst_index_add_associationv),
11459         (gst_index_add_association): Add gst_index_add_associationv()
11460         and clean up gst_index_add_association(). #127133
11461
11462 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11463
11464         * autogen.sh: check out common with right tag if CVS/Tag exists
11465
11466 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11467
11468         * testsuite/ghostpads/ghostpads.c: (main):
11469           fix testsuite from segfaulting
11470
11471 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11472
11473         * Makefile.am: add release target
11474         * configure.ac: bump nano to 1
11475         * docs/random/release:
11476
11477 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11478
11479         * gst/gstcaps.h:
11480         * gst/gstelement.c: (gst_element_base_class_init),
11481         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11482         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11483         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11484         (gst_real_pad_dispose):
11485         * gst/gststructure.c: (gst_structure_free),
11486         (gst_structure_from_string):
11487           put reverted patch back in
11488         * gst/gstelement.c: (gst_element_remove_pad):
11489           free explicit caps if they're set
11490         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11491           copy the structure when fixating
11492
11493 2004-02-05  David Schleef  <ds@schleef.org>
11494
11495         * gst/gstmarshal.list:
11496         * gst/gstpad.c: (gst_real_pad_class_init),
11497         (_gst_real_pad_fixate_accumulator):
11498         Revert POINTER->BOXED change in signal marshaller.
11499
11500 === release 0.7.4 ===
11501                                                                                 
11502 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11503                                                                                 
11504         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11505         * configure.ac: changed for release
11506
11507 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11508
11509         * gstreamer.spec.in:
11510           bump required version of gtk-doc
11511
11512 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11513
11514         * gst/gstcaps.h:
11515         * gst/gstelement.c: (gst_element_base_class_init),
11516         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11517         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11518         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11519         (gst_real_pad_dispose):
11520         * gst/gststructure.c: (gst_structure_free),
11521         (gst_structure_from_string):
11522           revert patch that breaks applications, reapply after release
11523           to get this fixed properly
11524
11525 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11526
11527         * gst/gsttag.c: (_gst_tag_initialize):
11528         * gst/gsttag.h:
11529           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11530
11531 2004-02-04  David Schleef  <ds@schleef.org>
11532
11533         Fix some memleaks:
11534         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11535         (gst_spider_plug_from_srcpad):
11536         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11537
11538 2004-02-04  David Schleef  <ds@schleef.org>
11539
11540         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11541         a GstRealPad before accessing its structure members.
11542
11543 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11544
11545         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11546         (gst_clock_get_speed):
11547         * gst/gstclock.h:
11548           reset padding, remove unused fields
11549
11550 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11551
11552         * gst/autoplug/gstspideridentity.c:
11553         (gst_spider_identity_sink_loop_type_finding):
11554           use get_allowed_caps, not get_caps (fixes #132519)
11555         * gst/elements/gsttypefind.c: (stop_typefinding):
11556           use correct order when sending buffers and seeking
11557
11558 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11559
11560         * configure.ac:
11561         * gst/gstelement.h:
11562         * gst/gstpad.h:
11563         * gst/gstqueue.h:
11564           upgrade libtool CURRENT, reset padding
11565
11566 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11567
11568         * configure.ac:
11569           bump to prerelease
11570           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11571
11572 2004-02-04  David Schleef  <ds@schleef.org>
11573
11574         * docs/random/ds/0.9-suggested-changes: random notes
11575         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11576         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11577         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11578         expansion.
11579         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11580         (gst_filesink_get_query_types): same
11581         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11582         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11583         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11584         to use new GST_PTR_FORMAT.
11585         * gst/gstelement.h: deprecate function factory macros
11586         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11587         These are our last variadic macros that can't be replaced with
11588         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11589         attempting to deprecate gst_element_clock_wait().
11590         * gst/gstevent.h: same
11591         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11592         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11593         * gst/gstpad.h: deprecate function factory macros similar to above.
11594
11595 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11596
11597         * configure.ac:
11598         * tools/Makefile.am:
11599         * tools/gst-run.c: (popt_callback), (hash_print_key),
11600         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11601         (get_candidates), (main):
11602           add new source file to generate non-versioned wrapper binaries
11603           for our tools.
11604
11605 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11606
11607         * gst/gstevent.c: (_gst_event_free):
11608           actually break; inside the switch statement
11609         * gst/parse/grammar.y:
11610           fix memleak where GValues weren't unset
11611
11612 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11613
11614         * gst/gststructure.c: (gst_structure_from_string):
11615           fix huge memleak
11616         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11617         (new_entry), (gst_type_find_element_chain):
11618         * gst/gstelement.c: (gst_element_base_class_init),
11619         (gst_element_class_set_details):
11620         * gst/gstpad.c: (gst_pad_can_link_filtered):
11621           fix smaller memleaks
11622         * gst/gstpad.c: (gst_real_pad_dispose):
11623           check that explicit caps are gone
11624         * gst/gststructure.c: (gst_structure_free):
11625           actually free the structure
11626         * gst/gstelement.c: (gst_element_clear_pad_caps):
11627           unset explicit caps
11628
11629 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11630
11631         * tools/Makefile.am:
11632           use AM_CFLAGS since all the CFLAGS are the same
11633           use AM_LDFAGS
11634
11635 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11636
11637         * docs/manual/gnome.xml:
11638           expand example a little
11639         * gst/gst.c: (gst_init_with_popt_table),
11640         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11641           make sure popt option displays are done with right textdomain
11642           use GstPoptOption type
11643         * gst/gst.h:
11644           create GstPoptOption type
11645
11646 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11647
11648         * gst/gsterror.c: (_gst_stream_errors_init):
11649         * gst/gsterror.h:
11650           adding error type for no codec
11651         * po/POTFILES.in:
11652           add gst-inspect
11653         * po/nl.po:
11654           update dutch translation
11655         * tools/gst-inspect.c: (print_element_list), (main):
11656           do proper internationalization
11657         * tools/gst-launch.c: (idle_func):
11658           remove commented out function call
11659
11660 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11661
11662         * docs/README:
11663           add some error fixing notes
11664         * docs/gst/gstreamer-sections.txt:
11665           remove double entries
11666         * docs/gst/tmpl/gstbin.sgml:
11667         * docs/gst/tmpl/gstclock.sgml:
11668           remove override
11669         * docs/gst/tmpl/gstelement.sgml:
11670         * docs/gst/tmpl/gstindex.sgml:
11671         * docs/gst/tmpl/gstobject.sgml:
11672         * docs/gst/tmpl/gstpadtemplate.sgml:
11673         * docs/gst/tmpl/gstreamer-unused.sgml:
11674         * docs/gst/tmpl/gsttag.sgml:
11675         * docs/gst/tmpl/gstthread.sgml:
11676         * docs/gst/tmpl/gstxml.sgml:
11677         * gst/gsttag.h:
11678           sync header prototypes with c decls
11679         * gst/gsttaginterface.c:
11680           fix doc headers
11681
11682 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11683
11684         * gst/parse/Makefile.am:
11685         * gst/gstobject.h:
11686           get rid of gstmarshal.h dependency. It's not needed.
11687         * gst/gst.h:
11688         * gst/elements/gstfakesink.c:
11689         * gst/elements/gstfakesrc.c:
11690         * gst/elements/gstidentity.c:
11691         * gst/gstbin.c:
11692         * gst/gstelement.c:
11693         * gst/gstindex.c:
11694         * gst/gstobject.c:
11695         * gst/gstpad.c:
11696         * gst/gstthread.c:
11697         * gst/gstxml.c:
11698         * libs/gst/control/dparam.c:
11699         * libs/gst/control/dparammanager.c:
11700           include gstmarshal.h.
11701         Fixes #132045
11702
11703 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11704
11705         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11706         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11707         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11708         * gst/elements/gstfilesrc.h:
11709           don't ref the filesrc when creating mmaped buffers. Don't keep a
11710           list of not-yet-destroyed buffers.
11711         * gst/gstbuffer.h:
11712           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11713
11714 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11715
11716         * gst/gst.c: (init_pre):
11717           remove textdomain
11718
11719 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11720
11721         * docs/pwg/advanced-events.xml:
11722         * docs/pwg/advanced-scheduling.xml:
11723         * docs/pwg/intro-basics.xml:
11724         * docs/pwg/other-manager.xml:
11725         * docs/pwg/other-nton.xml:
11726         * docs/pwg/other-ntoone.xml:
11727         * docs/pwg/other-oneton.xml:
11728         * docs/pwg/pwg.xml:
11729           All sort of documentation... Forgot what. Point is that I want this
11730           in before I leave. The 'other-*' will be the last section and will
11731           explain issues specific to these type of elements.
11732
11733 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11734
11735         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11736         (gst_filesrc_get_read):
11737           set all the values on buffers that we can
11738
11739 2004-02-02  David Schleef  <ds@schleef.org>
11740
11741         Change usage of isblah() to g_ascii_isblah() to be more locale
11742         independent.  (#133076)
11743         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11744         * gst/gstutils.c:
11745         * gst/parse/parse.l:
11746
11747 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11748
11749         reviewed by: David Schleef  <ds@schleef.org>
11750
11751         Fix memory leaks:
11752         * gst/gstcaps.c: (gst_caps_to_string):
11753         * gst/registries/gstxmlregistry.c:
11754         (gst_xml_registry_add_path_list_func),
11755         (gst_xml_registry_parse_padtemplate):
11756
11757 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11758
11759         * gst/gstelement.c: (gst_element_default_error):
11760           suffix error messages with period
11761
11762 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11763
11764         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11765         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11766         * gst/gsterror.c: (gst_error_get_message):
11767           Suffix with dots
11768         * po/fr.po:
11769         * po/nl.po:
11770           Update translation files
11771
11772 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11773
11774         * gst/autoplug/gstspideridentity.c:
11775         (gst_spider_identity_sink_loop_type_finding):
11776         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11777         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11778         (gst_filesink_close_file), (gst_filesink_handle_event),
11779         (gst_filesink_chain):
11780         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11781         (gst_filesrc_get_read), (gst_filesrc_open_file):
11782         * gst/elements/gstidentity.c: (gst_identity_chain):
11783         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11784         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11785         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11786         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11787         * gst/gsterror.c: (_gst_core_errors_init),
11788         (_gst_library_errors_init), (_gst_resource_errors_init),
11789         (_gst_stream_errors_init), (gst_error_get_message):
11790         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11791         (gst_pad_recover_caps_error), (gst_pad_pull):
11792         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11793         * gst/schedulers/gstbasicscheduler.c:
11794         (gst_basic_scheduler_chainhandler_proxy),
11795         (gst_basic_scheduler_gethandler_proxy),
11796         (gst_basic_scheduler_cothreaded_chain):
11797           Suffix error messages with period.
11798           Use (NULL) instead of NULL
11799
11800 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11801
11802         * docs/gst/tmpl/gstelement.sgml:
11803         * docs/gst/tmpl/gstxml.sgml:
11804         * gst/gstelement.c: (gst_element_error_full):
11805           add element path to error
11806
11807 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11808
11809         * docs/random/mimetypes:
11810           update raw int/float info
11811         * gst/gsttag.c: (_gst_tag_initialize):
11812         * gst/gsttag.h:
11813           add GST_TAG_ENCODER
11814
11815 2004-01-30  David Schleef  <ds@schleef.org>
11816
11817         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11818           missing (#132991)
11819
11820 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11821
11822         reviewed by Benjamin Otte 
11823           parts of the patch submitted in bug #113913
11824
11825         * configure.ac:
11826           use AC_C_INLINE. Use = instead of == with test
11827         * examples/plugins/example.c:
11828         * gst/autoplug/gstspideridentity.c:
11829         * gst/elements/gstfdsrc.c:
11830         * gst/elements/gstfilesrc.c:
11831         * gst/elements/gstidentity.c:
11832         * gst/elements/gstmultidisksrc.c:
11833         * gst/elements/gststatistics.c:
11834         * gst/gstelement.c:
11835         * gst/gstobject.c:
11836         * gst/gstpad.c:
11837         * gst/gstpipeline.c:
11838         * gst/gstthread.c:
11839           don't end enums with a comma
11840         * gst/gstindex.c: (gst_index_compare_func):
11841           do explicit casting to gint
11842         * gst/gsttrace.c: (gst_trace_text_flush):
11843           #define strsize as a macro
11844
11845 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11846
11847         * docs/README:
11848         * docs/gst/gstreamer-docs.sgml:
11849         * docs/gst/gstreamer-sections.txt:
11850         * docs/gst/tmpl/gstelement.sgml:
11851         * docs/gst/tmpl/gsterror.sgml:
11852         * docs/gst/tmpl/gstinterface.sgml:
11853         * docs/gst/tmpl/gstreamer-unused.sgml:
11854         * docs/gst/tmpl/gststructure.sgml:
11855         * docs/gst/tmpl/gsttag.sgml:
11856         * docs/gst/tmpl/gsttaginterface.sgml:
11857         * docs/gst/tmpl/gstvalue.sgml:
11858         make sure all API ends up in the built docs
11859         * gst/gstinterface.c:
11860         * gst/gststructure.c: (gst_structure_id_set_value),
11861         (gst_structure_set_value), (gst_structure_id_get_value):
11862         * gst/gststructure.h:
11863         * gst/gstvalue.h:
11864         sync .h with .c declarations
11865
11866 2004-01-30  Julien Moutte  <julien@moutte.net>
11867
11868         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11869         Ronald will fix riffread.
11870
11871 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11872
11873         * docs/pwg/advanced-interfaces.xml:
11874           Added tuner interface docs.
11875
11876 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11877
11878         * docs/random/mimetypes:
11879           correct Theora information
11880         * gst/gstelement.h:
11881           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11882
11883 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * gst/gstelement.c: (gst_element_error_full):
11886         * gst/gstelement.h:
11887           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11888
11889 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11890
11891         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11892         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11893         again and even before DISCONT.
11894         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11895         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11896         bytestream so that it's not stopping to fill the bytestream if events
11897         different than EOS or DISCONT are received. Instead it process them so
11898         that they go downstream.
11899
11900 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11901
11902         * docs/gst/tmpl/gstelement.sgml:
11903         * docs/gst/tmpl/gstreamer-unused.sgml:
11904         * docs/gst/tmpl/gstxml.sgml:
11905         * gst/autoplug/gstspideridentity.c:
11906         (gst_spider_identity_sink_loop_type_finding):
11907         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11908         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11909         (gst_filesink_close_file), (gst_filesink_handle_event),
11910         (gst_filesink_chain):
11911         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11912         (gst_filesrc_get_read), (gst_filesrc_open_file):
11913         * gst/elements/gstidentity.c: (gst_identity_chain):
11914         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11915         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11916         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11917         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11918         * gst/gstelement.h:
11919         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11920         (gst_pad_recover_caps_error), (gst_pad_pull):
11921         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11922         * gst/schedulers/gstbasicscheduler.c:
11923         (gst_basic_scheduler_chainhandler_proxy),
11924         (gst_basic_scheduler_gethandler_proxy),
11925         (gst_basic_scheduler_cothreaded_chain):
11926           gst_element_error -> GST_ELEMENT_ERROR
11927
11928 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11929
11930         * docs/Makefile.am:
11931         * docs/gst/tmpl/gstelement.sgml:
11932         * docs/gst/tmpl/gstxml.sgml:
11933         * docs/manuals.mak:
11934         * docs/pwg/advanced-request.xml:
11935         * docs/pwg/advanced-scheduling.xml:
11936         * docs/pwg/advanced-tagging.xml:
11937           fix non-validating docbook using CDATA
11938           make sure make check-local gets run first to check if it validates
11939
11940 2004-01-29  Julien MOUTTE <julien@moutte.net>
11941
11942         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11943         handling (up and downstream).
11944         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11945         my_filter thing.
11946
11947 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11948
11949         * docs/pwg/advanced-tagging.xml:
11950           Add docs about tag writing.
11951
11952 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11953
11954         * docs/pwg/advanced-tagging.xml:
11955           Add a part about tag reading and application signalling... Tag
11956           writing still needs to be documented.
11957         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11958           We can set file locations in READY, too.
11959
11960 2004-01-29  Julien MOUTTE <julien@moutte.net>
11961
11962         * docs/random/ds/element-checklist: Adding some notes about src
11963         events.
11964
11965 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11966
11967         * docs/random/mimetypes:
11968           Update docs to point to correct elements for various mimetypes, and
11969           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11970           <stephane.loeuillet@tiscali.fr>.
11971
11972 2004-01-28  David Schleef  <ds@schleef.org>
11973
11974         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11975
11976 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11977
11978         * docs/random/mimetypes:
11979           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11980           undefined"
11981         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11982           make it only work in NULL.
11983         * gst/gstcaps.c:
11984           don't posion NULL caps
11985         * gst/gstelement.c: (gst_element_set_time):
11986           add debugging statement
11987         * gst/gstelement.c: (gst_element_emit_found_tag),
11988         (gst_element_found_tag_func), (gst_element_found_tags):
11989         * gst/gstelement.h:
11990           These functions take const taglists
11991         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11992           fix memleak
11993         * gst/gstpad.c: (gst_pad_event_default):
11994           make more effort on handling discont and clocks, g_warn if everything
11995           fails
11996         * gst/gststructure.c: (gst_structure_remove_fields),
11997         (gst_structure_remove_fields_valist):
11998         * gst/gststructure.h:
11999           add gst_structure_remove_fields(_valist)
12000         * gst/gsttag.c:
12001           fix doc glitch
12002
12003 2004-01-28  David Schleef  <ds@schleef.org>
12004
12005         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12006         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12007         Fix memory leakage of gst_caps_to_string().
12008
12009         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12010         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12011         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12012         (gst_spider_identity_sink_loop_type_finding):
12013         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12014         (find_suggest):
12015         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12016         (gst_pad_set_explicit_caps):
12017         * gst/parse/grammar.y:
12018
12019 2004-01-28  David Schleef  <ds@schleef.org>
12020
12021         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12022         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12023         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12024         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12025         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12026         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12027         (gst_debug_log_default), (_gst_info_printf_extension),
12028         (_gst_info_printf_extension_arginfo):  Add printf extension.
12029         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12030         * gst/gststructure.c: (gst_structure_to_string),
12031         (_gst_structure_parse_value): Use gst_value_deserialize() and
12032         remove old code.
12033         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12034         (gst_value_deserialize_boolean), (gst_strtoi),
12035         (gst_value_deserialize_int), (gst_value_deserialize_double),
12036         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12037         a bunch of deserialize functions and gst_value_deserialize.
12038         * gst/gstvalue.h: er, _de_serialize, not unserialize
12039         * testsuite/caps/string-conversions.c: (main): We don't currently
12040         handle (float) in caps, so convert these to (double).
12041         * testsuite/debug/Makefile.am: Add new test for the printf extension
12042         * testsuite/debug/printf_extension.c: (main): same
12043
12044 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12045
12046         * docs/random/company/time:
12047           Add some docs about clocking and time
12048
12049 2004-01-28  Julien MOUTTE <julien@moutte.net>
12050
12051         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12052
12053 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12054
12055         * docs/pwg/advanced-clock.xml:
12056         * docs/pwg/advanced-dparams.xml:
12057         * docs/pwg/advanced-events.xml:
12058         * docs/pwg/advanced-interfaces.xml:
12059         * docs/pwg/advanced-midi.xml:
12060         * docs/pwg/advanced-request.xml:
12061         * docs/pwg/advanced-scheduling.xml:
12062         * docs/pwg/advanced-tagging.xml:
12063         * docs/pwg/advanced-types.xml:
12064         * docs/pwg/appendix-checklist.xml:
12065         * docs/pwg/building-boiler.xml:
12066         * docs/pwg/building-chainfn.xml:
12067         * docs/pwg/building-filterfactory.xml:
12068         * docs/pwg/building-pads.xml:
12069         * docs/pwg/building-props.xml:
12070         * docs/pwg/building-signals.xml:
12071         * docs/pwg/building-state.xml:
12072         * docs/pwg/building-testapp.xml:
12073         * docs/pwg/intro-basics.xml:
12074         * docs/pwg/intro-preface.xml:
12075         * docs/pwg/other-autoplugger.xml:
12076         * docs/pwg/other-sink.xml:
12077         * docs/pwg/other-source.xml:
12078         * docs/pwg/titlepage.xml:
12079           fix up id's
12080
12081 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12082
12083         * docs/95NonPath:
12084         * docs/HACKING:
12085         * docs/README:
12086         * docs/building-the-docs-on-debian:
12087           collect relevant bits of doc info
12088
12089 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12090
12091         * docs/pwg/advanced_tagging.xml:
12092           Half-assed commit so Thomas can re-arrange document IDs here to be
12093           consistent, too.
12094
12095 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12096
12097         * docs/manual/autoplugging.xml:
12098         * docs/manual/bins-api.xml:
12099         * docs/manual/bins.xml:
12100         * docs/manual/buffers-api.xml:
12101         * docs/manual/buffers.xml:
12102         * docs/manual/clocks.xml:
12103         * docs/manual/components.xml:
12104         * docs/manual/cothreads.xml:
12105         * docs/manual/debugging.xml:
12106         * docs/manual/dparams-app.xml:
12107         * docs/manual/dynamic.xml:
12108         * docs/manual/elements-api.xml:
12109         * docs/manual/elements.xml:
12110         * docs/manual/factories.xml:
12111         * docs/manual/gnome.xml:
12112         * docs/manual/goals.xml:
12113         * docs/manual/helloworld.xml:
12114         * docs/manual/helloworld2.xml:
12115         * docs/manual/init-api.xml:
12116         * docs/manual/intro.xml:
12117         * docs/manual/links-api.xml:
12118         * docs/manual/links.xml:
12119         * docs/manual/manual.xml:
12120         * docs/manual/motivation.xml:
12121         * docs/manual/pads-api.xml:
12122         * docs/manual/pads.xml:
12123         * docs/manual/plugins-api.xml:
12124         * docs/manual/plugins.xml:
12125         * docs/manual/programs.xml:
12126         * docs/manual/queues.xml:
12127         * docs/manual/quotes.xml:
12128         * docs/manual/schedulers.xml:
12129         * docs/manual/states-api.xml:
12130         * docs/manual/states.xml:
12131         * docs/manual/threads.xml:
12132         * docs/manual/typedetection.xml:
12133         * docs/manual/xml.xml:
12134           use chapter, part, section or misc as id starts for all bits
12135
12136 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12137
12138         * docs/gst/gstreamer-sections.txt:
12139           Fix up TITLE of the sections
12140
12141 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12142
12143         * docs/pwg/advanced_interfaces.xml:
12144           Add documentation on propertyprobing.
12145         * docs/pwg/advanced_events.xml:
12146         * docs/pwg/advanced_tagging.xml:
12147         * docs/pwg/building_boiler.xml:
12148         * docs/pwg/building_filterfactory.xml:
12149         * docs/pwg/pwg.xml:
12150           Move filterfactory and tagging into their own chapter, add a chapter
12151           on events. all these are empty placeholders that will be filled in
12152           some day.
12153
12154 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12155
12156         * docs/pwg/advanced_interfaces.xml:
12157           Docs for mixer interface. Also a check for website uploading.
12158
12159 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12160
12161         * docs/HACKING:
12162         * docs/Makefile.am:
12163         * docs/faq/Makefile.am:
12164         * docs/gst/Makefile.am:
12165         * docs/gst/tmpl/gstelement.sgml:
12166         * docs/gst/tmpl/gstplugin.sgml:
12167         * docs/gst/tmpl/gstreamer-unused.sgml:
12168         * docs/libs/Makefile.am:
12169         * docs/manual/Makefile.am:
12170         * docs/manuals.mak:
12171         * docs/pwg/Makefile.am:
12172         * docs/upload.mak:
12173           Separate out upload target and make it similar for
12174           both docbook and gtk-doc docs
12175
12176 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12177
12178         * docs/manuals.mak:
12179           Fix upload target to work with freedesktop
12180
12181 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12182
12183         * docs/pwg/advanced_types.xml:
12184           Add notes on creating your own types.
12185         * docs/pwg/building_boiler.xml:
12186         * docs/pwg/building_pads.xml:
12187         * docs/pwg/building_state.xml:
12188           Add some stuff about how to retrieve values from structures, how
12189           that relates to types and change layout slightly again to be almost
12190           perfect.
12191
12192 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12193
12194         * docs/pwg/advanced_dparams.xml:
12195         * docs/pwg/advanced_scheduling.xml:
12196           Change index layout slightly.
12197
12198 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12199
12200         * docs/pwg/advanced_clock.xml:
12201         * docs/pwg/advanced_interfaces.xml:
12202         * docs/pwg/advanced_midi.xml:
12203           General placeholders for now.
12204         * docs/pwg/advanced_request.xml:
12205           Explanation about sometimes and request pads.
12206         * docs/pwg/advanced_scheduling.xml:
12207           Concept of bytestream, loopfunctions and schedulers.
12208         * docs/pwg/building_boiler.xml:
12209           Add something about plugin-init.
12210
12211 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12212
12213         * docs/pwg/building_pads.xml:
12214           Fix broken docbook
12215
12216 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12217
12218         * docs/pwg/advanced_interfaces.xml:
12219         * docs/pwg/pwg.xml:
12220           Add as a placeholder for future filling-in.
12221         * docs/pwg/basics_autoplugging.xml:
12222         * docs/pwg/basics_buffers.xml:
12223         * docs/pwg/basics_elements.xml:
12224         * docs/pwg/basics_events.xml:
12225         * docs/pwg/basics_plugins.xml:
12226         * docs/pwg/basics_types.xml:
12227           Remove, because unused (this is all in intro_basics.xml).
12228         * docs/pwg/building_signals.xml:
12229           Short intro to signals + reference to GObject docs - we really
12230           shouldn't go into these sort of things to deply because we don't
12231           use them that extensively anyway.
12232         * docs/pwg/building_state.xml:
12233           Explanation of states. Benjamin, please check.
12234         * docs/pwg/building_testapp.xml:
12235           Put everything in one page - putting only a few lines of content
12236           per page doesn't really make sense.
12237
12238           Time to get into the advanced topics. ;).
12239
12240 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12241
12242         * docs/pwg/advanced_types.xml:
12243           Finish documenting the current state of mimetypes.
12244         * docs/pwg/building_boiler.xml:
12245         * docs/pwg/building_chainfn.xml:
12246         * docs/pwg/building_pads.xml:
12247         * docs/pwg/building_props.xml:
12248         * docs/pwg/building_testapp.xml:
12249           Start documenting the "how to build a simple audio filter" part
12250           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12251           states and (maybe?) a short introduction to capsnego in the chapter
12252           on pads (building_pads.xml). Capsnego should probably be explained
12253           fully in advanced_capsnego.xml or so.
12254
12255 2004-01-26  David Schleef  <ds@schleef.org>
12256
12257         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12258         * gst/gstpad.h: Add new function to allow element to (somewhat)
12259         specify non-fixed caps on a pad.
12260         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12261         that I added a few weeks ago.
12262
12263 2004-01-26  David Schleef  <ds@schleef.org>
12264
12265         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12266           making try_set_caps() work with non-fixed caps.
12267
12268 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12269
12270         * docs/pwg/advanced_types.xml:
12271         * docs/pwg/intro_basics.xml:
12272         * docs/pwg/intro_preface.xml:
12273         * docs/pwg/pwg.xml:
12274         * docs/pwg/titlepage.xml:
12275           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12276           in here (docs/random/mimetypes), and will from there on work on both
12277           updating outdated parts and adding missing parts.
12278           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12279
12280 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12281
12282         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12283           policy is set
12284
12285 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12286
12287         * gst/gstelement.h:
12288           remove gst_element_factory_get_version. It doesn't exist anymore.
12289         * gst/gstplugin.c:
12290         * gst/gstplugin.h:
12291           remove gst_plugin_set_name and change gst_plugin_get_longname to
12292           gst_plugin_get_description to match code.
12293         * gst/gsterror.h:
12294           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12295         * gst/gstpad.c: (gst_pad_try_set_caps):
12296           make it work with nonfixed caps.
12297           Note that even in the nonfixed case the link function of the pad
12298           that tries to set caps isn't called.
12299
12300 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12301
12302         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12303           fix bug where buffer was not assembled correctly
12304         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12305           silence by default
12306         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12307           only seek if there's no more buffers that could work without seeking
12308
12309 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12310
12311         * gst/gsttag.c: (_gst_tag_initialize):
12312         * gst/gsttag.h:
12313           Add application tag (for encoding/muxing app).
12314
12315 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12316
12317         * autogen.sh:
12318           make autopoint force, and libtoolize not copy
12319         * common/m4/as-docbook.m4:
12320           added docbook xml catalog setup check
12321         * common/m4/gst-doc.m4:
12322           use docbook check
12323
12324 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12325
12326         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12327         * gst/gsttag.h:
12328           add GstTagFlag
12329
12330 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12331
12332         * docs/gst/gstreamer-sections.txt:
12333         * docs/gst/tmpl/gst.sgml:
12334         * docs/gst/tmpl/gstbuffer.sgml:
12335         * docs/gst/tmpl/gstclock.sgml:
12336         * docs/gst/tmpl/gstelement.sgml:
12337         * docs/gst/tmpl/gstreamer-unused.sgml:
12338         * docs/gst/tmpl/gstxml.sgml:
12339           sync latest API changes to docs
12340
12341 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         * gst/gstpluginfeature.c:
12344           fix doc snippet
12345         * tools/gst-inspect.c: (print_element_list):
12346           fix output of typefind
12347           add GPL header
12348         * tools/gst-launch.c:
12349           add GPL header
12350
12351 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12352
12353         * gst/elements/Makefile.am:
12354         * gst/elements/gstelements.c:
12355         * gst/elements/gsttypefindelement.c:
12356         * gst/elements/gsttypefindelement.h:
12357         * po/POTFILES.in:
12358         * po/fr.po:
12359         * po/nl.po:
12360           renamed gsttypefindelement to gsttypefind, conserving CVS history
12361
12362 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12365         * gst/gsttag.h:
12366           add some tags used in ogg as well
12367           fix _ in replaygain tags
12368
12369 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * gst/gsterror.h:
12372           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12373
12374 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12375
12376         * gst/gstelement.c: (gst_element_error_full):
12377         * gst/gstelement.h:
12378           change _extended to _full
12379
12380 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12381
12382         reviewed by: <delete if not using a buddy>
12383
12384         * docs/gst/tmpl/gst.sgml:
12385         * docs/gst/tmpl/gstbuffer.sgml:
12386         * docs/gst/tmpl/gstclock.sgml:
12387         * docs/gst/tmpl/gstelement.sgml:
12388         * docs/gst/tmpl/gstreamer-unused.sgml:
12389         * docs/gst/tmpl/gstxml.sgml:
12390         * gst/gstelement.c: (gst_element_error_full):
12391         * gst/gstelement.h:
12392
12393 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12394
12395         * gst/gstelement.h: fix _gst_element_error_printf prototype
12396
12397 2004-01-20  David Schleef  <ds@schleef.org>
12398
12399         * gst/gststructure.c: (gst_structure_to_string):
12400         Convert function to use gst_value_serialize().
12401         * gst/gstvalue.c: (gst_value_serialize_list),
12402         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12403         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12404         (gst_value_serialize_int), (gst_value_serialize_double),
12405         (gst_string_wrap), (gst_value_serialize_string),
12406         (gst_value_serialize), (gst_value_deserialize):
12407         * gst/gstvalue.h:
12408         Add implementations for serialize.
12409
12410 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12411
12412         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12413         we want to keep that one in the future or change xvidenc.c to use 
12414         another error.
12415
12416 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * gst/gstelement.c: (_gst_element_error_printf):
12419         * gst/gstelement.h:
12420           privatise function
12421
12422 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12423
12424         * docs/random/error:
12425           doc explaining error system
12426         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12427           cleanup
12428
12429 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12430
12431         * gst/gst-i18n-app.h:
12432         * gst/gst-i18n-lib.h:
12433           remove inclusion of config.h
12434         * po/POTFILES.in:
12435         * po/nl.po:
12436           add gst/gstelement.c
12437
12438 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12439
12440         * po/nl.po: updated Dutch translation
12441
12442 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12443
12444         * gst/gsterror.c: (_gst_core_errors_init),
12445         (_gst_library_errors_init), (_gst_resource_errors_init),
12446         (_gst_stream_errors_init):
12447         remove ending punctuation dots
12448
12449 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12450
12451         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12452         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12453         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12454         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12455         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12456         use GST_ERROR_SYSTEM
12457
12458 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * gst/gstelement.c: (gst_element_error_printf),
12461         (gst_element_error_extended):
12462         * gst/gstelement.h:
12463           add a helper printf function so we can have NULL values passed.
12464
12465 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12466
12467         * gst/gstelement.h:
12468           add G_STMT macros to gst_element_error, which isn't strictly
12469           necessary but people tell me to anyway.
12470
12471 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12472
12473         * gst/Makefile.am:
12474         * gst/autoplug/gstspideridentity.c:
12475         (gst_spider_identity_sink_loop_type_finding):
12476         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12477         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12478         (gst_filesink_close_file), (gst_filesink_handle_event),
12479         (gst_filesink_chain):
12480         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12481         (gst_filesrc_map_region), (gst_filesrc_get_read),
12482         (gst_filesrc_open_file):
12483         * gst/elements/gstidentity.c: (gst_identity_chain):
12484         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12485         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12486         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12487         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12488         * gst/gst.h:
12489         * gst/gst_private.h:
12490         * gst/gstelement.c: (gst_element_class_init),
12491         (gst_element_default_error), (gst_element_error_func),
12492         (gst_element_error_extended):
12493         * gst/gstelement.h:
12494         * gst/gsterror.c: (_gst_core_errors_init),
12495         (_gst_library_errors_init), (_gst_resource_errors_init),
12496         (_gst_stream_errors_init), (gst_error_get_message):
12497         * gst/gsterror.h:
12498         * gst/gstinfo.c: (_gst_debug_init):
12499         * gst/gstmarshal.list:
12500         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12501         (gst_pad_recover_caps_error), (gst_pad_pull):
12502         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12503         * gst/schedulers/gstbasicscheduler.c:
12504         (gst_basic_scheduler_chainhandler_proxy),
12505         (gst_basic_scheduler_gethandler_proxy),
12506         (gst_basic_scheduler_cothreaded_chain):
12507         * po/POTFILES.in:
12508         * po/fr.po:
12509         * po/nl.po:
12510           change error signal
12511           add error categories
12512
12513 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12514
12515         * gst/gsttag.c: (_gst_tag_initialize):
12516         * gst/gsttag.h:
12517         Add replaygain tag
12518
12519 2004-01-18  Colin Walters  <walters@verbum.org>
12520
12521         * examples/retag/retag.c: Call gst_init before processing
12522         program args.  Add g_assert to _link_many call.
12523
12524 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12525
12526         * gst/gstpad.c: (gst_pad_alloc_buffer):
12527           Return a newly allocated buffer when the pad has no peer.
12528
12529 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12530
12531         * gst/gstclock.c: (gst_clock_get_time):
12532           make it compile with gcc 2.95 again.
12533           Patch by Scott Wheeler
12534
12535 2004-01-15  David Schleef  <ds@schleef.org>
12536
12537         * gst/gstcaps.h:
12538         Added gst_caps_is_simple() macro.
12539         * testsuite/caps/caps.c: (test1):
12540         * testsuite/caps/intersect2.c: (main):
12541         * testsuite/caps/intersection.c: (main):
12542         Fixes to make 'make check' work again after removing
12543         gst_caps_is_chained().
12544
12545 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12546
12547         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12548         and additions to the MIDI document.
12549
12550 2004-01-15  David Schleef  <ds@schleef.org>
12551
12552         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12553         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12554         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12555
12556 2004-01-15  David Schleef  <ds@schleef.org>
12557
12558         * gst/gstqueue.c:
12559         * gst/gstqueue.h:
12560         Fix the spelling of "treshold" and make min_threshold actually
12561         affect the queue.
12562
12563 2004-01-15  David Schleef  <ds@schleef.org>
12564
12565         * gst/gstcaps.c:
12566         Add lots of documentation.
12567         * gst/gstcaps.h:
12568         Deprecate a few functions.
12569         * gst/gstpad.c:
12570         Removed use of deprecated functions.
12571
12572 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12573
12574         * gst/gstpad.c: (gst_pad_is_linked):
12575         * gst/gstpad.h:
12576           implement gst_pad_is_linked
12577         * gst/gstelement.h:
12578           reserve space for initiate_state_change
12579
12580 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12581
12582         * gst/autoplug/gstspideridentity.c:
12583         (gst_spider_identity_sink_loop_type_finding):
12584           break infinite loop by just returning instead of looping
12585         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12586           set event time difference correctly. Set it to 1 second instead
12587           of 100ms to be more tolerant
12588         * gst/gstelement.c: (gst_element_set_time):
12589           add debugging output
12590
12591 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12592
12593         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12594           query if buffers are inside the pool, ignore events
12595
12596 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12597
12598         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12599         (gst_clock_set_speed), (gst_clock_set_active),
12600         (gst_clock_is_active), (gst_clock_reset),
12601         (gst_clock_handle_discont):
12602         * gst/gstclock.h:
12603           deprecate old interface and disable functions that aren't in use
12604           anymore.
12605         * gst/gstelement.h:
12606         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12607         (gst_element_set_time), (gst_element_adjust_time):
12608           add concept of "element time" and functions to get/set this time.
12609         * gst/gstelement.c: (gst_element_change_state):
12610           update element time correctly.
12611         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12612           This is a debug message, not a g_critical.
12613         * gst/gstpad.c: (gst_pad_event_default):
12614           handle discontinuous events right with element time.
12615         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12616           update to clocking fixes.
12617           set clocks on elements in READY=>PAUSED. The old behaviour caused
12618           a wrong element time on the first element that started playing.
12619         * gst/schedulers/gstbasicscheduler.c:
12620         (gst_basic_scheduler_class_init):
12621         * gst/schedulers/gstoptimalscheduler.c:
12622         (gst_opt_scheduler_class_init):
12623           remove code that just implements the default behaviour.
12624         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12625           update to use new clocking functions
12626         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12627         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12628           update to test new element time.
12629         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12630           use _get_allowed_caps instead of _get_caps. This catches filtered
12631           caps correctly.
12632         * testsuite/debug/commandline.c:
12633           update for new GST_DEBUG syntax.
12634         * testsuite/threads/Makefile.am:
12635           disable a test that only works sometimes.
12636
12637 2004-01-13  Julien MOUTTE <julien@moutte.net>
12638
12639         * po/LINGUAS: Adding fr.
12640         * po/fr.po: Adding french translation.
12641
12642 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12643
12644         * gst/parse/grammar.y:
12645         * po/POTFILES.in:
12646         * po/nl.po:
12647         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12648           translate parsing error messages
12649
12650 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12651
12652         * po/POTFILES.in: adding gst-launch
12653         * po/nl.po: updated translation, all 99 strings translated
12654         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12655         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12656           fix strings for translation
12657
12658 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12659
12660         * gst/gst.c:
12661           - capitalize beginnings of popt options
12662           - fix strings for translation
12663           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12664
12665 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12666
12667         * po/README: add some notes on how to update translations
12668
12669 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12670
12671         * ABOUT-NLS: removed, is autogenerated from autopoint
12672         * autogen.sh: add autopoint stuff
12673         * configure.ac: fix up gettext stuff
12674         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12675         * gst/elements/gsttypefindelement.c: add header include
12676         * gst/gettext.h: add header, copy from system-installed header
12677         * gst/gst-i18n-app.h: to be included by each app having translations
12678         * gst/gst-i18n-lib.h: to be included by each lib having translations
12679         * gst/gst.c: (init_pre): fix up gettext calls
12680         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12681         * po/LINGUAS: the new way to specify translations present
12682         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12683         * po/Makevars: the variables filled in for GStreamer
12684         * po/POTFILES.in: added new files with translations
12685         * po/de.po: has new strings
12686         * po/nl.po: readded, has new strings
12687
12688 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12689
12690         * gst/gsttag.c: fix some strings marked for translation
12691
12692 2004-01-13  Iain <iain@prettypeople.org>
12693
12694         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12695         group when we add an element to it, cos we unref it when we remove one
12696
12697 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12698
12699         * testsuite/debug/commandline.c: (debug_not_reached):
12700         * testsuite/debug/output.c: (check_message):
12701           fix testsuite
12702
12703 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12704
12705         * examples/cutter/.cvsignore:
12706         * examples/helloworld/.cvsignore:
12707         * examples/launch/.cvsignore:
12708         * examples/manual/.cvsignore:
12709         * examples/mixer/.cvsignore:
12710         * examples/pingpong/.cvsignore:
12711         * examples/plugins/.cvsignore:
12712         * examples/queue/.cvsignore:
12713         * examples/queue2/.cvsignore:
12714         * examples/queue3/.cvsignore:
12715         * examples/queue4/.cvsignore:
12716         * examples/retag/.cvsignore:
12717         * examples/thread/.cvsignore:
12718         * examples/typefind/.cvsignore:
12719         * examples/xml/.cvsignore:
12720         * gst/.cvsignore:
12721         * gst/autoplug/.cvsignore:
12722         * gst/elements/.cvsignore:
12723         * gst/indexers/.cvsignore:
12724         * gst/parse/.cvsignore:
12725         * gst/registries/.cvsignore:
12726         * gst/schedulers/.cvsignore:
12727         * libs/gst/bytestream/.cvsignore:
12728         * libs/gst/control/.cvsignore:
12729         * libs/gst/getbits/.cvsignore:
12730         * tests/.cvsignore:
12731         * tests/bufspeed/.cvsignore:
12732         * tests/instantiate/.cvsignore:
12733         * tests/memchunk/.cvsignore:
12734         * tests/muxing/.cvsignore:
12735         * tests/sched/.cvsignore:
12736         * tests/seeking/.cvsignore:
12737         * tests/threadstate/.cvsignore:
12738         * testsuite/.cvsignore:
12739         * testsuite/caps/.cvsignore:
12740         * testsuite/cleanup/.cvsignore:
12741         * testsuite/dynparams/.cvsignore:
12742         * testsuite/plugin/.cvsignore:
12743         * tools/.cvsignore:
12744           update - this is huge, because it includes *.bb, *.bbg and *.da files
12745           which are generated for gcov.
12746
12747 2004-01-11  David Schleef  <ds@schleef.org>
12748
12749         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12750         a function to parse integers in ways that strto[u]l() does not.
12751
12752 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12753
12754         * tools/gst-inspect.c: (print_caps):
12755           improve output of caps a bit
12756
12757 2004-01-11  David Schleef  <ds@schleef.org>
12758
12759         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12760         inherit correct flags (READONLY and DONTKEEP).
12761
12762 2004-01-11  David Schleef  <ds@schleef.org>
12763
12764         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12765         (gst_filesrc_map_region):
12766         * gst/gstbuffer.c: (_gst_buffer_initialize),
12767         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12768         (gst_buffer_new), (gst_buffer_create_sub),
12769         (gst_buffer_is_span_fast), (gst_buffer_span):
12770         * gst/gstbuffer.h:
12771         Change GstBuffer private structure element names. (all files)
12772         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12773         (gst_queue_link):
12774         * gst/gstqueue.h:
12775         Implement getcaps/pad_link functions that handle the case where
12776         there are data in the queue.
12777
12778 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12779
12780         * gst/elements/gstbufferstore.c:
12781           initialize debugging structure correctly
12782         * gst/elements/gsttee.c: (gst_tee_set_property):
12783           g_object_notify when property was changed
12784         * gst/elements/gsttypefindelement.c:
12785         (gst_type_find_element_change_state):
12786           clear caps correctly
12787
12788 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12789
12790         * gst/gstqueue.c: (gst_queue_init):
12791           Use better defaults for when a queue should block. This
12792           gets rid of jerky playback for quite a few files.
12793           It takes more memory.
12794
12795 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12796
12797         (gst_xml_registry_parse_padtemplate):
12798           make critical message slightly more useful
12799
12800 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12801
12802         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12803         (gst_debug_message_get), (gst_debug_log_default):
12804         * gst/gstinfo.h:
12805           Change gst_debug_log(_valist) to take a const format string.
12806           Change prototype of log function and functions using those to 
12807           take a GstDebugMessage instead of a string that requires using
12808           gst_debug_message_get.
12809
12810 2004-01-08  David Schleef  <ds@schleef.org>
12811
12812         * Makefile.am:
12813         * configure.ac:
12814         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12815         and -ftest-coverage, which allows gcov to show information about
12816         testsuite coverage.
12817
12818 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12819
12820         * gst/gstutils.h:
12821           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12822           GST_PARENT_CALL_WITH_DEFAULT
12823         * gst/elements/gstaggregator.c: 
12824         * gst/elements/gstbufferstore.c: 
12825         * gst/elements/gstfakesink.c: 
12826         * gst/elements/gstfakesrc.c: 
12827         * gst/elements/gstfdsink.c: 
12828         * gst/elements/gstfdsrc.c: 
12829         * gst/elements/gstfilesink.c: 
12830         * gst/elements/gstfilesrc.c: 
12831         * gst/elements/gstidentity.c: 
12832         * gst/elements/gstmd5sink.c: 
12833         * gst/elements/gstmultidisksrc.c:
12834         * gst/elements/gstpipefilter.c: 
12835         * gst/elements/gstshaper.c:
12836         * gst/elements/gststatistics.c:
12837         * gst/elements/gsttee.c:
12838         * gst/elements/gsttypefindelement.c:
12839           use them.
12840
12841 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12842
12843         * docs/gst/gstreamer-docs.sgml: remove props
12844         * docs/gst/gstreamer-sections.txt: remove props
12845         * docs/gst/tmpl/gst.sgml:
12846         * docs/gst/tmpl/gstbin.sgml:
12847         * docs/gst/tmpl/gstbuffer.sgml:
12848         * docs/gst/tmpl/gstcaps.sgml:
12849         * docs/gst/tmpl/gstclock.sgml:
12850         * docs/gst/tmpl/gstelement.sgml:
12851         * docs/gst/tmpl/gstindex.sgml:
12852         * docs/gst/tmpl/gstobject.sgml:
12853         * docs/gst/tmpl/gstpad.sgml:
12854         * docs/gst/tmpl/gstpadtemplate.sgml:
12855         * docs/gst/tmpl/gstreamer-unused.sgml:
12856         * docs/gst/tmpl/gstthread.sgml:
12857         * docs/gst/tmpl/gstxml.sgml:
12858           sync with code reorganization
12859
12860 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12861
12862         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12863         Make the 'Could not find compatible pad' message more informative.
12864
12865 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12866                                                                                 
12867         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12868           Fix for if we pass NULL as property to location.
12869         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12870         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12871           Fix for instantiate-test (see below).
12872         * gst/gststructure.c: (_gst_structure_parse_value):
12873           Fix compile error on gcc-2.96.
12874         * configure.ac:
12875         * tests/Makefile.am:
12876         * tests/instantiate/Makefile.am:
12877         * tests/instantiate/create.c: (create_all_elements), (main):
12878           Add a test that instantiates all elements. This makes it easy to
12879           track dead code for old API/design (like setting event functions
12880           on sink pads and so on).
12881
12882 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12883
12884         * gst/gstcaps.c: (gst_caps_append_structure):
12885           Move the poisoning to allow a NULL structure
12886         * gst/gstevent.c: (_gst_event_free):
12887           When freeing a navigation event, free the structure
12888           also
12889
12890 2004-01-04  David Schleef  <ds@schleef.org>
12891
12892         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12893         Remove usage of gst_pad_proxy_fixate.
12894         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12895         (gst_caps_split_one), (gst_caps_replace):
12896         Add poisoning code.
12897         * gst/gstmarshal.list:
12898         Add pointer__pointer for fixate signal
12899         * gst/gstpad.c: (gst_real_pad_class_init),
12900         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12901         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12902         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12903         Add poisoning code. Add fixate signal on RealPad. Change
12904         set_explicit_caps() to take const GstCaps, like try_set_caps().
12905         * gst/gstpad.h:
12906         * testsuite/caps/Makefile.am:
12907         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12908
12909 2004-01-03  David Schleef  <ds@schleef.org>
12910
12911         * gst/elements/gsttypefindelement.c:
12912         (gst_type_find_element_have_type), (gst_type_find_element_init):
12913         Use gst_pad_use_explicit_caps for src pad.
12914         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12915         before using it.
12916
12917 2004-01-03  David Schleef  <ds@schleef.org>
12918
12919         * gst/gstelement.c: (gst_element_link_pads_filtered),
12920         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12921         that linking was successful.
12922         * gst/gstpad.c: (gst_pad_link_free),
12923         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12924         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12925         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12926         GstPadLinkReturn correctly between functions, and don't fail
12927         when DELAYED is used (DELAYED is very important).  Better
12928         cleanup on unlinking and unnegotiation.  Should fix some spider
12929         bugs.
12930
12931 2004-01-02  David Schleef  <ds@schleef.org>
12932
12933         * gst/gstelement.c: (gst_element_class_init),
12934         (gst_element_base_class_init): ->padtemplates should be cleared
12935         in base_init, since we need to have a fresh list for every
12936         class.  (Alternately, we chould copy the list and share the
12937         actual pad templates (not the list), but that would require
12938         changing every plugin to move pad template registration from
12939         base_init to class_init.)
12940
12941 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12942
12943         * gst/gstelement.c: (gst_element_class_add_pad_template):
12944           Refuse registering a pad template if another pad template
12945           with the same name already exists (#114715).
12946
12947 2004-01-02  David Schleef  <ds@schleef.org>
12948
12949         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12950         (gst_caps_is_equal_fixed): Add new function.
12951         * gst/gstcaps.h: ditto.
12952         * gst/gstpad.c: (gst_real_pad_class_init),
12953         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12954         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12955         check new caps against existing caps -- if they're the same, return
12956         OK without renegotiating.  caps-nego-failed signal fixed so that
12957         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12958         to save an extra caps copy.  Don't complete negotiation if a pad
12959         link function returns DELAYED.
12960
12961 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12962
12963         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12964           Fix wrong g_return_if_fail
12965
12966 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12967
12968         * gst/gstbin.c: (gst_bin_class_init):
12969         Change the marshalling of element_added/element_removed
12970         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12971         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12972
12973 2004-01-01  David Schleef  <ds@schleef.org>
12974
12975         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12976         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12977         (gst_pad_use_explicit_caps):
12978         * gst/gstpad.h:
12979         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12980         to use an internal getcaps and link fuction so that negotiation
12981         always results in the explicitly set caps.
12982         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12983         are particularly useful for decoders.
12984
12985 2003-12-31  David Schleef  <ds@schleef.org>
12986
12987         * gst/elements/gstidentity.c: (gst_identity_class_init),
12988         (gst_identity_init), (gst_identity_chain),
12989         (gst_identity_set_property), (gst_identity_get_property):
12990         * gst/elements/gstidentity.h:
12991         * gst/gstqueue.c: (gst_queue_init):
12992           Negotiation fixes.
12993
12994 2003-12-31  David Schleef  <ds@schleef.org>
12995
12996         * gst/gstcaps.c: (gst_caps_intersect),
12997         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12998           Implement gst_caps_normalize().
12999         * testsuite/caps/normalisation.c: (main):
13000           Add an additional test
13001
13002 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13003
13004         * gst/gstqueue.c: (gst_queue_init):
13005           use gst_pad_proxy_getcaps()
13006
13007 2003-12-31  David Schleef  <ds@schleef.org>
13008
13009         * gst/elements/gstshaper.c: (gst_shaper_link):
13010         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13011         * gst/gstqueue.c: (gst_queue_link):
13012           Negotiation fixes.
13013
13014 2003-12-31  David Schleef  <ds@schleef.org>
13015
13016         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13017         * gst/gstpad.h: Add functions that are useful as default pad
13018         link and fixate functions for elements.
13019
13020 2003-12-30  David Schleef  <ds@schleef.org>
13021
13022         * gst/gstpad.c: (gst_pad_link_try):
13023           Fix segfault when attempting to return to old caps
13024
13025 2003-12-29  David Schleef  <ds@schleef.org>
13026
13027         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13028         (gst_caps_structure_simplify), (gst_caps_simplify):
13029         * gst/gstcaps.h:
13030           Add simplify function
13031         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13032         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13033         * gst/gstpad.h:
13034           Copy over srcnotify, sinknotify when calling old pad_link
13035           functions.  Add new is_negotiated() function.
13036         * gst/gststructure.c: (gst_structure_copy):
13037           Fix an incredibly stupid bug that should have been noticed
13038           weeks ago.  _copy() returned the argument, not the new copy.
13039
13040 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13041
13042         * gst/gstcaps.c: (gst_caps_append):
13043           add sanity checks
13044         * gst/gstcaps.h: (gst_caps_debug):
13045           remove, it doesn't exist anymore.
13046         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13047         (gst_element_threadsafe_properties_post_run):
13048           make debugging messages not clutter up THREAD debug category
13049         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13050         (gst_element_change_state):
13051           update to new caps API
13052         * gst/gstinterface.c: (gst_implements_interface_cast):
13053           don't put vital code in g_return_if_fail
13054         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13055         (gst_pad_link_filtered):
13056           add pst_pad_try_link and use it.
13057         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13058           implement correctly, deprecate first one.
13059         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13060           add and implement.
13061         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13062           implement.
13063         (gst_pad_get_negotiated_caps):
13064           add and implement. Make GST_PAD_CAPS call this function.
13065         (gst_pad_get_caps):
13066           remove unneeded check..
13067         (gst_pad_recover_caps_error):
13068           disable, always return FALSE.
13069         (gst_real_pad_dispose):
13070           don't free caps and appfilter anymore, they're unused.
13071         * gst/gstpad.h:
13072           Reflect changes mentioned above.
13073         * gst/gstsystemclock.c: (gst_system_clock_wait):
13074           Make 'clock is way behind' a debugging message.
13075         * gst/gstthread.c: (gst_thread_change_state):
13076           Fix debugging message
13077
13078 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13079
13080         * gst/gstinfo.h:
13081           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13082         * docs/gst/tmpl/gstreamer-unused.sgml:
13083           removed all traces of cvs conflicts
13084
13085 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13086
13087         * configure.ac:
13088         * gst/schedulers/cothreads_compat.h:
13089         * libs/Makefile.am:
13090           remove last instances of wingo cothread usage
13091
13092 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13093
13094         * gst/gstplugin.c:
13095         * gst/gstversion.h.in:
13096         * gst/parse/grammar.y:
13097           change comment block from /** to /* when not gtk-doc comments
13098
13099 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13100
13101         * gst/gst.c: whitespace and doc style fixes
13102
13103 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13104
13105         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13106
13107 2003-12-24  Colin Walters  <walters@verbum.org>
13108
13109         * gst/elements/gsttypefindelement.c:
13110           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13111           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13112           Don't double-free caps.
13113
13114 2003-12-23  David Schleef  <ds@schleef.org>
13115
13116         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13117           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13118           Many little fixes and additions of debug statements to
13119           get rhythmbox working.
13120
13121 2003-12-23  Colin Walters  <walters@verbum.org>
13122
13123         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13124         Use GST_PAD_LINK_SUCCESSFUL.
13125
13126 2003-12-23  David Schleef  <ds@schleef.org>
13127
13128         * gst/elements/gstaggregator.c:
13129         * gst/elements/gsttee.c:
13130           Use gst_pad_proxy_getcaps().
13131         * gst/gstpad.c:
13132         * gst/gstpad.h:
13133           Add gst_pad_proxy_getcaps(), which filter elements can use
13134           as a generic getcaps implementation.
13135           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13136           was advertised.
13137
13138 2003-12-23  David Schleef  <ds@schleef.org>
13139
13140         * gst/gstpad.c:
13141           Rearrange/rewrite much of the pad negotiation code, since it
13142           resembled pasta.  This actually changes the way some
13143           negotiation works, since the previous code was inconsistent
13144           depending on how it was invoked.  Add (internal) structure
13145           GstPadLink, which is used to hold some information (more in
13146           the future) about the link between two pads.  Fixes a number
13147           of bugs, including random lossage of filter caps when the
13148           initial negotiation is delayed.  A few functions are still
13149           unimplemented.
13150         * gst/gstpad.h:
13151           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13152           these when testing GstPadLinkReturn values instead of comparing
13153           directly.
13154
13155 2003-12-23  David Schleef  <ds@schleef.org>
13156
13157         * gst/gstvalue.c: 
13158         * gst/gstvalue.h:
13159           Rearrange lots of code.  Change registration of compare function
13160           into registration of compare/serialize/deserialize functions.
13161           Doesn't include implementation of gst_value_[de]serialize(),
13162           but that should be easy.
13163
13164 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13165
13166         * docs/gst/gstreamer-sections.txt:
13167         * docs/gst/tmpl/gstprops.sgml: removed
13168         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13169           David removed props and caps code, so let's remove their docs as well.
13170           Removed all no longer existing symbols from gstreamer-sections.txt
13171           
13172 2003-12-22  Colin Walters  <walters@verbum.org>
13173
13174         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13175           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13176           of tags directly.
13177
13178 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13179
13180         * gst/elements/gstelements.c:
13181           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13182         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13183           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13184           gst_caps (peer).
13185
13186 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13187
13188         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13189         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13190         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13191         (gst_spider_identity_sink_loop_type_finding):
13192         * gst/autoplug/gstspideridentity.h:
13193           Fix autoplugging in spider element, so it works with new caps.
13194           This was mainly caused by identifying empty caps incorrectly.
13195
13196 2003-12-22  David Schleef  <ds@schleef.org>
13197
13198         * gststructure.c, gstvalue.c, gstvalue.h: Add
13199           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13200           using g_value_copy()
13201
13202 2003-12-21  David Schleef  <ds@schleef.org>
13203
13204         * many, many files: Merge CAPS branch.  This includes:
13205           - implemention of GstValue and several GstValue types
13206           - implemention of GstStructure
13207           - entire rewrite of GstCaps
13208           - removal of GstProps
13209           - many changes to GstPad to compensate for new caps paradigm
13210           - removal of GstBufferpool
13211         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13212         gstvalue.h, gst/gstcaps[2]*.[ch]:
13213           - rename gstcaps2.[ch] to gstcaps.[ch]
13214
13215 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13216
13217         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13218         (gst_queue_chain), (gst_queue_handle_src_event):
13219           implement timeout for sending events. Workaround for if the
13220           pipeline on this queue is not passing any data.
13221
13222 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13223                                                                                 
13224         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13225         * moved CVS to freedesktop.org
13226