gst/base/gstbasesrc.*: Add a gboolean to decide when to push out a discont.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-20  Wim Taymans  <wim@fluendo.com>
2
3         * gst/base/gstbasesrc.c: (gst_base_src_init),
4         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5         * gst/base/gstbasesrc.h:
6         Add a gboolean to decide when to push out a discont.
7
8         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9         (gst_queue_loop), (gst_queue_handle_src_query),
10         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11         (gst_queue_set_property), (gst_queue_get_property):
12         Some cleanups.
13
14         * tests/threadstate/threadstate1.c: (main):
15         Make a thread test compile and run... very silly..
16
17
18 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19
20         * docs/manual/appendix-porting.xml:
21           Mention removal of libgstgconf-0.9.la and existence of gconf
22           elements.
23
24 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25
26         * docs/pwg/advanced-clock.xml:
27         * docs/pwg/appendix-porting.xml:
28         * docs/pwg/intro-preface.xml:
29         * docs/pwg/other-base.xml:
30         * docs/pwg/other-manager.xml:
31         * docs/pwg/other-nton.xml:
32         * docs/pwg/other-ntoone.xml:
33         * docs/pwg/other-oneton.xml:
34         * docs/pwg/pwg.xml:
35           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
36           demuxer), remove n-to-n (was never written), fix some code examples
37           and links and update the porting section to include all this.
38
39 2005-07-19  Wim Taymans  <wim@fluendo.com>
40
41         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
42         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
43         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
44         (gst_queue_src_activate_push), (gst_queue_change_state),
45         (gst_queue_get_property):
46         * gst/gstqueue.h:
47         Propagate GstFlowReturn more intelligently upstream and output
48         an ERROR/EOS when streaming stopped due to fatal error.
49
50 2005-07-19  Wim Taymans  <wim@fluendo.com>
51
52         * tools/gst-launch.c: (check_intr), (event_loop), (main):
53         Don't block forever for the state change to complete, the
54         pipeline already did with a sensible timeout.
55
56 2005-07-19  Wim Taymans  <wim@fluendo.com>
57
58         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
59         Make sure we never call the create function is we
60         got deactivated.
61
62 2005-07-19  Andy Wingo  <wingo@pobox.com>
63
64         * gst/parse/parse.l: Attempt to solve bug #172815.
65
66 2005-07-19  Wim Taymans  <wim@fluendo.com>
67
68         * docs/design/part-clocks.txt:
69         * docs/design/part-events.txt:
70         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
71         Small docs updates.
72         Only update the seeking values when we are not
73         busy streaming.
74
75 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
76
77         * gst/base/gstbasesrc.c: (gst_base_src_loop):
78           Oops, ignore the result of gst_pad_push_event here.
79
80 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
81
82         * gst/base/gstbasesrc.c: (gst_base_src_loop),
83         (gst_base_src_activate_push):
84           Send discont event from the loop function, as pads
85           aren't activated yet in the activate_push handler.
86
87         * gst/gstbin.c: (bin_bus_handler):
88           Don't leak element name.
89
90 2005-07-18  Andy Wingo  <wingo@pobox.com>
91
92         * configure.ac: Use AS_LIBTOOL_TAGS.
93
94 2005-07-18  Wim Taymans  <wim@fluendo.com>
95
96         * docs/gst/gstreamer.types:
97         Remove deleted types.
98
99 2005-07-18  Wim Taymans  <wim@fluendo.com>
100
101         * check/elements/gstfakesrc.c: (GST_START_TEST):
102         * configure.ac:
103         * gst/Makefile.am:
104         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
105         (init_popt_callback):
106         * gst/gst.h:
107         * gst/gst_private.h:
108         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
109         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
110         * gst/gstbin.h:
111         * gst/gstbus.h:
112         * gst/gstconfig.h.in:
113         * gst/gstelement.c: (gst_element_class_init),
114         (gst_element_set_base_time), (gst_element_get_base_time),
115         (iterator_fold_with_resync), (gst_element_change_state),
116         (gst_element_dispose), (gst_element_get_bus):
117         * gst/gstelement.h:
118         * gst/gstelementfactory.h:
119         * gst/gsterror.c: (_gst_core_errors_init):
120         * gst/gsterror.h:
121         * gst/gstevent.h:
122         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
123         * gst/gstindex.c:
124         * gst/gstinfo.c: (_gst_debug_init):
125         * gst/gstmessage.c: (_gst_message_copy):
126         * gst/gstmessage.h:
127         * gst/gstminiobject.h:
128         * gst/gstobject.c:
129         * gst/gstobject.h:
130         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
131         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
132         * gst/gstpad.h:
133         * gst/gstparse.h:
134         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
135         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
136         (gst_pipeline_get_last_stream_time):
137         * gst/gstpipeline.h:
138         * gst/gstpluginfeature.h:
139         * gst/gstquery.h:
140         * gst/gstscheduler.c:
141         * gst/gstscheduler.h:
142         * gst/gststructure.h:
143         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
144         (gst_task_finalize), (gst_task_func), (gst_task_create),
145         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
146         (gst_task_stop), (gst_task_pause):
147         * gst/gsttask.h:
148         * gst/gsttypefind.h:
149         * gst/gsttypes.h:
150         * gst/registries/gstlibxmlregistry.c: (load_feature),
151         (gst_xml_registry_load), (gst_xml_registry_save_feature):
152         * gst/registries/gstxmlregistry.c:
153         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
154         * gst/schedulers/threadscheduler.c:
155         * libs/gst/control/dparammanager.h:
156         * tools/gst-inspect.c: (print_element_list),
157         (print_plugin_features), (print_element_features):
158         * tools/gst-xmlinspect.c: (print_element_list),
159         (print_plugin_info), (main):
160         Removed plugable schedulers.
161         Removed Scheduler/Manager from elements.
162         Removed gsttypes.h, rearranged includes.
163         Removed dependency pad<->element, element<>pipeline, and
164         various others,  fix includes.
165         implement gst_pad_get_parent() with gst_object_get_parent()
166         Make GstTask sefcontained.
167         Fix _get_state() on GstBin, it did not return ASYNC with a 0
168         timeout.
169         Fix endless loop in iterator_fold_with_resync.
170
171
172 2005-07-18  Wim Taymans  <wim@fluendo.com>
173
174         * gst/Makefile.am:
175         * gst/gstarch.h:
176         Remove old file.
177
178 2005-07-18  Wim Taymans  <wim@fluendo.com>
179
180         * gst/Makefile.am:
181         No more cothreads.h
182
183 2005-07-18  Wim Taymans  <wim@fluendo.com>
184
185         * gst/cothreads.c:
186         * gst/cothreads.h:
187         Let's remove these.
188
189 2005-07-18  Wim Taymans  <wim@fluendo.com>
190
191         * docs/design/part-dynamic.txt:
192         * docs/design/part-events.txt:
193         * docs/design/part-seeking.txt:
194         Some more docs in the works.
195
196         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
197         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
198         (gst_base_transform_setcaps), (gst_base_transform_get_size),
199         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
200         (gst_base_transform_handle_buffer),
201         (gst_base_transform_sink_activate_push),
202         (gst_base_transform_src_activate_pull),
203         (gst_base_transform_set_passthrough),
204         (gst_base_transform_is_passthrough):
205         Refcounting fixes.
206
207         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
208         Cleanups.
209
210         * gst/gstevent.c: (gst_event_finalize):
211         Set SRC to NULL.
212
213         * gst/gstutils.c: (gst_element_unlink),
214         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
215         (gst_pad_proxy_setcaps):
216         * gst/gstutils.h:
217         Add _get_parent_element() to get a pads parent as an element.
218
219 2005-07-18  Wim Taymans  <wim@fluendo.com>
220
221         * check/gst/gstbin.c: (GST_START_TEST):
222         Remove bogus test.
223
224 2005-07-18  Wim Taymans  <wim@fluendo.com>
225
226         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
227         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
228         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
229         (gst_base_sink_event), (gst_base_sink_do_sync),
230         (gst_base_sink_chain), (gst_base_sink_loop),
231         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
232         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
233         Refcounting fixes.
234         Fix logic for returning ASYNC when not prerolled.
235
236 2005-07-18  Wim Taymans  <wim@fluendo.com>
237
238         * gst/gstqueue.c: (gst_queue_handle_sink_event):
239         Fix nasty refcount bug.
240
241 2005-07-16 Philippe Khalaf <burger@speedy.org>
242         * gst/elements/gstfdsrc.c:
243         * gst/elements/gstfdsrc.h:
244         * gst/elements/gstelements.c:
245         * gst/elements/Makefile.am:
246         Ported fdsrc to 0.9.
247
248 2005-07-16  Wim Taymans  <wim@fluendo.com>
249
250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
251         (gst_base_sink_do_sync):
252         Fix compile error.
253
254 2005-07-16  Wim Taymans  <wim@fluendo.com>
255
256         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
257         (gst_base_sink_event), (gst_base_sink_get_times),
258         (gst_base_sink_do_sync), (gst_base_sink_change_state):
259         * gst/base/gstbasesink.h:
260         Store and use discont values when syncing buffers as described
261         in design docs.
262         
263         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
264         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
265         (gst_base_src_activate_push):
266         Push discont event when starting.
267
268         * gst/elements/gstidentity.c: (gst_identity_transform):
269         Small cleanups.
270
271         * gst/gstbin.c: (gst_bin_change_state):
272         Small cleanups in base_time  distribution.
273
274         * gst/gstelement.c: (gst_element_set_base_time),
275         (gst_element_get_base_time), (gst_element_change_state):
276         * gst/gstelement.h:
277         Added methods for the base_time of the element.
278         Some MT fixes.
279
280         * gst/gstpipeline.c: (gst_pipeline_send_event),
281         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
282         (gst_pipeline_get_last_stream_time):
283         * gst/gstpipeline.h:
284         MT fixes.
285         Handle seeking as described in design doc, remove stream_time
286         hack.
287         Cleanups clock and stream_time selection code. Added accessors
288         for the stream_time.
289         
290
291 2005-07-16  Andy Wingo  <wingo@pobox.com>
292
293         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
294         (#305291).
295
296 2005-07-16  Wim Taymans  <wim@fluendo.com>
297
298         * check/gst/gstbin.c: (GST_START_TEST):
299         Make elements silent as the deep_notify refs the
300         parent, which might make the test fail.
301
302         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
303         Don't hold the lock for too long.
304
305 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
306
307         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
308           Don't unref the caps we passed to gst_caps_make_writable() after
309           passing them. gst_caps_make_writable() will do that for us.
310
311 2005-07-15  Andy Wingo  <wingo@pobox.com>
312
313         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
314         (#157311).
315
316         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
317         own marshalling function for the handoff signal. Properly type the
318         buffer as a buffer. Fixes some warnings. Should do a more general
319         solution.
320         (gst_identity_class_init): Plug into the right marshaller.
321
322 2005-07-15  Wim Taymans  <wim@fluendo.com>
323
324         * docs/design/part-TODO.txt:
325         * docs/design/part-clocks.txt:
326         * docs/design/part-element-sink.txt:
327         * docs/design/part-events.txt:
328         * docs/design/part-gstpipeline.txt:
329         Updated docs, mostly DISCONT related.
330
331 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
332
333         * docs/pwg/building-pads.xml:
334           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
335
336 2005-07-15  Andy Wingo  <wingo@pobox.com>
337
338         * tools/gst-typefind.c: Update, add copyright block.
339
340         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
341         Normalize and truncate caps before fixation.
342
343         * gst/gstcaps.h:
344         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
345         discards all but the first structure from its argument.
346
347 2005-07-15  Wim Taymans  <wim@fluendo.com>
348
349         * gst/base/gstbasetransform.c: (gst_base_transform_init),
350         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
351         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
352         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
353         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
354         (gst_base_transform_chain), (gst_base_transform_change_state),
355         (gst_base_transform_set_passthrough),
356         (gst_base_transform_is_passthrough):
357         * gst/base/gstbasetransform.h:
358         Make passthrough work using the bufferpools.
359         Changed API a bit, subclasses have to write into a buffer
360         provided by the base class.
361         More debug info in nego functions.
362         
363         * gst/elements/gstidentity.c: (gst_identity_init),
364         (gst_identity_transform):
365         Port to new base class.
366
367 2005-07-15  Wim Taymans  <wim@fluendo.com>
368
369         * gst/gstmessage.c: (gst_message_new_state_changed):
370         * tools/gst-launch.c: (event_loop), (main):
371         Totally dump messages in -launch with the -m option.
372         Fix message name for State messages,
373
374 2005-07-14  Wim Taymans  <wim@fluendo.com>
375
376         * gst/base/gstbasesrc.c: (gst_base_src_loop):
377         Post error messages on errors.
378
379 2005-07-14  Wim Taymans  <wim@fluendo.com>
380
381         * gst/gstcaps.c: (gst_caps_do_simplify):
382         Remove debug info.
383
384         * gst/gsterror.h:
385         Define error for stream stopped.
386
387         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
388         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
389         Do proper return values.
390
391         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
392         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
393         (gst_pad_get_range):
394         Better return values.
395
396         * gst/gstpad.h:
397         Reorganise return values, add macro to check for fatal errors.
398
399         * gst/gstqueue.c: (gst_queue_chain):
400         Return proper GstFlowReturn values,
401
402 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
403
404         * docs/gst/gstreamer-sections.txt:
405         * docs/gst/gstreamer.types:
406         * docs/gst/tmpl/gst.sgml:
407         * docs/gst/tmpl/gstbasesink.sgml:
408         * docs/gst/tmpl/gstbasesrc.sgml:
409         * docs/gst/tmpl/gstbasetransform.sgml:
410         * docs/gst/tmpl/gstbin.sgml:
411         * docs/gst/tmpl/gstbuffer.sgml:
412         * docs/gst/tmpl/gstcaps.sgml:
413         * docs/gst/tmpl/gstclock.sgml:
414         * docs/gst/tmpl/gstcompat.sgml:
415         * docs/gst/tmpl/gstconfig.sgml:
416         * docs/gst/tmpl/gstelement.sgml:
417         * docs/gst/tmpl/gstelementdetails.sgml:
418         * docs/gst/tmpl/gstelementfactory.sgml:
419         * docs/gst/tmpl/gstenumtypes.sgml:
420         * docs/gst/tmpl/gsterror.sgml:
421         * docs/gst/tmpl/gstevent.sgml:
422         * docs/gst/tmpl/gstfakesink.sgml:
423         * docs/gst/tmpl/gstfakesrc.sgml:
424         * docs/gst/tmpl/gstfilesink.sgml:
425         * docs/gst/tmpl/gstfilesrc.sgml:
426         * docs/gst/tmpl/gstfilter.sgml:
427         * docs/gst/tmpl/gstformat.sgml:
428         * docs/gst/tmpl/gstghostpad.sgml:
429         * docs/gst/tmpl/gstimplementsinterface.sgml:
430         * docs/gst/tmpl/gstindex.sgml:
431         * docs/gst/tmpl/gstindexfactory.sgml:
432         * docs/gst/tmpl/gstinfo.sgml:
433         * docs/gst/tmpl/gstiterator.sgml:
434         * docs/gst/tmpl/gstmacros.sgml:
435         * docs/gst/tmpl/gstmemchunk.sgml:
436         * docs/gst/tmpl/gstminiobject.sgml:
437         * docs/gst/tmpl/gstobject.sgml:
438         * docs/gst/tmpl/gstpad.sgml:
439         * docs/gst/tmpl/gstpadtemplate.sgml:
440         * docs/gst/tmpl/gstparse.sgml:
441         * docs/gst/tmpl/gstpipeline.sgml:
442         * docs/gst/tmpl/gstplugin.sgml:
443         * docs/gst/tmpl/gstpluginfeature.sgml:
444         * docs/gst/tmpl/gstquery.sgml:
445         * docs/gst/tmpl/gstqueue.sgml:
446         * docs/gst/tmpl/gstregistry.sgml:
447         * docs/gst/tmpl/gstregistrypool.sgml:
448         * docs/gst/tmpl/gstscheduler.sgml:
449         * docs/gst/tmpl/gstschedulerfactory.sgml:
450         * docs/gst/tmpl/gststructure.sgml:
451         * docs/gst/tmpl/gstsystemclock.sgml:
452         * docs/gst/tmpl/gsttaglist.sgml:
453         * docs/gst/tmpl/gsttagsetter.sgml:
454         * docs/gst/tmpl/gsttrace.sgml:
455         * docs/gst/tmpl/gsttrashstack.sgml:
456         * docs/gst/tmpl/gsttypefind.sgml:
457         * docs/gst/tmpl/gsttypefindfactory.sgml:
458         * docs/gst/tmpl/gsttypes.sgml:
459         * docs/gst/tmpl/gsturihandler.sgml:
460         * docs/gst/tmpl/gsturitype.sgml:
461         * docs/gst/tmpl/gstutils.sgml:
462         * docs/gst/tmpl/gstvalue.sgml:
463         * docs/gst/tmpl/gstversion.sgml:
464         * docs/gst/tmpl/gstxml.sgml:
465         * docs/libs/tmpl/gstcontrol.sgml:
466         * docs/libs/tmpl/gstdataprotocol.sgml:
467         * docs/libs/tmpl/gstdparam.sgml:
468         * docs/libs/tmpl/gstdplinint.sgml:
469         * docs/libs/tmpl/gstdpman.sgml:
470         * docs/libs/tmpl/gstdpsmooth.sgml:
471         * docs/libs/tmpl/gstgetbits.sgml:
472         * docs/libs/tmpl/gstunitconvert.sgml:
473         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
474         (gst_push_src_base_init), (gst_push_src_class_init),
475         (gst_push_src_init), (gst_push_src_create):
476         * gst/base/gstpushsrc.h:
477         * gst/elements/gstelements.c:
478         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
479         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
480         (gst_fake_sink_init), (gst_fake_sink_set_property),
481         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
482         (gst_fake_sink_event), (gst_fake_sink_preroll),
483         (gst_fake_sink_render), (gst_fake_sink_change_state):
484         * gst/elements/gstfakesink.h:
485         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
486         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
487         (gst_fake_src_base_init), (gst_fake_src_class_init),
488         (gst_fake_src_init), (gst_fake_src_event_handler),
489         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
490         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
491         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
492         (gst_fake_src_create_buffer), (gst_fake_src_create),
493         (gst_fake_src_start), (gst_fake_src_stop):
494         * gst/elements/gstfakesrc.h:
495         * gst/elements/gstfilesink.c: (_do_init),
496         (gst_file_sink_base_init), (gst_file_sink_class_init),
497         (gst_file_sink_init), (gst_file_sink_dispose),
498         (gst_file_sink_set_location), (gst_file_sink_set_property),
499         (gst_file_sink_get_property), (gst_file_sink_open_file),
500         (gst_file_sink_close_file), (gst_file_sink_query),
501         (gst_file_sink_event), (gst_file_sink_render),
502         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
503         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
504         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
505         * gst/elements/gstfilesink.h:
506         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
507         (gst_file_src_class_init), (gst_file_src_init),
508         (gst_file_src_finalize), (gst_file_src_set_location),
509         (gst_file_src_set_property), (gst_file_src_get_property),
510         (gst_file_src_map_region), (gst_file_src_map_small_region),
511         (gst_file_src_create_mmap), (gst_file_src_create_read),
512         (gst_file_src_create), (gst_file_src_is_seekable),
513         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
514         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
515         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
516         (gst_file_src_uri_handler_init):
517         * gst/elements/gstfilesrc.h:
518           more autistic cleanliness in functions/names/defines
519
520 2005-07-13  Andy Wingo  <wingo@pobox.com>
521
522         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
523         source couldn't negotiate.
524
525         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
526         connections again.
527
528         * gst/gstutils.h:
529         * gst/gstutils.c (gst_element_link_pads_filtered): New old
530         function. I am channeling Hades. Put your boots on suckers!!!
531
532 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
533
534         * testsuite/caps/Makefile.am:
535         * testsuite/caps/value_compare.c:
536         * testsuite/caps/value_intersect.c:
537         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
538           move two testsuite apps over to the check dir
539
540 2005-07-12  Wim Taymans  <wim@fluendo.com>
541
542         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
543         Added more debug info in the negotiate process.
544
545         * gst/gstmessage.h:
546         Prepare for segment playback.
547
548         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
549         Better debugging.
550
551         * gst/gstutils.c:
552         Some more docs.
553
554         * tools/gst-launch.c: (main):
555         NULL pipeline on errors.
556
557 2005-07-12  Andy Wingo  <wingo@pobox.com>
558
559         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
560         not it comes from a malloc region. Make sure our copy gets freed.
561
562 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
563
564         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
565         * check/gst/gstmessage.c: (GST_START_TEST):
566         * check/gst/gststructure.c: (GST_START_TEST),
567         (gst_structure_suite), (main):
568           more testing
569         * gst/gstelement.c: (gst_element_message_full):
570           clean up GError and debug string now that they get copied
571         * gst/gstmessage.c: (gst_message_new_error),
572         (gst_message_new_warning), (gst_message_parse_error),
573         (gst_message_parse_warning):
574           use GST_TYPE_G_ERROR for structure_new, and take copies of
575           arguments, so that we don't mess up refcounting
576
577 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
578
579         * check/Makefile.am:
580           add per-test valgrind targets
581         * check/gst-libs/gdp.c: (GST_START_TEST),
582         (gst_data_protocol_suite), (main):
583           clean up
584
585 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
586
587         * check/Makefile.am:
588           instate more valgrindable tests
589         * check/elements/gstfakesrc.c: (chain_func), (event_func),
590         (GST_START_TEST), (fakesrc_suite):
591         * check/gst/gstpad.c: (GST_START_TEST):
592         * check/gst/gststructure.c: (GST_START_TEST):
593           fix test leaks
594         * docs/gst/tmpl/gstminiobject.sgml:
595         * gst/gstpad.c: (gst_pad_finalize):
596           fix the static mutex leak
597
598 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
599
600         * check/Makefile.am:
601           add two more tests for valgrinding
602         * check/gst/gstvalue.c: (GST_START_TEST):
603           test refcount of deserialized buffer, found a leak
604         * docs/gst/gstreamer-docs.sgml:
605         * docs/gst/gstreamer-sections.txt:
606         * docs/gst/gstreamer.types:
607         * docs/gst/tmpl/gstminiobject.sgml:
608           add miniobject to docs
609         * gst/gstminiobject.c:
610           add some docs
611         * gst/gstvalue.c: (gst_value_deserialize_buffer),
612         (gst_string_unwrap):
613           fix a hard-to-find invalid write for one of the tests
614           fix a leak for deserialized buffers
615
616 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
617
618         * docs/pwg/advanced-events.xml:
619         * docs/pwg/advanced-request.xml:
620         * docs/pwg/advanced-scheduling.xml:
621         * docs/pwg/appendix-porting.xml:
622         * docs/pwg/building-boiler.xml:
623         * docs/pwg/intro-preface.xml:
624         * docs/pwg/other-ntoone.xml:
625           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
626           of example code and explanation for pad activation, loop() and
627           getrange() functions and a bit more. Remove old comments pointing
628           to loop-functions.
629         * examples/pwg/Makefile.am:
630           Add loop/getrange examples.
631
632 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
633
634         * configure.ac:
635           check for valgrind binary + some fixes
636         * check/gst.supp:
637           valgrind suppressions for the tests
638         * check/Makefile.am:
639           add a valgrind: target that valgrinds the unit tests
640         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
641         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
642         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
643         * check/gst/gstghostpad.c:
644           added some cleanup
645         * check/gst/gstdata.c:
646           removed
647         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
648         (thread_unref), (gst_mini_object_suite), (main):
649           added
650         * gst/gst.c: (gst_deinit):
651         * gst/gst.h:
652           add a method to clean up.
653         * gst/gstsystemclock.c: (gst_system_clock_dispose),
654         (gst_system_clock_obtain):
655           allow for disposing the system clock.
656         * tools/gst-launch.c: (main):
657           deinit
658
659 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
660
661         * docs/gst/tmpl/gstbasesrc.sgml:
662         * docs/gst/tmpl/gstfakesrc.sgml:
663         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
664         (gst_base_src_init), (gst_base_src_set_property),
665         (gst_base_src_get_property), (gst_base_src_get_range),
666         (gst_base_src_start):
667         * gst/base/gstbasesrc.h:
668           add num-buffers property
669         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
670         (gst_fakesrc_init), (gst_fakesrc_set_property),
671         (gst_fakesrc_get_property), (gst_fakesrc_create),
672         (gst_fakesrc_start):
673           remove num-buffers property
674
675 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
676
677         * docs/gst/gstreamer-sections.txt:
678         * docs/gst/tmpl/gstbasesink.sgml:
679         * docs/gst/tmpl/gstbasesrc.sgml:
680         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
681         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
682         (gst_base_sink_finalize), (gst_base_sink_set_clock),
683         (gst_base_sink_set_property), (gst_base_sink_get_property),
684         (gst_base_sink_handle_object), (gst_base_sink_event),
685         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
686         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
687         (gst_base_sink_loop), (gst_base_sink_deactivate),
688         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
689         (gst_base_sink_change_state):
690         * gst/base/gstbasesink.h:
691         * gst/base/gstbasesrc.h:
692         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
693         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
694         (gst_filesink_init):
695           more macro splitting
696
697 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
698
699         * gst/gstelement.c: (gst_element_get_bus):
700           add debug
701         * tools/gst-launch.c: (check_intr), (event_loop):
702           fix bus leaks
703
704 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
705
706         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
707           fix a caps leak
708
709 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
710
711         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
712         (gst_base_src_finalize):
713           add finalize method and clean up properly
714         * gst/gstpipeline.c: (gst_pipeline_dispose):
715           add debug
716
717 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
718
719         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
720         (gst_bin_suite):
721           add more things to check
722         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
723         * gst/gstelement.c:
724           more debug
725
726 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
727
728         * check/elements/gstfakesrc.c: (chain_func), (event_func),
729         (GST_START_TEST), (fakesrc_suite):
730         * check/gst-libs/gdp.c: (GST_START_TEST):
731         * check/gst/gst.c: (GST_START_TEST):
732         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
733         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
734         * check/gst/gstbus.c: (GST_START_TEST):
735         * check/gst/gstcaps.c: (GST_START_TEST):
736         * check/gst/gstdata.c: (GST_START_TEST):
737         * check/gst/gstelement.c: (GST_START_TEST):
738         * check/gst/gstghostpad.c: (GST_START_TEST):
739         * check/gst/gstiterator.c: (GST_START_TEST):
740         * check/gst/gstmessage.c: (GST_START_TEST):
741         * check/gst/gstobject.c: (GST_START_TEST):
742         * check/gst/gstpad.c: (GST_START_TEST):
743         * check/gst/gststructure.c: (GST_START_TEST):
744         * check/gst/gstsystemclock.c: (GST_START_TEST),
745         (gst_systemclock_suite):
746         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
747         * check/gst/gstvalue.c: (GST_START_TEST):
748         * check/pipelines/cleanup.c: (GST_START_TEST):
749         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
750         * check/states/sinks.c: (GST_START_TEST):
751         * check/gstcheck.c: (gst_check_init):
752         * check/gstcheck.h:
753           add debugging category
754           use GST_START_TEST now, so we add a debug line
755
756 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
757
758         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
759           add test for state change message on a bin
760         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
761           add another test
762         * gst/gstbin.c: (gst_bin_init):
763         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
764         * gst/gstelement.c: (gst_element_post_message),
765         (gst_element_set_state):
766         * gst/gstelementfactory.c: (gst_element_factory_create):
767         * gst/gstmessage.c: (gst_message_new):
768         * gst/gstscheduler.c:
769           various debugging additions and cleanups
770
771 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
772
773         * check/Makefile.am:
774         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
775         (main):
776           adding tests for elements
777         * gst/gstelement.c: (gst_element_dispose):
778
779 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
780
781         * gst/registries/gstlibxmlregistry.c: (load_feature):
782           plug more leaks.  A simple gst_init() now is leakfree, yay.
783
784 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
787         (gst_xml_registry_load):
788           plug another memleak
789
790 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
791
792         * configure.ac:
793           use GST_SET_ERROR_CFLAGS
794         * docs/faq/cvs.xml:
795           change to ERROR_CFLAGS
796
797 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
798
799         * configure.ac:
800           make GST_ERROR_CFLAGS overridable and re-enable Werror
801         * docs/faq/cvs.xml:
802           add a note about error CFLAGS
803         * docs/gst/tmpl/gstfakesrc.sgml:
804         * gst/elements/gstfakesrc.c:
805           comment out some unused code
806         * gst/gst.c: (split_and_iterate):
807         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
808         (load_feature):
809           plug some memleaks
810
811 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * common/Makefile.am:
814         * common/gtk-doc.mak:
815         * docs/gst/Makefile.am:
816           factor out gtk-doc.mak
817
818 2005-07-07  Wim Taymans  <wim@fluendo.com>
819
820         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
821         (gst_thread_scheduler_dispose):
822         Unlock the STREAM_LOCK completely.
823
824 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
825
826         * check/Makefile.am:
827         * check/elements/.cvsignore:
828         * check/elements/gstfakesrc.c: (chain_func), (event_func),
829         (START_TEST), (fakesrc_suite), (main):
830         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
831         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
832         (gst_fakesrc_create), (gst_fakesrc_start):
833         * gst/elements/gstfakesrc.h:
834           adding a first element test
835
836 2005-07-07  Andy Wingo  <wingo@pobox.com>
837
838         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
839         debug message.
840
841 2005-07-07  Wim Taymans  <wim@fluendo.com>
842
843         * gst/gstquery.c:
844         * gst/gstquery.h:
845         Remove old types
846
847 2005-07-07  Wim Taymans  <wim@fluendo.com>
848
849         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
850         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
851         Allow subclasses to implement their own negotiation.
852
853 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
854
855         * docs/design/part-gstbin.txt:
856         * docs/design/part-gstpipeline.txt:
857           Update design notes to reflect the movement of
858           responsibility for bus handling from GstPipeline to
859           GstBin
860
861 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
862
863         * configure.ac:
864           Remove unnecessary queue2/3/4 examples.
865
866 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
867
868         * examples/Makefile.am:
869         * examples/helloworld/helloworld.c: (event_loop), (main):
870         * examples/queue/queue.c: (event_loop), (main):
871         * examples/queue2/queue2.c: (main):
872           Update a couple of the examples to work again.
873
874         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
875         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
876          Spelling corrections and extra debug.
877         
878         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
879         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
880         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
881         * gst/gstbin.h:
882         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
883         (gst_pipeline_change_state):
884         * gst/gstpipeline.h:
885           Move the bus handler for children to the GstBin, and create a
886           separate bus for receiving messages from children to the one the
887           bus sends 'upwards' on.
888
889 2005-07-06  Wim Taymans  <wim@fluendo.com>
890
891         * gst/base/README:
892         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
893         (gst_base_sink_handle_object), (gst_base_sink_loop),
894         (gst_base_sink_change_state):
895         * gst/base/gstbasesink.h:
896         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
897         (gst_base_src_init), (gst_base_src_setcaps),
898         (gst_base_src_getcaps), (gst_base_src_loop),
899         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
900         (gst_base_src_start), (gst_base_src_change_state):
901         * gst/base/gstbasesrc.h:
902         Make basesrc negotiate.
903         Handle the case where preroll fails in basesink.
904         Update README.
905
906 2005-07-06  Wim Taymans  <wim@fluendo.com>
907
908         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
909         Implement the fixate function.
910         Clean up acceptcaps.
911
912 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
913
914         * docs/pwg/building-filterfactory.xml:
915         * docs/pwg/pwg.xml:
916           Remove never-written filter-factory chapter; I'll add the various
917           base classes to part 4 ("other element types") later on.
918
919 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
920
921         * docs/pwg/advanced-negotiation.xml:
922         * docs/pwg/building-boiler.xml:
923         * docs/pwg/building-pads.xml:
924         * docs/pwg/pwg.xml:
925         * examples/pwg/Makefile.am:
926           Add a chapter on caps negotiation, simplify the original code
927           samples a bit w.r.t. caps negotiation, add link to the advanced
928           section. Add a bunch of examples showing different use cases of
929           different types of caps negotiation. Upstream renegotiation isn't
930           fully documented yet since nobody knows how that works.
931
932 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
933
934         * check/gst/gstpad.c:
935         * check/gstcheck.c:
936         * gst/gstpad.c: (gst_pad_get_internal_links_default):
937           if pad has no parent, return NULL as list of internal links
938
939 2005-07-05  Andy Wingo  <wingo@pobox.com>
940
941         * gst/elements/gstfilesrc.c:
942         * gst/elements/gstfakesrc.c: 
943         * gst/base/gstpushsrc.c:
944         * gst/base/gstbasesrc.h: 
945         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
946         
947 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
948
949         * Makefile.am:
950           better report generation target (lcov needs a patch)
951
952 2005-07-05  Andy Wingo  <wingo@pobox.com>
953
954         * gst/elements, testsuite: Null if we got it...
955
956 2005-07-05  Wim Taymans  <wim@fluendo.com>
957
958         * configure.ac:
959         * libs/gst/dataprotocol/Makefile.am:
960         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
961         * libs/gst/dataprotocol/dataprotocol.h:
962         * pkgconfig/Makefile.am:
963         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
964         * pkgconfig/gstreamer-dataprotocol.pc.in:
965         Ported dataprotol to 0.9. 
966         Added pkgconfig files.
967
968 2005-07-05  Andy Wingo  <wingo@pobox.com>
969
970         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
971         Default to returning TRUE for the case when tranform_caps returns
972         a fixed caps, like for identity or volume.
973
974         * check/gst/gstbus.c (pound_bus_with_messages): 
975         * check/gst/gstmessage.c (START_TEST): 
976         * check/pipelines/simple_launch_lines.c (got_handoff): Application
977         message API change.
978
979         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
980         logic weaks here: always run transform_caps, trying passthrough
981         operation only if the original caps intersects with the transform.
982
983         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
984         source and sink caps.
985
986         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
987         Intersect the peer caps with the pad template before going into
988         transform_caps.
989         (gst_base_transform_transform_caps): More debugging.
990
991         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
992         src argument.
993
994 2005-07-04  Edward Hervey  <edward@fluendo.com>
995
996         * gst/gstutils.c:
997         * gst/gstutils.h:
998         (gst_pad_add_*_probe): now returns the signal id for better wrapping
999         in bindings.
1000
1001 2005-07-04  Andy Wingo  <wingo@pobox.com>
1002
1003         * check/gst/gstpad.c: Only set explicit caps on pads.
1004
1005 2005-07-01  Andy Wingo  <wingo@pobox.com>
1006
1007         * tests/network-clock.scm: Commentary update.
1008
1009         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1010         Didn't really make sense, not implementable with basetransform,
1011         etc.
1012         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1013         attempt at implementing the sync property, needs an unlock method.
1014
1015         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1016         New func, by default returns the same caps (the identity
1017         transformation).
1018         (gst_base_transform_getcaps): Uses transform_caps to return
1019         something sensible.
1020         (gst_base_transform_setcaps): Complicated logic to get caps on
1021         both pads, even if they are different, and to call set_caps once
1022         for every time both pads get their caps set.
1023         (gst_base_transform_handle_buffer): Give the ref to the transform
1024         function. Allows in-place modification of the buffer.
1025
1026         * gst/base/gstbasetransform.h (transform_caps): New class method.
1027         Given caps on one side, what can I do on the other.
1028         (set_caps): Take two caps, one for each side of the element.
1029
1030         * gst/gstpad.h:
1031         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1032         caps in place. This is safe because we can check the mutability of
1033         the caps, and a good idea because fixate functions are just called
1034         as a matter of last resort. (Not actually implemented.)
1035         (gst_pad_set_caps): If the caps we're setting is actually the same
1036         as the existing pad caps, just update the pointer without calling
1037         setcaps. Assert that caps is either NULL or fixed, as per the
1038         docs.
1039
1040         * gst/gstghostpad.c: Update for fixate changes.
1041
1042 2005-07-02  Andy Wingo  <wingo@pobox.com>
1043
1044         * gst/gstcaps.c:
1045         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1046         two refcounts makes it immutable, which is enough. Doc more.
1047
1048 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1049
1050         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1051           Put the mini_object into GValue as a mini_object,
1052           not a gpointer, since that's how we declared
1053           the signal.
1054
1055 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1056
1057         * examples/pwg/Makefile.am:
1058           Fix buildbot again.
1059
1060 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1061
1062         * docs/pwg/building-testapp.xml:
1063           Add extra check.
1064         * examples/pwg/Makefile.am:
1065           Fix buildbot.
1066
1067 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1068
1069         * configure.ac:
1070         * examples/Makefile.am:
1071         * examples/pwg/Makefile.am:
1072         * examples/pwg/extract.pl:
1073           Enable building the PWG examples.
1074         * docs/pwg/advanced-interfaces.xml:
1075           Add URI interface stub.
1076         * docs/pwg/advanced-types.xml:
1077         * docs/pwg/other-autoplugger.xml:
1078         * docs/pwg/appendix-porting.xml:
1079         * docs/pwg/pwg.xml:
1080           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1081         * docs/pwg/building-boiler.xml:
1082         * docs/pwg/building-chainfn.xml:
1083         * docs/pwg/building-pads.xml:
1084         * docs/pwg/building-props.xml:
1085         * docs/pwg/building-state.xml:
1086         * docs/pwg/building-testapp.xml:
1087           Update the building-*.xml parts for 0.9 changes. All examples
1088           code blocks compile in examples/pwg/*.
1089
1090 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1091
1092         * docs/manual/advanced-autoplugging.xml:
1093         * docs/manual/appendix-checklist.xml:
1094         * docs/manual/appendix-integration.xml:
1095         * docs/manual/highlevel-components.xml:
1096           Fix playbin/decodebin examples, update docs a bit, mention bus
1097           instead of signals in various places, mention kmplayer and
1098           kaffeine since they have a working GStreamer backend in the KDE
1099           section.
1100
1101 2005-06-30  Wim Taymans  <wim@fluendo.com>
1102
1103         * CHANGES-0.9:
1104         * docs/design/draft-ghostpads.txt:
1105         * docs/design/draft-push-pull.txt:
1106         * docs/design/draft-query.txt:
1107         * docs/design/part-TODO.txt:
1108         * docs/design/part-query.txt:
1109         Added CHANGES-0.9 doc, updated status of other docs.
1110         
1111         * gst/gstquery.h:
1112         Remove "hmm" macro
1113
1114 2005-06-30  Wim Taymans  <wim@fluendo.com>
1115
1116         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1117         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1118         (gst_base_sink_change_state):
1119         * gst/base/gstbasesink.h:
1120         Some tweaks, only EOS and a buffer complete a preroll.
1121
1122 2005-06-30  Andy Wingo  <wingo@pobox.com>
1123
1124         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1125         activate_push down to the internal pad as well.
1126
1127 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1128
1129         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1130
1131         * gst/gsttaginterface.c:
1132           Some documentation fixes (#307394 and #307397).
1133
1134 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1135
1136         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1137
1138         * gst/gstvalue.c: (gst_value_intersect_list):
1139           Fix memleak (#309125).
1140
1141 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1142
1143         * docs/manual/advanced-dataaccess.xml:
1144           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1145         * docs/manual/basics-pads.xml:
1146           Add reference for filtered caps to above chapter.
1147
1148 2005-06-30  Wim Taymans  <wim@fluendo.com>
1149
1150         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1151         (gst_bin_change_state):
1152         Probes are gone.
1153         Lame attempt at making the state change function a bit
1154         more readable.
1155
1156 2005-06-30  Wim Taymans  <wim@fluendo.com>
1157
1158         * docs/design/part-clocks.txt:
1159         * docs/design/part-element-sink.txt:
1160         * docs/design/part-events.txt:
1161         * docs/design/part-preroll.txt:
1162         * docs/design/part-states.txt:
1163         Some more tweeks and additions to the docs.
1164
1165 2005-06-30  Wim Taymans  <wim@fluendo.com>
1166
1167         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1168         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1169         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1170         (gst_pad_check_pull_range), (gst_pad_get_range),
1171         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1172         * gst/gstpad.h:
1173         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1174         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1175         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1176         (gst_pad_remove_buffer_probe):
1177         Removed atomic operations, use existing LOCK.
1178         Move exception handling out of main code path.
1179
1180 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1181
1182         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1183         (silly_return_true_function), (gst_pad_class_init),
1184         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1185         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1186         (gst_pad_send_event):
1187           Fix accumulator, add default value by using _emitv() instead
1188           of _emit() for signal emission.
1189
1190 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1191
1192         * docs/manual/advanced-dataaccess.xml:
1193         * examples/manual/Makefile.am:
1194           Add probe example.
1195         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1196           Make work (??).
1197
1198 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1199
1200         * gst/elements/gstfilesink.c: (gst_filesink_render):
1201           Simplify code so that we don't have to handle short
1202           writes and return GST_FLOW_ERROR if an error occured.
1203
1204 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1205
1206         * docs/gst/gstreamer-docs.sgml:
1207           Remove probes more.
1208
1209 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1210
1211         * docs/gst/gstreamer-sections.txt:
1212         * docs/gst/tmpl/gstpad.sgml:
1213         * docs/gst/tmpl/gstprobe.sgml:
1214         * gst/Makefile.am:
1215         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1216         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1217         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1218         (gst_pad_push_event), (gst_pad_send_event):
1219         * gst/gstpad.h:
1220         * gst/gstutils.c: (gst_pad_add_data_probe),
1221         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1222         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1223         (gst_pad_remove_buffer_probe):
1224         * gst/gstutils.h:
1225           Remove old probes, add new g-signal-based probes and some utility
1226           functions.
1227
1228 2005-06-29  Edward Hervey  <edward@fluendo.com>
1229
1230         * gst/gstelementfactory.c:
1231         * gst/gstutils.h:
1232         * gst/gstutils.c:
1233         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1234         the definition to the header file.
1235
1236 2005-06-29  Andy Wingo  <wingo@pobox.com>
1237
1238         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1239         plugins from the source directory.
1240
1241 2005-06-29  Wim Taymans  <wim@fluendo.com>
1242
1243         * docs/gst/tmpl/gstbuffer.sgml:
1244         * docs/gst/tmpl/gstclock.sgml:
1245         Some fixings for blantently wrong text.
1246
1247 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1248
1249         * check/Makefile.am:
1250         * gst/gst.c: (add_path_func), (init_pre):
1251         * gst/gstregistry.c: (gst_registry_add_path):
1252           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1253           only scan the GST_PLUGIN_PATH locations, and not add
1254           system locations
1255
1256 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1257
1258         * docs/gst/gstreamer-sections.txt:
1259         * docs/gst/tmpl/gstbasesrc.sgml:
1260         * gst/gstelement.c:
1261         * gst/gstelement.h:
1262         * gst/gstevent.c:
1263         * gst/gstutils.c:
1264           doc fixes
1265
1266 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1267
1268         * docs/manual/advanced-autoplugging.xml:
1269           Fix autoplugging example.
1270
1271 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1272
1273         * docs/manual/advanced-autoplugging.xml:
1274         * docs/manual/mime-world.fig:
1275           Try to get autoplugging working, fix type detection. Fix text
1276           in hello-world image.
1277
1278 2005-06-29  Wim Taymans  <wim@fluendo.com>
1279
1280         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1281         (gst_base_sink_change_state):
1282         Small debug line.
1283
1284         * gst/gstclock.h:
1285         map SIGNAL and BROADCAST to the right function.
1286
1287         * gst/gstobject.h:
1288         Remove redundant braces.
1289
1290         * gst/gstpad.c: (gst_pad_set_caps):
1291         Don't call setcaps function when reseting caps to NULL.
1292
1293         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1294         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1295         (gst_system_clock_id_unschedule):
1296         Use BROADCAST as this is what we do.
1297
1298 2005-06-29  Wim Taymans  <wim@fluendo.com>
1299
1300         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1301         We are actually prerolling before commiting the state
1302         change. 
1303
1304 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1305
1306         * docs/manual/advanced-clocks.xml:
1307         * docs/manual/advanced-interfaces.xml:
1308         * docs/manual/advanced-metadata.xml:
1309         * docs/manual/advanced-position.xml:
1310         * docs/manual/advanced-schedulers.xml:
1311         * docs/manual/advanced-threads.xml:
1312         * docs/manual/appendix-porting.xml:
1313         * docs/manual/basics-bins.xml:
1314         * docs/manual/basics-bus.xml:
1315         * docs/manual/basics-elements.xml:
1316         * docs/manual/basics-helloworld.xml:
1317         * docs/manual/basics-pads.xml:
1318         * docs/manual/highlevel-components.xml:
1319         * docs/manual/manual.xml:
1320         * docs/manual/thread.fig:
1321           Update (until threads/scheduling) Application Development Manual;
1322           remove GstThread, add GstBus, add simple porting checklist, add
1323           documentation for tag writing, clocks, make all examples until this
1324           part compile and run.
1325         * examples/manual/Makefile.am:
1326           Update from changes to Application Development Manual; add bus
1327           example, remove thread example.
1328
1329 2005-06-28  Wim Taymans  <wim@fluendo.com>
1330
1331         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1332         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1333         (gst_bus_source_dispatch):
1334         Add debugging messages.
1335         Make internal methods static.
1336         Handle the case where the bus is flushed in the handler.
1337         
1338         * gst/gstelement.c: (gst_element_get_bus):
1339         Fix refcount in _get_bus();
1340
1341         * gst/gstpipeline.c: (gst_pipeline_change_state),
1342         (gst_pipeline_get_clock_func):
1343         Clock refcounting fixes.
1344         Handle the case where preroll timed out more gracefully.
1345         
1346         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1347         Clean up the internal thread in dispose. This is needed
1348         for subclasses that actually get disposed.
1349         
1350         * gst/schedulers/threadscheduler.c:
1351         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1352         (gst_thread_scheduler_dispose):
1353         Free thread pool in dispose.
1354
1355 2005-06-28  Andy Wingo  <wingo@pobox.com>
1356
1357         * tests/network-clock-utils.scm (debug, print-event): New utils.
1358
1359         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1360         (*packet-loss*): Unified loss probability.
1361         (network-time): Report out-of-band events.
1362
1363         * tests/plot-data: Add support for out-of-band events. Hack it
1364         into this script instead of passing it down the pipe; should fix
1365         this later.
1366
1367 2005-06-28  Wim Taymans  <wim@fluendo.com>
1368
1369         * docs/gst/gstreamer.types:
1370         * docs/gst/tmpl/gstbasesrc.sgml:
1371         * docs/gst/tmpl/gstpad.sgml:
1372         Docs fixes.
1373
1374 2005-06-28  Wim Taymans  <wim@fluendo.com>
1375
1376         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1377         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1378         (gst_proxy_pad_do_fixatecaps):
1379         Correctly proxy the check_pull_range function.
1380
1381 2005-06-28  Andy Wingo  <wingo@pobox.com>
1382
1383         * tests/network-clock.scm: Removed need for slib.
1384         
1385 2005-06-28  Wim Taymans  <wim@fluendo.com>
1386
1387         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1388         (gst_basesink_preroll_queue_flush):
1389         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1390         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1391         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1392         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1393         (gst_proxy_pad_set_property):
1394         * gst/gstpad.c:
1395         * gst/gstpad.h:
1396         * gst/gstqueue.c: (gst_queue_init):
1397         The deprecated pad loop function is removed now.
1398
1399 2005-06-28  Andy Wingo  <wingo@pobox.com>
1400
1401         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1402         New parameters, simulate network packet loss.
1403
1404         * tests/network-clock-utils.scm: Initialize the RNG.
1405
1406 2005-06-28  Wim Taymans  <wim@fluendo.com>
1407
1408         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1409         (gst_basesink_event), (gst_basesink_deactivate):
1410         Flushing the preroll queue always needs to unlock the waiters.
1411
1412 2005-06-28  Edward Hervey  <edward@fluendo.com>
1413
1414         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1415         Wheen a seek was successful on a pipeline, set the stream_time to the
1416         seek offset in order to have a synchronized stream_time.
1417
1418 2005-06-28  Wim Taymans  <wim@fluendo.com>
1419
1420         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1421         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1422         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1423         (gst_proxy_pad_do_fixatecaps):
1424         Call wrapper function instead of just calling the function
1425         pointers. This takes care of any locking and whatmore.
1426
1427 2005-06-28  Wim Taymans  <wim@fluendo.com>
1428
1429         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1430         (gst_pad_pull_range):
1431         * gst/gstpad.h:
1432         CONNECTED -> LINKED.
1433
1434 2005-06-28  Andy Wingo  <wingo@pobox.com>
1435
1436         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1437         source-munging commit!!!
1438
1439         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1440         (gst_object_sink): Take gpointer arguments, not GstObject --
1441         avoids casts. Like GLib.
1442
1443         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1444         activate.
1445
1446 2005-06-27  Andy Wingo  <wingo@pobox.com>
1447
1448         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1449         remaining buffer.
1450
1451         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1452         returns a sorted copy of the trace list.
1453         (gst_alloc_trace_print_live): New API, only prints traces with
1454         live objects. Sort the list.
1455         (gst_alloc_trace_print_all): Sort the list.
1456         (gst_alloc_trace_print): Align columns.
1457
1458         * gst/elements/gstttypefindelement.c:
1459         * gst/elements/gsttee.c:
1460         * gst/base/gstbasesrc.c:
1461         * gst/base/gstbasesink.c:
1462         * gst/base/gstbasetransform.c:
1463         * gst/gstqueue.c: Adapt for pad activation changes.
1464
1465         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1466         sched.
1467         (gst_pipeline_dispose): Drop ref on sched.
1468
1469         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1470         (gst_pad_activate_default): Push mode by default.
1471         (pre_activate_switch, post_activate_switch): New stubs, things to
1472         do before and after switching activation modes on pads.
1473         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1474         the pad's activate function to choose which mode to activate.
1475         Shortcut on deactivation and call the right function directly.
1476         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1477         mode.
1478         (gst_pad_activate_push): New API, same for push mode.
1479         (gst_pad_set_activate_function) 
1480         (gst_pad_set_activatepull_function) 
1481         (gst_pad_set_activatepush_function): Setters for new API.
1482
1483         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1484         Trace all miniobjects.
1485         (gst_mini_object_make_writable): Unref the arg if we copy, like
1486         gst_caps_make_writable.
1487
1488         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1489
1490         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1491         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1492         Adapt for new pad API.
1493
1494         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1495
1496         * gst/gstelement.h:
1497         * gst/gstelement.c (gst_element_iterate_src_pads) 
1498         (gst_element_iterate_sink_pads): New API functions.
1499         
1500         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1501         should fold into gstiterator.c in some form.
1502         (gst_element_pads_activate): Simplified via use of fold and
1503         delegation of decisions to gstpad->activate.
1504
1505         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1506         help in debugging.
1507
1508         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1509         class once in init, like gstmessage. Didn't run into this issue
1510         but it seems correct. Don't initialize a trace, gstminiobject does
1511         that.
1512
1513         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1514         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1515         to the bus.
1516         (assert_live_count): New util function, uses alloc traces to check
1517         cleanup.
1518
1519         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1520         To be modified when unlink drops the internal pad.
1521
1522 2005-06-27  Wim Taymans  <wim@fluendo.com>
1523
1524         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1525         (gst_bin_change_state):
1526         Cleanup the get_state() function a little, make sure it
1527         iterates the same set of elements.
1528         Added stub iterate_state_order().
1529
1530 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1531
1532         * docs/gst/gstreamer-docs.sgml:
1533         * docs/gst/gstreamer-sections.txt:
1534         * docs/gst/gstreamer.types:
1535         * docs/gst/tmpl/gstbasesink.sgml:
1536         * docs/gst/tmpl/gstbasesrc.sgml:
1537         * docs/gst/tmpl/gstbasetransform.sgml:
1538         * docs/gst/tmpl/gstelement.sgml:
1539         * docs/gst/tmpl/gstiterator.sgml:
1540         * gst/base/gstbasesrc.c:
1541         * gst/base/gstbasesrc.h:
1542         * gst/base/gstbasetransform.h:
1543         * gst/gstelement.c:
1544         * gst/gstiterator.h:
1545           adding basetransform and iterator docs
1546
1547 2005-06-27  Andy Wingo  <wingo@pobox.com>
1548
1549         * docs/design/part-activation.txt: Notes on how activation should
1550         work -- not quite implemented yet.
1551
1552 2005-06-25  Wim Taymans  <wim@fluendo.com>
1553
1554         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1555         At least get the chain function correct, needs more
1556         fixing.
1557
1558 2005-06-25  Wim Taymans  <wim@fluendo.com>
1559
1560         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1561         (gst_basesink_handle_object), (gst_basesink_event),
1562         (gst_basesink_do_sync), (gst_basesink_handle_event),
1563         (gst_basesink_change_state):
1564         * gst/gsttask.h:
1565         Right, two problems here: ghostpads don't take locks and
1566         glib _rec_mutex_lock_full() with depth==0 still locks.
1567         Catch illegal locking and g_warn them.
1568
1569 2005-06-25  Wim Taymans  <wim@fluendo.com>
1570
1571         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1572         Have to check for completion now...
1573
1574 2005-06-25  Wim Taymans  <wim@fluendo.com>
1575
1576         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1577         (gst_basesink_handle_object), (gst_basesink_event),
1578         (gst_basesink_do_sync), (gst_basesink_handle_event),
1579         (gst_basesink_change_state):
1580         * gst/gstpad.h:
1581         Unlock STREAM_LOCK whatever the recursion was.
1582
1583 2005-06-25  Wim Taymans  <wim@fluendo.com>
1584
1585         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1586         (gst_basesink_preroll_queue_empty),
1587         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1588         (gst_basesink_event), (gst_basesink_do_sync),
1589         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1590         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1591         (gst_basesink_change_state):
1592         Reworked the base sink, handle event and buffer serialisation
1593         correctly and removed possible deadlock.
1594         Handle EOS correctly.
1595
1596 2005-06-25  Wim Taymans  <wim@fluendo.com>
1597
1598         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1599         (gst_pipeline_change_state):
1600         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1601         Allow elements to post EOS in the state change function.
1602         Fix up -launch, make it exit the poll loop when the
1603         pipeline actually changed state.
1604         Fix up warning parsing in -launch.
1605
1606 2005-06-25  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1609         (gst_tee_sink_activate):
1610         Core takes STREAM_LOCK for us now.
1611
1612 2005-06-25  Wim Taymans  <wim@fluendo.com>
1613
1614         * gst/gstelement.c: (gst_element_get_state_func),
1615         (gst_element_set_state):
1616         * gst/gstelement.h:
1617         * gst/gstmessage.c: (gst_message_parse_error),
1618         (gst_message_parse_warning):
1619         Keep track of current target state while performing a state
1620         change so that subclasses can do something interesting.
1621         Fix parsing of warning/error messages when GError is NULL.
1622
1623 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1624
1625         * docs/gst/Makefile.am:
1626         * docs/gst/gstreamer-docs.sgml:
1627         * docs/gst/gstreamer-sections.txt:
1628         * docs/gst/gstreamer.types:
1629         * docs/gst/tmpl/gstbasesink.sgml:
1630         * docs/gst/tmpl/gstbasesrc.sgml:
1631         * docs/gst/tmpl/gstbin.sgml:
1632         * docs/gst/tmpl/gstcompat.sgml:
1633         * docs/gst/tmpl/gstfakesink.sgml:
1634         * docs/gst/tmpl/gstfakesrc.sgml:
1635         * docs/gst/tmpl/gstfilesink.sgml:
1636         * docs/gst/tmpl/gstfilesrc.sgml:
1637         * docs/gst/tmpl/gstindex.sgml:
1638         * docs/manual/appendix-quotes.xml:
1639         * gst/base/gstbasesrc.h:
1640         * gst/elements/gstfakesrc.h:
1641         * gst/gstmessage.h:
1642           start pulling in base classes and elements in our docs
1643
1644 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1645
1646         * docs/gst/Makefile.am:
1647         * docs/libs/Makefile.am:
1648           fixed make distcheck with gtk-doc 1.3
1649
1650 2005-06-23  Wim Taymans  <wim@fluendo.com>
1651
1652         * gst/gstelement.c: (gst_element_get_state_func),
1653         (gst_element_set_state), (gst_element_change_state):
1654         When the state did not change, also report NO_PREROLL
1655         when it matters.
1656
1657 2005-06-23  Wim Taymans  <wim@fluendo.com>
1658
1659         * gst/gstpad.c: (gst_pad_event_default):
1660         * gst/gstqueue.c: (gst_queue_loop):
1661         No unsafe task pausing please.
1662
1663 2005-06-23  Wim Taymans  <wim@fluendo.com>
1664
1665         * gst/schedulers/threadscheduler.c:
1666         (gst_thread_scheduler_task_start),
1667         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1668         Ref the task before pushing it on the threadpool. This
1669         makes sure that we have a ref when the threadfunction is
1670         actually called.
1671
1672 2005-06-23  Andy Wingo  <wingo@pobox.com>
1673
1674         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1675         offset is greater than the file's size.
1676
1677         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1678         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1679         * gst/gstobject.c (gst_object_class_init): Make the class lock
1680         recursive. Wim won't let me drop deep_notify. Decodebin works
1681         again, whoopdy doo.
1682
1683         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1684         internal pad, and hacks accordingly. Doesn't do it on the target
1685         pad because we change its caps. Probably catches all cases of
1686         interest tho.
1687         (gst_ghost_pad_set_property): Connect to notify::caps as
1688         appropritate.
1689
1690         * tests/network-clock.scm (plot-simulation): Pipe data to the
1691         elite python skript.
1692
1693         * tests/network-clock-utils.scm (define-parameter): New macro,
1694         defines a parameter that can be set via the command line.
1695         (set-parameter!, parse-parameter-arguments): Command line args
1696         parser.
1697
1698         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1699         stdin.
1700
1701 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1702
1703         * gst/elements/gsttypefindelement.c:
1704         (gst_type_find_element_handle_event):
1705           Don't restart typefinding on a discont.
1706         * gst/gstelement.c: (gst_element_set_state):
1707           Debug spelling fix.
1708         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1709           Allow changing mode of an active pad.
1710           Debug output fixes.
1711         * gst/registries/gstlibxmlregistry.c: (load_feature):
1712           Don't cast a static pad template to a normal pad template.
1713
1714 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1715
1716         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1717         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1718           remove gst_strtoll completely, since it didn't actually do
1719           anything more than what g_ascii_strtoull already does.
1720           check for range errors when deserializing
1721           do a cast for the unsigned cases; but further fixing needs
1722           a decision on what the interpretation of "(int)" and
1723           deserialization should be for values that fall outside the
1724           type's boundaries (ie, refuse, or interpret as casting)
1725
1726 2005-06-23  Wim Taymans  <wim@fluendo.com>
1727
1728         * check/Makefile.am:
1729         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
1730         * docs/design/part-live-source.txt:
1731         * docs/design/part-states.txt:
1732         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1733         (gst_basesrc_set_live), (gst_basesrc_is_live),
1734         (gst_basesrc_get_range), (gst_basesrc_activate),
1735         (gst_basesrc_change_state):
1736         * gst/base/gstbasesrc.h:
1737         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1738         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1739         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
1740         * gst/gstelement.c: (gst_element_get_state_func),
1741         (gst_element_set_state):
1742         * gst/gstelement.h:
1743         * gst/gsttypes.h:
1744         * tools/gst-launch.c: (event_loop), (main):
1745         Added support for live sources and other elements that
1746         cannot do preroll.
1747         Updated design docs, added live-source design doc.
1748         Implemented live source functionality in basesrc
1749         Fix error condition in _bin_get_state()
1750         Implement live source handling in -launch.
1751         Added check for live sources.
1752         Fixed case in GstBin where elements were changed state
1753         multiple times.
1754
1755
1756 2005-06-23  Andy Wingo  <wingo@pobox.com>
1757
1758         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
1759         borken refcounting.
1760
1761         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
1762         gst_caps_replace takes care of this for us.
1763
1764         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
1765         gst_pad_set_caps on the target, not just its setcaps() function.
1766
1767         * tests/network-clock.scm: 
1768         * tests/network-clock-utils.scm: A network clock simulator.
1769         Something of an algorithmic testbed before doing something in C.
1770
1771 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1772
1773         * check/Makefile.am:
1774         * check/gst/capslist.h:
1775           copy over from 0.8, and add two with bitmasks specified with
1776           (int) 0xFF...
1777         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1778           add test to parse everything from capslist.h
1779         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
1780         (main):
1781           add test for structure deserialization
1782         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1783           add tests for deserialization of strings to int types
1784         * gst/gststructure.c: (gst_structure_nth_field_name):
1785         * gst/gststructure.h:
1786           add a way to get the name of a field referenced by index
1787         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1788           instead of checking if the resulting long long lies between
1789           min and max, we check if the long long would fit into
1790           a number of bytes for the final type.
1791           This fixes cases where a string represents 2^32 - 1, which
1792           when cast to int would be the (valid) -1, but is bigger than
1793           G_MAXINT
1794
1795 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1796
1797         * gst/parse/grammar.y:
1798           add a log line for type deserialization
1799
1800 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1801
1802         * check/gst/gstvalue.c: (START_TEST):
1803         * gst/gstvalue.c: (gst_value_deserialize):
1804           return long long, not int, so gint64 deserialization actually
1805           works.  Is there any flag that makes the compiler check this ?
1806           Fixes #308559
1807
1808 2005-06-22  Wim Taymans  <wim@fluendo.com>
1809
1810         * gst/gstbuffer.h:
1811         Added convenience macros for setting buffers in GValue.
1812
1813 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1814
1815         * check/gst/.cvsignore:
1816         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1817           add a test deserializing int64, and comment part out because
1818           it fails, yay !
1819
1820 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1821
1822         * check/Makefile.am:
1823         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
1824         * testsuite/Makefile.am:
1825         * testsuite/caps/Makefile.am:
1826         * testsuite/caps/value_serialize.c:
1827         * testsuite/test_gst_init.c:
1828           move a value_serialize test over
1829
1830 2005-06-20  Wim Taymans  <wim@fluendo.com>
1831
1832         * gst/gstpad.c:
1833         Small doc updates.
1834         
1835         * gst/gstvalue.c: (gst_value_compare_buffer),
1836         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
1837         (gst_value_compare_flags), (gst_value_serialize_flags),
1838         (gst_value_deserialize_flags), (_gst_value_initialize):
1839         Fix serialisation of buffers, they are not boxed types anymore
1840
1841 2005-06-20  Wim Taymans  <wim@fluendo.com>
1842
1843         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
1844         Testcase to show error in buffer-on-caps serialisation.
1845
1846 2005-06-20  Andy Wingo  <wingo@pobox.com>
1847
1848         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
1849         will be adding to later.
1850
1851         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
1852         if its socks fill with rocks.
1853         (gst_system_clock_obtain): Set the name on object construction.
1854         Avoid double-checked locking.
1855
1856 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
1857
1858         * gst/gsturi.c: (gst_element_make_from_uri):
1859           Fix potential endless loop.
1860
1861 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1862
1863         * check/Makefile.am:
1864           add gsttag
1865         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
1866         (main):
1867           move over from testsuite dir and clean up
1868         * configure.ac:
1869         * gst/gsttag.c:
1870         * testsuite/Makefile.am:
1871         * testsuite/tags/.cvsignore:
1872         * testsuite/tags/Makefile.am:
1873         * testsuite/tags/merge.c:
1874           remove testsuite/tags
1875
1876 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1877
1878         * docs/gst/gstreamer-sections.txt:
1879         * docs/gst/tmpl/gstenumtypes.sgml:
1880         * win32/gstenumtypes.c:
1881           clean up documentation build a little
1882
1883 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1884
1885         * check/gstcheck.h:
1886           add macros for checking refcounts on objects and caps
1887         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
1888           add some more unit tests
1889         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1890         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
1891           fix leaked refcounts (I hope :)) so unittest works
1892         * gst/gstpad.h:
1893           whitespace removal
1894
1895 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1896
1897         * configure.ac: back to HEAD
1898
1899 === release 0.9.1 ===
1900
1901 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1902
1903         * NEWS:
1904         * RELEASE:
1905           updated
1906
1907 2005-06-17  Andy Wingo  <wingo@pobox.com>
1908
1909         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
1910         assert; it's always possible that the pad gets deactivated in
1911         between the checks in gstpad.c and the implementation. Rely on
1912         finish_preroll() to return a FLUSHING or similar instead of on the
1913         assert.
1914         
1915         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
1916         clock and post an EOS message if we come out of finish_preroll in
1917         the playing state.
1918
1919 2005-06-16  David Schleef  <ds@schleef.org>
1920
1921         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1922         (gst_capsfilter_set_property): Allow NULL as possible value
1923         for filter_caps property, indicating GST_CAPS_ANY.
1924
1925 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1926
1927         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
1928           fix debug output
1929         * gst/schedulers/Makefile.am:
1930           use libgst prefix
1931         * gstreamer.spec.in:
1932           fix spec for it
1933
1934 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1935
1936         * gstreamer.spec.in:
1937           clean up
1938
1939 2005-06-08  Andy Wingo  <wingo@pobox.com>
1940
1941         * gst/gstutils.c: RPAD fixes all around.
1942         (gst_element_link_pads): Refcounting fixes.
1943
1944         * tools/gst-inspect.c:
1945         * tools/gst-xmlinspect.c:
1946         * parse/grammar.y:
1947         * gst/base/gsttypefindhelper.c:
1948         * gst/base/gstbasesink.c:
1949         * gst/gstqueue.c: RPAD fixes.
1950
1951         * gst/gstghostpad.h:
1952         * gst/gstghostpad.c: New ghost pad implementation as full proxy
1953         pads. The tricky thing is they provide both source and sink
1954         interfaces, since they proxy the internal pad for the external
1955         pad, and vice versa. Implement with lower-level ProxyPad objects,
1956         with the interior proxy pad as a child of the exterior ghost pad.
1957         Should write a doc on this.
1958         
1959         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
1960         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
1961         gst_object API.
1962         
1963         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
1964         pads are real pads. No ghost pads in this file. Not documenting
1965         the myriad s/RPAD/PAD/ and REALIZE fixes.
1966         (gst_pad_class_init): Add properties for "direction" and
1967         "template". Both are construct-only, so they can't change during
1968         the life of the pad. Fixes properly deriving from GstPad.
1969         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1970         derived objects, just set properties when creating the objects via
1971         g_object_new.
1972         (gst_pad_get_parent): Implement as a function, return NULL if the
1973         parent is not an element.
1974         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1975         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1976         
1977         * gst/gstobject.c (gst_object_class_init): Make name a construct
1978         property. Don't set it in the object init.
1979
1980         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1981         with UNKNOWN direction.
1982         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1983         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1984         (gst_element_remove_pad): Remove ghost-pad special cases.
1985         (gst_element_pads_activate): Remove rpad cruft.
1986
1987         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
1988         catch the pad's-parent-not-an-element case.
1989
1990         * gst/gst.h: Include gstghostpad.h.
1991
1992         * gst/gst.c (init_post): No more real, ghost pads.
1993
1994         * gst/Makefile.am: Add gstghostpad.[ch].
1995
1996         * check/Makefile.am:
1997         * check/gst/gstbin.c:
1998         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
1999         into a bin creates ghost pads, and that the refcounts are right.
2000         Partly moved from gstbin.c.
2001
2002 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2003
2004         * check/gst-libs/.cvsignore:
2005         * check/gst/.cvsignore:
2006         * check/pipelines/.cvsignore:
2007           ignore more
2008         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2009         (START_TEST), (cleanup_suite), (main):
2010           add some tests related to cleanup after running pipelines
2011
2012 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2015           add a testsuite for GstBuffer
2016
2017 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2018
2019         * gst/gstminiobject.h:
2020           add defines for accessing the refcount
2021
2022 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2023
2024         * Makefile.am: added support for html unit test coverage reports
2025
2026 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2027
2028         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2029           Free existing caps if the capsfilter changes. Add a FIXME about
2030           setting those caps on the pads.
2031
2032         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2033           Before adding a ghost pad to a parent bin, check that there isn't
2034           already one for the element on the bin. Prevents infinite recursion
2035           when using decodebin in parse pipelines. Andy says he'll rewrite the
2036           way this works anyway, so ignore the hack.
2037
2038 2005-06-02  Andy Wingo  <wingo@pobox.com>
2039
2040         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2041         file size, pass it on to the type find helper.
2042
2043         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2044         segment_start and segment_end properly according to the seek
2045         method. Segment_end is still a bit flaky because offset can be
2046         negative for CUR and END cases, but it takes -1 as an "unset"
2047         value.
2048
2049 2005-06-02  Wim Taymans  <wim@fluendo.com>
2050
2051         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2052         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2053         (gst_basesink_activate):
2054         * gst/base/gstbasesink.h:
2055         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2056         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2057         (gst_pad_query), (gst_pad_start_task):
2058         * gst/gstpad.h:
2059         * gst/gstqueue.c: (gst_queue_bufferalloc),
2060         (gst_queue_handle_sink_event), (gst_queue_chain):
2061         Bufferalloc: return GstFlowReturn to more accuratly report
2062         why allocation failed.
2063
2064 2005-06-02  Wim Taymans  <wim@fluendo.com>
2065
2066         * gst/gstpipeline.c: (gst_pipeline_send_event):
2067         Take snapshot of state without blocking.
2068
2069 2005-06-02  Wim Taymans  <wim@fluendo.com>
2070
2071         * docs/design/part-TODO.txt:
2072         * docs/design/part-caps.txt:
2073         * docs/design/part-clocks.txt:
2074         * docs/design/part-negotiation.txt:
2075         * docs/design/part-preroll.txt:
2076         Small doc updates 
2077
2078 2005-05-30  Wim Taymans  <wim@fluendo.com>
2079
2080         * gst/elements/gstidentity.c: (gst_identity_event),
2081         (gst_identity_transform), (gst_identity_get_property):
2082         Protect last_message property as it is accessed from
2083         multiple threads.
2084
2085 2005-05-30  Wim Taymans  <wim@fluendo.com>
2086
2087         * gst/gstelement.c: (gst_element_init),
2088         (gst_element_pads_activate), (gst_element_change_state):
2089         Slicker pad activation code.
2090
2091 2005-05-30  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/Makefile.am:
2094         * gst/gstelement.h:
2095         * gst/gstelementfactory.h:
2096         * gst/gsttypes.h:
2097         Move elementfactory methods to separate .h file.
2098
2099 2005-05-30  Wim Taymans  <wim@fluendo.com>
2100
2101         * docs/design/part-overview.txt:
2102         * gst/gstsystemclock.h:
2103         Small typo fixes, doc updates.
2104
2105 2005-05-30  Wim Taymans  <wim@fluendo.com>
2106
2107         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2108         (init_popt_callback):
2109         Remove cpu-opt flag.
2110
2111 2005-05-30  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2114         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2115         * gst/gstbuffer.h:
2116         Avoid typechecking in places where not needed.
2117         Added accessor for malloc_data.
2118
2119 2005-05-30  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2122         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2123         (gst_pad_configure_sink), (gst_pad_configure_src),
2124         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2125         (gst_pad_start_task):
2126         Propagate errors from _set_caps() in configure_src/sink
2127         functions instead of returning TRUE.
2128         FLUSH events can travel up and downstream
2129
2130
2131 2005-05-30  Wim Taymans  <wim@fluendo.com>
2132
2133         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2134         (gst_basesink_activate):
2135         Handle EOS in preroll.
2136
2137 2005-05-30  Wim Taymans  <wim@fluendo.com>
2138
2139         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2140         (gst_queue_loop), (gst_queue_handle_src_event):
2141         Remove old pieces of code
2142         Flushing the queue in an upstream event is a very bad idea.
2143
2144 2005-05-26  Andy Wingo  <wingo@pobox.com>
2145
2146         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2147         gst_value_set_mini_object so as to add a ref on the object (which
2148         will be removed when the value is unset).
2149
2150         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2151         arg type in ::handoff.
2152
2153         * gst/gstelement.c (gst_element_change_state): Also deactivate
2154         pads in READY->NULL, just in case the element didn't make it to
2155         PAUSED. Wingo tested, Wim approved.
2156
2157 2005-05-26  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2160         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2161         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2162         A flushing pad cannot be used to alloc_buffer from.
2163
2164 2005-05-26  Wim Taymans  <wim@fluendo.com>
2165
2166         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2167         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2168         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2169         (gst_bus_create_watch), (gst_bus_add_watch_full):
2170         * gst/gstbus.h:
2171         Implement a real GSource and use g_main_context_wakeup() to
2172         signal new messages instead of the socketpair.
2173
2174 2005-05-25  Wim Taymans  <wim@fluendo.com>
2175
2176         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2177         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2179         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2180         (gst_pad_send_event), (gst_pad_start_task):
2181         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2182         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2183         (gst_queue_sink_activate), (gst_queue_src_activate),
2184         (gst_queue_change_state):
2185         * gst/gstqueue.h:
2186         Fix state changes for non sinks. We now change sinks, then elements
2187         with unconnected srcpads, then the rest.
2188         More efficient queue unlocking in flush and state changes.
2189         Set the pad activate mode even if it does not have an activate
2190         function.
2191
2192 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2193
2194         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2195           Don't go in pull mode for non-seekable sources.
2196         * gst/elements/gsttypefindelement.h:
2197         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2198         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2199         (free_entry), (stop_typefinding),
2200         (gst_type_find_element_handle_event), (find_peek),
2201         (gst_type_find_element_chain), (do_pull_typefind),
2202         (gst_type_find_element_change_state):
2203           Allow typefinding (w/o seeking) in push-mode, simplified version
2204           of what was in 0.8.
2205         * gst/gstutils.c: (gst_buffer_join):
2206         * gst/gstutils.h:
2207           gst_buffer_join() from 0.8.
2208
2209 2005-05-25  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2212         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2213         (gst_pad_send_event), (gst_pad_start_task):
2214         Disable attempt at mode switching until it is figured out.
2215
2216 2005-05-25  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2219         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2220         (gst_basesink_finish_preroll), (gst_basesink_chain),
2221         (gst_basesink_loop), (gst_basesink_activate),
2222         (gst_basesink_change_state):
2223         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2224         (gst_basesrc_get_range), (gst_basesrc_loop),
2225         (gst_basesrc_activate):
2226         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2227         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2228         (gst_real_pad_init), (gst_real_pad_set_property),
2229         (gst_real_pad_get_property), (gst_pad_set_active),
2230         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2231         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2232         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2233         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2234         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2235         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2236         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2237         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2238         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2239         (gst_pad_stop_task):
2240         * gst/gstpad.h:
2241         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2242         (gst_queue_loop), (gst_queue_src_activate):
2243         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2244         (gst_task_get_state):
2245         * gst/gsttask.h:
2246         * gst/schedulers/threadscheduler.c:
2247         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2248         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2249         in task function.
2250         Remove ACTIVE pad flag, use FLUSHING everywhere
2251         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2252         functions.
2253         Add locks around IS_FLUSHING when reading.
2254         Take STREAM lock in chain(), get_range() functions so plugins
2255         don't need to take it anymore.
2256         
2257
2258
2259 2005-05-25  Wim Taymans  <wim@fluendo.com>
2260
2261         * tools/gst-launch.c: (event_loop):
2262         Unref message after using its contents instead of
2263         before.
2264
2265 2005-05-24  Wim Taymans  <wim@fluendo.com>
2266
2267         * docs/design/draft-ghostpads.txt:
2268         * docs/design/draft-push-pull.txt:
2269         * docs/design/draft-query.txt:
2270         * docs/design/part-overview.txt:
2271         Docs updates, added general overview doc.
2272
2273 2005-05-21  David Schleef  <ds@schleef.org>
2274
2275         * docs/gst/tmpl/old/GstBin.sgml:
2276         * docs/gst/tmpl/old/GstBuffer.sgml:
2277         * docs/gst/tmpl/old/GstCaps.sgml:
2278         * docs/gst/tmpl/old/GstClock.sgml:
2279         * docs/gst/tmpl/old/GstCompat.sgml:
2280         * docs/gst/tmpl/old/GstData.sgml:
2281         * docs/gst/tmpl/old/GstElement.sgml:
2282         * docs/gst/tmpl/old/GstEvent.sgml:
2283         * docs/gst/tmpl/old/GstIndex.sgml:
2284         * docs/gst/tmpl/old/GstStructure.sgml:
2285         * docs/gst/tmpl/old/GstTag.sgml:
2286         * docs/gst/tmpl/old/cothreads.sgml:
2287         * docs/gst/tmpl/old/cothreads_compat.sgml:
2288         * docs/gst/tmpl/old/gettext.sgml:
2289         * docs/gst/tmpl/old/gobject2gtk.sgml:
2290         * docs/gst/tmpl/old/grammar.tab.sgml:
2291         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2292         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2293         * docs/gst/tmpl/old/gst_private.sgml:
2294         * docs/gst/tmpl/old/gstaggregator.sgml:
2295         * docs/gst/tmpl/old/gstarch.sgml:
2296         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2297         * docs/gst/tmpl/old/gstbufferstore.sgml:
2298         * docs/gst/tmpl/old/gstdata_private.sgml:
2299         * docs/gst/tmpl/old/gstdisksink.sgml:
2300         * docs/gst/tmpl/old/gstdisksrc.sgml:
2301         * docs/gst/tmpl/old/gstelementfactory.sgml:
2302         * docs/gst/tmpl/old/gstextratypes.sgml:
2303         * docs/gst/tmpl/old/gstfakesink.sgml:
2304         * docs/gst/tmpl/old/gstfakesrc.sgml:
2305         * docs/gst/tmpl/old/gstfdsink.sgml:
2306         * docs/gst/tmpl/old/gstfdsrc.sgml:
2307         * docs/gst/tmpl/old/gstfilesink.sgml:
2308         * docs/gst/tmpl/old/gstfilesrc.sgml:
2309         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2310         * docs/gst/tmpl/old/gstidentity.sgml:
2311         * docs/gst/tmpl/old/gstindexfactory.sgml:
2312         * docs/gst/tmpl/old/gstmarshal.sgml:
2313         * docs/gst/tmpl/old/gstmd5sink.sgml:
2314         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2315         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2316         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2317         * docs/gst/tmpl/old/gstpipefilter.sgml:
2318         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2319         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2320         * docs/gst/tmpl/old/gstshaper.sgml:
2321         * docs/gst/tmpl/old/gstspider.sgml:
2322         * docs/gst/tmpl/old/gstspideridentity.sgml:
2323         * docs/gst/tmpl/old/gststatistics.sgml:
2324         * docs/gst/tmpl/old/gsttee.sgml:
2325         * docs/gst/tmpl/old/gsttimecache.sgml:
2326         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2327         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2328         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2329         * docs/gst/tmpl/old/types.sgml:
2330           I didn't intend to add these or check them in.
2331
2332 2005-05-19  David Schleef  <ds@schleef.org>
2333
2334         * configure.ac: Use -no-common everywhere.  In a sane world, it
2335           would be the default in libtool, because without it, you can't
2336           build DLLs on Windows.
2337         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2338         * docs/gst/gstreamer-sections.txt:
2339         * docs/gst/tmpl/gstcpu.sgml:
2340         * docs/gst/tmpl/gstdata.sgml:
2341         * docs/gst/tmpl/gstthread.sgml:
2342
2343 2005-05-19  David Schleef  <ds@schleef.org>
2344
2345         * gst/gstminiobject.c: (gst_value_set_mini_object),
2346         (gst_value_take_mini_object), (gst_value_get_mini_object):
2347         * gst/gstminiobject.h: Add GValue set/get functions.
2348
2349 2005-05-19  Wim Taymans  <wim@fluendo.com>
2350
2351         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2352         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2353         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2354         * gst/gstbuffer.h:
2355         * gst/gstbus.c: (gst_bus_post):
2356         * gst/gstelement.c: (gst_element_get_random_pad):
2357         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2358         Make subbufer unref the parent in finalize.
2359         some more debugging info.
2360
2361
2362 2005-05-19  Wim Taymans  <wim@fluendo.com>
2363
2364         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2365         (gst_basesink_init), (gst_basesink_finalize),
2366         (gst_basesink_activate), (gst_basesink_change_state):
2367         Don't free preroll queue too early.
2368
2369 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2370
2371         * gst/Makefile.am:
2372         * gst/ROADMAP:
2373           Hi, I'm outdated. Please shoot me.
2374
2375 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2376
2377         * gst/gstpipeline.c: (gst_pipeline_send_event):
2378           Do not access variables after they have been deleted.
2379
2380 2005-05-19  Wim Taymans  <wim@fluendo.com>
2381
2382         * tools/gst-inspect.c: (print_plugin_features):
2383         A plugin feature does unfortunatly not use the
2384         object name yet...
2385
2386 2005-05-18  Wim Taymans  <wim@fluendo.com>
2387
2388         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2389         Port _span() functions to new subbuffers.
2390
2391 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2392
2393         * gst/gstbin.c: (gst_bin_add_func):
2394           Fix clock settery in bins when adding kids after the clock has
2395           been selected.
2396
2397 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2398
2399         * gst/elements/gstidentity.c: (gst_identity_class_init):
2400           Workaround until signals support GstMiniObject.
2401
2402 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2403
2404         * gst/gstbuffer.c:
2405         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2406
2407 2005-05-18  Wim Taymans  <wim@fluendo.com>
2408
2409         * gst/base/Makefile.am:
2410         * gst/base/gstadapter.c: (gst_adapter_base_init),
2411         (gst_adapter_class_init), (gst_adapter_init),
2412         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2413         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2414         (gst_adapter_flush), (gst_adapter_available),
2415         (gst_adapter_available_fast):
2416         * gst/base/gstadapter.h:
2417         Ported and added adapter to the base classes.
2418
2419 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2420
2421         * gst/gst.c:
2422         * gst/gstmessage.c:
2423           Make sure the class is reffed/unreffed once before threads can be
2424           used.  Fixes #304551.
2425
2426 2005-05-17  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2429         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2430         * gst/gstminiobject.c: (gst_mini_object_get_type),
2431         (gst_mini_object_free):
2432         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2433         (gst_pad_push), (gst_pad_push_event):
2434         * gst/gstqueue.c: (gst_queue_change_state):
2435         Don't queue buffers in basesink when we are flushing.
2436         Unref buffer when flushing in basesink.
2437         Flush queue when going to READY
2438         Unref buffer when _push() returns an error.
2439         Don't free MiniObject instance when refcount is incremented
2440         in _finalize() so that we can recover objects.
2441
2442 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2443
2444         * docs/manual/advanced-schedulers.xml:
2445         * docs/manual/appendix-checklist.xml:
2446         * docs/pwg/advanced-clock.xml:
2447         * docs/pwg/advanced-interfaces.xml:
2448         * docs/pwg/advanced-request.xml:
2449         * docs/pwg/advanced-types.xml:
2450         * docs/pwg/intro-preface.xml:
2451         * examples/plugins/example.c: (gst_example_get_type),
2452         (gst_example_class_init), (gst_example_chain),
2453         (gst_example_set_property), (gst_example_get_property),
2454         (gst_example_change_state), (plugin_init):
2455         * examples/plugins/example.h:
2456           small doc fixes
2457
2458 2005-05-17  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2461         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2462         * gst/gstqueue.c: (gst_queue_change_state):
2463         Clear queue when going to READY.
2464         Remove IN_SETCAPS flag too.
2465
2466 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2467
2468         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2469           Remove implicit cast from gboolean to GstElementStateReturn;
2470           make sure we still return failure in paused => ready case if
2471           the parent class fails to change state and our own stop 
2472           vfunc succeeds.
2473
2474 2005-05-17  Wim Taymans  <wim@fluendo.com>
2475
2476         * tools/gst-launch.c: (event_loop):
2477         Message was unreffed too soon.
2478
2479 2005-05-16  Andy Wingo  <wingo@pobox.com>
2480
2481         * gst/gstbin.c (sink_iterator_filter): Err... um...
2482
2483         * check/gst/gstbin.c (test_ghost_pads): New test for the
2484         ghosting-if-elements-not-in-same-bin behavior.
2485
2486 2005-05-16  David Schleef  <ds@schleef.org>
2487
2488         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2489         accessing refcount directly.
2490
2491 2005-05-15  David Schleef  <ds@schleef.org>
2492
2493         * check/Makefile.am: remove GstData checks
2494         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2495         * gst/Makefile.am: add miniobject, remove data
2496         * gst/gst.h: add miniobject, remove data
2497         * gst/gstdata.c: remove
2498         * gst/gstdata.h: remove
2499         * gst/gstdata_private.h: remove
2500         * gst/gsttypes.h: remove GstEvent and GstMessage
2501         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2502         * gst/gstmarshal.list: change BOXED -> OBJECT
2503
2504         Implement GstMiniObject.
2505         * gst/gstminiobject.c:
2506         * gst/gstminiobject.h:
2507
2508         Modify to be subclasses of GstMiniObject.
2509         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2510         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2511         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2512         (gst_subbuffer_get_type), (gst_subbuffer_init),
2513         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2514         (gst_buffer_span):
2515         * gst/gstbuffer.h:
2516         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2517         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2518         (_gst_event_copy), (gst_event_new):
2519         * gst/gstevent.h:
2520         * gst/gstmessage.c: (_gst_message_initialize),
2521         (gst_message_get_type), (gst_message_class_init),
2522         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2523         (gst_message_new), (gst_message_new_error),
2524         (gst_message_new_warning), (gst_message_new_tag),
2525         (gst_message_new_state_changed), (gst_message_new_application):
2526         * gst/gstmessage.h:
2527         * gst/gstprobe.c: (gst_probe_perform),
2528         (gst_probe_dispatcher_dispatch):
2529         * gst/gstprobe.h:
2530         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2531         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2532         (_gst_query_copy), (gst_query_new):
2533
2534         Update elements for GstData -> GstMiniObject changes
2535         * gst/gstquery.h:
2536         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2537         (gst_queue_chain), (gst_queue_loop):
2538         * gst/elements/gstbufferstore.c:
2539         (gst_buffer_store_add_buffer_func),
2540         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2541         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2542         (gst_fakesink_render):
2543         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2544         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2545         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2546         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2547         (gst_filesrc_create_read):
2548         * gst/elements/gstidentity.c: (gst_identity_class_init):
2549         * gst/elements/gsttypefindelement.c:
2550         (gst_type_find_element_src_event), (free_entry_buffers),
2551         (gst_type_find_element_handle_event):
2552         * libs/gst/dataprotocol/dataprotocol.c:
2553         (gst_dp_header_from_buffer):
2554         * libs/gst/dataprotocol/dataprotocol.h:
2555         * libs/gst/dataprotocol/dp-private.h:
2556
2557 2005-05-15  David Schleef  <ds@schleef.org>
2558
2559         * gst/elements/gstelements.c: Don't include headers that were
2560         just removed.
2561
2562 2005-05-15  David Schleef  <ds@schleef.org>
2563
2564         * gst/elements/Makefile.am: Remove some elements that don't
2565         need to be in the core (or even exist at all).
2566         * gst/elements/gstaggregator.c:
2567         * gst/elements/gstaggregator.h:
2568         * gst/elements/gstmd5sink.c:
2569         * gst/elements/gstmd5sink.h:
2570         * gst/elements/gstmultifilesrc.c:
2571         * gst/elements/gstmultifilesrc.h:
2572         * gst/elements/gstpipefilter.c:
2573         * gst/elements/gstpipefilter.h:
2574         * gst/elements/gstshaper.c:
2575         * gst/elements/gstshaper.h:
2576         * gst/elements/gststatistics.c:
2577         * gst/elements/gststatistics.h:
2578         * po/POTFILES.in: Remove above files.
2579
2580 2005-05-14  Andy Wingo  <wingo@pobox.com>
2581
2582         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2583         so as to get the refs right.
2584         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2585         unreffing objects that don't pass the filter.
2586
2587         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2588         gst_element_set_bus.
2589         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2590         normal cases, this will destroy the bus.
2591
2592         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2593         object.
2594
2595         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2596         has no sinks.
2597
2598 2005-05-13  Andy Wingo  <wingo@pobox.com>
2599
2600         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2601         gst_pad_link, call pad_link_maybe_ghosting,
2602         (pad_link_maybe_ghosting): Links pads, making sure that the
2603         elements being linked are in the same bin.
2604         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2605         Helpers for pad_link_maybe_ghosting.
2606
2607 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2608
2609         * configure.ac:
2610           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2611
2612 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2613
2614         * docs/design/part-element-source.txt:
2615           Mention GstPushSrc
2616
2617 2005-05-12  Wim Taymans  <wim@fluendo.com>
2618
2619         * gst/base/gstbasesink.c: (gst_basesink_init),
2620         (gst_basesink_activate):
2621         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2622         (gst_basesrc_is_seekable):
2623         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2624         (bin_element_is_sink), (gst_bin_change_state):
2625         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2626         * gst/gstelement.h:
2627         Identify sinks by their flag to avoid overly complicated
2628         checks (fow now).
2629         Do state changes even for elements not reachable from the
2630         sinks.
2631         BaseSink is a sink now :)
2632         Some more debugging info in the basesrc.
2633
2634
2635 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2636
2637         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2638           Implement _query on a bin, similar to _send_event.
2639
2640 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2641
2642         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2643           Discont event offset format should be GST_FORMAT_BYTES,
2644           not GST_FORMAT_TIME.
2645
2646 2005-05-12  Wim Taymans  <wim@fluendo.com>
2647
2648         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2649         Same fix as Ronald's but without the signal. 
2650
2651 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2652
2653         * gst/gstutils.c: (gst_element_query_position):
2654           No, an element is not a pad.
2655
2656 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2657
2658         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2659         (gst_bin_get_state):
2660           If a child is removed from a bin while we remove the child from
2661           the bin and while we're retrieving its state, signal this to the
2662           get_state function so we abort the wait (instead of waiting for
2663           a timeout) and can immediately re-iterate over all other elements.
2664
2665 2005-05-12  Wim Taymans  <wim@fluendo.com>
2666
2667         * gst/base/Makefile.am:
2668         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2669         (gst_basesrc_start):
2670         * gst/base/gstbasesrc.h:
2671         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2672         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2673         (gst_pushsrc_init), (gst_pushsrc_create):
2674         * gst/base/gstpushsrc.h:
2675         Added is_seekable to BaseSrc
2676         Added simple PushSrc.
2677
2678 2005-05-11  Wim Taymans  <wim@fluendo.com>
2679
2680         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2681         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2682         (gst_element_link_pads), (gst_element_query_position),
2683         (gst_element_query_convert), (intersect_caps_func),
2684         (gst_pad_query_position), (gst_pad_query_convert):
2685         Fix refcounting in utils function.
2686         No point in trying to activate a pad when it's added, it could
2687         be added from the state change function and then we deadlock, the
2688         element has to decide what to do.
2689
2690 2005-05-10  Andy Wingo  <wingo@pobox.com>
2691
2692         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2693         *all* the arguments.
2694
2695         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2696         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2697         lock (according to the docs -- if this is wrong change the docs).
2698
2699         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2700         flush messages in the NULL state.
2701
2702         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2703         message immediately and return.
2704         (gst_bus_set_flushing): New function. If a bus is flushing, it
2705         flushes out any queued messages and immediately unrefs new
2706         messages. This is so when an element goes to NULL, all of the
2707         unhandled messages coming from it can be freed, and their
2708         references to the element dropped. In other words: message source
2709         ref considered harmful :P
2710
2711         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2712         we're finished with it.
2713
2714         * gst/gstmessage.c (gst_message_new_state_changed): 
2715
2716 2005-05-10  Wim Taymans  <wim@fluendo.com>
2717
2718         * gst/gstvalue.c: (gst_value_compare_flags),
2719         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2720         (_gst_value_initialize):
2721         Added flags serialize/deserialize/compare code.
2722
2723 2005-05-09  Andy Wingo  <wingo@pobox.com>
2724
2725         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
2726         Intersect the peer's caps with our caps.
2727
2728 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2729
2730         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2731         * gst/elements/gsttypefindelement.c: (find_peek):
2732           Handle negative offsets better. Fixes decodebin.
2733
2734 2005-05-09  Wim Taymans  <wim@fluendo.com>
2735
2736         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
2737         (gst_base_transform_event):
2738         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
2739         Implement accept_caps.
2740         Fix silly lock/unlock mismatch in base class.
2741
2742 2005-05-09  Wim Taymans  <wim@fluendo.com>
2743
2744         * docs/design/draft-push-pull.txt:
2745         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
2746         * gst/elements/gstfilesink.c: (gst_filesink_init),
2747         (gst_filesink_query):
2748         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2749         (gst_type_find_handle_src_query), (find_element_get_length):
2750         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
2751         * gst/gstelement.h:
2752         * gst/gstmessage.c:
2753         * gst/gstmessage.h:
2754         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
2755         (gst_real_pad_get_caps_unlocked),
2756         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
2757         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2758         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
2759         (gst_real_pad_dispose), (gst_real_pad_finalize),
2760         (gst_pad_load_and_link), (gst_pad_save_thyself),
2761         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
2762         (gst_pad_check_pull_range), (gst_pad_pull_range),
2763         (gst_pad_template_get_type), (gst_pad_template_class_init),
2764         (gst_pad_template_init), (gst_pad_template_dispose),
2765         (name_is_valid), (gst_static_pad_template_get),
2766         (gst_pad_template_new), (gst_static_pad_template_get_caps),
2767         (gst_pad_template_get_caps), (gst_pad_set_element_private),
2768         (gst_pad_get_element_private), (gst_pad_start_task),
2769         (gst_pad_pause_task), (gst_pad_stop_task),
2770         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
2771         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
2772         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
2773         (gst_ghost_pad_new):
2774         * gst/gstpad.h:
2775         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
2776         (gst_query_new_position), (gst_query_set_position),
2777         (gst_query_parse_position), (gst_query_new_convert),
2778         (gst_query_set_convert), (gst_query_parse_convert):
2779         * gst/gstquery.h:
2780         * gst/gstqueryutils.c:
2781         * gst/gstqueryutils.h:
2782         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2783         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2784         (gst_queue_handle_src_query):
2785         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2786         (gst_element_query_position), (gst_element_query_convert),
2787         (intersect_caps_func), (gst_pad_query_position),
2788         (gst_pad_query_convert):
2789         * gst/gstutils.h:
2790         * tools/gst-inspect.c: (print_pad_info):
2791         * tools/gst-xmlinspect.c: (print_element_info):
2792         Remove old query functions. Ported old code.
2793         Added position/convert helper functions to gstutils.
2794         Reordered gstpad.c code, grouping relevant things.
2795         Remove gst_message_new(), always need to speficy a specific
2796         message.
2797
2798
2799 2005-05-09  Andy Wingo  <wingo@pobox.com>
2800
2801         * gst/gstiterator.h: Add some includes.
2802
2803         * gst/gstqueryutils.h: Include more headers.
2804
2805         * gst/gstpad.h:
2806         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
2807         some uses of gst_pad_query.
2808
2809         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
2810         NULL out parameters.
2811         (gst_query_new_position): New proc, allocates a new position
2812         query.
2813
2814         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
2815         gstqueryutils.c to the build.
2816
2817         * gst/gststructure.c (gst_structure_set_valist): Implement with
2818         the generic G_VALUE_COLLECT.
2819         
2820 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
2821
2822         * gst/Makefile.am: (gst_headers):
2823         Added gstqueryutils.h to the list of headers to install, that was
2824         a 'nachty' move wingo :)
2825
2826 2005-05-06  Andy Wingo  <wingo@pobox.com>
2827
2828         * gst/gstquery.h
2829         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
2830         GstData, init a memchunk.
2831         (standard_definitions): Add a few query types, deprecate a few.
2832         (gst_query_get_type): New proc.
2833         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
2834         implementation.
2835         (gst_query_new_application, gst_query_get_structure): New public
2836         procs.
2837
2838         * docs/design/draft-query.txt: Removed LINKS from the query types,
2839         because all the rest can be dispatched to other pads -- seemed
2840         ugly to have a query that couldn't be dispatched. internal_links
2841         is fine as a pad method.
2842
2843         * gst/gstpad.h: Add query2 as a pad method, add the new functions
2844         in gstpad.c, but maintain binary compatibility for the moment.
2845         Will fix before 0.9 is out.
2846
2847         * gst/gstqueryutils.c: 
2848         * gst/gstqueryutils.h: New files, implement 3 methods for each
2849         query type: parse_query, parse_response, and set. Probably need an
2850         allocator as well.
2851
2852         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
2853
2854         * gst/elements/gstfilesink.c (gst_filesink_query2):
2855         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
2856         query_types, and formats methods.
2857
2858         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
2859         (gst_pad_set_query2_function): New functions.
2860         (gst_real_pad_init): Set query2_default as the default query2
2861         function. Basically just dispatches to internally linked pads.
2862
2863         Needs review!
2864         
2865         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
2866         without using the atomic operations. Only one thread can possibly
2867         be accessing the data at this point. Changed so as to avoid
2868         gst_atomic operations.
2869
2870 2005-05-06  Wim Taymans  <wim@fluendo.com>
2871
2872         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
2873         Also set caps if we use the fallback buffer alloc.
2874
2875 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
2876
2877         * docs/gst/Makefile.am:
2878         * docs/gst/gstreamer-docs.sgml:
2879         * docs/gst/gstreamer-sections.txt:
2880         * docs/gst/tmpl/gstatomic.sgml:
2881         * docs/gst/tmpl/gstmemchunk.sgml:
2882         * testsuite/elements/struct_i386.h:
2883         * win32/GStreamer.vcproj:
2884         * win32/Makefile:
2885           Purge GstAtomic stuff from docs and win32 makefiles as well
2886
2887 2005-05-06  Wim Taymans  <wim@fluendo.com>
2888
2889         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
2890         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
2891         * gst/gstpad.c: (gst_pad_peer_get_caps):
2892         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
2893         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
2894         (gst_queue_src_activate), (gst_queue_change_state):
2895         * gst/gstqueue.h:
2896         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2897         (intersect_caps_func):
2898         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
2899         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
2900         Some fixes for the peer_get_caps() change.
2901
2902 2005-05-06  Wim Taymans  <wim@fluendo.com>
2903
2904         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2905         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
2906         (gst_basesink_activate):
2907         Actually do something with error codes returned from the push
2908         functions.
2909
2910 2005-05-06  Wim Taymans  <wim@fluendo.com>
2911
2912         * docs/design/part-element-sink.txt:
2913         * docs/design/part-element-source.txt:
2914         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2915         (gst_basesink_event), (gst_basesink_activate):
2916         * gst/base/gstbasesink.h:
2917         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
2918         (gst_basesrc_activate):
2919         * gst/base/gstbasesrc.h:
2920         * gst/gstelement.c: (gst_element_pads_activate):
2921         Some more documentation.
2922         Fixed scheduling decision in _pads_activate().
2923
2924 2005-05-05  Andy Wingo  <wingo@pobox.com>
2925
2926         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
2927         the test suite.
2928
2929 2005-05-05  Wim Taymans  <wim@fluendo.com>
2930
2931         * gst/base/Makefile.am:
2932         * gst/base/gstbasesink.h:
2933         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2934         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
2935         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
2936         (gst_collectpads_class_init), (gst_collectpads_init),
2937         (gst_collectpads_finalize), (gst_collectpads_new),
2938         (gst_collectpads_set_function), (gst_collectpads_add_pad),
2939         (find_pad), (gst_collectpads_remove_pad),
2940         (gst_collectpads_is_active), (gst_collectpads_collect),
2941         (gst_collectpads_collect_range), (gst_collectpads_start),
2942         (gst_collectpads_stop), (gst_collectpads_peek),
2943         (gst_collectpads_pop), (gst_collectpads_available),
2944         (gst_collectpads_read), (gst_collectpads_flush),
2945         (gst_collectpads_chain):
2946         * gst/base/gstcollectpads.h:
2947         * gst/elements/Makefile.am:
2948         * gst/elements/gstelements.c:
2949         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2950         (gst_fakesink_get_times), (gst_fakesink_event),
2951         (gst_fakesink_preroll), (gst_fakesink_render):
2952         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2953         (gst_filesink_init), (gst_filesink_set_location),
2954         (gst_filesink_open_file), (gst_filesink_close_file),
2955         (gst_filesink_pad_query), (gst_filesink_event),
2956         (gst_filesink_render), (gst_filesink_change_state):
2957         * gst/elements/gstfilesink.h:
2958         Added object to help in making collect pad based elements.
2959         Ported filesink.
2960         Make event function in sink baseclass return gboolean.
2961
2962 2005-05-05  Wim Taymans  <wim@fluendo.com>
2963
2964         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
2965         (gst_bin_get_by_name):
2966         * gst/gstbuffer.h:
2967         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2968         (gst_clock_finalize):
2969         * gst/gstdata.c: (gst_data_replace):
2970         * gst/gstdata.h:
2971         * gst/gstelement.c: (gst_element_request_pad),
2972         (gst_element_pads_activate):
2973         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2974         (gst_object_unref):
2975         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2976         (gst_pad_set_checkgetrange_function),
2977         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2978         (gst_pad_check_pull_range), (gst_pad_pull_range),
2979         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2980         (gst_pad_pause_task), (gst_pad_stop_task):
2981         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2982         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2983         Fix name lookup in GstBin.
2984         Added _data_replace() function and _buffer_replace()
2985         Use finalize method to clean up clock.
2986         Fix refcounting on request pads.
2987         Fix pad schedule mode error.
2988         Some more object refcounting debug info,
2989
2990
2991 2005-05-04  Andy Wingo <wingo@pobox.com>
2992
2993         * check/Makefile.am:
2994         * docs/gst/tmpl/gstatomic.sgml:
2995         * docs/gst/tmpl/gstplugin.sgml:
2996         * gst/base/gstbasesink.c: (gst_basesink_activate):
2997         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
2998         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
2999         (gst_basesrc_query), (gst_basesrc_set_property),
3000         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3001         (gst_basesrc_activate):
3002         * gst/base/gstbasesrc.h:
3003         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3004         (gst_base_transform_src_activate):
3005         * gst/elements/gstelements.c:
3006         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3007         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3008         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3009         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3010         (gst_type_find_element_checkgetrange),
3011         (gst_type_find_element_activate):
3012         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3013         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3014         (gst_caps_load_thyself):
3015         * gst/gstelement.c: (gst_element_pads_activate),
3016         (gst_element_save_thyself), (gst_element_restore_thyself):
3017         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3018         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3019         * gst/gstpad.h:
3020         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3021         (gst_xml_parse_file), (gst_xml_parse_memory),
3022         (gst_xml_get_element), (gst_xml_make_element):
3023         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3024         (_file_index_id_save_xml), (gst_file_index_commit):
3025         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3026         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3027         (load_paths):
3028         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3029         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3030         * tools/gst-complete.c: (main):
3031         * tools/gst-compprep.c: (main):
3032         * tools/gst-inspect.c: (print_element_properties_info):
3033         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3034         * tools/gst-xmlinspect.c: (print_element_properties):
3035         GCC 4 fixen.
3036         
3037 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3038
3039         * gst/gstplugin.c: (gst_plugin_check_module),
3040         (gst_plugin_check_file), (gst_plugin_load_file):
3041             apply patch from #172526 to make register work on MacOSX
3042
3043 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * docs/gst/tmpl/gstconfig.sgml:
3046         * gst/gstconfig.h.in:
3047           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3048         * testsuite/debug/printf_extension.c: (main):
3049           Do not use GST_PTR_FORMAT on pointers to types with
3050           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3051         * testsuite/elements/property.h:
3052           use correct printf format
3053
3054 2005-05-02  Wim Taymans  <wim@fluendo.com>
3055
3056         * docs/design/draft-push-pull.txt:
3057         * docs/design/draft-query.txt:
3058         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3059         (gst_basesrc_start):
3060         Added draft for new query API.
3061         Added draft for better selecting scheduling methods.
3062         Make basesrc ignore length if the subclass does not support
3063         it.
3064
3065 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3066
3067         * gst/Makefile.am:
3068           possible fixes for automake-1.5 - _LIBADD is reserved
3069
3070 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3071
3072         * docs/faq/Makefile.am:
3073         * docs/manual/Makefile.am:
3074         * docs/manuals.mak:
3075         * docs/pwg/Makefile.am:
3076         * gst/Makefile.am:
3077           possible fixes for automake-1.5
3078
3079 2005-04-28  Wim Taymans  <wim@fluendo.com>
3080
3081         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3082         (gst_basesink_pad_getcaps), (gst_basesink_init),
3083         (gst_basesink_do_sync):
3084         * gst/gstclock.c: (gst_clock_entry_new):
3085         * gst/gstevent.c: (gst_event_discont_get_value):
3086         * gst/gstpipeline.c: (pipeline_bus_handler),
3087         (gst_pipeline_change_state):
3088         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3089         Better debugging of clocking info.
3090         Allow NULL values when getting discont values.
3091
3092 2005-04-27  Wim Taymans  <wim@fluendo.com>
3093
3094         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3095         * check/gst/gstpad.c: (gst_pad_suite):
3096         Increase timeout for checks.
3097
3098 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3099
3100         * check/Makefile.am:
3101           fix the broken rule for cleanup.  Apparently this rule is
3102           only needed on FC2, so maybe this warrants further autotool
3103           inspection.
3104
3105 2005-04-26  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/gsttrashstack.h:
3108         Ooohh. a nasty one! After having a failed pop() from the stack,
3109         it's possible that the stack is empty. In that case, don't
3110         follow the NULL pointer.
3111
3112 2005-04-25  Wim Taymans  <wim@fluendo.com>
3113
3114         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3115         (gst_pad_set_checkgetrange_function),
3116         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3117         (gst_pad_check_pull_range), (gst_pad_pull_range),
3118         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3119         (gst_pad_pause_task), (gst_pad_stop_task):
3120         * gst/gstplugin.c: (gst_plugin_load):
3121         * gst/gstplugin.h:
3122         Remove gst_library_load as it does more harm than good with
3123         the new g_module flags.
3124         Revert bogus caps template check in pad linking, pad caps
3125         are important when linking not the template, which is more
3126         general than the current caps.
3127
3128 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3129
3130         * gst/autoplug/.cvsignore:
3131         * gst/autoplug/Makefile.am:
3132         * gst/autoplug/gstsearchfuncs.c:
3133         * gst/autoplug/gstsearchfuncs.h:
3134         * gst/autoplug/gstspider.c:
3135         * gst/autoplug/gstspider.h:
3136         * gst/autoplug/gstspideridentity.c:
3137         * gst/autoplug/gstspideridentity.h:
3138         * gst/autoplug/spidertest.c:
3139           Die, spider, die.
3140
3141 2005-04-25  Wim Taymans  <wim@fluendo.com>
3142
3143         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3144         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3145         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3146         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3147         * gst/gstpad.h:
3148         Added stubs for unimplemented functions. 
3149
3150 2005-04-24  David Schleef  <ds@schleef.org>
3151
3152         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3153         please fix.
3154
3155 2005-04-24  David Schleef  <ds@schleef.org>
3156
3157         Convert everything from GstAtomicInt to g_atomic_int_*, and
3158         remove gstatomic.
3159         * gst/Makefile.am:
3160         * gst/gstatomic.c:
3161         * gst/gstatomic.h:
3162         * gst/gstatomic_impl.h:
3163         * gst/gstbuffer.c:
3164         * gst/gstcaps.c:
3165         * gst/gstcaps.h:
3166         * gst/gstclock.c:
3167         * gst/gstclock.h:
3168         * gst/gstdata.c:
3169         * gst/gstdata.h:
3170         * gst/gstdata_private.h:
3171         * gst/gstevent.c:
3172         * gst/gstinfo.c:
3173         * gst/gstinfo.h:
3174         * gst/gstmessage.c:
3175         * gst/gstobject.c:
3176         * gst/gstobject.h:
3177         * gst/gststructure.c:
3178         * gst/gststructure.h:
3179         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3180         * gst/gstutils.h:
3181
3182 2005-04-24  David Schleef  <ds@schleef.org>
3183
3184         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3185         make the regressions tests work.  Remove some code that is no
3186         longer true.
3187         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3188         Disable warning for pads without templates.
3189
3190 2005-04-24  David Schleef  <ds@schleef.org>
3191
3192         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3193         functions that handle filtered links.
3194         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3195         removed functions.
3196         * gst/gstutils.c: Fix/remove utility functions that handle
3197         filtered caps.
3198         * gst/gstutils.h:
3199         * gst/gstvalue.c: Add serialization/deserialization of caps
3200         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3201         requires fixing so that the filter caps notation creates
3202         a capsfilter element and sets the filter_caps property.  I
3203         think everyone probably wants to keep the shorthand notation.
3204         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3205         * docs/gst/tmpl/gstpad.sgml:
3206
3207         * gst/elements/gstelements.c: Register capsfilter element.
3208         * gst/Makefile.am: fix spacing
3209         * docs/random/ds/0.9-suggested-changes: random
3210
3211 2005-04-23  David Schleef  <ds@schleef.org>
3212
3213         * gst/elements/Makefile.am:
3214         * gst/elements/gstcapsfilter.c: New element that acts like an
3215         identity, but filters caps.  Will eventually replace filtered
3216         caps in pad linking.
3217         * gst/gstutils.c: (gst_element_create_all_pads): New function
3218         to create all the ALWAYS pads that are registered with an
3219         element class.  This functionality should eventually be
3220         merged in with GstElement initialization.
3221         * gst/gstutils.h:
3222         * testsuite/trigger/README: part of trigger test code that should
3223         have been checked in a long time ago.
3224
3225 2005-04-23  David Schleef  <ds@schleef.org>
3226
3227         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3228         needed with new versions of libtool (nobody will confirm this),
3229         and hard to carry around.
3230         * gst/autoplug/Makefile.am:
3231         * gst/base/Makefile.am:
3232         * gst/elements/Makefile.am:
3233         * gst/indexers/Makefile.am:
3234         * gst/schedulers/Makefile.am:
3235         * libs/gst/bytestream/Makefile.am:
3236         * libs/gst/control/Makefile.am:
3237         * libs/gst/dataprotocol/Makefile.am:
3238         * libs/gst/getbits/Makefile.am:
3239
3240 2005-04-21  Wim Taymans  <wim@fluendo.com>
3241
3242         * docs/design/draft-push-pull.txt:
3243         * docs/design/part-MT-refcounting.txt:
3244         * docs/design/part-TODO.txt:
3245         * docs/design/part-caps.txt:
3246         * docs/design/part-events.txt:
3247         * docs/design/part-gstbus.txt:
3248         * docs/design/part-gstpipeline.txt:
3249         * docs/design/part-messages.txt:
3250         * docs/design/part-push-pull.txt:
3251         * docs/design/part-query.txt:
3252         Some more docs.
3253
3254 2005-04-21  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3257         (gst_message_new), (gst_message_new_error),
3258         (gst_message_new_warning), (gst_message_new_tag),
3259         (gst_message_new_state_changed), (gst_message_new_application),
3260         (gst_message_get_structure):
3261         * gst/gstmessage.h:
3262         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3263         (gst_structure_copy_conditional):
3264         Use parent refcount in GstMessage to ensure GstStructure
3265         consistency.
3266         Cleaned up headers a bit.
3267         
3268
3269 2005-04-20  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3272         (gst_basesink_pad_getcaps), (gst_basesink_init),
3273         (gst_basesink_chain_unlocked):
3274         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3275         (gst_type_find_helper):
3276         * gst/elements/gsttypefindelement.c:
3277         (gst_type_find_element_have_type), (gst_type_find_element_init),
3278         (stop_typefinding), (gst_type_find_element_handle_event),
3279         (find_suggest), (gst_type_find_element_chain),
3280         (gst_type_find_element_checkgetrange),
3281         (gst_type_find_element_getrange), (do_typefind),
3282         (gst_type_find_element_activate):
3283         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3284         (gst_buffer_default_free), (gst_buffer_default_copy),
3285         (gst_buffer_set_caps):
3286         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3287         (gst_caps_replace):
3288         * gst/gstmessage.c: (gst_message_new),
3289         (gst_message_new_state_changed):
3290         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3291         (gst_pad_set_checkgetrange_function),
3292         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3293         (gst_pad_set_caps), (gst_pad_check_pull_range),
3294         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3295         * gst/gstpad.h:
3296         * gst/gsttypefind.c: (gst_type_find_register):
3297         Make gst_caps_replace() work like other _replace() functions.
3298         Use _caps_replace() where possible.
3299         Make sure _message_new() initialises its field.
3300         Add gst_static_pad_template_get_caps()
3301
3302
3303 2005-04-18  Andy Wingo  <wingo@pobox.com>
3304
3305         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3306         on the peer, not the pad. I think that was a typo. Pass an extra
3307         arg to see if random access is possible. Activate the pads as
3308         PULL_RANGE if possible.
3309
3310         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3311
3312         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3313         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3314         to PROP_....
3315
3316 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3317
3318         * docs/faq/using.xml:
3319           Add note on gstreamer-properties (#154996).
3320
3321 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3322
3323         * docs/random/bbb/optional-properties:
3324           Some analysis on optional properties.
3325
3326 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3327
3328         * docs/gst/tmpl/gstelementfactory.sgml:
3329         * gst/gstelement.h:
3330         * gst/gstelementfactory.c: (gst_element_factory_init),
3331         (gst_element_factory_cleanup), (gst_element_register),
3332         (__gst_element_factory_add_static_pad_template),
3333         (gst_element_factory_get_static_pad_templates),
3334         (gst_element_factory_can_src_caps),
3335         (gst_element_factory_can_sink_caps):
3336         * gst/registries/Makefile.am:
3337         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3338         (gst_xml_registry_class_init), (gst_xml_registry_init),
3339         (gst_xml_registry_new), (gst_xml_registry_set_property),
3340         (gst_xml_registry_get_property), (get_time), (make_dir),
3341         (gst_xml_registry_get_perms_func),
3342         (plugin_times_older_than_recurse), (plugin_times_older_than),
3343         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3344         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3345         (add_to_char_array), (read_string), (read_uint), (read_enum),
3346         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3347         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3348         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3349         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3350         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3351         (gst_xml_registry_rebuild):
3352         * gst/registries/gstlibxmlregistry.h:
3353         * tools/gst-compprep.c: (main):
3354         * tools/gst-inspect.c: (print_pad_templates_info):
3355         * tools/gst-xmlinspect.c: (print_element_info):
3356           Use libxml2 for registry parsing, use staticpadtemplates in
3357           elementfactories. Makes gst_init() +/- 10x faster.
3358
3359 2005-04-12  Wim Taymans  <wim@fluendo.com>
3360
3361         * gst/base/Makefile.am:
3362         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3363         (gst_basesink_pad_getcaps), (gst_basesink_init),
3364         (gst_basesink_event), (gst_basesink_change_state):
3365         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3366         (gst_basesrc_init), (gst_basesrc_query),
3367         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3368         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3369         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3370         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3371         (gst_basesrc_stop), (gst_basesrc_activate),
3372         (gst_basesrc_change_state):
3373         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3374         (helper_find_suggest), (gst_type_find_helper):
3375         * gst/base/gsttypefindhelper.h:
3376         * gst/elements/Makefile.am:
3377         * gst/elements/gstelements.c:
3378         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3379         (gst_fakesink_get_times), (gst_fakesink_event),
3380         (gst_fakesink_preroll), (gst_fakesink_render):
3381         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3382         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3383         (gst_fakesrc_get_property), (gst_fakesrc_create),
3384         (gst_fakesrc_start), (gst_fakesrc_stop):
3385         * gst/elements/gstfakesrc.h:
3386         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3387         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3388         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3389         (gst_filesrc_create_read), (gst_filesrc_create),
3390         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3391         (gst_filesrc_start):
3392         * gst/elements/gsttypefindelement.c:
3393         (gst_type_find_element_have_type), (gst_type_find_element_init),
3394         (start_typefinding), (stop_typefinding), (push_buffer_store),
3395         (gst_type_find_element_handle_event),
3396         (gst_type_find_element_chain),
3397         (gst_type_find_element_checkgetrange),
3398         (gst_type_find_element_getrange), (do_typefind),
3399         (gst_type_find_element_activate),
3400         (gst_type_find_element_change_state):
3401         * gst/elements/gsttypefindelement.h:
3402         * gst/gstpipeline.c: (pipeline_bus_handler):
3403         Added typefind helper.
3404         Small preroll fix in the base sink.
3405         Disable typefind code in basesrc.
3406         Crude port of typefindelement.
3407         Fakesrc cleanups.
3408
3409
3410 2005-04-11  Wim Taymans  <wim@fluendo.com>
3411
3412         * check/gst/gstbus.c: (gstbus_suite):
3413         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3414         * check/gstcheck.h:
3415           Fix up the timeout so that the test does not fail.
3416
3417 2005-04-06  Wim Taymans  <wim@fluendo.com>
3418
3419         * gst/base/README:
3420         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3421         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3422         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3423         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3424         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3425         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3426         (gst_basesrc_stop), (gst_basesrc_activate),
3427         (gst_basesrc_change_state), (basesrc_find_peek),
3428         (basesrc_find_suggest), (gst_basesrc_type_find):
3429         * gst/base/gstbasesrc.h:
3430         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3431         (gst_filesrc_class_init), (gst_filesrc_init),
3432         (gst_filesrc_finalize), (gst_filesrc_set_location),
3433         (gst_filesrc_set_property), (gst_filesrc_get_property),
3434         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3435         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3436         (gst_filesrc_create_read), (gst_filesrc_create),
3437         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3438         * gst/elements/gstfilesrc.h:
3439         * gst/gstelement.c: (gst_element_get_state_func),
3440         (gst_element_lost_state), (gst_element_pads_activate):
3441         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3442         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3443         (gst_pad_pull_range):
3444         * gst/gstpad.h:
3445         More work on the generic source base class, implement seeking,
3446         query.
3447         Make filesrc extend the base source class.
3448         Added gst_pad_set_checkgetrange_function to GstPad.
3449
3450 2005-04-06  Andy Wingo  <wingo@pobox.com>
3451
3452         * pkgconfig/gstreamer-base.pc.in:
3453         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3454
3455         * pkgconfig/Makefile.am:
3456         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3457
3458 2005-04-04  Wim Taymans  <wim@fluendo.com>
3459
3460         * gst/base/Makefile.am:
3461         * gst/base/README:
3462         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3463         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3464         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3465         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3466         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3467         (gst_basesrc_base_init), (gst_basesrc_class_init),
3468         (gst_basesrc_init), (gst_basesrc_get_formats),
3469         (gst_basesrc_get_query_types), (gst_basesrc_query),
3470         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3471         (gst_basesrc_set_property), (gst_basesrc_get_property),
3472         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3473         (gst_basesrc_loop), (gst_basesrc_activate),
3474         (gst_basesrc_change_state):
3475         * gst/base/gstbasesrc.h:
3476         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3477         (gst_fakesrc_class_init), (gst_fakesrc_init),
3478         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3479         (gst_fakesrc_get_property), (gst_fakesrc_create):
3480         * gst/elements/gstfakesrc.h:
3481         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3482         (gst_filesrc_open_file), (gst_filesrc_loop),
3483         (gst_filesrc_activate), (filesrc_find_peek),
3484         (gst_filesrc_type_find):
3485         Made base source class, make fakesrc extend it.
3486         Add comments to basesink class.
3487         Some filesrc cleanup.
3488
3489 2005-03-31  David Schleef  <ds@schleef.org>
3490
3491         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3492         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3493         expected to link against libgstreamer.
3494         * gst/base/Makefile.am: link against libgstreamer
3495         * gst/elements/Makefile.am: same
3496
3497 2005-03-31  Andy Wingo  <wingo@pobox.com>
3498
3499         * tests/instantiate/Makefile.am:
3500         * tests/instantiate/caps.c: Add test to test speed of caps copy
3501         and free.
3502
3503         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3504         GMemChunk to be fair.
3505
3506         * gst/gsttrashstack.h: Remove warning about using the fallback
3507         trash stack implementation, it's still faster than malloc.
3508
3509 2005-03-30  Andy Wingo  <wingo@pobox.com>
3510
3511         * tests/complexity.c: Add a copyright.
3512
3513 2005-03-31  Wim Taymans  <wim@fluendo.com>
3514
3515         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3516         (gst_base_transform_class_init), (gst_base_transform_init),
3517         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3518         (gst_base_transform_get_property),
3519         (gst_base_transform_sink_activate),
3520         (gst_base_transform_src_activate),
3521         (gst_base_transform_change_state):
3522         * gst/base/gstbasetransform.h:
3523         * gst/elements/gstidentity.c: (gst_identity_class_init),
3524         (gst_identity_event), (gst_identity_check_perfect),
3525         (gst_identity_transform), (gst_identity_start),
3526         (gst_identity_stop):
3527         Added start/stop methods to transform base class so subclasses 
3528         don't need to deal with state changes even.
3529
3530 2005-03-31  Wim Taymans  <wim@fluendo.com>
3531
3532         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3533         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3534         * gst/gstevent.h:
3535         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3536         (gst_pad_pull_range):
3537         Added rate to the discont event to prepare for variable speed
3538         and reverse playback.
3539
3540 2005-03-29  David Schleef  <ds@schleef.org>
3541
3542         * configure.ac:
3543         * testsuite/trigger/Makefile.am:
3544         * testsuite/trigger/trigger.c: A little example program to show
3545         how trigger-based elements can work.
3546
3547 2005-03-29  Wim Taymans  <wim@fluendo.com>
3548
3549         * gst/base/Makefile.am:
3550         * gst/base/README:
3551         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3552         (gst_basesink_base_init), (gst_basesink_class_init),
3553         (gst_basesink_pad_getcaps), (gst_basesink_init),
3554         (gst_basesink_activate), (gst_basesink_change_state):
3555         * gst/base/gstbasesink.h:
3556         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3557         (gst_base_transform_base_init), (gst_base_transform_finalize),
3558         (gst_base_transform_class_init), (gst_base_transform_init),
3559         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3560         (gst_base_transform_event), (gst_base_transform_getrange),
3561         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3562         (gst_base_transform_set_property),
3563         (gst_base_transform_get_property),
3564         (gst_base_transform_sink_activate),
3565         (gst_base_transform_src_activate),
3566         (gst_base_transform_change_state):
3567         * gst/base/gstbasetransform.h:
3568         * gst/elements/gstidentity.c: (gst_identity_finalize),
3569         (gst_identity_class_init), (gst_identity_init),
3570         (gst_identity_event), (gst_identity_check_perfect),
3571         (gst_identity_transform), (gst_identity_set_property),
3572         (gst_identity_get_property), (gst_identity_change_state):
3573         * gst/elements/gstidentity.h:
3574         * gst/gstelement.c: (gst_element_get_state_func),
3575         (gst_element_lost_state), (gst_element_pads_activate):
3576         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3577         (gst_pad_check_pull_range), (gst_pad_pull_range):
3578         * gst/gstpad.h:
3579         Simplify pad activation.
3580         Added function to check if pull_range can be performed.
3581         Error out when pulling inactive or flushing pads.
3582         Removed const from refcounted types as it does not make sense.
3583         Simplify pad templates in basesink
3584         Added base class for simple 1-to-1 transforms.
3585         Make identity subclass the base transform.
3586
3587 2005-03-29  Andy Wingo  <wingo@pobox.com>
3588
3589         * docs/libs/gstreamer-libs-overrides.txt: 
3590         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3591         really don't understand what's going on, but like whatever. I want
3592         green buildbot!
3593
3594         * docs/gst/Makefile.am:
3595         * docs/libs/Makefile.am: Dist the overrides files.
3596
3597         * check/Makefile.am (clean-local): Remove .libs directories.
3598
3599         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3600         elements to EXTRA_DIST, so po/ files are happy.
3601
3602         * po/POTFILES.in: Er, remove it here.
3603
3604         * po/POTFILES: Remove gstspider.c.
3605
3606         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3607
3608         * docs/libs/gstreamer-libs-docs.sgml: 
3609         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3610         bytestream.
3611
3612         * tests/complexity.c (main): Set the length of the preroll queue
3613         on the sinks to prevent a lockup.
3614
3615         * libs/gst/dataprotocol/Makefile.am: 
3616         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3617         the same as the one in check/gst-libs/gdp.c.
3618
3619         * po/, docs/gst/: Commit automatic changes to docs and po files.
3620
3621         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3622         the versioned libgstbase.
3623
3624         * check/Makefile.am: Depend on an unversioned gst-register, seems
3625         to make autoconf happier.
3626
3627         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3628
3629 2005-03-28  Wim Taymans  <wim@fluendo.com>
3630
3631         * configure.ac:
3632         * docs/design/part-gstelement.txt:
3633         * docs/design/part-negotiation.txt:
3634         * docs/design/part-preroll.txt:
3635         * docs/design/part-scheduling.txt:
3636         * docs/design/part-states.txt:
3637         * gst/Makefile.am:
3638         * gst/base/Makefile.am:
3639         * gst/base/README:
3640         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3641         (gst_basesink_base_init), (gst_basesink_class_init),
3642         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3643         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3644         (gst_basesink_set_pad_functions),
3645         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3646         (gst_basesink_set_property), (gst_basesink_get_property),
3647         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3648         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3649         (gst_basesink_preroll_queue_push),
3650         (gst_basesink_preroll_queue_empty),
3651         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3652         (gst_basesink_event), (gst_basesink_get_times),
3653         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3654         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3655         (gst_basesink_loop), (gst_basesink_activate),
3656         (gst_basesink_change_state):
3657         * gst/base/gstbasesink.h:
3658         * gst/elements/Makefile.am:
3659         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3660         (gst_fakesink_class_init), (gst_fakesink_init),
3661         (gst_fakesink_set_property), (gst_fakesink_get_property),
3662         (gst_fakesink_get_times), (gst_fakesink_event),
3663         (gst_fakesink_preroll), (gst_fakesink_render),
3664         (gst_fakesink_change_state):
3665         * gst/elements/gstfakesink.h:
3666         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3667         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3668         * gst/gstelement.c: (gst_element_add_pad),
3669         (gst_element_get_state_func), (gst_element_abort_state),
3670         (gst_element_commit_state), (gst_element_lost_state),
3671         (gst_element_set_state), (gst_element_pads_activate):
3672         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3673         * gst/gstpipeline.c: (gst_pipeline_send_event),
3674         (gst_pipeline_change_state):
3675         Added state change code.
3676         Added/updated docs.
3677         Added sink base class, make fakesink extend the base class.
3678         Small cleanups in GstPipeline.
3679
3680 2005-03-26  David Schleef  <ds@schleef.org>
3681
3682         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3683         is broken and should be implemented in a different library.
3684         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3685         * gst/gst.h: remove gstcpu.h
3686         * gst/gstcpu.c: remove
3687         * gst/gstcpu.h: remove
3688         * gst/Makefile.am.future: Remove this file.  It's ancient.
3689
3690 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3691
3692         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3693         (gst_bin_send_event):
3694           Add default event/set_manager handlers. The set_manager handler
3695           takes care that the manager is distributed over kids that were
3696           already in the bin before the manager was set. The event handler
3697           is a utility virtual function that sends the event over all sinks,
3698           so that gst_element_send_event (bin, event); has the expected
3699           behaviour.
3700         * gst/gstpad.c: (gst_pad_event_default):
3701           Re-install default event handling for discontinuities, so that
3702           seeking works without requiring hacks in applications or extra
3703           code in sinks.
3704         * gst/gstpipeline.c: (gst_pipeline_class_init),
3705         (gst_pipeline_send_event):
3706           Half hack, half utility: set a pipeline to PAUSED for seek events,
3707           since that is the only way we can guarantee a/v sync. Means that
3708           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3709           and it "just works".
3710
3711 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3712
3713         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3714           Lock/unlock mismatch.
3715
3716 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3717
3718         * docs/faq/gst-uninstalled:
3719           add gst-plugins-base
3720         * docs/gst/Makefile.am:
3721           don't error out until docs are fixed
3722         * docs/gst/gstreamer.types:
3723           remove thread
3724
3725 2005-03-22  Wim Taymans  <wim@fluendo.com>
3726
3727         * check/Makefile.am:
3728         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
3729         * gst/gststructure.c: (gst_structure_set_valist),
3730         (gst_structure_copy_conditional):
3731         Activated more tests.
3732         Added message test.
3733         Added G_TYPE_POINTER to GstStructure.
3734         
3735
3736 2005-03-22  Wim Taymans  <wim@fluendo.com>
3737
3738         * docs/design/part-TODO.txt:
3739         * docs/design/part-events.txt:
3740         * docs/design/part-gstbin.txt:
3741         * docs/design/part-gstbus.txt:
3742         * docs/design/part-gstpipeline.txt:
3743         * docs/design/part-messages.txt:
3744         * gst/gstbus.c:
3745         * gst/gstmessage.c:
3746         Docs updates
3747
3748 2005-03-21  Wim Taymans  <wim@fluendo.com>
3749
3750         * gst/gstbus.c: (gst_bus_post):
3751         Fix copy-and-paste error.
3752
3753 2005-03-21  Wim Taymans  <wim@fluendo.com>
3754
3755         * check/Makefile.am:
3756         * gst/Makefile.am:
3757         * gst/elements/Makefile.am:
3758         * gst/elements/gstelements.c:
3759         * gst/elements/gstfakesink.c: (gst_fakesink_init),
3760         (gst_fakesink_event), (gst_fakesink_chain):
3761         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3762         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
3763         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
3764         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
3765         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
3766         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
3767         (gst_fakesrc_loop), (gst_fakesrc_activate),
3768         (gst_fakesrc_change_state):
3769         * gst/elements/gstfakesrc.h:
3770         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
3771         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
3772         (gst_filesrc_open_file), (gst_filesrc_loop),
3773         (gst_filesrc_activate), (gst_filesrc_change_state),
3774         (filesrc_find_peek), (filesrc_find_suggest),
3775         (gst_filesrc_type_find):
3776         * gst/elements/gstidentity.c: (gst_identity_finalize),
3777         (gst_identity_class_init), (gst_identity_init),
3778         (gst_identity_proxy_getcaps), (identity_queue_push),
3779         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
3780         (gst_identity_getrange), (gst_identity_chain),
3781         (gst_identity_sink_loop), (gst_identity_src_loop),
3782         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
3783         (gst_identity_set_property), (gst_identity_get_property),
3784         (gst_identity_change_state):
3785         * gst/elements/gstidentity.h:
3786         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3787         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
3788         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
3789         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
3790         (gst_tee_sink_activate):
3791         * gst/elements/gsttee.h:
3792         * gst/gst.c: (gst_register_core_elements), (init_post):
3793         * gst/gst.h:
3794         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
3795         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
3796         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
3797         (gst_bin_change_state):
3798         * gst/gstbin.h:
3799         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
3800         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
3801         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
3802         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
3803         (gst_bus_set_sync_handler), (gst_bus_create_watch),
3804         (bus_watch_callback), (bus_watch_destroy),
3805         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
3806         (poll_timeout), (gst_bus_poll):
3807         * gst/gstbus.h:
3808         * gst/gstcaps.h:
3809         * gst/gstdata.h:
3810         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3811         (gst_element_post_message), (gst_element_message_full),
3812         (gst_element_get_state_func), (gst_element_get_state),
3813         (gst_element_abort_state), (gst_element_commit_state),
3814         (gst_element_lost_state), (gst_element_set_state),
3815         (gst_element_pads_activate), (gst_element_change_state),
3816         (gst_element_dispose), (gst_element_set_manager_func),
3817         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
3818         (gst_element_set_manager), (gst_element_get_manager),
3819         (gst_element_set_bus), (gst_element_get_bus),
3820         (gst_element_set_scheduler), (gst_element_get_scheduler):
3821         * gst/gstelement.h:
3822         * gst/gstevent.c: (gst_event_new_segment_seek),
3823         (gst_event_new_flush):
3824         * gst/gstevent.h:
3825         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
3826         (_gst_message_free), (gst_message_get_type), (gst_message_new),
3827         (gst_message_new_eos), (gst_message_new_error),
3828         (gst_message_new_warning), (gst_message_new_tag),
3829         (gst_message_new_state_changed), (gst_message_new_application),
3830         (gst_message_get_structure), (gst_message_parse_tag),
3831         (gst_message_parse_state_changed), (gst_message_parse_error),
3832         (gst_message_parse_warning):
3833         * gst/gstmessage.h:
3834         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
3835         (gst_real_pad_set_property), (gst_pad_set_active),
3836         (gst_pad_is_active), (gst_pad_set_blocked_async),
3837         (gst_pad_set_blocked), (gst_pad_is_blocked),
3838         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
3839         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
3840         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3841         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
3842         (gst_pad_link_filtered), (gst_pad_relink_filtered),
3843         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
3844         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
3845         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
3846         (gst_pad_set_caps), (gst_pad_configure_sink),
3847         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
3848         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
3849         (gst_real_pad_dispose), (gst_real_pad_finalize),
3850         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
3851         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3852         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
3853         * gst/gstpad.h:
3854         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
3855         (pipeline_bus_handler), (gst_pipeline_change_state),
3856         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
3857         * gst/gstpipeline.h:
3858         * gst/gstprobe.h:
3859         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3860         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
3861         (gst_queue_link_src), (gst_queue_bufferalloc),
3862         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3863         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
3864         (gst_queue_loop), (gst_queue_handle_src_event),
3865         (gst_queue_handle_src_query), (gst_queue_src_activate),
3866         (gst_queue_change_state):
3867         * gst/gstqueue.h:
3868         * gst/gstscheduler.c: (gst_scheduler_init),
3869         (gst_scheduler_dispose), (gst_scheduler_create_task),
3870         (gst_scheduler_factory_create):
3871         * gst/gstscheduler.h:
3872         * gst/gststructure.c: (gst_structure_get_type),
3873         (gst_structure_copy_conditional):
3874         * gst/gststructure.h:
3875         * gst/gsttaginterface.h:
3876         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
3877         (gst_task_init), (gst_task_dispose), (gst_task_create),
3878         (gst_task_get_state), (gst_task_start), (gst_task_stop),
3879         (gst_task_pause):
3880         * gst/gsttask.h:
3881         * gst/gstthread.c:
3882         * gst/gstthread.h:
3883         * gst/gsttypes.h:
3884         * gst/schedulers/Makefile.am:
3885         * gst/schedulers/cothreads_compat.h:
3886         * gst/schedulers/entryscheduler.c:
3887         * gst/schedulers/faircothreads.c:
3888         * gst/schedulers/faircothreads.h:
3889         * gst/schedulers/fairscheduler.c:
3890         * gst/schedulers/gstbasicscheduler.c:
3891         * gst/schedulers/gstoptimalscheduler.c:
3892         * gst/schedulers/gthread-cothreads.h:
3893         * gst/schedulers/threadscheduler.c:
3894         (gst_thread_scheduler_task_get_type),
3895         (gst_thread_scheduler_task_class_init),
3896         (gst_thread_scheduler_task_init),
3897         (gst_thread_scheduler_task_start),
3898         (gst_thread_scheduler_task_stop),
3899         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
3900         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3901         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
3902         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
3903         (plugin_init):
3904         * libs/gst/Makefile.am:
3905         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
3906         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
3907         (gst_file_pad_parent_set):
3908         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3909         (gst_dp_event_from_packet):
3910         * tests/complexity.c: (main):
3911         * tests/mass_elements.c: (main):
3912         * testsuite/states/locked.c: (message_received), (main):
3913         * testsuite/states/parent.c: (main):
3914         * tools/gst-inspect.c: (print_element_flag_info),
3915         (print_implementation_info), (print_pad_info):
3916         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
3917         (main):
3918         * tools/gst-md5sum.c: (event_loop), (main):
3919         * tools/gst-typefind.c: (main):
3920         * tools/gst-xmlinspect.c: (print_element_info):
3921         Next big merge.
3922         Added GstBus for mainloop integration.
3923         Added GstMessage for sending notifications on the bus.
3924         Added GstTask as an abstraction for pipeline entry points.
3925         Removed GstThread.
3926         Removed Schedulers.
3927         Simplified GstQueue for multithreaded core.
3928         Made _link threadsafe, removed old capsnego.
3929         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
3930         Added pad blocking functions.
3931         Reworked scheduling functions in GstPad to prepare for
3932         scheduling updates soon.
3933         Moved events out of data stream.
3934         Simplified GstEvent types.
3935         Added return values to push/pull.
3936         Removed clocking from GstElement.
3937         Added prototypes for state change function for next merge.
3938         Removed iterate from bins and state change management.
3939         Fixed some elements, disabled others for now.
3940         Fixed -inspect and -launch.
3941         Added check for GstBus.
3942
3943 2005-03-10  Wim Taymans  <wim@fluendo.com>
3944
3945         * docs/design/part-MT-refcounting.txt:
3946         * docs/design/part-clocks.txt:
3947         * docs/design/part-gstelement.txt:
3948         * docs/design/part-gstobject.txt:
3949         * docs/design/part-standards.txt:
3950         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3951         (gst_bin_remove_func), (gst_bin_remove):
3952         * gst/gstbin.h:
3953         * gst/gstbuffer.c:
3954         * gst/gstcaps.h:
3955         * testsuite/clock/clock1.c: (main):
3956         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3957         (main):
3958         * testsuite/dlopen/loadgst.c: (do_test):
3959         * testsuite/refcounting/bin.c: (add_remove_test1),
3960         (add_remove_test2), (main):
3961         * testsuite/refcounting/element.c: (main):
3962         * testsuite/refcounting/element_pad.c: (main):
3963         * testsuite/refcounting/pad.c: (main):
3964         * tools/gst-launch.c: (sigint_handler_sighandler):
3965         * tools/gst-typefind.c: (main):
3966         Doc updates.
3967         Added doc about clock.
3968         removed gst_bin_iterate_recurse_up(), marked methods
3969         for removal.
3970         Fix more testsuites.
3971
3972 2005-03-09  Wim Taymans  <wim@fluendo.com>
3973
3974         * gst/gstpad.c: (gst_pad_get_direction),
3975         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3976         (gst_pad_collect_valist):
3977         * testsuite/bins/interface.c: (main):
3978         * testsuite/caps/audioscale.c: (test_caps):
3979         * testsuite/caps/caps.c: (test1), (test2), (test3):
3980         * testsuite/caps/deserialize.c: (main):
3981         * testsuite/caps/enumcaps.c: (main):
3982         * testsuite/caps/filtercaps.c: (main):
3983         * testsuite/caps/intersect2.c: (main):
3984         * testsuite/caps/random.c: (main):
3985         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3986         * testsuite/caps/sets.c: (check_caps):
3987         * testsuite/caps/simplify.c: (check_caps), (main):
3988         * testsuite/caps/subtract.c: (check_caps):
3989         Fix _pad_get_direction wrt ghostpads.
3990         Fix caps testsuite.
3991
3992 2005-03-09  Wim Taymans  <wim@fluendo.com>
3993
3994         * check/Makefile.am:
3995         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
3996         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
3997         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
3998         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
3999         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4000         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4001         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4002         (bin_element_is_sink), (gst_bin_iterate_sinks),
4003         (gst_bin_iterate_all_by_interface):
4004         * gst/gstbin.h:
4005         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4006         (gst_element_change_state), (gst_element_dispose),
4007         (gst_element_finalize), (gst_element_set_loop_function):
4008         * gst/gstelement.h:
4009         * gst/gstiterator.c: (find_custom_fold_func):
4010         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4011         (gst_pad_collectv), (gst_pad_collect_valist),
4012         (gst_pad_template_new):
4013         * gst/gstpipeline.c: (gst_pipeline_class_init),
4014         (gst_pipeline_dispose), (gst_pipeline_set_property),
4015         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4016         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4017         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4018         * gst/gstutils.h:
4019         * gst/schedulers/entryscheduler.c:
4020         * gst/schedulers/gstbasicscheduler.c:
4021         (gst_basic_scheduler_cothreaded_chain),
4022         (gst_basic_scheduler_chain_add_element):
4023         * testsuite/bins/interface.c: (main):
4024         Added GstBin test.
4025         Added GstSystemClock test.
4026         Implemented clock distribution code in GstBin.
4027         Implemented iterate sinks method for future use.
4028         Rearranged gstelement.h
4029         Fix GstIterator comparison bug.
4030         Moved some code to GstPipeline, mostly clocking related.
4031
4032 2005-03-09  Wim Taymans  <wim@fluendo.com>
4033
4034         * configure.ac:
4035         * gst/gst_private.h:
4036         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4037         (gst_bin_remove_func), (gst_bin_remove),
4038         (gst_bin_get_by_name_recurse_up):
4039         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4040         (gst_clock_id_compare_func), (gst_clock_id_wait),
4041         (gst_clock_id_wait_async), (gst_clock_init),
4042         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4043         * gst/gstelement.h:
4044         * gst/gstinfo.c: (_gst_debug_init):
4045         * gst/gstobject.h:
4046         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4047         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4048         * gst/gstpad.h:
4049         Bump version number, we're now 0.9.0
4050         Add future debugging category.
4051         Fix NULL _unref() in _get_by_name_recurse_up
4052         Rearrange gstpad.h.
4053         Update some docs.
4054
4055 2005-03-08  Wim Taymans  <wim@fluendo.com>
4056
4057         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4058         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4059         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4060         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4061         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4062         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4063         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4064         * gst/elements/gstidentity.c: (gst_identity_class_init):
4065         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4066         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4067         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4068         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4069         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4070         (gst_tee_link):
4071         * gst/gstelement.c: (gst_element_class_init),
4072         (gst_element_base_class_init), (gst_element_init),
4073         (gst_element_get_random_pad), (gst_element_wait_state_change),
4074         (gst_element_change_state), (gst_element_dispose),
4075         (gst_element_finalize), (gst_element_set_loop_function):
4076         * gst/gstelement.h:
4077         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4078         * gst/gstthread.c: (gst_thread_class_init),
4079         (gst_thread_release_children_locks), (gst_thread_change_state):
4080         * gst/schedulers/gstbasicscheduler.c:
4081         (gst_basic_scheduler_loopfunc_wrapper),
4082         (gst_basic_scheduler_chain_wrapper),
4083         (gst_basic_scheduler_src_wrapper),
4084         (gst_basic_scheduler_remove_element):
4085         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4086         Remove threadsafe properties. Fix elements because GObject
4087         complains when installing a property before declaring a
4088         set/get_property handler.
4089         Rearrange gstelement.h file, use STATE macros for state locks.
4090         Free mutexes in the finalize method instead of dispose.
4091
4092 2005-03-08  Wim Taymans  <wim@fluendo.com>
4093
4094         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4095         * gst/gstthread.c: (gst_thread_release_children_locks):
4096         Added parentage check.
4097         Fix build og GstThread again.
4098
4099 2005-03-08  Wim Taymans  <wim@fluendo.com>
4100
4101         * docs/design/part-MT-refcounting.txt:
4102         * docs/design/part-conventions.txt:
4103         * docs/design/part-gstobject.txt:
4104         * docs/design/part-relations.txt:
4105         * docs/design/part-standards.txt:
4106         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4107         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4108         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4109         (gst_bin_iterate_all_by_interface):
4110         * gst/gstbuffer.h:
4111         * gst/gstclock.h:
4112         * gst/gstelement.c: (gst_element_class_init),
4113         (gst_element_change_state), (gst_element_set_loop_function):
4114         * gst/gstelement.h:
4115         * gst/gstiterator.c:
4116         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4117         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4118         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4119         (gst_object_set_parent), (gst_object_unparent),
4120         (gst_object_check_uniqueness):
4121         * gst/gstobject.h:
4122         Docs updates, clean up some headers.
4123
4124 2005-03-07  Wim Taymans  <wim@fluendo.com>
4125
4126         * check/.cvsignore:
4127         * check/Makefile.am:
4128         * check/gst-libs/.cvsignore:
4129         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4130         * check/gst/.cvsignore:
4131         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4132         (START_TEST), (gstbus_suite), (main):
4133         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4134         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4135         (gst_data_suite), (main):
4136         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4137         (add_fold_func), (gstiterator_suite), (main):
4138         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4139         (thread_name_object), (thread_name_object_default),
4140         (gst_object_name_compare), (gst_object_suite), (main):
4141         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4142         (gst_pad_suite), (main):
4143         * check/gstcheck.c: (gst_check_log_message_func),
4144         (gst_check_log_critical_func), (gst_check_init):
4145         * check/gstcheck.h:
4146         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4147         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4148         Added checks.
4149
4150 2005-03-07  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4153         (gst_list_iterator_next), (gst_list_iterator_resync),
4154         (gst_list_iterator_free), (gst_iterator_new_list),
4155         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4156         (gst_iterator_free), (gst_iterator_push), (filter_next),
4157         (filter_resync), (filter_uninit), (filter_free),
4158         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4159         (gst_iterator_foreach), (find_custom_fold_func),
4160         (gst_iterator_find_custom):
4161         * gst/gstiterator.h:
4162         Added missing files.
4163
4164 2005-03-07  Wim Taymans  <wim@fluendo.com>
4165
4166         * Makefile.am:
4167         * configure.ac:
4168         * docs/design/part-MT-refcounting.txt:
4169         * docs/design/part-conventions.txt:
4170         * docs/design/part-gstobject.txt:
4171         * docs/design/part-relations.txt:
4172         * examples/mixer/mixer.c: (main):
4173         * examples/thread/thread.c: (eos), (main):
4174         * gst/Makefile.am:
4175         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4176         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4177         (gst_spider_plug_from_srcpad):
4178         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4179         (gst_spider_identity_change_state),
4180         (gst_spider_identity_sink_loop_type_finding):
4181         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4182         * gst/elements/gstidentity.c: (gst_identity_init):
4183         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4184         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4185         * gst/elements/gsttypefindelement.c: (free_entry):
4186         * gst/gst.c:
4187         * gst/gst.h:
4188         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4189         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4190         (gst_bin_set_index), (gst_bin_set_element_sched),
4191         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4192         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4193         (gst_bin_iterate_elements), (iterate_child_recurse),
4194         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4195         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4196         (compare_interface), (gst_bin_get_by_interface),
4197         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4198         * gst/gstbin.h:
4199         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4200         (gst_buffer_default_free), (gst_buffer_default_copy),
4201         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4202         (gst_buffer_create_sub):
4203         * gst/gstbuffer.h:
4204         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4205         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4206         (gst_caps_unref), (gst_static_caps_get),
4207         (gst_caps_remove_and_get_structure), (gst_caps_append),
4208         (gst_caps_append_structure), (gst_caps_remove_structure),
4209         (gst_caps_copy_nth), (gst_caps_set_simple),
4210         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4211         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4212         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4213         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4214         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4215         (gst_caps_structure_figure_out_union),
4216         (gst_caps_switch_structures), (gst_caps_do_simplify),
4217         (gst_caps_replace), (gst_caps_from_string),
4218         (gst_caps_copy_conditional):
4219         * gst/gstcaps.h:
4220         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4221         (_gst_clock_id_free), (gst_clock_id_unref),
4222         (gst_clock_id_compare_func), (gst_clock_id_wait),
4223         (gst_clock_id_wait_async), (gst_clock_class_init),
4224         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4225         (gst_clock_get_time), (gst_clock_set_time_adjust),
4226         (gst_clock_set_property), (gst_clock_get_property):
4227         * gst/gstclock.h:
4228         * gst/gstcompat.h:
4229         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4230         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4231         * gst/gstdata.h:
4232         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4233         (gst_element_requires_clock), (gst_element_provides_clock),
4234         (gst_element_set_clock), (gst_element_clock_wait),
4235         (gst_element_wait), (gst_element_set_time_delay),
4236         (gst_element_is_indexable), (gst_element_add_pad),
4237         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4238         (pad_compare_name), (gst_element_get_static_pad),
4239         (gst_element_request_pad), (gst_element_get_request_pad),
4240         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4241         (gst_element_class_get_pad_template_list),
4242         (gst_element_class_get_pad_template), (gst_element_error_func),
4243         (gst_element_get_random_pad), (gst_element_get_event_masks),
4244         (gst_element_send_event), (gst_element_seek),
4245         (gst_element_get_query_types), (gst_element_query),
4246         (gst_element_get_formats), (gst_element_convert),
4247         (gst_element_is_locked_state), (gst_element_set_locked_state),
4248         (gst_element_sync_state_with_parent), (gst_element_change_state),
4249         (gst_element_finalize), (gst_element_yield),
4250         (gst_element_interrupt), (gst_element_set_scheduler),
4251         (gst_element_get_scheduler), (gst_element_set_loop_function):
4252         * gst/gstelement.h:
4253         * gst/gstevent.h:
4254         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4255         (gst_format_get_by_nick), (gst_format_get_details),
4256         (gst_format_iterate_definitions):
4257         * gst/gstformat.h:
4258         * gst/gstindex.c: (gst_index_gtype_resolver):
4259         * gst/gstinfo.c:
4260         * gst/gstinfo.h:
4261         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4262         (gst_mem_chunk_free):
4263         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4264         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4265         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4266         (gst_object_dispatch_properties_changed),
4267         (gst_object_set_name_default), (gst_object_set_name),
4268         (gst_object_get_name), (gst_object_set_name_prefix),
4269         (gst_object_get_name_prefix), (gst_object_set_parent),
4270         (gst_object_get_parent), (gst_object_unparent),
4271         (gst_object_check_uniqueness), (gst_object_save_thyself),
4272         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4273         (gst_object_set_property), (gst_object_get_property),
4274         (gst_object_get_path_string):
4275         * gst/gstobject.h:
4276         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4277         (gst_real_pad_init), (gst_real_pad_get_property),
4278         (gst_pad_custom_new), (gst_pad_get_direction),
4279         (gst_pad_set_active), (gst_pad_is_active),
4280         (gst_pad_set_event_function), (gst_pad_is_linked),
4281         (gst_pad_link_free), (gst_pad_link_intersect),
4282         (gst_pad_link_fixate), (gst_pad_set_caps),
4283         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4284         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4285         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4286         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4287         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4288         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4289         (gst_pad_realize), (gst_pad_get_allowed_caps),
4290         (gst_real_pad_dispose), (gst_real_pad_finalize),
4291         (gst_pad_collectv), (gst_pad_collect_valist),
4292         (gst_pad_template_dispose), (gst_pad_template_new),
4293         (gst_pad_get_internal_links):
4294         * gst/gstpad.h:
4295         * gst/gstpipeline.c: (gst_pipeline_dispose),
4296         (gst_pipeline_change_state):
4297         * gst/gstpipeline.h:
4298         * gst/gstplugin.c:
4299         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4300         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4301         * gst/gstpluginfeature.h:
4302         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4303         * gst/gstquery.c: (_gst_query_type_initialize),
4304         (gst_query_type_register), (gst_query_type_get_by_nick),
4305         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4306         * gst/gstquery.h:
4307         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4308         * gst/gstscheduler.c: (gst_scheduler_add_element),
4309         (gst_scheduler_factory_create):
4310         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4311         (gst_structure_free), (gst_structure_set_name),
4312         (gst_structure_id_set_value), (gst_structure_set_value),
4313         (gst_structure_set_valist), (gst_structure_remove_field),
4314         (gst_structure_remove_fields),
4315         (gst_structure_remove_fields_valist),
4316         (gst_structure_remove_all_fields), (gst_structure_foreach),
4317         (gst_structure_map_in_place),
4318         (gst_caps_structure_fixate_field_nearest_int),
4319         (gst_caps_structure_fixate_field_nearest_double):
4320         * gst/gststructure.h:
4321         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4322         (gst_system_clock_init), (gst_system_clock_dispose),
4323         (gst_system_clock_async_thread),
4324         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4325         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4326         * gst/gstsystemclock.h:
4327         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4328         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4329         * gst/gsttaginterface.c:
4330         * gst/gstthread.c: (gst_thread_dispose),
4331         (gst_thread_release_children_locks), (gst_thread_change_state),
4332         (gst_thread_main_loop):
4333         * gst/gsttrashstack.h:
4334         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4335         * gst/gsttypes.h:
4336         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4337         (gst_element_request_pad), (gst_element_get_pad_from_template),
4338         (gst_element_request_compatible_pad),
4339         (gst_element_get_compatible_pad_filtered),
4340         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4341         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4342         (gst_element_link_many), (gst_element_link),
4343         (gst_element_link_pads), (gst_element_unlink_pads),
4344         (gst_element_unlink_many), (gst_element_unlink),
4345         (gst_pad_can_link_filtered), (gst_pad_can_link),
4346         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4347         (gst_object_default_error), (gst_bin_add_many),
4348         (gst_bin_remove_many), (gst_element_populate_std_props),
4349         (gst_element_class_install_std_props), (gst_buffer_merge),
4350         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4351         (link_fold_func), (gst_pad_proxy_setcaps):
4352         * gst/gstutils.h:
4353         * gst/gstvalue.c: (gst_value_deserialize_string):
4354         * gst/parse/grammar.y:
4355         * gst/schedulers/gstbasicscheduler.c:
4356         (gst_basic_scheduler_cothreaded_chain),
4357         (gst_basic_scheduler_chain_recursive_add),
4358         (gst_basic_scheduler_pad_link):
4359         * gst/schedulers/gstoptimalscheduler.c:
4360         (get_group_schedule_function),
4361         (gst_opt_scheduler_state_transition),
4362         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4363         * libs/gst/bytestream/bytestream.c:
4364         * libs/gst/dataprotocol/dataprotocol.c:
4365         (gst_dp_header_from_buffer):
4366         * po/nb.po:
4367         * po/ru.po:
4368         * tests/threadstate/threadstate2.c: (eos):
4369         * tools/gst-compprep.c: (main):
4370         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4371         (print_pad_info), (print_children_info):
4372         * tools/gst-launch.c: (idle_func), (main):
4373         * tools/gst-md5sum.c: (idle_func), (main):
4374         * tools/gst-xmlinspect.c: (print_element_info):
4375         First THREADED backport attempt, focusing on adding locks and
4376         making sure the API is threadsafe. Needs more work. More docs
4377         follow this week.
4378
4379 2005-02-24  Andy Wingo  <wingo@pobox.com>
4380
4381         * tests/bench-complexity.scm:
4382         * tests/complexity.gnuplot: New files, good for running complexity
4383         benchmarks.
4384
4385         * tests/Makefile.am:
4386         * tests/complexity.c: New test, sets up N elements, at each level
4387         teeing into M streams per element. Eeeenteresting.
4388
4389         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4390         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4391         running bench-mass_elements.scm.
4392
4393         * tests/bench-mass_elements.scm: New script, runs mass_elements
4394         for various numbers of identities, outputting the results to a
4395         file. Requires guile 1.6. Just for testing.
4396
4397 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4398
4399         * gst/schedulers/fairscheduler.c:
4400           compile with debug disabled
4401
4402 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4403
4404         * configure.ac:
4405           hunting season on 0.9 is now OPEN
4406
4407 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4408
4409         * docs/libs/tmpl/gstcontrol.sgml:
4410         * docs/libs/tmpl/gstdparam.sgml:
4411         * docs/libs/tmpl/gstdplinint.sgml:
4412         * docs/libs/tmpl/gstdpman.sgml:
4413         * docs/libs/tmpl/gstdpsmooth.sgml:
4414         * docs/libs/tmpl/gstunitconvert.sgml:
4415           more docs for the state of dparams
4416
4417 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4418
4419         * gst/gstelementfactory.c: (gst_element_factory_create):
4420         * gst/gstobject.c: (gst_object_init),
4421         (gst_object_set_name_default), (gst_object_set_name):
4422           name objects by default, not in gst_element_factory_create. Allows
4423           using elements created with g_object_new. (fixes #167283)
4424
4425 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4426
4427         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4428           make the time that debugging functions print relative to when
4429           gst_init was called
4430
4431 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4432
4433         * gst/gsttaginterface.c:
4434           Fix inline docs: tag setter vararg functions are NULL-terminated,
4435           GST_TAG_INVALID doesn't exist any more.
4436
4437 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4438
4439         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4440         Allocate the 1 byte more memory that was forgotten!!!!!
4441         fixes memory corruption on 64bit platforms
4442
4443 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4444
4445         * docs/pwg/building-pads.xml:
4446         * docs/pwg/intro-basics.xml:
4447           fixed a few typos, relabeled introductionary list of types
4448         * docs/random/ensonic/dparams.txt:
4449           more notes abut dparam changes
4450         * libs/gst/control/dparam.c: (gst_dparam_attach):
4451         * libs/gst/control/dparammanager.c:
4452         * libs/gst/control/dparammanager.h:
4453           - many comments and notes on dparam implementation
4454           - new dparams are were not initialized to the default value
4455             from param spec
4456
4457 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4458
4459         submitted by: Peter Astakhov
4460
4461         * po/LINGUAS:
4462         * po/ru.po:
4463           adding Russian translation
4464
4465 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4466
4467         * configure.ac:
4468         * docs/gst/Makefile.am:
4469         * docs/libs/Makefile.am:
4470           make sure popt is added to gtk-doc flags.  Fixes #147782.
4471
4472 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4473
4474         * docs/faq/using.xml:
4475           Fix typo in FAQ (artssink => artsdsink)
4476
4477 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4478
4479         * tools/gst-launch.1.in:
4480           Fix typo (#166699).
4481
4482 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4483
4484         * docs/faq/using.xml:
4485           Add -v argument to fakesrc/fakesink gst-launch line,
4486           so that the promised output will actually show up.
4487
4488 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4489
4490         * gst/gstthread.c: (gst_thread_change_state):
4491           Implement state-change error handling (#166073).
4492
4493 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4494
4495         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4496           Release interrupt after handling (#166250).
4497
4498 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         * configure.ac:
4501           back to HEAD
4502
4503 === release 0.8.9 ===
4504
4505 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4506
4507         * NEWS:
4508         * RELEASE:
4509         * configure.ac:
4510           releasing 0.8.9, "Like Eating Glass"
4511
4512 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         submitted by: Clytie Siddall
4515
4516         * po/vi.po: Added Vietnamese translation
4517
4518 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4519
4520         patch by: Tim Philipp-Müller
4521
4522         * configure.ac:
4523         * gst/gstpad.c:
4524           unref data when probe function returns FALSE.  Fixes #166362
4525
4526 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4527
4528         * gst/gst.c: (gst_init_get_popt_table):
4529           Fix typo (#166269).
4530
4531 2005-02-04  Andy Wingo  <wingo@pobox.com>
4532
4533         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4534         the debugging on whether the caps are compatible.
4535
4536 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4537
4538         * docs/manual/basics-elements.xml:
4539           Fix two typos.
4540
4541 2005-02-02  Wim Taymans  <wim@fluendo.com>
4542
4543         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4544         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4545         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4546         Remove some FIXMEs after analysing and commenting why they
4547         are not issues.
4548
4549 2005-02-02  Wim Taymans  <wim@fluendo.com>
4550
4551         * gst/schedulers/gstoptimalscheduler.c:
4552         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4553         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4554         (get_invalid_call), (chain_invalid_call),
4555         (get_group_schedule_function), (loop_group_schedule_function),
4556         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4557         (gst_opt_scheduler_state_transition),
4558         (gst_opt_scheduler_add_element),
4559         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4560         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4561         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4562         (gst_opt_scheduler_show):
4563         Added lock to protect scheduler data structures.
4564
4565 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4566
4567         * testsuite/threads/threadi.c: (cb_data):
4568           Fix buglet in test.
4569
4570 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4571
4572         * testsuite/threads/Makefile.am:
4573         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4574           On Wim's request, split the test in three separately-compiled
4575           tests that each test a very specific bug. Two of them still fail,
4576           will create bugs for those. threadi.c indicates why they fail.
4577
4578 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4579
4580         * gst/schedulers/gstoptimalscheduler.c:
4581         (get_group_schedule_function):
4582           Try to work with the threading mess that queue_link is.
4583
4584 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4585
4586         * gst/gstbin.c: (gst_bin_remove_func):
4587           Explicitely make an element release locks in a group when being
4588           remove from a bin.
4589         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4590           If there's no scheduler, always return immediately (similar to
4591           gst_element_interrupt).
4592
4593 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4594
4595         * gst/gstbin.c: (gst_bin_child_state_change_func):
4596           Remove a piece of code that could never be reached.
4597         * docs/gst/gstreamer-sections.txt:
4598         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4599         (gst_pad_call_get_function):
4600         * gst/gstpad.h:
4601         * testsuite/pad/Makefile.am:
4602           Fix #150546, enable tests.
4603
4604 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4605
4606         * docs/pwg/advanced-types.xml:
4607           Fix description for buffer-frames=0.
4608         * docs/gst/tmpl/gstbin.sgml:
4609         * gst/gstbin.c: (gst_bin_child_state_change_func),
4610         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4611         * gst/gstbin.h:
4612         * testsuite/threads/Makefile.am:
4613         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4614         (cb_state), (cb_play), (main):
4615           Fix non-recursive state changes to *really* change the state
4616           of the object, and not just call parent_class->state_change.
4617           Fix a lot of lockups caused by this. Fixes #132775. Add test
4618           for the problem. Also enable test to show #142588 (fixed).
4619         * gst/gstthread.c: (gst_thread_change_state),
4620         (gst_thread_child_state_change):
4621           Don't exit the thread if we go to NULL and are inside thread
4622           context. Instead, return control to the main thread context
4623           and exit from there.
4624         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4625           Don't unset virtual functions, since those may still be used.
4626           That's not necessarily correct, but suffices for now.
4627         * configure.ac:
4628         * testsuite/Makefile.am:
4629         * testsuite/pad/Makefile.am:
4630         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4631         (gst_test_sink_base_init), (gst_test_sink_chain),
4632         (gst_test_sink_init), (main):
4633         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4634         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4635         (main):
4636         * testsuite/pad/link.c: (gst_test_element_class_init),
4637         (gst_test_element_base_init), (gst_test_src_get),
4638         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4639         (gst_test_filter_loop), (gst_test_filter_init),
4640         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4641         (cb_error), (main):
4642           Add tests to show #150546. Pass, but should fail (currently
4643           disabled from the testsuite).
4644         * gst/gstscheduler.c: (gst_scheduler_dispose):
4645           Dereference child schedulers on dispose (#94464).
4646         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4647           Fix typo.
4648         * testsuite/threads/thread.c: (main):
4649           Add more debug.
4650
4651 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4652
4653         * gst/gstpad.c: (gst_pad_push):
4654           Oops, revert previous commit, broke testsuite...
4655
4656 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4657
4658         * gst/gstpad.c: (gst_pad_push):
4659           Add check that the pad on which the push is performed is not a
4660           get-based pad (#150546).
4661
4662 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4663
4664         * gst/elements/gsttypefindelement.c:
4665         (gst_type_find_element_handle_event):
4666           Fix buffer pushing if stream EOSes during typefinding.
4667
4668 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4669
4670         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4671
4672         * gst/gstvalue.c: (gst_string_wrap):
4673           Allow NULL-strings as argument (#165365).
4674
4675 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4676
4677         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4678
4679         * gst/schedulers/faircothreads.c:
4680         (gst_fair_scheduler_cothread_queue_show):
4681           Fix build without debug enabled.
4682
4683 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4684
4685         * docs/gst/gstreamer-sections.txt:
4686         * docs/libs/gstreamer-libs-docs.sgml:
4687         * docs/libs/gstreamer-libs-sections.txt:
4688         * docs/libs/tmpl/gstcontrol.sgml:
4689         * docs/libs/tmpl/gstdparam.sgml:
4690         * docs/libs/tmpl/gstdplinint.sgml:
4691         * docs/libs/tmpl/gstdpman.sgml:
4692         * docs/libs/tmpl/gstdpsmooth.sgml:
4693         * docs/libs/tmpl/gstputbits.sgml:
4694         * docs/libs/tmpl/gstunitconvert.sgml:
4695         * libs/gst/control/dparam.c:
4696         * libs/gst/control/dparam.h:
4697         * libs/gst/control/dparammanager.c:
4698         (gst_dpman_add_required_dparam_callback),
4699         (gst_dpman_add_required_dparam_direct),
4700         (gst_dpman_add_required_dparam_array),
4701         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4702         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4703         (gst_dpman_get_manager)
4704           restructured DParam docs
4705
4706 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4707
4708         * gst-element-check.m4:
4709           Only check for gst-inspect if we haven't already
4710           found it in previous element check runs
4711
4712 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4713
4714         * docs/gst/Makefile.am:
4715         * docs/libs/Makefile.am:
4716           fixed install rules to treat style.css as optional
4717
4718 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4719
4720         * docs/gst/Makefile.am:
4721         * docs/libs/Makefile.am:
4722           install style.css along with docs
4723         * docs/gst/tmpl/gstbin.sgml:
4724         * docs/gst/tmpl/gstclock.sgml:
4725         * docs/gst/tmpl/gstdata.sgml:
4726         * docs/gst/tmpl/gstelement.sgml:
4727         * gst/gstbin.h:
4728         * gst/gstelement.c: (gst_element_class_init):
4729         * gst/gstelement.h:
4730           fixing incomplete docs
4731
4732 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4733
4734         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4735           Don't unref seek event twice when fflush() fails
4736           
4737 2005-01-22  David Schleef  <ds@schleef.org>
4738
4739         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
4740
4741 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
4742
4743         * docs/gst/Makefile.am:
4744         * docs/libs/Makefile.am:
4745           added params for deprecation guards
4746         * gst/gst.c:
4747         * gst/gst.h:
4748         * gst/gsterror.c: (_gst_resource_errors_init),
4749         (_gst_stream_errors_init):
4750         * gst/gsterror.h:
4751           documented some more enums
4752
4753 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4754         * gst/autoplug/gstspideridentity.c:
4755         Cosmetic fix - spider_find_peek should be static
4756         * gst/parse/parse.l:
4757         Applying fix for #164261
4758
4759 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
4760
4761         * docs/gst/gstreamer-sections.txt:
4762         * docs/gst/tmpl/gstplugin.sgml:
4763         * docs/libs/gstreamer-libs-sections.txt:
4764         * docs/libs/tmpl/gstcontrol.sgml:
4765         * gst/gstbuffer.h:
4766         * gst/gsttag.h:
4767         * gst/gstvalue.c:
4768           added docs for the TAG defines
4769
4770 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4771
4772         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4773           Only unref entry if there is an entry.
4774
4775 2005-01-17  Wim Taymans  <wim@fluendo.com>
4776
4777         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4778         (remove_from_group), (schedule_group), (normalize_group),
4779         (gst_opt_scheduler_iterate):
4780         Also ref/unref decoupled elements before iterating the
4781         group since they are not added to the list of elements.
4782
4783 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4784
4785         * docs/manual/highlevel-components.xml:
4786           Add subtitle/streamselection as new features to playbin.
4787
4788 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4789
4790         * docs/manual/manual.xml:
4791           Re-enable dataaccess docs (oops).
4792
4793 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4794
4795         * docs/pwg/advanced-types.xml:
4796         * docs/random/mimetypes:
4797           Add documentation on libsndfile types (#163309), by Steve Baker
4798           <steve@stevebaker.org>.
4799         * gst/gstelement.c: (gst_element_release_request_pad):
4800           If an element has no explicit function, just remove the pad.
4801
4802 2005-01-17  Luca Ognibene  <luogni@tin.it>
4803
4804         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4805
4806         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
4807           Fix memleak (#163801).
4808
4809 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4810
4811         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
4812           I think this is actually more correct...
4813
4814 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4815
4816         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4817           Another workaround for memory access while destroyed in callback.
4818           Please, someone with refcount knowledge, have a look at this.
4819
4820 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4821
4822         * docs/faq/faq.xml:
4823         * docs/faq/legal.xml:
4824           move the legal Q&A here
4825
4826 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4827
4828         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
4829         (gst_tee_request_new_pad):
4830           Fix negotiation.
4831
4832 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4833
4834         * docs/random/omega/caps2:
4835         * testsuite/caps/caps_strings:
4836           replace framerate aproximations by their real value
4837           (24000/1001, 30000/1001, 60000/1001)
4838           Partially fixes bug #164049
4839
4840 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4841
4842         * docs/gst/Makefile.am:
4843           don't fail on the stupid GstPoptOption
4844
4845 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4846
4847         * gst/gstpad.h:
4848         * gst/gstprobe.c:
4849           allow probes to work on ghost pads by realizing the pad
4850           probe debugging
4851
4852 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4853
4854         * docs/gst/gstreamer-sections.txt:
4855         * docs/gst/tmpl/gstpad.sgml:
4856         * gst/gstpad.c: (gst_pad_set_active_recursive):
4857         * gst/gstpad.h:
4858           Add gst_pad_set_active_recursive().
4859
4860 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4861
4862         * docs/random/release:
4863           updates
4864         * gst/gst_private.h:
4865         * gst/gstinfo.c:
4866         * gst/gstobject.c:
4867           move deep_notify logging to a new category
4868         * gst/gstprobe.c:
4869         * gst/gstprobe.h:
4870           add stuff so bindings can wrap probes
4871
4872 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4873
4874         * gst/gstplugin.c: (gst_plugin_load):
4875           Fix plugin loading if plugin/lib was already loaded. Fixes
4876           #163383
4877
4878 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
4879
4880         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4881
4882         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
4883           Protect plugin loading by a mutex so it's threadsafe. Fixes
4884           #163234.
4885
4886 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4887
4888         * gst/gstevent.c: (_gst_event_copy):
4889           Reference source object when copying events, since it'll be
4890           dereferenced on event dereferencing as well.
4891
4892 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4893
4894         * docs/gst/gstreamer-sections.txt:
4895         * docs/gst/tmpl/gstevent.sgml:
4896         * gst/gstevent.c: (gst_event_new_filler_stamped),
4897         (gst_event_filler_get_duration):
4898         * gst/gstevent.h:
4899           Add two new functions for filler events (which are used to
4900           synchronize streams if one of them is not having any data
4901           for a while) without interrupting the actual data-stream.
4902           Basically a no-op.
4903         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4904         (gst_queue_link_sink), (gst_queue_link_src),
4905         (gst_queue_change_state):
4906           Allow for renegotiation while filled. Required for stream
4907           switching while playing.
4908
4909 2005-01-08  Benjamin Otte  <otte@gnome.org>
4910
4911         * gst/gstelement.c: (gst_element_link_many):
4912           fix up g_return_if_fail's
4913         * po/LINGUAS:
4914         * po/de.po:
4915           add German translation, that was somehow not included
4916
4917 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
4918
4919         * docs/random/mimetypes:
4920           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
4921           do not add them to riff-lib as they are not common
4922
4923 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4924
4925         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4926           Check for existence of probe after performing the probe before
4927           re-accessing it to prevent segfaults caused by removal of the
4928           probe in the callback.
4929
4930 2005-01-05  David Schleef  <ds@schleef.org>
4931
4932         * testsuite/registry/Makefile.am:
4933         * testsuite/registry/gst-print-formats.c:
4934         (print_pad_templates_info), (print_element_list),
4935         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
4936         (g_list_uniqify), (get_pad_templates_info),
4937         (get_element_mime_list), (print_mime_list), (main): A little
4938         program that looks through the registry to find elements of
4939         a given type.  Not particularly interesting as a test, except
4940         that there's no other test covering the same area.
4941
4942 2005-01-05  David Schleef  <ds@schleef.org>
4943
4944         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
4945         (fault_handler_sigaction), (fault_spin),
4946         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
4947         in signal.h-type signal handlers by not calling forbidden functions,
4948         including gst_element_set_state().
4949
4950 2005-01-05  David Schleef  <ds@schleef.org>
4951
4952         * gst/gstvalue.h: Mark _gst_reserved[] as private
4953
4954 2005-01-05  David Schleef  <ds@schleef.org>
4955
4956         * gst/gstvalue.c: Fix doc build problem.
4957
4958 2005-01-05  David Schleef  <ds@schleef.org>
4959
4960         * gst/gstvalue.c: Add some documentation
4961
4962 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
4963
4964         * docs/README:
4965           another shell oneliner for empty return value docs
4966         * gst/gstcaps.c:
4967         * gst/gstvalue.c:
4968         * libs/gst/control/dparam.c:
4969           more doc fixes (parameters and return values)
4970
4971 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4972
4973         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4974
4975         * gst/gstregistry.h:
4976         * gst/registries/gstxmlregistry.c:
4977           Fix macro's for Mingw (fixes #162276).
4978
4979 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4980
4981         * docs/README:
4982           quick shell oneliner to find undocumented members
4983         * docs/gst/tmpl/gstplugin.sgml:
4984         * docs/gst/tmpl/gstscheduler.sgml:
4985         * docs/gst/tmpl/gstthread.sgml:
4986           more enumtypes cleanup
4987         * gst/gsterror.h:
4988           activated documentation comments, now someone needs to document
4989           the enums :(
4990
4991 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4992
4993         * docs/manual/manual.xml:
4994           Add dataaccess part (doh!).
4995
4996 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4997
4998         * docs/manual/advanced-autoplugging.xml:
4999           Fix typo (intiate -> initiate).
5000
5001 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5002
5003         * docs/random/bbb/streamselection:
5004           Add some notes on how to handle multi-subtitle/-audio streams.
5005
5006 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5007
5008         * docs/gst/gstreamer-docs.sgml:
5009         * docs/gst/gstreamer-sections.txt:
5010         * docs/gst/tmpl/gstenumtypes.sgml:
5011         * docs/gst/tmpl/gsterror.sgml:
5012         * docs/gst/tmpl/gstevent.sgml:
5013         * docs/gst/tmpl/gstpad.sgml:
5014         * docs/gst/tmpl/gstpadtemplate.sgml:
5015         * docs/gst/tmpl/gstthread.sgml:
5016           removed gstenumtypes section from docs and put all the enums into
5017           their sections
5018
5019 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5020
5021         * gst/gstplugin.c:
5022           document gst_library_load a bit more (riff special case + return
5023           value if already loaded)
5024         * testsuite/bytestream/filepadsink.c:
5025           plugin name is 'gstbytestream', not 'bytestream'
5026
5027 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5028
5029         * docs/random/bbb/subtitles:
5030           Add some first mind rumblings on proper subtitle support.
5031
5032 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5033
5034         * po/ca.po:
5035         * po/sv.po:
5036           updated translations
5037
5038 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5039
5040         * docs/manual/advanced-dataaccess.xml:
5041           Add section on how to use fakesrc/fakesink/identity in your
5042           application, plus section on how to embed plugins. Also mention
5043           probes.
5044         * docs/manual/appendix-checklist.xml:
5045         * docs/manual/appendix-debugging.xml:
5046         * docs/manual/appendix-gnome.xml:
5047         * docs/manual/appendix-integration.xml:
5048           Debug -> checklist, GNOME -> integration, add sections on Linux,
5049           KDE integration and add other things useful for application
5050           development.
5051         * docs/manual/manual.xml:
5052           Remove some fixmes, update some file pointers.
5053         * docs/pwg/appendix-checklist.xml:
5054           Fix typo.
5055         * docs/pwg/building-boiler.xml:
5056           Remove ugly header and add commented fixme.
5057         * docs/pwg/pwg.xml:
5058           Add fixme.
5059         * examples/manual/Makefile.am:
5060           Add example for added docs.
5061
5062 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * configure.ac:
5065           back to HEAD
5066
5067 === release 0.8.8 ===
5068
5069 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5070
5071         * NEWS:
5072         * RELEASE:
5073         * configure.ac:
5074           Releasing 0.8.8, "I'll Take Care Of You"
5075
5076 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5077
5078         * configure.ac:
5079           second prerelease
5080
5081 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5082
5083         patch by: Wim Taymans
5084
5085         * gst/gstbin.c:
5086           Fix for #159852 - make iterate emission threadsafe
5087
5088 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5089
5090         * docs/faq/cvs.xml:
5091           notes about new fdo account request
5092
5093 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5094
5095         * docs/gst/gstreamer-docs.sgml:
5096         * docs/gst/tmpl/gstenumtypes.sgml:
5097         * docs/gst/tmpl/gstplugin.sgml:
5098         * docs/libs/gstreamer-libs-docs.sgml:
5099           Added missing short docs. Added ids for navigation.
5100
5101 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5102
5103         * docs/manual/advanced-autoplugging.xml:
5104         * docs/manual/advanced-schedulers.xml:
5105         * docs/manual/advanced-threads.xml:
5106           Rewrites. Remove cothreads, go a bit into opt specifically,
5107           document threads and their gotchas, and do some technical stuff
5108           on autoplugging plus add some working examples. Fixes #157395.
5109         * examples/manual/Makefile.am:
5110           Add typefind/autoplugger example (one that actually works).
5111           Remove queue example since it's a duplicate of the thread one.
5112
5113 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5114
5115         * gst/gstvalue.c: (gst_value_deserialize_string):
5116           use deprecated g_value_set_string_take_ownership to keep compatible
5117           with glib 2.2
5118
5119 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5120
5121         * gst/gstvalue.c: (gst_value_deserialize_string):
5122           revert last patch, only dom a g_utf8_validate now before accepting
5123           the string - caps parsing strips " from strings so we can't rely on
5124           them
5125         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5126           disable a test that tested the above and comment it
5127
5128 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5129
5130         Patch reviewed by David Schleef  <ds@schleef.org>
5131
5132         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5133         bug #153882)
5134         * win32/gstenumtypes.h: same
5135
5136 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5137
5138         * gst/gstpad.c: (gst_pad_query):
5139           Do query on realized pad, similar to how convert/send_event handle
5140           this. Also makes sense, since this pad belongs to the function to
5141           which this query will be sent. Fixes #158163.
5142
5143 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5144
5145         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5146
5147 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5148
5149         * docs/faq/general.xml: fix pipeline to actually work
5150
5151 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5152
5153         * gst/gstvalue.c: (gst_value_deserialize_string):
5154           check that a simple string that gets deserialized does not contain
5155           invalid characters
5156         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5157           remove a test that tested a wring behaviour
5158
5159 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5160
5161         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5162
5163         * docs/manual/intro-motivation.xml:
5164           Fix typos.
5165
5166 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5167
5168         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5169
5170         * docs/gst/tmpl/gstprobe.sgml:
5171           Fix documentation of probe callback - it is supposed to return
5172           FALSE, not TRUE, to remove data from the stream (#159087).
5173
5174 2004-12-16  Daniel Gazard  <dany42@free.fr>
5175
5176         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5177
5178         * gst/gstelementfactory.c: (gst_element_factory_create):
5179           Fix compile failure if compiling without libxml2 support (#149936).
5180
5181 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5182
5183         * docs/manual/advanced-autoplugging.xml:
5184         * docs/manual/highlevel-components.xml:
5185           Move spider from autoplugging to components. Autoplugging is for
5186           internals, not for solutions. ;-).
5187
5188 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5189
5190         * docs/random/ds/0.9-suggested-changes:
5191           Make note on device/location/uri property names.
5192
5193 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5194
5195         * docs/manual/advanced-autoplugging.xml:
5196         * docs/manual/advanced-clocks.xml:
5197         * docs/manual/advanced-interfaces.xml:
5198         * docs/manual/advanced-metadata.xml:
5199         * docs/manual/advanced-position.xml:
5200         * docs/manual/advanced-schedulers.xml:
5201         * docs/manual/advanced-threads.xml:
5202         * docs/manual/appendix-gnome.xml:
5203         * docs/manual/appendix-programs.xml:
5204         * docs/manual/appendix-quotes.xml:
5205         * docs/manual/autoplugging.xml:
5206         * docs/manual/basics-bins.xml:
5207         * docs/manual/basics-data.xml:
5208         * docs/manual/basics-elements.xml:
5209         * docs/manual/basics-helloworld.xml:
5210         * docs/manual/basics-init.xml:
5211         * docs/manual/basics-pads.xml:
5212         * docs/manual/basics-plugins.xml:
5213         * docs/manual/bins-api.xml:
5214         * docs/manual/bins.xml:
5215         * docs/manual/buffers-api.xml:
5216         * docs/manual/buffers.xml:
5217         * docs/manual/clocks.xml:
5218         * docs/manual/components.xml:
5219         * docs/manual/cothreads.xml:
5220         * docs/manual/debugging.xml:
5221         * docs/manual/dparams-app.xml:
5222         * docs/manual/dynamic.xml:
5223         * docs/manual/elements-api.xml:
5224         * docs/manual/elements.xml:
5225         * docs/manual/factories.xml:
5226         * docs/manual/gnome.xml:
5227         * docs/manual/goals.xml:
5228         * docs/manual/helloworld.xml:
5229         * docs/manual/helloworld2.xml:
5230         * docs/manual/highlevel-components.xml:
5231         * docs/manual/highlevel-xml.xml:
5232         * docs/manual/init-api.xml:
5233         * docs/manual/intro-basics.xml:
5234         * docs/manual/intro-motivation.xml:
5235         * docs/manual/intro-preface.xml:
5236         * docs/manual/intro.xml:
5237         * docs/manual/links-api.xml:
5238         * docs/manual/links.xml:
5239         * docs/manual/manual.xml:
5240         * docs/manual/motivation.xml:
5241         * docs/manual/pads-api.xml:
5242         * docs/manual/pads.xml:
5243         * docs/manual/plugins-api.xml:
5244         * docs/manual/plugins.xml:
5245         * docs/manual/programs.xml:
5246         * docs/manual/queues.xml:
5247         * docs/manual/quotes.xml:
5248         * docs/manual/schedulers.xml:
5249         * docs/manual/states-api.xml:
5250         * docs/manual/states.xml:
5251         * docs/manual/threads.xml:
5252         * docs/manual/typedetection.xml:
5253         * docs/manual/win32.xml:
5254         * docs/manual/xml.xml:
5255           Try 2. This time, include a short preface as a "general
5256           introduction", also add code blocks around all code samples
5257           so they get compiled. We still need a way to tell readers
5258           the filename of the code sample. In some cases, don't show
5259           all code in the documentation, but do include it in the generated
5260           code. This allows for focussing on specific bits in the docs,
5261           while still having a full test application available.
5262         * examples/manual/Makefile.am:
5263           Fix up examples for new ADM. Add several of the new examples that
5264           were either added or were missing from the build system.
5265         * examples/manual/extract.pl:
5266           Allow nameless blocks.
5267
5268 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5269
5270         * docs/manual/elements-api.xml:
5271         * docs/manual/helloworld.xml:
5272         * examples/manual/extract.pl:
5273           fix last example.  Add example of adding code blocks that are not
5274           shown in docbook output.
5275
5276 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5277
5278         * docs/manual/dynamic.xml:
5279         * docs/manual/elements-api.xml:
5280         * docs/manual/gnome.xml:
5281         * docs/manual/helloworld2.xml:
5282         * docs/manual/init-api.xml:
5283         * docs/manual/queues.xml:
5284         * docs/manual/threads.xml:
5285         * docs/manual/xml.xml:
5286         * examples/manual/extract.pl:
5287           Make it possible to extract example code from separate blocks.
5288           Should make Ronald happy.
5289
5290 2004-12-15  Wim Taymans  <wim@fluendo.com>
5291
5292         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5293         (remove_from_group), (group_elements_set_visited),
5294         (normalize_group), (gst_opt_scheduler_iterate):
5295         Fix bug where a flag was not updated on a decoupled entry point 
5296         because we were just checking the group element list and decoupled
5297         elements are not in that list..
5298
5299 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5300
5301         * docs/manual/advanced-autoplugging.xml:
5302         * docs/manual/advanced-clocks.xml:
5303         * docs/manual/advanced-dparams.xml:
5304         * docs/manual/advanced-interfaces.xml:
5305         * docs/manual/advanced-metadata.xml:
5306         * docs/manual/advanced-position.xml:
5307         * docs/manual/advanced-schedulers.xml:
5308         * docs/manual/advanced-threads.xml:
5309         * docs/manual/appendix-debugging.xml:
5310         * docs/manual/appendix-gnome.xml:
5311         * docs/manual/appendix-programs.xml:
5312         * docs/manual/appendix-quotes.xml:
5313         * docs/manual/appendix-win32.xml:
5314         * docs/manual/autoplugging.xml:
5315         * docs/manual/basics-bins.xml:
5316         * docs/manual/basics-data.xml:
5317         * docs/manual/basics-elements.xml:
5318         * docs/manual/basics-helloworld.xml:
5319         * docs/manual/basics-init.xml:
5320         * docs/manual/basics-pads.xml:
5321         * docs/manual/basics-plugins.xml:
5322         * docs/manual/bins-api.xml:
5323         * docs/manual/bins.xml:
5324         * docs/manual/buffers-api.xml:
5325         * docs/manual/buffers.xml:
5326         * docs/manual/clocks.xml:
5327         * docs/manual/components.xml:
5328         * docs/manual/cothreads.xml:
5329         * docs/manual/debugging.xml:
5330         * docs/manual/dparams-app.xml:
5331         * docs/manual/dynamic.xml:
5332         * docs/manual/elements-api.xml:
5333         * docs/manual/elements.xml:
5334         * docs/manual/factories.xml:
5335         * docs/manual/gnome.xml:
5336         * docs/manual/goals.xml:
5337         * docs/manual/helloworld.xml:
5338         * docs/manual/helloworld2.xml:
5339         * docs/manual/highlevel-components.xml:
5340         * docs/manual/highlevel-xml.xml:
5341         * docs/manual/init-api.xml:
5342         * docs/manual/intro-motivation.xml:
5343         * docs/manual/intro-preface.xml:
5344         * docs/manual/intro.xml:
5345         * docs/manual/links-api.xml:
5346         * docs/manual/links.xml:
5347         * docs/manual/manual.xml:
5348         * docs/manual/motivation.xml:
5349         * docs/manual/pads-api.xml:
5350         * docs/manual/pads.xml:
5351         * docs/manual/plugins-api.xml:
5352         * docs/manual/plugins.xml:
5353         * docs/manual/programs.xml:
5354         * docs/manual/queues.xml:
5355         * docs/manual/quotes.xml:
5356         * docs/manual/schedulers.xml:
5357         * docs/manual/states-api.xml:
5358         * docs/manual/states.xml:
5359         * docs/manual/threads.xml:
5360         * docs/manual/typedetection.xml:
5361         * docs/manual/win32.xml:
5362         * docs/manual/xml.xml:
5363           First try at rewriting the ADM. Needs lotsamore work, but some
5364           parts might already be somewhat useful.
5365         * docs/pwg/advanced-interfaces.xml:
5366           Remove properties interface, it never actually existed (except for
5367           on my HD...).
5368
5369 2004-12-13  David Schleef  <ds@schleef.org>
5370
5371         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5372         be NULL (bug #160220).
5373
5374 2004-12-13  David Schleef  <ds@schleef.org>
5375
5376         * configure.ac: remove all mmx stuff, because it's not used.
5377         * docs/random/ds/0.9-suggested-changes: additional notes
5378         * include/Makefile.am: we don't use these anymore
5379         * include/mmx.h: remove
5380         * include/sse.h: remove
5381
5382 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5383
5384         * docs/random/mimetypes:
5385           Add FOURCC code for h264 codec (VSSH)
5386           Add alternate FOURCC codes for h263 related codecs
5387
5388 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5389
5390         * docs/manual/programs.xml:
5391           Added more gst-launch examples.
5392
5393 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5394
5395         * gst/gstqueue.c: (gst_queue_handle_src_query):
5396           Check for availability again.
5397
5398 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5399
5400         * gst/gstcaps.c: (gst_caps_compare_structures):
5401           Simple caps go first. This has the nice side-effect of fixing an
5402           obscure warning.
5403
5404 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5405
5406         * gst/gstversion.h.in:
5407           Protect header.
5408
5409 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5410
5411         * gst/schedulers/gstoptimalscheduler.c:
5412         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5413         (gst_opt_scheduler_get_wrapper):
5414           When we're recursing into a chain run, only run the directly
5415           related group, not all queued ones. This will fix a possible
5416           deadlock in chains with more than two groups.
5417
5418 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5419
5420         * autogen.sh:
5421           remove patch if autopoint fails
5422
5423 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5424
5425         * docs/gst/gstreamer-sections.txt:
5426           Document Thomas' addition, fix build, make Luis the sheriff happy.
5427
5428 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5429
5430         * gst/gstplugin.c:
5431         * gst/gstplugin.h:
5432           add accessor for version field
5433
5434 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         submitted by: Luca Ferretti <elle.uca@infinito.it>
5437
5438         * po/LINGUAS:
5439         * po/it.po:
5440           New tranlation added: Italian
5441
5442 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5443
5444         * gst/gstpad.c: (gst_pad_is_negotiated),
5445         (gst_pad_get_negotiated_caps):
5446           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5447           it doesn't actually check the contents), so be sure to hand it
5448           a RealPad else we'll crash.
5449
5450 2004-12-03  Wim Taymans  <wim@fluendo.com>
5451
5452         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5453         (gst_queue_link), (gst_queue_handle_src_query):
5454         Reverted to 1.110 until this makes the testsuite and various
5455         apps work.
5456
5457 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5458
5459         * docs/upload.mak: fix included CVS conflict strings
5460
5461 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5462
5463         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5464
5465         * gst/gstelement.c: (gst_element_error_full):
5466           Use g_error_new_literal because error text may have
5467           percentage signs in it. Fixes #160019.
5468
5469 2004-12-01  Benjamin Otte  <otte@gnome.org>
5470
5471         * gst/elements/gstbufferstore.c:
5472         (gst_buffer_store_add_buffer_func):
5473           don't try to make subbuffers bigger than they can be. (fixes
5474           #159970)
5475
5476 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5477
5478         * docs/gst/gstreamer-sections.txt:
5479         * docs/gst/tmpl/gstvalue.sgml:
5480           Add new function to docs to fix build.
5481
5482 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5483
5484         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5485         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5486         (_gst_pad_default_fixate_foreach):
5487         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5488         * gst/gstvalue.h:
5489           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5490           in some cases (arrays), the fixedness depends on the content.
5491         * gst/gstqueue.c: (gst_queue_handle_src_query):
5492           Check for availability before doing something.
5493
5494 2004-11-29  Wim Taymans  <wim@fluendo.com>
5495
5496         * testsuite/threads/Makefile.am:
5497         * testsuite/threads/signals.c: (gst_test_get_type),
5498         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5499         (gst_test_set_property), (gst_test_get_property),
5500         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5501         (gst_test_do_prop), (run_thread), (main):
5502         Added a bunch of testcases that show threadsafety bugs in glib.
5503
5504 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5505
5506         * docs/manual/programs.xml:
5507           Added a first batch of gst-launch examples, as provided by Ronald
5508           and others from the devel-mlist
5509
5510 2004-11-28  Benjamin Otte  <otte@gnome.org>
5511
5512         * gst/gstelement.c: (gst_element_negotiate_pads):
5513           simplify
5514         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5515         (gst_value_serialize_string), (gst_value_deserialize_string):
5516           add unwrapping of previously wrapped strings. Fix bug in wrapping
5517           while at it.
5518         * testsuite/caps/value_serialize.c: (test1),
5519         (test_string_serialization), (test_string_deserialization), (main):
5520           add tests for string (de)serialization
5521
5522 2004-11-26  Wim Taymans  <wim@fluendo.com>
5523
5524         * testsuite/threads/159566.c: (object_deep_notify), (main):
5525         * testsuite/threads/Makefile.am:
5526         Added testsuite to show bug #159566
5527
5528 2004-11-25  Wim Taymans  <wim@fluendo.com>
5529
5530         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5531         (gst_thread_child_state_change), (gst_thread_main_loop):
5532         Ref the thread object in the GThread mainloop. Break out of the
5533         thread mainloop if it holds the last ref. This properly exits
5534         the threads when disposing the thread from its own context. It
5535         also avoids possible deadlocks in the dispose function.
5536
5537 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5538
5539         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5540         it is necessary to wait.
5541
5542 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5543
5544         * docs/pwg/building-boiler.xml:
5545           Make description somewhat clearer.
5546
5547 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5548
5549         * docs/upload.mak:
5550           Apparently docs changed location on FDO's server.
5551
5552 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5553
5554         * docs/pwg/appendix-checklist.xml:
5555           Add some random notes on things to check when writing an element.
5556           This list can be extended as people see fit.
5557
5558 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5559
5560         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5561         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5562         pad. The queue will now wait until it is empty and forward the new
5563         caps to the source.
5564         * gst/gstbin.c (gst_bin_set_element_sched)
5565         (gst_bin_unset_element_sched): Make sure that all elements and
5566         links are registered and unregistered with the scheduler exactly
5567         once. This elaborates on a fix by Benjamin Otte, but
5568         guarantees that decoupled elements are also registered.
5569
5570 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5571
5572         * docs/manual/quotes.xml:
5573           add a quote
5574         * configure.ac:
5575         * gst/gst.c:
5576         * gst/gstinfo.c:
5577           add LIBDIR and move init message higher up so it's at the start
5578
5579 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5580
5581         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5582         * gstreamer.spec.in: add fair
5583
5584 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5585
5586         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5587         * gst/elements/gstidentity.c: (gst_identity_class_init):
5588           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5589           <teuf@gnome.org> (#157263).
5590         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5591         (gst_type_find_handle_src_query):
5592           Subtract size of internally stored data from position queries.
5593
5594 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5595
5596         * gst/schedulers/fairscheduler.c:
5597         * gst/schedulers/faircothreads.c:
5598         * gst/schedulers/faircothreads.h:
5599         New cothread based scheduler: Fair scheduler.
5600         * gst/schedulers/gthread-cothreads.h: 
5601         Add the standard #if around the whole file.
5602         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5603         compilation of the functions defined in this file. This is
5604         necessary to be able to use this file as a normal header.
5605         * gst/schedulers/Makefile.am: Add compiling support for fair
5606         scheduler.
5607         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5608         scheduler cothreads layer from documentation generation.
5609
5610 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5611
5612         * gst/autoplug/gstspideridentity.c:
5613         (gst_spider_identity_sink_loop_type_finding):
5614           Don't crash if that function is not implemented.
5615
5616 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5617
5618         * docs/pwg/advanced-types.xml:
5619           Another typo.
5620
5621 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5622
5623         * docs/pwg/intro-preface.xml:
5624           Hm, ok, so the brackets weren't really useful...
5625         * docs/pwg/other-ntoone.xml:
5626           Fix embarassing typo.
5627
5628 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5629
5630         * docs/pwg/intro-preface.xml:
5631           Rewrite preface.
5632
5633 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5634
5635         * docs/pwg/advanced-scheduling.xml:
5636         * docs/pwg/advanced-tagging.xml:
5637         * docs/pwg/advanced-types.xml:
5638         * docs/pwg/building-boiler.xml:
5639         * docs/pwg/building-chainfn.xml:
5640         * docs/pwg/building-signals.xml:
5641         * docs/pwg/building-state.xml:
5642         * docs/pwg/building-testapp.xml:
5643         * docs/pwg/intro-basics.xml:
5644         * docs/pwg/other-manager.xml:
5645         * docs/pwg/other-source.xml:
5646           Typo fixes.
5647         * docs/pwg/other-manager.xml:
5648           Add some first content. No example code yet.
5649         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5650           Remove double newlines.
5651
5652 2004-11-04  Wim Taymans  <wim@fluendo.com>
5653
5654         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5655         (remove_from_group), (normalize_group), (group_migrate_connected),
5656         (gst_opt_scheduler_iterate):
5657         * testsuite/schedulers/.cvsignore:
5658         * testsuite/schedulers/Makefile.am:
5659         * testsuite/schedulers/queue_link.c: (main):
5660         Added testcase for scheduler segfault.
5661         Fix scheduler segfault when removing a decoupled
5662         entry point as the last element from a group.
5663
5664 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5665
5666         * gst/gstmarshal.list: add missing marshaller, fixes build
5667
5668 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5669
5670         * docs/random/signal: added notes about using BOXED for GstBuffer
5671         signal marshallers, not POINTER
5672
5673 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5674
5675         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5676         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5677         POINTER=>BOXED changes to marshal GstBuffers
5678
5679 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5680
5681         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5682         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5683
5684 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5685
5686         * docs/gst/gstreamer-sections.txt:
5687         * docs/gst/tmpl/gstcaps.sgml:
5688         * docs/gst/tmpl/gsterror.sgml:
5689         * docs/gst/tmpl/gstinfo.sgml:
5690         * docs/gst/tmpl/gstmacros.sgml:
5691         * docs/gst/tmpl/gstutils.sgml:
5692         * docs/random/ensonic/interfaces.txt:
5693         * gst/gstinfo.h:
5694           added some more docs, removed two obsolete defines
5695
5696 2004-11-02  Kjartan Maraas <as at gnome.org>
5697
5698         reviewed by: Wim Taymans, Ronald Bultje.
5699
5700         * gst/cothreads.c: (cothread_create):
5701         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5702         (gst_bin_child_state_change_func):
5703         * gst/gstbuffer.c: (gst_buffer_span):
5704         * gst/gstelement.c: (gst_element_get_index),
5705         (gst_element_get_event_masks), (gst_element_get_query_types),
5706         (gst_element_get_formats):
5707         * gst/gsterror.c: (_gst_core_errors_init),
5708         (_gst_library_errors_init), (_gst_resource_errors_init),
5709         (_gst_stream_errors_init):
5710         * gst/gstobject.c: (gst_object_default_deep_notify):
5711         * gst/gstpad.c: (gst_pad_get_event_masks),
5712         (gst_pad_get_internal_links_default):
5713         * gst/gstplugin.c: (gst_plugin_register_func),
5714         (gst_plugin_get_module):
5715         * gst/gststructure.c: (gst_structure_get_string),
5716         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5717         (gst_structure_to_abbr):
5718         * gst/gstutils.c: (gst_print_element_args):
5719         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5720         (setup_group_scheduler), (gst_opt_scheduler_iterate):
5721         Aplied part of patch #157127: Cleanup of issues reported by 
5722         sparse.
5723         Also do not try to use cothreads when there is no cothread
5724         context yet.
5725
5726 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
5727
5728         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5729         (gst_opt_scheduler_iterate):
5730         Applied patch #154061. Running a pipeline in which an element 
5731         calls GST_ELEMENT_ERROR in the chain function, the opt 
5732         scheduler doesn't unref the chain so it never gets freed.
5733
5734 2004-11-02  Wim Taymans  <wim@fluendo.com>
5735
5736         * gst/gststructure.c: (gst_structure_get_abbrs),
5737         (gst_structure_from_abbr), (gst_structure_to_abbr):
5738         Remove that ugly if-then thing in the code that converts
5739         between strings and types.
5740
5741 2004-11-02  Wim Taymans  <wim@fluendo.com>
5742
5743         * gst/gstscheduler.c: (gst_scheduler_add_element),
5744         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
5745         Aplied clock distribution patch, this should fix bug
5746         #148787.
5747
5748 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5749
5750         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
5751
5752         * po/LINGUAS:
5753         * po/nb.po:
5754           Added Norwegian Bokmaal translation
5755
5756 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5757
5758         * tools/gst-inspect.c: (print_signal_info):
5759           print signal arguments as pointers if they are
5760
5761 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
5762
5763         * docs/pwg/building-boiler.xml:
5764           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
5765
5766 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5767
5768         * gst/parse/parse.l:
5769         * testsuite/parse/parse1.c: (main):
5770         Since parse can do 'element name=a:b' make 'a:b.' work as
5771         well. 
5772         Added testcase to verify fix.
5773
5774 2004-10-19  Wim Taymans  <wim at fluendo dot com>
5775
5776         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
5777         Use the realpad when printing the direction.
5778         Add extra \n when printing extensions of typefind factories.
5779
5780 2004-10-13  David Schleef  <ds@schleef.org>
5781
5782         * examples/manual/Makefile.am: $< isn't portable in Makefile
5783         rules.
5784
5785 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
5786
5787         * docs/gst/tmpl/gstobject.sgml:
5788         * docs/gst/tmpl/gstplugin.sgml:
5789         * docs/gst/tmpl/gstpluginfeature.sgml:
5790         * docs/gst/tmpl/gstregistry.sgml:
5791         * docs/gst/tmpl/gstversion.sgml:
5792         * gst/gstbin.c:
5793           more api documentation
5794         * gst/gstplugin.c: (gst_plugin_register_func),
5795         (gst_plugin_check_file), (gst_plugin_load_file):
5796           better error signaling and logging
5797
5798 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5799
5800         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
5801           Subtract current queue contents from position queries.
5802
5803 2004-10-11  Johan Dahlin  <johan@gnome.org>
5804
5805         * gst/gsturi.c (gst_uri_get_location): unescape string
5806         (gst_uri_construct): escape string.
5807
5808 2004-10-11  Benjamin Otte  <otte@gnome.org>
5809
5810         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
5811         (gst_pad_try_set_caps_nonfixed):
5812           allow renegotiation of unconnected pads (as inside spider). Simply
5813           return OK if unconnected - mimic try_set_caps there.
5814
5815 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5816
5817         * gst/gstbin.c: (gst_bin_sync_children_state):
5818           Add missing break.
5819
5820 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5821
5822         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
5823         Set element to EOS before sending EOS event
5824
5825 2004-10-08  Wim Taymans  <wim at fluendo dot com>
5826
5827         * gst/elements/gsttypefindelement.c:
5828         (gst_type_find_element_handle_event):
5829         Handle EOS events when doing the transition from
5830         typefind to data passing. This should fix the
5831         infinite loops in short files.
5832
5833 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5834
5835         * gst/gstthread.c: (gst_thread_change_state),
5836         (gst_thread_child_state_change):
5837         Make sure no iteration happens while performing
5838         the state change as it could mess up the internal
5839         consistency of the thread state.
5840
5841 2004-10-07  Wim Taymans  <wim at fluendo dot com>
5842
5843         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
5844         (gst_thread_change_state), (gst_thread_child_state_change):
5845         Do not try to grab the iterate lock in the state change method
5846         when we are in the same thread as the iterate or else we
5847         could deadlock. Some other cleanups.
5848
5849 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5850
5851         * configure.ac:
5852           bump nano to cvs
5853
5854 === release 0.8.7 ===
5855
5856 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5857
5858         * configure.ac:
5859         * NEWS:
5860         * RELEASE:
5861         * configure.ac:
5862           releasing 0.8.7, "A Cruise"
5863
5864 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5865
5866         * docs/random/mimetypes:
5867         Add an entry for Sony ATRAC3 audio format with mime-type
5868         used by rmdemux et riff-read
5869
5870 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5871
5872         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5873         Push the buffer store instead of clearing it in case that
5874         the stream is not seekable.
5875
5876 2004-10-06  Wim Taymans  <wim at fluendo dot com>
5877
5878         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
5879         (gst_thread_main_loop):
5880         Lock the iteration and the state change so that automatic
5881         negotiation and fixation does not happen at the same time
5882         as the in stream negotiation.
5883
5884 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5885
5886         * configure.ac:
5887           bump nano to cvs
5888
5889 === release 0.8.6 ===
5890
5891 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5892
5893         * configure.ac:
5894         * NEWS:
5895         * RELEASE:
5896         * configure.ac:
5897           releasing 0.8.6, "Narc"
5898
5899 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5900
5901         * configure.ac:
5902           prerel bump
5903
5904 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         patch by: Steve Lhomme
5907
5908         * gst/elements/gstfakesrc.c:
5909         * gst/elements/gstidentity.c:
5910         * gst/gstthread.c:
5911           Fix for #153881
5912
5913 2004-10-01  Wim Taymans  <wim at fluendo dot com>
5914
5915         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5916         Fix threadsafety of the crc checking function.
5917
5918 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5919
5920         patch by: Ronald Bultje
5921
5922         * gst/elements/gsttypefindelement.c: (stop_typefinding),
5923         (gst_type_find_element_handle_event),
5924         (gst_type_find_element_chain):
5925         * gst/elements/gsttypefindelement.h:
5926          #153657.
5927          Filter out discont event from seekable sources when typefind
5928          asks them to seek.  Fixes typefind with demuxers for
5929          avi, asf and matroska.
5930
5931 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * docs/gst/gstreamer-sections.txt:
5934         * gst/gstcaps.c:
5935         * gst/gstcaps.h:
5936         * gst/gstpad.c:
5937           Revert preferred caps: (#147789)
5938
5939 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
5940
5941         * win32/dirent.c:
5942           fix a memory leak
5943
5944 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * configure.ac:
5947           bump for prerelease
5948
5949 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5950
5951         * docs/Makefile.am:
5952         * docs/manual/elements-api.xml:
5953           restructure so that common stuff is shown first
5954         * docs/manual/init-api.xml:
5955           convert to examples
5956         * docs/manual/manual.xml:
5957         * docs/manuals.mak:
5958         * docs/url.entities:
5959           link to API on the website, possibly override later in build
5960         * examples/manual/.cvsignore:
5961           ignore more
5962         * examples/manual/Makefile.am:
5963           add more examples
5964         * examples/manual/extract.pl:
5965           error out on failure
5966
5967 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * docs/gst/tmpl/gstthread.sgml:
5970         * docs/manual/init-api.xml:
5971         * examples/manual/Makefile.am:
5972           convert two code bits to examples
5973
5974 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5975
5976         * gst/gstelement.c: (gst_element_change_state):
5977           Well, actually, I was about to remove this insane assert when
5978           I noticed Wim already did that. A warning is nice so we can
5979           fix actual ugs (using --g-fatal-warnings and backtraces), so
5980           I added that instead.
5981
5982 2004-09-06  Wim Taymans  <wim@fluendo.com>
5983
5984         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5985         (gst_element_threadsafe_properties_post_run),
5986         (gst_element_set_state), (gst_element_change_state):
5987         Added extra refcounting around various places. 
5988
5989 2004-09-06  Wim Taymans  <wim@fluendo.com>
5990
5991         * gst/gstpad.c: (gst_pad_link_call_link_functions):
5992         Fix debug info.
5993
5994 2004-09-06  Wim Taymans  <wim@fluendo.com>
5995
5996         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5997         (remove_from_group):
5998         Some more debug info.
5999
6000 2004-09-03  Wim Taymans  <wim@fluendo.com>
6001
6002         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6003         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6004         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6005         (gst_fakesrc_get), (gst_fakesrc_change_state):
6006         * gst/elements/gstfakesrc.h:
6007         * gst/elements/gstidentity.c: (gst_identity_class_init),
6008         (gst_identity_init), (gst_identity_chain),
6009         (gst_identity_set_property), (gst_identity_get_property),
6010         (gst_identity_change_state):
6011         * gst/elements/gstidentity.h:
6012         Added datarate properties to limit the datarate.
6013
6014 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6015
6016         * gst/autoplug/gstspider.c: (plugin_init):
6017           don't set a rank. We don't want to autoplug by inserting spiders.
6018
6019 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6020
6021         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6022         (gst_spider_identity_plug):
6023           add a template for spider's sink
6024         * gst/gst.c: (gst_register_core_elements):
6025           queue's rank should be NULL, we don't want spider to add it.
6026
6027 2004-08-18  David Schleef  <ds@schleef.org>
6028
6029         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6030         * docs/libs/Makefile.am: same
6031         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6032         * docs/random/ds/0.9-planning: random additions
6033         * docs/random/ds/0.9-suggested-changes: same
6034         * gst/gstxml.h: remove vestigal GstXMLNs definition
6035
6036         Preferred caps: (#147789)
6037         * docs/gst/gstreamer-sections.txt: Add symbols
6038         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6039         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6040         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6041         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6042         (gst_caps_get_preferred), (gst_caps_set_preferred),
6043         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6044         (gst_caps_use_preferred): Handle caps preferences
6045         * gst/gstcaps.h: Add caps preferences
6046         * gst/gstpad.c: (gst_pad_link_get_preferred),
6047         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6048         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6049         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6050         negotiation.
6051
6052 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6053
6054         * gst/autoplug/gstspideridentity.c:
6055         (gst_spider_identity_request_new_pad):
6056         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6057         (gst_aggregator_init):
6058         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6059         (gst_fakesink_init):
6060         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6061         (gst_fakesrc_init):
6062         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6063         (gst_fdsink_init):
6064         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6065         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6066         (gst_filesink_init):
6067         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6068         (gst_filesrc_init):
6069         * gst/elements/gstidentity.c: (gst_identity_base_init),
6070         (gst_identity_init):
6071         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6072         (gst_multifilesrc_init):
6073         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6074         (gst_pipefilter_init):
6075         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6076         (gst_statistics_init):
6077         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6078         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6079           s/gst_pad_new/&_from_template/
6080           register pad templates in the base_init function
6081           add static pad template definitions
6082
6083 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6084
6085         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6086         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6087         * testsuite/refcounting/pad.c: (main):
6088         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6089           s/gst_pad_new/&_from_template/
6090           prepare deprecation of gst_pad_new
6091
6092 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6093
6094         patch by: Luca Ognibene <skaboy81@virgilio.it>
6095
6096         * gst/gstcaps.c:
6097         * gst/gstelement.c:
6098         * gst/gstpad.c:
6099         * gst/gstxml.c:
6100           fix memleaks.  Fixes #150001
6101
6102 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6103
6104         * docs/random/ds/0.9-suggested-changes:
6105           add notes - mostly about pad templates
6106
6107 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6108
6109         * win32/GStreamer.vcproj:
6110           temporary locale files are .gmo not .mo
6111
6112 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * configure.ac: bump nano to cvs
6115
6116 === release 0.8.5 ===
6117
6118 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6119
6120         * configure.ac:
6121           releasing 0.8.5, "Stuttgart"
6122         * NEWS:
6123         * RELEASE:
6124         * configure.ac:
6125         * docs/random/release:
6126           updates for release
6127
6128 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6129
6130         patch by: Wim Taymans (wim@fluendo.com)
6131
6132         * gst/gstbuffer.c:
6133         * gst/gstindex.h:
6134         * libs/gst/dataprotocol/dataprotocol.c:
6135           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6136
6137 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6138
6139         * Makefile.am:
6140         * win32/MANIFEST:
6141           add win32 dir to the build.  Fixes #149981.
6142
6143 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6144
6145         * configure.ac:
6146           bump libtool versioning
6147         * gst/gststructure.c:
6148           mark function as static
6149         * po/af.po:
6150         * po/az.po:
6151         * po/ca.po:
6152         * po/cs.po:
6153         * po/en_GB.po:
6154         * po/fr.po:
6155         * po/nl.po:
6156         * po/sq.po:
6157         * po/sr.po:
6158         * po/sv.po:
6159         * po/tr.po:
6160         * po/uk.po:
6161           translations update
6162         * win32/README.txt:
6163           trademark protection
6164
6165 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6166
6167         * configure.ac:
6168           fix GST_ORIGIN
6169           set GST_PACKAGE to source, and distinguish between release and other
6170         * tools/gst-inspect.c:
6171           print out plugin an element factory is part of so we see this info
6172
6173 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6174
6175         * docs/gst/gstreamer-sections.txt:
6176         * docs/gst/tmpl/gstbuffer.sgml:
6177         * docs/gst/tmpl/gstschedulerfactory.sgml:
6178           reorder docs a little, make GstBuffer's more sensible.
6179         * gst/gstbuffer.h:
6180           API: added GST_BUFFER_FLAG_DELTA_UNIT
6181         * gst/gstscheduler.c:
6182           comment API addition
6183
6184 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6185
6186         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6187           work with non-regular files that can be mmapped (like /dev/zero)
6188         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6189           get rid of typefinds that require a seek when we can't seek instead
6190           of trying them over and over again
6191         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6192           return non-zero failure value when the pipeline was interrupted or
6193           an error occurred
6194
6195 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6196
6197         * win32/config.h:
6198         * win32/GStreamer.vcproj:
6199           compile and install the locales
6200
6201 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6202
6203         * gst/gstvalue.c:
6204           fix a possible memory leak under Windows
6205
6206 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6207
6208         * win32/GStreamer.vcproj:
6209           fix a memory leak that occured under Windows
6210         * win32/gstreamer.def:
6211           add gst_scheduler_register
6212
6213 2004-08-11  Benjamin Otte  <otte@gnome.org>
6214
6215         * docs/gst/gstreamer-sections.txt:
6216         * gst/gstscheduler.c: (gst_scheduler_register):
6217         * gst/gstscheduler.h:
6218           API:
6219           add gst_scheduler_register shortcut similar to gst_element_register
6220         * gst/schedulers/entryscheduler.c: (plugin_init):
6221         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6222         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6223           use it
6224
6225 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6226
6227         * gst/gstvalue.h:
6228           fix a memory leak that occured under Windows
6229
6230 2004-08-10  Colin Walters  <walters@redhat.com>
6231
6232         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6233         Don't use O_EXCL to open temporary registry.  It will prevent
6234         registry creation if a temporary one already exists, which
6235         is unnecessary.
6236
6237 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6238
6239         * docs/gst/gstreamer-sections.txt:
6240         * docs/gst/tmpl/gstvalue.sgml:
6241           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6242
6243 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6244
6245         * win32/gstbytestream.vcproj:
6246         * win32/gstelements.vcproj:
6247         * win32/gstgetbits.vcproj:
6248         * win32/gst-inspect.vcproj:
6249         * win32/gst-launch.vcproj:
6250         * win32/gstoptimalscheduler.vcproj:
6251         * win32/GStreamer.vcproj:
6252         * win32/gst-register.vcproj:
6253         * win32/gstspider.vcproj:
6254           update the include and lib dirs to fit standard libraries as
6255           described in the Win32 manual
6256
6257 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6258
6259         * win32/config.h:
6260         * win32/gstversion.h:
6261           enable NLS again, push the version number for the coming 0.8.5 release
6262
6263 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6264
6265         * gst/gstvalue.h:
6266           export gst_type_XXX for windows DLLs
6267
6268 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6269
6270         * docs/faq/gst-uninstalled:
6271           fix PKG_CONFIG_PATH and PYTHONPATH
6272         * gst/schedulers/Makefile.am:
6273           cleanup
6274         * libs/gst/bytestream/bytestream.c:
6275           remove newline
6276         * po/LINGUAS:
6277         * po/sq.po:
6278           adding Albanian translation (Laurent Dhima)
6279         * po/cs.po:
6280           updated
6281
6282 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * po/ca.po:
6285         * po/sv.po:
6286           updated translations
6287
6288 2004-08-04  Benjamin Otte  <otte@gnome.org>
6289
6290         * tests/mass_elements.c: (main):
6291           allow specifying src and sink element explicitly, so I can test
6292           videotestsrc instead of fakesrc
6293
6294 2004-08-04  Benjamin Otte  <otte@gnome.org>
6295
6296         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6297         (gst_structure_id_empty_new), (gst_structure_empty_new),
6298         (gst_structure_copy):
6299           add gst_structure_id_empty_new_with_size to allow preallocating
6300           value array sizes. Use this in gst_structure_copy to get rid of
6301           reallocs.
6302           don't do quark=>string=>quark when copying structures
6303
6304 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6305
6306         * docs/manual/win32.xml:
6307         * win32/README.txt:
6308           update documentation with the clean version of dependencies
6309
6310 2004-08-03  Benjamin Otte  <otte@gnome.org>
6311
6312         * gst/schedulers/entryscheduler.c:
6313         (gst_entry_scheduler_remove_element):
6314           fix for GST_DISABLE_DEBUG
6315         * tools/gst-launch.c: (print_tag):
6316           fixes for G_DISABLE_ASSERT
6317
6318 2004-08-03  Benjamin Otte  <otte@gnome.org>
6319
6320         * gst/gst.c: (gst_register_core_elements):
6321           fix for G_DISABLE_ASSERT
6322         * gst/gstinfo.c: (__gst_in_valgrind):
6323           add for GST_DISABLE_DEBUG
6324
6325 2004-08-03  Benjamin Otte  <otte@gnome.org>
6326
6327         * gst/parse/parse.l:
6328           fix for G_DISABLE_ASSERT
6329
6330 2004-08-03  Wim Taymans  <wim@fluendo.com>
6331
6332         * gst/gstbin.c: (gst_bin_get_type),
6333         (gst_bin_child_state_change_func):
6334         * gst/gstthread.c: (gst_thread_change_state):
6335         Backported some debug logging from a reverted patch
6336         Don't try to destroy the thread twice. Added some more
6337         debugging in GstThread. Unlock and signal even if we
6338         are in the thread context.
6339
6340 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6341
6342         * po/uk.po:
6343           updated translation
6344
6345 2004-07-30  David Schleef  <ds@schleef.org>
6346
6347         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6348
6349 2004-07-29  David Schleef  <ds@schleef.org>
6350
6351         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6352         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6353
6354 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6355
6356         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6357         (gst_bin_add_func), (gst_bin_remove_func),
6358         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6359         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6360         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6361         (gst_bin_sync_children_state):
6362         * gst/gstbin.h:
6363         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6364         (gst_thread_change_state):
6365         * testsuite/states/Makefile.am:
6366           revert state change patches as agreed so we can rework them
6367           gradually
6368
6369 2004-07-29  Benjamin Otte  <otte@gnome.org>
6370
6371         * libs/gst/control/Makefile.am:
6372           link to libgstreamer (fixes Debian bug 262019, see
6373           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6374
6375 2004-07-29  Wim Taymans  <wim@fluendo.com>
6376
6377         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6378         (check_from_fraction_convert), (transform_test), (main):
6379         Make the test less pedantic about float roundoff errors.
6380
6381 2004-07-29  Benjamin Otte  <otte@gnome.org>
6382
6383         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6384         (gst_filesrc_srcpad_event):
6385           make seek events to before start/after end of file not fail, but
6386           seek to start/end instead
6387         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6388           add more output
6389
6390 2004-07-29  Benjamin Otte  <otte@gnome.org>
6391
6392         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6393           check that caps are fixed
6394         * gst/gstpad.c: (gst_pad_template_new):
6395           don't try to simplify caps, costs too much time on gst_init
6396         * gst/gstplugin.c: (gst_plugin_add_feature):
6397           G_ERROR if features are added twice
6398         * gst/gsttypefind.c: (gst_type_find_register):
6399         * gst/gstelementfactory.c: (gst_element_register):
6400           don't add features twice
6401         * docs/random/ds/0.9-suggested-changes:
6402           add note about possible gst_init optimization
6403
6404 2004-07-28  David Schleef  <ds@schleef.org>
6405
6406         * testsuite/elements/Makefile.am:
6407         * testsuite/elements/struct_i386.h:
6408         * testsuite/elements/struct_size.c: (main):  A little test
6409         to keep distcheck from working if someone changes a structure
6410         size accidentally.
6411
6412 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6413
6414         * docs/libs/Makefile.am:
6415         * docs/libs/gstreamer-libs-docs.sgml:
6416         * docs/libs/gstreamer-libs-sections.txt:
6417         * docs/libs/tmpl/gstbytestream.sgml:
6418         * docs/libs/tmpl/gstcontrol.sgml:
6419         * docs/libs/tmpl/gstdataprotocol.sgml:
6420         * docs/libs/tmpl/gstgetbits.sgml:
6421         * libs/gst/bytestream/Makefile.am:
6422         * libs/gst/bytestream/bytestream.c:
6423         * libs/gst/bytestream/bytestream.h:
6424         * libs/gst/control/Makefile.am:
6425         * libs/gst/dataprotocol/Makefile.am:
6426         * libs/gst/getbits/Makefile.am:
6427         * libs/gst/getbits/getbits.h:
6428           various doc and style fixes, adding bytestream to libs docs.
6429
6430 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * docs/gst/gstreamer-docs.sgml:
6433         * docs/libs/Makefile.am:
6434         * docs/libs/gstreamer-libs-docs.sgml:
6435         * docs/libs/gstreamer-libs-sections.txt:
6436         * libs/gst/control/dparam.c:
6437           more doc fixes.  gst-libs docs now build the same way as gst.
6438
6439 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6440
6441         * configure.ac:
6442         * testsuite/Makefile.am:
6443         * testsuite/bins/Makefile.am:
6444         * testsuite/caps/Makefile.am:
6445         * testsuite/cleanup/Makefile.am:
6446         * testsuite/clock/Makefile.am:
6447         * testsuite/debug/Makefile.am:
6448         * testsuite/dlopen/Makefile.am:
6449         * testsuite/dynparams/Makefile.am:
6450         * testsuite/elements/.cvsignore:
6451         * testsuite/elements/Makefile.am:
6452         * testsuite/enumcaps/Makefile.am:
6453         * testsuite/enumcaps/enumcaps.c:
6454         * testsuite/ghostpads/Makefile.am:
6455         * testsuite/indexers/Makefile.am:
6456         * testsuite/negotiation/Makefile.am:
6457         * testsuite/parse/Makefile.am:
6458         * testsuite/plugin/Makefile.am:
6459         * testsuite/refcounting/Makefile.am:
6460         * testsuite/schedulers/.cvsignore:
6461         * testsuite/states/Makefile.am:
6462         * testsuite/tags/Makefile.am:
6463         * testsuite/threads/Makefile.am:
6464           fold enumcaps into caps dir
6465           clean up Makefile.am's for testsuite
6466
6467 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * docs/gst/Makefile.am:
6470         * docs/libs/Makefile.am:
6471           clean up docs build.  Fixes needless rebuilding of template files.
6472
6473 2004-07-28  Wim Taymans  <wim@fluendo.com>
6474
6475         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6476         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6477         Make sure that a bin state change tries to keep the children
6478         in sync. 
6479         Added debug logging to the thread.
6480
6481 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6482
6483         * win32/GStreamer.vcproj:
6484         * win32/gstreamer.def:
6485           more exports for the plugins
6486
6487 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6488
6489         * win32/gstgetbits.vcproj:
6490         * win32/gstgetbits.def:
6491         * win32/msvc71.sln:
6492           add support for the getbits plugin
6493
6494 2004-07-27  Wim Taymans  <wim@fluendo.com>
6495
6496         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6497         (gst_value_transform_fraction_double), (_gst_value_initialize):
6498         * testsuite/caps/Makefile.am:
6499         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6500         (check_from_fraction_convert), (transform_test), (main):
6501         Added transform functions between double and fraction.
6502         Added testcase to verify transforms
6503
6504 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6505
6506         * win32/GStreamer.vcproj:
6507           rename GStreamer-0.8.lib to libgstreamer.lib
6508
6509 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6510
6511         * win32/gstelements.vcproj:
6512         * win32/gstoptimalscheduler.vcproj:
6513           fixes for the Release build
6514
6515 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6516
6517         * win32/config.h:
6518           update the version number
6519
6520 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6521
6522         * win32/GStreamer.vcproj:
6523           add gstinterface to the build
6524
6525 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6526
6527         * win32/gstreamer.def:
6528           add many definitions needed by plugins,
6529           GST_CAT_DEFAULT only available in the Debug build ?
6530
6531 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6532
6533         * gst/gstelement.c: (gst_element_set_eos_recursive):
6534           various whitespace fixes.
6535           doc fix, fixes #148497
6536
6537 2004-07-25  Benjamin Otte  <otte@gnome.org>
6538
6539         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6540           don't delay links on the sink elements, it causes unnegotiated
6541           links.
6542         * gst/elements/gsttypefindelement.c:
6543         (gst_type_find_element_base_init):
6544           add our padtemplates, we indeed do have some.
6545         * gst/elements/gsttypefindelement.c:
6546         (gst_type_find_element_handle_event),
6547         (gst_type_find_element_chain):
6548           don't push data when typefinding failed.
6549         * gst/gstpad.c: (gst_pad_link_fixate):
6550           check that no fixate function returns empty caps.
6551         * gst/gstpad.c: (gst_pad_push):
6552           check that the link is negotiated before data gets pushed.
6553         * tools/gst-register.c: (main):
6554           don't assert (fixes #148283)
6555
6556 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6557
6558         * docs/gst/gstreamer-sections.txt:
6559         * docs/gst/tmpl/gstconfig.sgml:
6560           add GST_PLUGIN_EXPORT definition
6561
6562 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6563
6564         * gst/gstplugin.h:
6565         * gst/gstconfig.h.in:
6566         * win32/gstconfig.h:
6567         * win32/gstelements.def:
6568         * win32/gstelements.vcproj:
6569         * win32/gstoptimalscheduler.def:
6570         * win32/gstoptimalscheduler.vcproj:
6571         * win32/gstspider.def:
6572         * win32/gstspider.vcproj:
6573           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6574
6575 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6576
6577         * docs/gst/gstreamer-sections.txt:
6578           remove GST_CAT_DEFAULT because the type has changed
6579
6580 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6581
6582         * win32/gstbytestream.vcproj:
6583         * win32/gstelements.vcproj:
6584         * win32/gst-inspect.vcproj:
6585         * win32/gst-launch.vcproj:
6586         * win32/gstoptimalscheduler.vcproj:
6587         * win32/GStreamer.vcproj:
6588         * win32/gst-register.vcproj:
6589         * win32/gstspider.vcproj:
6590         * win32/msvc71.sln:
6591           Copy the files where needed after building, The testsuite will be
6592           built separately
6593
6594 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6595
6596         * win32/config.h:
6597         * win32/README.txt:
6598         * docs/manual/win32.xml:
6599         Fixed the plugin and GStreamer location
6600
6601 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6602
6603         * win32/gstreamer.def:
6604         More exports for the plugins
6605
6606 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6607
6608         * gst/gstinfo.h:
6609         Marc was right, we need to export literally GST_CAT_DEFAULT
6610
6611 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6612
6613         * win32/config.h:
6614         NLS crashes in gettext, disabled until this is solved
6615
6616 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6617
6618         * win32/gst-inspect.vcproj:
6619         * win32/gst-launch.vcproj:
6620         Should use NLS when available
6621
6622 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6623
6624         * gst/registries/gstxmlregistry.c:
6625         removing the file doesn't seem to be a good idea on Linux
6626
6627 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6628
6629         * gst/registries/gstxmlregistry.c:
6630         Remove the registry before renaming the tempfile (needed for Windows)
6631
6632 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6633
6634         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6635         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6636         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6637         * gst/elements/gstmultifilesrc.h:
6638         Added newmedia property so it generates newmedia events between each
6639         file when property is set, as well as fixed eos handling
6640
6641 2004-07-22  David Schleef  <ds@schleef.org>
6642
6643         * gst/gststructure.c: (gst_structure_id_empty_new),
6644         (gst_structure_empty_new):  Set type field correctly.
6645         * gst/gststructure.h: Check type field correctly.
6646         * testsuite/caps/Makefile.am:
6647         * testsuite/caps/structure.c: (test1), (main): Add a very small
6648         test for structures.
6649
6650 2004-07-22  David Schleef  <ds@schleef.org>
6651
6652         * docs/random/ds/0.9-suggested-changes: more comments
6653         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6654
6655 2004-07-22  Benjamin Otte  <otte@gnome.org>
6656
6657         * gst/gstelementfactory.c: (gst_element_register):
6658           set the factory in the class struct, so gst_element_get_factory
6659           actually works
6660         * gst/parse/grammar.y:
6661           set element to playing when it gets unlocked as we can't rely on the
6662           bin state - all elements in the bin state might still be locked in
6663           NULL)
6664
6665 2004-07-22  Benjamin Otte  <otte@gnome.org>
6666
6667         * gst/gstelement.c: (gst_element_set_state_func):
6668           make this a static function
6669
6670 2004-07-22  Wim Taymans  <wim@fluendo.com>
6671
6672         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6673         (gst_opt_scheduler_pad_link):
6674         fix 147894-2 and the group_link problem.
6675
6676 2004-07-22  Wim Taymans  <wim@fluendo.com>
6677
6678         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6679         (handoff_identity), (main):
6680         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6681         (handoff_identity), (main):
6682         * testsuite/schedulers/Makefile.am:
6683         * testsuite/schedulers/group_link.c: (main):
6684         Show bug in scheduler when linking chain and loop based element 
6685         where the chain based element was not yet in a group.
6686
6687 2004-07-21  Benjamin Otte  <otte@gnome.org>
6688
6689         * gst/.cvsignore:
6690         * gst/autoplug/.cvsignore:
6691         * gst/elements/.cvsignore:
6692         * gst/indexers/.cvsignore:
6693         * libs/gst/bytestream/.cvsignore:
6694         * libs/gst/control/.cvsignore:
6695         * libs/gst/getbits/.cvsignore:
6696         * testsuite/states/.cvsignore:
6697         * testsuite/threads/.cvsignore:
6698           keep this up to date, since I seem to be the only one who cares
6699           about not missing files on commits (editor's note: no you don't,
6700           but feel free to change them at the time you add stuff instead
6701           of later on)
6702
6703 2004-07-21  Benjamin Otte  <otte@gnome.org>
6704
6705         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6706         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6707         (gst_bin_child_state_change_func), (set_kid_state_func),
6708         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6709           make state changes work correctly and reentrant (so removing
6710           elements from bins during state changes of bins doesn't cause
6711           segfaults or even wrong states)
6712           add debugging category and debugging output to print children states
6713         * gst/gstbin.c: (gst_bin_dispose): 
6714           add some assertion checks
6715         * gst/gstbin.h:
6716         * gst/gstbin.c: (gst_bin_sync_children_state):
6717           deprecate this function - it just does gst_bin_set_state (bin,
6718           GST_STATE (bin)) 
6719         * testsuite/threads/queue.c: (main):
6720           don't use gst_bin_sync_children_state anymore
6721         * testsuite/states/Makefile.am:
6722         * testsuite/states/bin.c:
6723           test that the state changes of bins work as expected
6724         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
6725           some adjustments to change states correctly, too
6726         * gst/gstthread.c: (gst_thread_change_state):
6727           don't enable/disable "threadsafe" properties, they're unused and
6728           cause random segfaults
6729         * testsuite/threads/Makefile.am:
6730           the queue check randomly passes now, ignore it
6731
6732 2004-07-21  Benjamin Otte  <otte@gnome.org>
6733
6734         * gst/gstpad.c:
6735           check if data is NULL before outputting debug info. (fixes #145100)
6736
6737 2004-07-21  Benjamin Otte  <otte@gnome.org>
6738
6739         * gst/schedulers/entryscheduler.c:
6740         (gst_entry_scheduler_loop_wrapper),
6741         (gst_entry_scheduler_chain_wrapper),
6742         (gst_entry_scheduler_get_wrapper):
6743           reset the state when the cothread starts, so we don't get assertion
6744           failures on restarting of cothreads
6745
6746 2004-07-20  Benjamin Otte  <otte@gnome.org>
6747
6748         * gst/gstelement.c: (gst_element_link_pads_filtered):
6749           use correct sinkpad, if only sinkpad is specified, but not srcpad
6750           (fixes #147889)
6751         * gst/gstelement.c: (gst_element_set_state_func),
6752         (gst_element_change_state): ref/unref the element, signal handlers
6753         could get rid of the element otherwise
6754
6755 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6756
6757         * docs/random/ds/0.9-suggested-changes:
6758           Make note about renaming fixed-list to array.
6759         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
6760         (_gst_value_initialize):
6761           Add array intersections.
6762         * testsuite/caps/intersect2.c: (main):
6763           Add test for array intersections.
6764
6765 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6766
6767         * configure.ac: back to cvs
6768
6769 === release 0.8.4 ===
6770
6771 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * configure.ac:
6774           releasing 0.8.4, "Paella"
6775           bump libtool versioning
6776
6777 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * po/LINGUAS:
6780         * po/ca.po:
6781           adding Catalan translation (Jordi Mallach)
6782
6783 2004-07-20  Wim Taymans  <wim@fluendo.com>
6784
6785         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6786         (handoff_identity), (main):
6787         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6788         (handoff_identity), (main):
6789         * testsuite/schedulers/Makefile.am:
6790         Added failing testcase for variant of #147894
6791
6792 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6793
6794         patch by: David Moore
6795
6796         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6797         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
6798         (group_migrate_connected):
6799         * testsuite/schedulers/Makefile.am:
6800           fix for #142813 (Deadlock in optimal scheduler)
6801
6802 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         patch by: Wim Taymans
6805
6806         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
6807         (gst_opt_scheduler_schedule_run_queue),
6808         (gst_opt_scheduler_get_wrapper), (get_group),
6809         (group_migrate_connected):
6810         * testsuite/schedulers/Makefile.am:
6811           fix for #147819 (Add some checks in the opt scheduler)
6812
6813 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6814
6815         patch by: Benjamin Otte
6816
6817         * gst/gstelementfactory.c: (__gst_element_details_set):
6818           fix for #147929: running gst-register in non-utf8 locale can cause
6819           invalid registry
6820
6821 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6822
6823         patch by: Wim Taymans
6824
6825         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
6826         (group_has_element), (element_get_reachables_func),
6827         (group_migrate_connected):
6828           fix for #147894 (opt scheduler decoupled elements mismanagement)
6829         * testsuite/schedulers/Makefile.am:
6830           testsuite app now passes
6831
6832 2004-07-19  Wim Taymans  <wim@fluendo.com>
6833
6834         * testsuite/schedulers/147819.c: (handoff_identity1),
6835         (handoff_identity2), (main):
6836         * testsuite/schedulers/Makefile.am:
6837         Added testcase for bug 147819
6838
6839 2004-07-19  Wim Taymans  <wim@fluendo.com>
6840
6841         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6842         (handoff_identity), (main):
6843         * testsuite/schedulers/Makefile.am:
6844         Added testcase for bug 147894
6845
6846 2004-07-16  Wim Taymans  <wim@fluendo.com>
6847
6848         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
6849         * testsuite/schedulers/142183.c: (handoff_identity), (main):
6850         * testsuite/schedulers/Makefile.am:
6851         Added testsuite for bug 142183 in its two incarnations. Refcount
6852         is not increased for scheduled elements and threadsafe properties
6853         mutexes are not properly unlocked.
6854
6855 2004-07-16  Wim Taymans  <wim@fluendo.com>
6856
6857         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
6858         (create_chain), (destroy_chain), (create_group), (destroy_group),
6859         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
6860         (group_dec_link), (gst_opt_scheduler_pad_link),
6861         (group_inc_links_for_element), (group_migrate_connected):
6862         Call group_inc_link with the proper src->sink ordering -- 
6863         break this, and we break sort_chain. patch from wingo for bug
6864         147713.
6865         Partially revert patch 1.89. When adding a loop based element to 
6866         the scheduler, the links to other groups are automatically followed
6867         and incremented. This should not happen because the bin will call
6868         pad_link explicitly for those connection, resulting in them counted 
6869         twice. Results in assertion failure on pipeline cleanup.
6870
6871 2004-07-16  Wim Taymans  <wim@fluendo.com>
6872
6873         * testsuite/schedulers/143777-2.c: (main):
6874         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
6875         (main):
6876         * testsuite/schedulers/Makefile.am:
6877         Added cleanup code to testcase 143777-2.
6878         Added testcase to show bug 147713, does not really show the
6879         deadlock as I can't figure out how to trigger it, but it does
6880         demonstrate bad ordering in the scheduler.
6881
6882 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6883
6884         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6885           change strndup to g_strndup.  Fixes #147707
6886
6887 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6888
6889         * po/af.po:
6890         * po/az.po:
6891         * po/cs.po:
6892         * po/en_GB.po:
6893         * po/fr.po:
6894         * po/nl.po:
6895         * po/sr.po:
6896         * po/sv.po:
6897         * po/tr.po:
6898         * po/uk.po:
6899           updated translations
6900
6901 2004-07-16  Benjamin Otte  <otte@gnome.org>
6902
6903         * gst/gstvalue.c: (gst_greatest_common_divisor):
6904           use ints and return ints, fractions only use ints, too, so this
6905           avoids accidently casting multiplications to unsigned
6906         (gst_value_lcopy_fraction): it's ints, not uint32
6907         (gst_value_set_fraction): disallow minint, multiplying and negation
6908           are broken with it
6909         (gst_value_fraction_multiply): fix to make large numbers work and get
6910         rid of the assumption that the multiplication of two ints fits an
6911         int64 - dunno if that's true for all systems
6912         * testsuite/caps/Makefile.am:
6913         * testsuite/caps/fraction-multiply-and-zero.c:
6914         (check_multiplication), (check_equal), (zero_test), (main):
6915           add tests for all the stuff above
6916         * testsuite/caps/value_compare.c: (test1):
6917           fix comment
6918         * tests/.cvsignore:
6919         * testsuite/caps/.cvsignore:
6920         * testsuite/debug/.cvsignore:
6921         * testsuite/dlopen/.cvsignore:
6922         * testsuite/states/.cvsignore:
6923           get up to date
6924
6925 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6926
6927         * docs/manual/bins-api.xml:
6928         * docs/manual/factories.xml:
6929         * docs/manual/helloworld.xml:
6930         * docs/manual/links-api.xml: 
6931           fixes for out of date info, incorrect info and grammar
6932
6933 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6934
6935         * docs/manual/pads.xml:
6936         * docs/manual/pads-api.xml: grammar fix
6937
6938 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6939
6940         * docs/manual/pads-api.xml: typo + grammar fix
6941
6942 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * docs/gst/gstreamer-sections.txt:
6945           add new symbols
6946         * docs/gst/tmpl/gstelement.sgml:
6947         * docs/gst/tmpl/gstpad.sgml:
6948         * docs/gst/tmpl/gsttypes.sgml:
6949         * docs/gst/tmpl/gstvalue.sgml:
6950           update docs
6951         * gst/gststructure.c: (gst_structure_set_valist),
6952         (gst_structure_from_abbr), (gst_structure_to_abbr):
6953         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
6954         (gst_greatest_common_divisor), (gst_value_init_fraction),
6955         (gst_value_copy_fraction), (gst_value_collect_fraction),
6956         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6957         (gst_value_get_fraction_numerator),
6958         (gst_value_get_fraction_denominator),
6959         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
6960         (gst_value_deserialize_fraction),
6961         (gst_value_transform_fraction_string),
6962         (gst_value_transform_string_fraction),
6963         (gst_value_compare_fraction), (_gst_value_initialize):
6964         * gst/gstvalue.h:
6965           adding GstFraction GValue type, get/set, and multiply
6966         * testsuite/caps/Makefile.am:
6967         * testsuite/caps/fraction.c: (test), (main):
6968         * testsuite/caps/string-conversions.c: (main):
6969         * testsuite/caps/value_compare.c: (test1), (main):
6970           add regression tests for GstFraction
6971
6972 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6973         
6974         * docs/manual/init-api.xml: Grammar fix
6975
6976 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6977
6978         * docs/manual/states.xml: Fix inconsistent information
6979
6980 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6981
6982         * gst/gstelement.c: (gst_element_set_state):
6983         * gst/gstpad.c: (gst_pad_try_set_caps):
6984         * gst/gststructure.c:
6985         * gst/gstthread.c: (gst_thread_child_state_change):
6986         * gst/gstvalue.c: (gst_value_compare_double):
6987         * gst/gstvalue.h:
6988         * testsuite/parse/parse1.c: (main):
6989           debugging additions and style cleanups
6990
6991 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6992
6993         * docs/manual/states.xml: Grammar fix
6994
6995 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6996
6997         * docs/manual/pads.xml: Grammar fix
6998
6999 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7000
7001         * docs/manual/elements.xml: Fixed image reference
7002
7003 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7004
7005         * docs/manual/goals.xml: Grammar fix
7006
7007 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7008
7009         * docs/manual/motivation.xml:
7010         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7011
7012 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7013
7014         * docs/manual/motivation.xml: Fix spelling
7015
7016 2004-07-15  Benjamin Otte  <otte@gnome.org>
7017
7018         * gst/gstelement.h: 
7019           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7020           strings.
7021         * gst/gstelement.c (gst_element_class_init):
7022           GError's are boxed, not objects
7023         * gst/gstmarshal.list:
7024           update list for the fixed error signal
7025
7026 2004-07-14  Andy Wingo  <wingo@pobox.com>
7027
7028         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7029         there all along, but the function wasn't. (guile-gstreamer's build
7030         system uses the address of the function -- I wasn't actually
7031         trying to use this.)
7032
7033 2004-07-14  Andy Wingo  <wingo@pobox.com>
7034
7035         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7036         as gst_pad_proxy_pad_link) just link to every other pad when they
7037         are called. In the case where the graph has cycles, this will mean
7038         that a call to try_set_caps will recurse. Allow this recursion
7039         and return OK, while we wait for the first try_set_caps to give a
7040         proper return value.
7041         (gst_pad_link_call_link_functions): Since this function is the
7042         only one to set the NEGOTIATING flag on a pad, if the flag is set
7043         it means that the link functions have indirectly recursed. If this
7044         happens, error out to avoid infinite recursion and an eventual
7045         SEGV.
7046         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7047         (gst_pad_proxy_getcaps): Intersect the result with the template
7048         caps to ensure that the return value is valid.
7049
7050 2004-07-14  Andy Wingo  <wingo@pobox.com>
7051
7052         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7053         one refcount, the calling function is the owner of the buffer.
7054
7055 2004-07-14  Wim Taymans  <wim@fluendo.com>
7056
7057         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7058         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7059         Fix stupid warning when an element is to be migrated but
7060         is already migrated.
7061
7062 2004-07-14  Wim Taymans  <wim@fluendo.com>
7063
7064         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7065         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7066         Make sure that a single non-loop-based element does not 
7067         end up in a group. This fixes the testsuite again.
7068
7069 2004-07-14  Wim Taymans  <wim@fluendo.com>
7070
7071         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7072         (add_to_group), (merge_groups), (schedule_group),
7073         (gst_opt_scheduler_get_wrapper), (group_elements),
7074         (group_dec_link), (gst_opt_scheduler_pad_link),
7075         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7076         (gst_opt_scheduler_iterate):
7077         move isolated groups to a new chain.
7078         Emit a warning instead of segfaulting in some error cases.
7079         Fix a bug where the link count between groups was not calculated 
7080         correctly. Fixes #144510.
7081
7082 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7083         * gst/elements/gstfilesrc.c:
7084           Binary files support under Windows now OK
7085       
7086 2004-07-13  Benjamin Otte  <otte@gnome.org>
7087
7088           compatibility fixes for Solaris 8/gcc 2.95
7089         * configure.ac:
7090           include libintl libs in LDFLAGS
7091         * gstvalue.c (gst_value_deserialize_buffer):
7092           cast isxdigit stuff to int to silence compiler warning
7093
7094 2004-07-12  Benjamin Otte  <otte@gnome.org>
7095
7096         * gst/gsttypes.h:
7097           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7098           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7099           just causes support madness
7100         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7101           make it work without this
7102         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7103         (gst_file_index_commit):
7104           glib IO channels don't want binary mode
7105         * testsuite/bytestream/filepadsink.c: (main):
7106         * testsuite/bytestream/test1.c: (read_param_file):
7107           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7108
7109 2004-07-12  Benjamin Otte  <otte@gnome.org>
7110
7111         * gst/gstelement.c: (gst_element_class_init),
7112         (gst_element_set_state), (gst_element_set_state_func):
7113           virutalize gst_element_set_state, use set_state member in class
7114           struct that was already added in 0.7 for this.
7115         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7116         (gst_bin_change_state):
7117           make gst_bin_foreach works similar to other foreach functions, plug
7118           memleaks in it. Make functions using it work with the new approach.
7119           Document gst_bin_foreach, so it can be exported if we want to
7120         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7121           use virtualized set_state to make set_state on bins set the state of
7122           all its children.
7123
7124 2004-07-12  Benjamin Otte  <otte@gnome.org>
7125
7126         * configure.ac:
7127           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7128           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7129         * gst/gstpad.c: (gst_pad_alloc_buffer):
7130           allow buffer_alloc functions to return NULL and allocate a normal
7131           buffer in that case
7132
7133 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7134         * gst/elements/gstfilesink.c:
7135         * gst/elements/gstfilesrc.c:
7136         * gst/indexers/gstfileindex.c:
7137         * gst/gsttypes.h:
7138         * testsuite/bytestream/filepadsink.c:
7139         * testsuite/bytestream/test1.c:
7140           Handle binary files under Windows
7141
7142 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7143         * docs/manual/win32.xml:
7144         * win32/config.h:
7145         * win32/gst-register.vcproj:
7146         * win32/gstreamer.def:
7147           Update to another gettext public build
7148
7149 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7150         * gst/gstplugin.c:
7151           Fix an impossible C syntax
7152         * win32/config.h:
7153           Disable i18n under Windows for the moment
7154         * win32/gst-register.vcproj:
7155           Use this configuration
7156
7157 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7158         * docs/manual/quotes.xml:
7159           Keep the quotes file alive
7160         * docs/random/ds/0.9-suggested-changes:
7161           Add the suggestion of including a 'rowstride' as part of video
7162           format caps
7163
7164 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7165
7166         * gst/gstelement.c: (gst_element_set_state),
7167         (gst_element_change_state):
7168           d'oh.  Set PENDING state correctly before forcing bin to change.
7169         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7170         (gst_structure_parse_fixed_list):
7171         * gst/schedulers/gstoptimalscheduler.c:
7172         (gst_opt_scheduler_state_transition):
7173         * testsuite/states/parent.c: (main):
7174           remove comment now that it's fixed.
7175
7176 2004-07-11  Benjamin Otte  <otte@gnome.org>
7177
7178         * gst/gstclock.h:
7179           GST_SECOND shouldn't cause a conversion to unsigned.
7180         * testsuite/clock/.cvsignore:
7181         * testsuite/clock/Makefile.am:
7182         * testsuite/clock/signedness.c: (main):
7183           make sure it never will again
7184
7185 2004-07-11  Andy Wingo  <wingo@pobox.com>
7186
7187         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7188         whose state is higher than the bin state, raise the bin state to
7189         ensure that bin state := highest child state.
7190         
7191 2004-07-11  Andy Wingo  <wingo@pobox.com>
7192
7193         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7194         procedure on the children of a bin. Assumes that the procedure can
7195         change the set of children.
7196         (set_kid_state_func): New static function.
7197         (gst_bin_change_state): Use gst_bin_foreach to call
7198         set_kid_state_func. Fixes a bug: if a child had a state-change
7199         handler that removes it from the bin, there would be a segfault.
7200         Hopefully it should also work in the case where the state-change
7201         handler on one child adds or removes other children. In any case,
7202         fixes should go to gst_bin_foreach.
7203
7204 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * gst/gstelement.c: (gst_element_set_state):
7207           compatibility fix for latest plugins release.  Change loop back
7208           to while {}
7209
7210 2004-07-09  Wim Taymans  <wim@fluendo.com>
7211
7212         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7213         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7214         (gst_thread_main_loop):
7215         Since remove is virtual in GstBin we must not assume the 
7216         elements GList to have anothing useful.
7217         Add some more logging to GstThread and be a bit more paranoid
7218         when resetting the scheduler.
7219         Set the state of the bin to NULL before removing the children.
7220
7221 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7222
7223         * testsuite/threads/Makefile.am:
7224         * testsuite/threads/threadg.c:
7225           added test to check if problem when removing all elements from a
7226           GstThread before setting GstThread state to NULL
7227
7228 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7229
7230         * docs/gst/tmpl/gstelement.sgml:
7231         * docs/gst/tmpl/gsttypes.sgml:
7232         * gst/gstbin.c: (gst_bin_change_state):
7233         * gst/gstelement.c: (gst_element_set_state),
7234         (gst_element_change_state):
7235           rework so that for bins we try to set the state on all children
7236           as well even if the bin is in the correct state already.
7237           change while to do so at least one iteration is done.
7238           For regular elements, we fall back to the previous behaviour for
7239           now since we first need a new plugins release.
7240         * testsuite/states/parent.c: (main):
7241           test for this case
7242           Fixes #123774
7243
7244 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7245
7246         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7247         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7248         (gst_queue_release_locks), (gst_queue_change_state),
7249         (gst_queue_set_property):
7250           add proper lock debugging.  Change dispose to finalize, since
7251           we're freeing mutexes and other stuff which should happen only once.
7252
7253 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7254
7255         * docs/gst/tmpl/gstelement.sgml:
7256         * docs/gst/tmpl/gstplugin.sgml:
7257         * docs/gst/tmpl/gsttypes.sgml:
7258         * docs/pwg/building-state.xml:
7259         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7260         * gst/gstelement.c: (gst_element_change_state):
7261         * gst/gstthread.c: (gst_thread_change_state):
7262           catch wrong state changes in element base class.
7263
7264 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7265
7266         * gst/gstinfo.h:
7267           clean up layout a little.
7268
7269 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7270
7271         * configure.ac:
7272         * testsuite/Makefile.am:
7273         * testsuite/states/Makefile.am:
7274         * testsuite/states/parent.c: (main):
7275           re-enable states testsuite dir.  Add test for state changes and
7276           parent behaviour
7277
7278 2004-07-09  Wim Taymans  <wim@fluendo.com>
7279
7280         * gst/schedulers/gstoptimalscheduler.c:
7281         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7282         (element_get_reachables_func), (element_get_reachables),
7283         (debug_element), (rechain_group), (group_migrate_connected),
7284         (gst_opt_scheduler_pad_unlink):
7285         Do not try to migrate decoupled elements to a new group since
7286         they are not added to groups.
7287
7288 2004-07-08  Benjamin Otte  <otte@gnome.org>
7289
7290         * gst/gstelement.c: (gst_element_error_func):
7291           make reentrant (= allow removing elements in error handler)
7292
7293 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7294
7295         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7296         (gst_pad_send_event), (gst_pad_call_chain_function):
7297           events sent to elements below PAUSED cannot be handled, so
7298           don't try to
7299
7300 2004-07-08  Wim Taymans  <wim@fluendo.com>
7301
7302         * gst/schedulers/gstoptimalscheduler.c:
7303         (chain_recursively_migrate_group), (create_group),
7304         (schedule_group), (gst_opt_scheduler_pad_link),
7305         (group_elements_set_visited), (element_get_reachables_func),
7306         (element_get_reachables), (group_can_reach_group), (debug_element),
7307         (rechain_group), (group_migrate_connected),
7308         (gst_opt_scheduler_pad_unlink):
7309         * testsuite/schedulers/Makefile.am:
7310         Implemented group splitting and rechaining.
7311         Fixes 143777 and 143777-2 in the testsuite.
7312
7313 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7314
7315         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7316           extra debugging
7317         * gst/gstevent.h:
7318         * gst/gstinfo.c: (gst_debug_log_default):
7319           print time nicely.  add thread pointer until someone figures out
7320           a completely portable way of getting at thread id's.
7321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7322         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7323         (gst_pad_call_chain_function):
7324           extra debugging
7325         * gst/schedulers/gstoptimalscheduler.c:
7326         (get_group_schedule_function), (loop_group_schedule_function),
7327         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7328         (pad_clear_queued), (gst_opt_scheduler_iterate):
7329           rename BUFPEN and friends to DATAPEN since that's what they are.
7330
7331 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7332
7333         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7334         * gst/gstbuffer.h:
7335         * gst/gstpad.c:
7336           cleanups and debugging
7337
7338 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7339
7340         * configure.ac:
7341         * gst/gstvalue.c: (gst_value_compare_enum),
7342         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7343         (gst_value_can_compare), (gst_value_compare):
7344         * testsuite/Makefile.am:
7345         * testsuite/enumcaps/Makefile.am:
7346         * testsuite/enumcaps/enumcaps.c:
7347           Fix enum serialization, deserialization, comparison in caps, add
7348           a test to ensure that this continues working in the future.
7349
7350 2004-07-06  David Schleef  <ds@schleef.org>
7351
7352         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7353         Fix memleak.
7354
7355 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7356
7357         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7358         * gst/gstplugin.h:
7359         * gst/registries/gstxmlregistry.c:
7360         (plugin_times_older_than_recurse), (plugin_times_older_than),
7361         (gst_xml_registry_parse_padtemplate):
7362           only rebuild registry when actual plugins have a newer time than
7363           the registry.  Fixes #145520
7364
7365 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7366
7367         * docs/manual/manual.xml:
7368         * docs/manual/win32.xml:
7369           add chapter on win32 building.  fixes #142422
7370
7371 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7372
7373         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7374
7375         * gst/autoplug/gstspider.c: (gst_spider_init),
7376         (gst_spider_dispose):
7377           fix spider memleaks.  fixes #137863
7378
7379 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7382
7383         * gst/schedulers/gstoptimalscheduler.c:
7384         (gst_opt_scheduler_pad_unlink):
7385           fix SIGBUS error, fixes #145338
7386
7387 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7388
7389         * gst/gstobject.c: (gst_object_replace):
7390         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7391         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7392           clean up clock lifecycle.  Fixes #109831
7393
7394 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7395
7396         * po/LINGUAS:
7397         * po/cs.po:
7398           added Czech translation (Miloslav Trmac)
7399
7400 2004-07-04  David Schleef  <ds@schleef.org>
7401
7402         * tools/Makefile.am:
7403         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7404
7405 2004-07-04  David Schleef  <ds@schleef.org>
7406
7407         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7408
7409 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7410
7411         * gst/gstbin.c: (gst_bin_restore_thyself):
7412           chain to parent restore so the bins get restored correctly
7413           in the editor
7414
7415 2004-07-03  David Schleef  <ds@schleef.org>
7416
7417         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7418         Actually do something in these functions, like before the big
7419         caps change.  (bug #145137)
7420
7421 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7424         (gst_element_get_compatible_pad_filtered):
7425         * gst/gstthread.c: (gst_thread_main_loop):
7426           more debugging
7427
7428 2004-07-02  David Schleef  <ds@schleef.org>
7429
7430         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7431         * gst/gstobject.h:
7432         * gst/gstparse.h:
7433         * gst/gsttrace.h:
7434         * gst/gstxml.h:
7435
7436 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7437
7438         * gst/gstpad.c: (gst_pad_check_schedulers),
7439         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7440         (gst_pad_link_prepare):
7441           revert until testsuite is fixed
7442
7443 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7444
7445         * testsuite/Makefile.am:
7446         * testsuite/caps/filtercaps.c: (main):
7447         * testsuite/clock/clock1.c: (main):
7448         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7449           fix some more tests
7450
7451 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7452
7453         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7454         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7455         * testsuite/cleanup/cleanup4.c: (main):
7456           fix testsuite
7457
7458 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * libs/gst/control/control.c:
7461         * libs/gst/control/dparam.c:
7462         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7463         * libs/gst/control/dparammanager.c:
7464         * libs/gst/control/dparammanager.h:
7465         * testsuite/dynparams/Makefile.am:
7466         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7467         (gst_dptest_change_state), (gst_dptest_chain), (main):
7468           fix testcase for dparams
7469           add debugging category
7470
7471 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7472
7473         * testsuite/Rules:
7474           change path
7475
7476 2004-07-02  Benjamin Otte  <otte@gnome.org>
7477
7478         * tests/.cvsignore:
7479         * tests/Makefile.am:
7480         * tests/mass_elements.c: (gst_get_current_time), (main):
7481           add simple benchmark to test various speeds of fakesrc ! identity !
7482           identity ! ... ! fakesink.
7483           Usage: mass_elements [num_identities] [num_buffers]
7484           If not specified they default to 1000.
7485
7486 2004-07-02  Benjamin Otte  <otte@gnome.org>
7487
7488         * gst/gstpad.c: (gst_pad_check_schedulers),
7489         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7490         (gst_pad_link_prepare):
7491           check that pads that get linked belong to the same manager. The old
7492           code allowed linking elements before putting them into bins, so it
7493           worked to link them and then put them in different threads, which
7494           lead to weird behaviour.
7495           Since this effectively disallows linking elements before putting
7496           them in a bin, some applications might not work after this and error
7497           out. If these applications are too critical, we might need to revert
7498           that patch. Please test this before the next release...
7499
7500 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7501
7502         * gst/gstpad.c: (gst_pad_get_caps):
7503           throw an error if the getcaps function does not return a subset of
7504           the template caps.
7505         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7506           make disconts without position info an error in debugging
7507         * tests/spidey_bench.c: (handoff), (main):
7508           don't count first try when averaging
7509
7510 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7511
7512         * gst/gstplugin.c: (gst_plugin_load_file):
7513           figure out problem with dynamic test
7514
7515 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7516
7517         * docs/gst/Makefile.am:
7518           fix docs build
7519
7520 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7521
7522         * po/POTFILES.in:
7523         * po/af.po:
7524         * po/az.po:
7525         * po/en_GB.po:
7526         * po/fr.po:
7527         * po/nl.po:
7528         * po/sr.po:
7529         * po/sv.po:
7530         * po/tr.po:
7531         * po/uk.po:
7532         * tools/gst-register.c: (plugin_added_func), (main):
7533           i18n-ize -register, fix plural
7534
7535 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7536
7537         * gst/elements/gstidentity.c: (gst_identity_class_init),
7538         (gst_identity_init), (gst_identity_chain),
7539         (gst_identity_set_property), (gst_identity_get_property):
7540         * gst/elements/gstidentity.h:
7541           check for perfect stream
7542
7543 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * gst/elements/gstidentity.c: (gst_identity_chain):
7546           print offset_end
7547
7548 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * docs/gst/Makefile.am:
7551         * docs/gst/gstreamer-docs.sgml:
7552           doc fixes
7553
7554 2004-06-24  David Schleef  <ds@schleef.org>
7555
7556         * autogen.sh:  Remove call to env, since the buildbot isn't
7557         broken anymore.
7558
7559 2004-06-24  Wim Taymans  <wim@fluendo.com>
7560
7561         * gst/elements/Makefile.am:
7562         * gst/elements/gstelements.c:
7563         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7564         (gst_multifdsink_class_init), (gst_multifdsink_init),
7565         (gst_multifdsink_add), (gst_multifdsink_remove),
7566         (gst_multifdsink_clear), (gst_multifdsink_chain),
7567         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7568         * gst/elements/gstmultifdsink.h:
7569         Added an element that writes to multiple filedescriptors at once.
7570
7571 2004-06-24  Benjamin Otte  <otte@gnome.org>
7572
7573         * gst/parse/grammar.y:
7574           don't try to link elements before they have been added to bins
7575
7576 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7577
7578         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7579         (gst_file_pad_get_length):
7580         * libs/gst/bytestream/filepad.h:
7581           add 2 new functions
7582
7583 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7584
7585         * docs/gst/gstreamer-sections.txt:
7586         remove from docs, the define that Benjamin removed from gstelement.h
7587
7588 2004-06-22  Benjamin Otte  <otte@gnome.org>
7589
7590         * gst/gstelement.h:
7591           remove define that referenced a nonexisting GstElement struct member
7592
7593 2004-06-20  Benjamin Otte  <otte@gnome.org>
7594
7595         * gst/gstdata.c: (gst_data_is_writable):
7596           whoops, return values were wrong, so writable data was marked as
7597           non-writable and vice versa. (fixes #143953, spotted by Francis
7598           Labonte)
7599           Shows how rarely we need to copy data ;)
7600
7601 2004-06-20  Benjamin Otte  <otte@gnome.org>
7602
7603         * testsuite/schedulers/.cvsignore:
7604         * testsuite/schedulers/Makefile.am:
7605         * testsuite/schedulers/143777-2.c: (main):
7606           add test for opt breakage in bug #143777
7607
7608 2004-06-20  Benjamin Otte  <otte@gnome.org>
7609
7610         * gst/gstpad.c: (gst_pad_call_chain_function):
7611           check for if we were unlinked while inside the chainfunction (fixes
7612           entrygthread having issues with #143777)
7613         * testsuite/schedulers/143777.c: (main):
7614         * testsuite/schedulers/Makefile.am:
7615           add a test for that fix
7616
7617 2004-06-20  Benjamin Otte  <otte@gnome.org>
7618
7619         * gst/gstvalue.c: (gst_value_set_int_range):
7620           test that start is smaller then end
7621         * libs/gst/bytestream/Makefile.am:
7622         * libs/gst/bytestream/filepad.c: 
7623         * libs/gst/bytestream/filepad.h:
7624           add GstFilePad - a pad that behaves like a FILE*
7625         * testsuite/bytestream/.cvsignore:
7626         * testsuite/bytestream/Makefile.am:
7627         * testsuite/bytestream/filepadsink.c: 
7628           test for the GstFilePad
7629
7630 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * gst/elements/gstidentity.c: (gst_identity_class_init),
7633         (gst_identity_init), (gst_identity_set_clock),
7634         (gst_identity_chain), (gst_identity_set_property),
7635         (gst_identity_get_property):
7636         * gst/elements/gstidentity.h:
7637         * gst/gstclock.c: (gst_clock_id_wait):
7638           add a "sync" property to sync to the clock
7639
7640 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7641
7642         * gst/gstelementfactory.c: (gst_element_factory_create):
7643           make the freakin "elementfactory bla has no type" message more
7644           useful. So we actually can do something when someone shows up
7645           complaining about it.
7646
7647 2004-06-15  Johan Dahlin  <johan@gnome.org>
7648
7649         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7650         found. This matches the old behavior better. Thanks to Thomas for
7651         pointing out.
7652
7653 2004-06-14  David Schleef  <ds@schleef.org>
7654
7655         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7656         -fomit-frame-pointer.  Appears to generate correct code in
7657         other cases as well.
7658
7659 2004-06-14  Johan Dahlin  <johan@gnome.org>
7660
7661         * tools/gst-inspect.c (main): Add two new command line options: -a
7662         to print all elements and -n to print the name on each line. Also
7663         fix some error reporting.
7664         (main): Simplify, remove -n and always print names if -a is specified
7665
7666 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7667
7668         * win32/gstconfig.h:
7669         * win32/GSTreamer.vcproj:
7670         * win32/Makefile:
7671         * gst/gstconfig.h.in:
7672         * gst/gst.h:
7673         * gst/gstbin.h:
7674         * gst/gstelement.h:
7675         * gst/gstevent.h:
7676         * gst/gstobject.h:
7677         * gst/gstpad.h:
7678         * docs/gst/gstreamer-sections.txt:
7679         * docs/gst/tmpl/gstconfig.sgml:
7680           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7681
7682 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7683         * docs/gst/gstreamer-sections.txt:
7684         * docs/gst/tmpl/gstconfig.sgml:
7685         Add the GSTREAMER_EXPORT macro to the docs
7686
7687 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7688
7689         * tools/gst-compprep.c: (handle_xmlerror), (main):
7690         Add a check for the version that introduced SetStructuredError to fix
7691         the build on FC1
7692
7693 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7694
7695         * win32/msvc71.sln:
7696         * win32/testsuite/:
7697           prepare to compile the testsuite with MSVC
7698
7699 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7700
7701         * docs/manual/win32.xml:
7702           attempt to transform the Win32 README into an XML doc
7703
7704 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7705
7706         * gst/gst.c:
7707         * gst/gstbin.*:
7708         * gst/config.h.in:
7709         * gst/gstelement.*:
7710         * gst/gstevent.h:
7711         * gst/gstobject.*:
7712         * gst/gstpad.h:
7713         * tools/gst-register.c:
7714         * win32/gstreamer.def:
7715           extern symbols are now exported for the Windows DLL
7716
7717 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7718
7719         * gst/gstinfo.h:
7720           fix a problem to enable/disable DEBUG under MSVC
7721
7722 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7723
7724         * win32/:
7725           enable more debug code in DEBUG build
7726
7727 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7728
7729         * win32/config.h:
7730         * gst/gst-i18n-app.h:
7731           enable NLS under Windows
7732
7733 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
7734         * tools/gst-compprep.c: (handle_xmlerror), (main):
7735           Make an error that baffled me a bit clearer
7736
7737 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7738
7739         * gst/gstqueue.c:
7740           don't use g_queue_get_length () because it's 2.4, use ->length
7741
7742 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
7743
7744         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
7745
7746         * tools/gst-inspect.c: (print_signal_info):
7747           don't free random data twice. (fixes #144185)
7748
7749 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         * gst/gstqueue.c:
7752         * gst/gstqueue.h:
7753           fix removing from the wrong queue on event timeout
7754           fix disposing of the event queue by casting correctly
7755           add mutexes for handling the event queue
7756           someone was sleeping when fixing queue last time around :)
7757
7758 2004-06-10  Johan Dahlin  <johan@gnome.org>
7759
7760         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
7761         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
7762
7763 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * docs/random/gdp:
7766         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
7767         * libs/gst/dataprotocol/dataprotocol.c:
7768         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7769         (gst_dp_buffer_from_header):
7770         * libs/gst/dataprotocol/dataprotocol.h:
7771         * libs/gst/dataprotocol/dp-private.h:
7772           rev version to 0.1, add buffer flags and copy them
7773
7774 2004-06-09  Johan Dahlin  <johan@gnome.org>
7775
7776         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
7777         the flags from the buffer we're copying.
7778
7779 2004-06-09  Wim Taymans  <wim@fluendo.com>
7780
7781         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
7782         * gst/elements/gstidentity.c: (gst_identity_init),
7783         (gst_identity_chain):
7784         Print more buffer info in fakesink.
7785         Make identity output similar to fakesink.
7786
7787 2004-06-07  Daniel Gazard  <dany42@free.fr>
7788
7789         reviewed by Benjamin Otte  <otte@gnome.org>
7790
7791         * configure.ac:
7792           fix cross compiling not working. (fixes #143741)
7793
7794 2004-06-07  Benjamin Otte  <otte@gnome.org>
7795
7796         * gst/gstelement.c: (gst_element_set_time_delay):
7797           add failure check
7798         * gst/gstinfo.h:
7799           put brackets around macro arguments of GST_TIME_ARGS, add note to
7800           move it to correct header in 0.9
7801
7802 2004-06-07  Benjamin Otte  <otte@gnome.org>
7803
7804         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
7805         (gst_file_index_load), (_file_index_id_save_entries),
7806         (gst_file_index_commit), (gst_file_index_add_association),
7807         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
7808         (gst_file_index_plugin_init):
7809           make debugging use a default category
7810
7811 2004-06-06  David Moore  <dcm@acm.org>
7812
7813         reviewed by Benjamin Otte  <otte@gnome.org>
7814
7815         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7816         (gst_fdsrc_change_state):
7817           reset offset counter when going READY => PAUSED. (fixes #142903)
7818
7819 2004-06-06  ed@catmur.co.uk
7820
7821         reviewed by Benjamin Otte  <otte@gnome.org>
7822
7823         * gst/registries/gstxmlregistry.c:
7824         (gst_xml_registry_rebuild_recurse):
7825           don't rely on g_dir_open to figure out if a file is a directory, use
7826           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
7827           directories. (fixes #142850)
7828
7829 2004-06-06  Benjamin Otte  <otte@gnome.org>
7830
7831         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
7832           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
7833         * libs/gst/bytestream/adapter.c:
7834         * libs/gst/bytestream/adapter.h:
7835           fix copyright in header and typo in debugging category name
7836
7837 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7838
7839         * configure.ac:
7840           bump nano to cvs
7841
7842 === release 0.8.3 ===
7843
7844 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7845
7846         * configure.ac:
7847           update libtool versioning
7848           do a new release
7849         * docs/gst/tmpl/gstelement.sgml:
7850         * docs/gst/tmpl/gsttypes.sgml:
7851         * gst/gstinfo.c: (_gst_debug_init):
7852           put back GST_CAT_DATAFLOW to fix API breakage
7853
7854 2004-06-04  David Schleef  <ds@schleef.org>
7855
7856         * autogen.sh: Add a temporary 'env' to test buildbot problems.
7857
7858 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7859
7860         * configure.ac:
7861           bump nano to cvs
7862
7863 === release 0.8.2 ===
7864
7865 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7866
7867         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
7868           check GST_DEBUG environment variable which is parsed the same way
7869           as --gst-debug=
7870
7871 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7872
7873         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
7874                             gstmd5sink.c gstshaper.c gsttee.c
7875                             gsttypefindelement.c
7876         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
7877
7878           - removing trailing commas at end of enums
7879             it is correct C99 code but C90 compilers would complain
7880             (AIX, Forte, ...)
7881             ('should' fix #143290, at least partially)
7882
7883 2004-05-27  Wim Taymans  <wim@fluendo.com>
7884
7885         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
7886         (chain_group_set_enabled), (create_group), (add_to_group),
7887         (merge_groups), (setup_group_scheduler), (group_elements),
7888         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
7889         Don't try to follow the pad connections with other groups
7890         when a loop based element is added to the scheduler because
7891         the bin will inform the scheduler about the pad links a little
7892         later.
7893
7894 2004-05-27  Wim Taymans  <wim@fluendo.com>
7895
7896         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7897         (remove_from_chain), (chain_group_set_enabled),
7898         (setup_group_scheduler), (group_element_set_enabled),
7899         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
7900         (gst_opt_scheduler_show):
7901         Elements without a group can do a state change as well, just wait
7902         with the setup of the scheduling function when it is added to a
7903         chain.
7904
7905 2004-05-27  Wim Taymans  <wim@fluendo.com>
7906
7907         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
7908         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
7909         (merge_groups), (setup_group_scheduler),
7910         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
7911         (gst_opt_scheduler_show):
7912         Fixes to maintain internal consistency of the scheduler data
7913         structures. 
7914          - adding an enabled group to a chain should increment the
7915            number of enabled elements in that chain.
7916          - removing an enabled group from a chain could disable the
7917            chain.
7918          - removing a disabled group from a chain could enable the
7919            chain.
7920          - add g_assert when internal inconsistency is detected.
7921          - adding an element to a group could increase the number of
7922            links this group has with other groups.
7923          - merging two groups also merges the chains.
7924          - also show group links in the _show method.
7925            
7926
7927 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7928
7929         * gst/gstcaps.c: (gst_caps_structure_simplify):
7930           don't print error messages when there is no error
7931         * gst/gstvalue.c: (gst_value_compare_int_range):
7932           compare the second value, too
7933         * testsuite/caps/Makefile.am:
7934         * testsuite/caps/random.c: (assert_on_error), (main):
7935           add tests to make sure the two things above are checked for
7936
7937 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7938
7939         * configure.ac:
7940         * libs/gst/dataprotocol/Makefile.am:
7941         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
7942         * libs/gst/dataprotocol/dataprotocol.h:
7943           wrap header in GST_ENABLE_NEW.  make code use it
7944
7945 2004-05-23  Johan Dahlin  <johan@gnome.org>
7946
7947         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
7948         so verbose and print GstElement signal names all the time.
7949
7950 2004-05-22  David Schleef  <ds@schleef.org>
7951
7952         * gst/registries/gstxmlregistry.c:
7953         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
7954         (bug #142957)
7955
7956 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7957
7958         * configure.ac:
7959           scrub cflags for glib2 so gcc doesn't complain when glib is in
7960           /usr/local
7961
7962 2004-05-21  Johan Dahlin  <johan@gnome.org>
7963
7964         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
7965         __GNUC__, patch from Brian Cameron, fixes bug #142804
7966
7967 2004-05-20  David Schleef  <ds@schleef.org>
7968
7969         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7970         comparison code.  (bug #142819)
7971
7972 2004-05-20  Wim Taymans  <wim@fluendo.com>
7973
7974         * gst/gstbuffer.c: (gst_buffer_default_copy):
7975         * gst/gstbuffer.h:
7976         Added Comment to a flag.
7977         copy relevant flags in _buffer_copy.
7978
7979 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7980
7981         reviewed by: Wim Taymans <wim at fluendo dot com>
7982
7983         * gst/gstbuffer.h:
7984           add GST_BUFFER_IN_CAPS buffer flag
7985         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7986         (gst_structure_parse_any_list), (gst_structure_parse_list),
7987         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
7988         * gst/gstvalue.c: (gst_value_serialize_any_list),
7989         (gst_value_transform_any_list_string),
7990         (gst_value_list_prepend_value), (gst_value_list_append_value),
7991         (gst_value_list_get_size), (gst_value_list_get_value),
7992         (gst_value_transform_list_string),
7993         (gst_value_transform_fixed_list_string),
7994         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
7995         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
7996         (_gst_value_initialize):
7997         * gst/gstvalue.h:
7998           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
7999           < , > as a format.
8000         * testsuite/caps/string-conversions.c: (main):
8001           add regression tests for < >
8002
8003 2004-05-20  Johan Dahlin  <johan@gnome.org>
8004
8005         * docs/gst/Makefile.am (all-local): Re-add
8006
8007 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8008
8009         * docs/gst/Makefile.am:
8010         * docs/gst/gstreamer-docs.sgml:
8011         * docs/libs/Makefile.am:
8012         * docs/libs/gstreamer-libs-docs.sgml:
8013           fix distcheck issues
8014
8015 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * libs/gst/dataprotocol/Makefile.am:
8018           add to autotest
8019
8020 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8021
8022         * libs/gst/dataprotocol/Makefile.am:
8023         * libs/gst/dataprotocol/dataprotocol.c:
8024         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8025         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8026         * libs/gst/dataprotocol/dp-private.h:
8027           use GST macros to read/write fixed length ints
8028           add some more asserts
8029
8030 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8031
8032         * docs/libs/gstreamer-libs-docs.sgml:
8033         * docs/libs/gstreamer-libs-sections.txt:
8034           remove idct and putbits
8035         * configure.ac:
8036         * docs/libs/tmpl/gstdataprotocol.sgml:
8037         * libs/gst/Makefile.am:
8038         * libs/gst/dataprotocol/Makefile.am:
8039         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8040         (buffer_test), (caps_test), (event_test), (main):
8041         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8042         (gst_dp_dump_byte_array), (gst_dp_init),
8043         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8044         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8045         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8046         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8047         (gst_dp_validate_header), (gst_dp_validate_payload),
8048         (gst_dp_validate_packet), (plugin_init):
8049         * libs/gst/dataprotocol/dataprotocol.h:
8050         * libs/gst/dataprotocol/dp-private.h:
8051           add dataprotocol
8052
8053 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8054
8055         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8056           fix int variable deserialization and add a helper so we can actually
8057           debug this.
8058
8059 2004-05-18  David Schleef  <ds@schleef.org>
8060
8061         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8062           argv[0].  Calling yourself is probably not the best way to
8063           construct a test like this, btw.
8064
8065 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8066
8067         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8068           don't claim to be more intelligent than a scheduler when the
8069           scheduler claims the pipeline is stopped
8070         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8071         (safe_cothread_destroy),
8072         (gst_entry_scheduler_remove_all_cothreads),
8073         (gst_entry_scheduler_reset), (_remove_cothread),
8074         (gst_entry_scheduler_state_transition):
8075           hold off cothread destruction if we're not in main cothread
8076         * configure.ac:
8077         * testsuite/Makefile.am:
8078           add new test dir
8079         * testsuite/schedulers/.cvsignore:
8080         * testsuite/schedulers/Makefile.am:
8081           add tests
8082         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8083           check relinking and adding/removing elements from a running pipeline
8084         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8085           check unlinking in a running pipeline
8086         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8087           check unreffing a running pipeline
8088         * testsuite/schedulers/useless_iteration.c: (main):
8089           check iterating a pipeline that contains running threads works
8090
8091 2004-05-18  David Schleef  <ds@schleef.org>
8092
8093         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8094           is false.
8095
8096 2004-05-18  Wim Taymans  <wim@fluendo.com>
8097
8098         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8099         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8100         Fixed an error introduced with patch for 1.63. When setting
8101         a get based element as the entry point in a group, make sure
8102         to mark the group as GET based.
8103
8104 2004-05-18  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8107         (setup_group_scheduler), (loop_group_schedule_function),
8108         (gst_opt_scheduler_pad_link):
8109         Added some more debug info and fixed a bug where the group
8110         type was set to LOOP but it was in fact unknown.
8111
8112 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8113
8114         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8115           make resetting scheduler work twice in a row
8116
8117 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8118
8119         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8120         (CREATE_USERIALIZATION), (_gst_value_initialize),
8121         (gst_value_compare_float), (gst_value_serialize_float),
8122         (gst_value_deserialize_float), (gst_value_compare_enum),
8123         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8124           add serialization and comparison functions for long, int64, enum and
8125           float values
8126         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8127           use best serialization function in type hierarchy instead of only a
8128           matching one. This is required for enums to work.
8129         * gst/parse/grammar.y:
8130           use gst_caps_deserialize
8131         * testsuite/parse/Makefile.am:
8132           parse1 now works
8133         * testsuite/parse/parse1.c: (main):
8134           remove aggregator check, aggregator is broken, this test works now
8135           but fails because of bug #138012
8136         * testsuite/parse/parse2.c: (main):
8137           s/xvideosink/xvimagesink - this test looks a lot like we should
8138           disable it
8139
8140 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8141
8142         * gst/gstelement.c: (gst_element_class_init):
8143           whoops, store the signal id correctly
8144         * gst/schedulers/gstbasicscheduler.c:
8145         (gst_basic_scheduler_chain_wrapper):
8146           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8147           chain function isn't linked
8148
8149 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8150         * configure.ac:
8151         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8152         support until we decide where the flags should be used
8153         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8154         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8155         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8156         Output refused caps in the debug info
8157
8158 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8159
8160         * gst/elements/gstidentity.c: (gst_identity_chain):
8161           add duration debug
8162         * gst/gstinfo.c: (gst_debug_log_default):
8163           add timestamp
8164
8165 2004-05-13  Benjamin Otte  <otte@gnome.org>
8166
8167         * gst/gstpipeline.c: (gst_pipeline_dispose),
8168         (gst_pipeline_change_state):
8169           call gst_scheduler_reset on dispose (fixes #141416)
8170
8171 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8172
8173         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8174           compute mapsize correctly
8175         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8176           use correct datatypes when calling a varargs function
8177         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8178           push a DISCONT event as first thing
8179         * gst/gst_private.h:
8180         * gst/gstinfo.c: (_gst_debug_init):
8181           remove GST_DATAFLOW debugging category
8182         * gst/gstbin.c: (gst_bin_iterate):
8183           use GST_SCHEDULING category
8184         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8185         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8186         (gst_pad_call_get_function):
8187           add GST_DATAFLOW to easily track flow of buffers or events.
8188         * gst/gstqueue.c: (gst_queue_get_type),
8189         (gst_queue_handle_pending_events), (gst_queue_chain),
8190         (gst_queue_get), (gst_queue_handle_src_event):
8191           use own static debugging category GST_DATAFLOW for dataflow,
8192           use DEBUG category for showing which path events go, use LOG
8193           category for buffers.
8194
8195 2004-05-10  David Schleef  <ds@schleef.org>
8196
8197         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8198
8199 2004-05-10  David Schleef  <ds@schleef.org>
8200
8201         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8202         symbols, because otherwise we don't know what they are.  Thanks,
8203         the GStreamer team.
8204         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8205
8206 2004-05-10  David Schleef  <ds@schleef.org>
8207
8208         (from Steve Lhomme)
8209         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8210         are deleted.  Fix.
8211         * win32/Makefile.inspect:
8212         * win32/Makefile.launch:
8213         * win32/Makefile.register:
8214
8215 2004-05-10  David Schleef  <ds@schleef.org>
8216
8217         * gst/gstinfo.h: Add missing inline function.
8218         * gst/gsttrace.c: add include
8219         * gst/parse/grammar.y: remove unused code
8220         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8221         more portable.
8222         * tools/gst-register.c: wrap unistd.h
8223         
8224         More additions/fixes from Steve for the MSVC build.
8225         * win32/GStreamer.vcproj:
8226         * win32/Makefile:
8227         * win32/Makefile.inspect:
8228         * win32/Makefile.launch:
8229         * win32/Makefile.register:
8230         * win32/README.txt:
8231         * win32/gst-inspect.vcproj:
8232         * win32/gst-launch.vcproj:
8233         * win32/gst-register.vcproj:
8234         * win32/gstbytestream.def:
8235         * win32/gstbytestream.vcproj:
8236         * win32/gstconfig.h:
8237         * win32/gstelements.def:
8238         * win32/gstelements.vcproj:
8239         * win32/gstenumtypes.c:
8240         * win32/gstenumtypes.h:
8241         * win32/gstoptimalscheduler.def:
8242         * win32/gstoptimalscheduler.vcproj:
8243         * win32/gstreamer.def:
8244         * win32/gstspider.def:
8245         * win32/gstspider.vcproj:
8246         * win32/gstversion.h:
8247         * win32/msvc71.sln:
8248
8249 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8250
8251         * gst/gstelement.c: (gst_element_class_init),
8252         (gst_element_no_more_pads):
8253         * gst/gstelement.h:
8254           add gst_element_no_more_pads and the "no-more-pads" signal
8255
8256 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8257
8258         * gst/gstregistry.c: (gst_registry_add_plugin):
8259           refuse to add plugins when a plugin with same name is already
8260           registered. Fixes a bunch of "How to remove plugins?" issues.
8261           May lead to other problems though, let's test
8262
8263 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8264
8265         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8266         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8267         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8268
8269 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * tests/Makefile.am: fix am16 issue
8272
8273 2004-05-09  Benjamin Otte  <otte@gnome.org>
8274
8275         * libs/gst/bytestream/Makefile.am:
8276           we should indeed add .c files to makefiles or they won't be built
8277           (d'oh)
8278
8279 2004-05-08  Benjamin Otte  <otte@gnome.org>
8280
8281         * gst/gstpad.c: (gst_pad_proxy_fixate):
8282           really reduce the set of caps
8283
8284 2004-05-08  Benjamin Otte  <otte@gnome.org>
8285
8286         * tests/Makefile.am:
8287         * tests/spidey_bench.c: (handoff), (main):
8288           add benchmark to test how long spider needs to create a pipeline
8289
8290 2004-05-08  Benjamin Otte  <otte@gnome.org>
8291
8292         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8293           mark links as unengaged when unnegotiating instead of deactivating.
8294           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8295
8296 2004-05-08  Benjamin Otte  <otte@gnome.org>
8297
8298         * docs/manual/helloworld.xml:
8299           s/audiosink/osssink (patch by Patrick Guimond)
8300
8301 2004-05-07  David Schleef  <ds@schleef.org>
8302
8303         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8304         since it contains important stuff.
8305
8306 2004-05-07  David Schleef  <ds@schleef.org>
8307
8308         * testsuite/caps/caps.c: (test3), (main): A check for appending
8309         ANY caps.
8310
8311 2004-05-07  David Schleef  <ds@schleef.org>
8312
8313         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8314         which may contain commas.  Fixes detection of -Wa,-mregnames
8315
8316 2004-05-06  David Schleef  <ds@schleef.org>
8317
8318         Changes to handle compilers that don't have variadic macro
8319         support.  In particular, glib headers define some inlines
8320         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8321         builds.
8322         * gst/Makefile.am:
8323         * gst/cothreads.c:
8324         * gst/elements/gstfdsink.c:
8325         * gst/elements/gstfdsrc.c:
8326         * gst/elements/gstfilesink.c:
8327         * gst/elements/gstfilesrc.c:
8328         * gst/gst_private.h:
8329         * gst/gstatomic.c:
8330         * gst/gstcaps.c: (gst_caps_append):
8331         * gst/gstcpu.c: (gst_cpuid_i386):
8332         * gst/gstelement.c:
8333         * gst/gsterror.c:
8334         * gst/gstfilter.c:
8335         * gst/gstinfo.h:
8336         * gst/gstprobe.c:
8337         * gst/gstquery.c:
8338         * gst/gstregistry.c:
8339         * gst/gststructure.c:
8340         * gst/gsttaginterface.c:
8341         * gst/gsttrace.c: (gst_trace_new):
8342         * gst/gsttrashstack.c:
8343         * gst/gsturi.c:
8344         * gst/gstvalue.c:
8345         * gst/parse/grammar.y:
8346         * gst/parse/parse.l:
8347         * tools/gst-inspect.c: (main):
8348         * tools/gst-launch.c: (main):
8349         * tools/gst-xmlinspect.c: (PUT_STRING):
8350
8351 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8352
8353         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8354         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8355         * gst/elements/gstfilesrc.h:
8356           send NEW_MEDIA events correctly
8357         * gst/elements/gsttypefindelement.c: (start_typefinding),
8358         (gst_type_find_element_handle_event):
8359           restart typefinding when we get a NEW_MEDIA event
8360         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8361         (gst_bin_dispose):
8362           don't die when someone removes elements in callbacks
8363         * gst/gstelement.c: (gst_element_change_state):
8364           improve debugging
8365         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8366           we need a NEW_MEDIA event to engage a link
8367         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8368           don't g_print debugging stuff
8369         * testsuite/caps/simplify.c: (check_caps):
8370
8371 2004-05-04  Benjamin Otte  <otte@gnome.org>
8372
8373         * gst/parse/grammar.y:
8374           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8375
8376 2004-05-04  Benjamin Otte  <otte@gnome.org>
8377
8378         * testsuite/caps/renegotiate.c: (main):
8379           improve output in error case
8380
8381 2004-05-04  Benjamin Otte  <otte@gnome.org>
8382
8383         * gst/parse/grammar.y:
8384           fix assert to not trigger when there's no error argument
8385         * gst/parse/parse.l:
8386           fix definition of caps to allow more than two structures
8387         * testsuite/caps/Makefile.am:
8388         * testsuite/caps/renegotiate.c: (main):
8389           it's sinesrc and works in that case
8390
8391 2004-05-04  Wim Taymans  <wim@fluendo.com>
8392
8393         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8394         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8395         when removing an element from a group, we always need to
8396         decrement the link count that this group had with other 
8397         groups through the element.
8398         added an extra assert to catch inconsistencies when decrementing
8399         the link count.
8400
8401 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8402
8403         * configure.ac:
8404         * docs/gst/Makefile.am:
8405         * docs/gst/gstreamer-sections.txt:
8406         * docs/gst/tmpl/gstcompat.sgml:
8407         * examples/appreader/Makefile.am:
8408         * examples/cutter/Makefile.am:
8409         * examples/events/Makefile.am:
8410         * examples/helloworld/Makefile.am:
8411         * examples/helloworld2/Makefile.am:
8412         * examples/launch/Makefile.am:
8413         * examples/manual/Makefile.am:
8414         * examples/mixer/Makefile.am:
8415         * examples/pingpong/Makefile.am:
8416         * examples/plugins/Makefile.am:
8417         * examples/queue/Makefile.am:
8418         * examples/queue2/Makefile.am:
8419         * examples/queue3/Makefile.am:
8420         * examples/queue4/Makefile.am:
8421         * examples/retag/Makefile.am:
8422         * examples/thread/Makefile.am:
8423         * examples/typefind/Makefile.am:
8424         * examples/xml/Makefile.am:
8425         * gst/Makefile.am:
8426         * gst/autoplug/Makefile.am:
8427         * gst/elements/Makefile.am:
8428         * gst/gstcompat.h:
8429         * gst/indexers/Makefile.am:
8430         * gst/parse/Makefile.am:
8431         * gst/registries/Makefile.am:
8432         * gst/schedulers/Makefile.am:
8433         * libs/gst/bytestream/Makefile.am:
8434         * libs/gst/control/Makefile.am:
8435         * libs/gst/getbits/Makefile.am:
8436         * po/af.po:
8437         * po/az.po:
8438         * po/en_GB.po:
8439         * po/fr.po:
8440         * po/nl.po:
8441         * po/sr.po:
8442         * po/sv.po:
8443         * po/tr.po:
8444         * po/uk.po:
8445         * tests/Makefile.am:
8446         * tests/bufspeed/Makefile.am:
8447         * tests/instantiate/Makefile.am:
8448         * tests/memchunk/Makefile.am:
8449         * tests/muxing/Makefile.am:
8450         * tests/negotiation/Makefile.am:
8451         * tests/probes/Makefile.am:
8452         * tests/sched/Makefile.am:
8453         * tests/seeking/Makefile.am:
8454         * tests/threadstate/Makefile.am:
8455         * testsuite/caps/Makefile.am:
8456         * testsuite/cleanup/Makefile.am:
8457         * testsuite/dlopen/Makefile.am:
8458         * testsuite/dynparams/Makefile.am:
8459         * testsuite/plugin/Makefile.am:
8460         * testsuite/states/Makefile.am:
8461         * tools/Makefile.am:
8462           reorganize compile/link flags to be consistent
8463           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8464
8465 2004-05-04  David Schleef  <ds@schleef.org>
8466
8467         The "once more, with feeling" check-in.
8468         * testsuite/caps/Makefile.am: dist caps_strings
8469         * testsuite/caps/renegotiate.c: (main): This test triggers a
8470           segfault in the core.  Marking as failing.
8471
8472 2004-05-03  David Schleef  <ds@schleef.org>
8473
8474         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8475           by the build bots.
8476         * testsuite/caps/renegotiate.c: (main): Same.
8477
8478 2004-05-03  David Schleef  <ds@schleef.org>
8479
8480         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8481
8482 2004-05-03  David Schleef  <ds@schleef.org>
8483
8484         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8485           variable to find our source file.
8486
8487 2004-05-03  David Schleef  <ds@schleef.org>
8488
8489         * configure.ac:  Link plugins with libgstreamer and dependent
8490           libraries
8491         * testsuite/caps/Makefile.am:
8492         * testsuite/caps/caps_strings:
8493         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8494           through a file of caps strings and test each one
8495
8496 2004-05-04  Benjamin Otte  <otte@gnome.org>
8497
8498         * libs/gst/bytestream/Makefile.am:
8499         * libs/gst/bytestream/adapter.c: 
8500         * libs/gst/bytestream/adapter.h:
8501           add GstAdapter, similar to bytestream, but doesn't require ugly event
8502           handling or uglier loopbased elements
8503
8504 2004-05-03  David Schleef  <ds@schleef.org>
8505
8506         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8507         * testsuite/caps/erathostenes.c:
8508         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8509
8510 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * docs/pwg/pwg.xml:
8513           remove hardcoded stylesheet path (duh)
8514         * docs/random/release:
8515         * docs/gst/gstreamer-sections.txt:
8516         * gst/Makefile.am:
8517         * gst/gst.h:
8518         * gst/gst_private.h:
8519         * gst/gstcaps.c:
8520         * gst/gstevent.c:
8521         * gst/gstformat.c:
8522         * gst/gstinfo.c:
8523         * gst/gstinfo.h:
8524         * gst/gstinterface.c:
8525         * gst/gstmemchunk.c:
8526         * gst/gstprobe.c:
8527         * gst/gstquery.c:
8528         * gst/gstregistry.c:
8529         * gst/gstregistrypool.c:
8530         * gst/gststructure.c:
8531         * gst/gsttaginterface.c:
8532         * gst/gstthread.c:
8533         * gst/gsttrace.c:
8534         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8535         * gst/gsturi.c:
8536         * gst/gstvalue.c:
8537           deprecate gst_info; remove gstlog.h
8538    
8539
8540 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8541
8542         * Makefile.am:
8543         * po/en_GB.po:
8544         * po/sv.po:
8545         * po/uk.po:
8546           updated translations
8547
8548 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8549
8550         * gst/gstbin.c: (gst_bin_dispose):
8551           better debugging
8552
8553 2004-05-03  Johan Dahlin  <johan@gnome.org>
8554
8555         * gst/schedulers/gstoptimalscheduler.c
8556         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8557         really is a GstElement. Avoids critical when running gst-launch -v
8558         and a oggdemux/decoding pipeline.
8559
8560 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8561
8562         * docs/gst/tmpl/gstpipeline.sgml :
8563         * docs/manual/elements-api.xml :
8564                 doc fix by Patrick Guimond (Protector) from devel ML
8565                 reviewed by ronald
8566
8567 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8568
8569         * docs/gst/Makefile.am :
8570         * docs/libs/Makefile.am :
8571                 apply a patch from Arwed v. Merkatz so that gtk-doc
8572                 generated docs install (same for .devhelp file)
8573                 (fixes part 1 of #138836)
8574
8575 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8576
8577         * docs/faq/dependencies.xml: typo
8578         * docs/faq/getting.xml :
8579             - fix download URL for new gstreamer site
8580             - hide sf.net download page as latest version aren't there
8581             - fix apt URLs
8582             - fill "get via CVS" paragraph (link to dev page on the site)
8583         * docs/faq/general.xml:
8584             hide status tables as they no more exists
8585             change case on plugins license file to reflect reality
8586         * docs/faq/troubleshooting.xml:
8587             remove the wiki question/answer as there is no more wiki
8588
8589 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8590
8591         * gst/gsterror.h:
8592           include the headers needed for declarations used in this header
8593
8594 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8595
8596         * docs/random/uraeus/gstreamer_and_midi.txt :
8597           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8598           (fixes #132288)
8599
8600 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8601
8602         reviewed by Benjamin Otte  <otte@gnome.org>
8603
8604         * gst/schedulers/gthread-cothreads.h:
8605           free allocated data for main cothread, too when destroying context
8606           (fixes #141417)
8607
8608 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8609
8610         * docs/manual/goals.xml : remove duplicated paragraph at end 
8611         of doc page (fixes #141448)
8612
8613 2004-04-29  David Schleef  <ds@schleef.org>
8614
8615         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8616         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8617
8618 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8619
8620         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8621           fix property
8622         * gst/gstcaps.c:
8623           fix doc string
8624         * po/POTFILES.in:
8625           rename typefind source file
8626
8627 2004-04-28  David Schleef  <ds@schleef.org>
8628
8629         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8630         * win32/GStreamer.vcproj:
8631         * win32/Makefile:
8632         * win32/config.h:
8633         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8634         (_trewinddir), (_ttelldir), (_tseekdir):
8635         * win32/dirent.h:
8636         * win32/gst-inspect.vcproj:
8637         * win32/gst-launch.vcproj:
8638         * win32/gst-register.vcproj:
8639         * win32/gstbytestream.vcproj:
8640         * win32/gstelements.vcproj:
8641         * win32/gstoptimalscheduler.vcproj:
8642         * win32/gstspider.vcproj:
8643         * win32/gtchar.h:
8644         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8645         * win32/mman.h:
8646         * win32/mman.inl:
8647         * win32/msvc71.sln:
8648
8649 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8650
8651         * gst/gst.c: (init_post):
8652         * gst/gstinfo.c:
8653           remove useless _gst_progname stuff
8654         * tools/gst-inspect.c: (print_field), (print_caps):
8655           improve caps output
8656
8657 2004-04-28  David Schleef  <ds@schleef.org>
8658
8659         Disable parsing of a lot of files that aren't part of the
8660         exported API.  Move corresponding template files to old/,
8661         waiting for removal when they don't contain anything
8662         interesting.
8663         * docs/gst/Makefile.am:
8664         * docs/gst/gstreamer-sections.txt:
8665         * docs/gst/tmpl/cothreads.sgml:
8666         * docs/gst/tmpl/cothreads_compat.sgml:
8667         * docs/gst/tmpl/gettext.sgml:
8668         * docs/gst/tmpl/gobject2gtk.sgml:
8669         * docs/gst/tmpl/grammar.tab.sgml:
8670         * docs/gst/tmpl/gst-i18n-app.sgml:
8671         * docs/gst/tmpl/gst-i18n-lib.sgml:
8672         * docs/gst/tmpl/gst_private.sgml:
8673         * docs/gst/tmpl/gstaggregator.sgml:
8674         * docs/gst/tmpl/gstarch.sgml:
8675         * docs/gst/tmpl/gstatomic_impl.sgml:
8676         * docs/gst/tmpl/gstbufferstore.sgml:
8677         * docs/gst/tmpl/gstdata_private.sgml:
8678         * docs/gst/tmpl/gstdisksink.sgml:
8679         * docs/gst/tmpl/gstdisksrc.sgml:
8680         * docs/gst/tmpl/gstelementfactory.sgml:
8681         * docs/gst/tmpl/gstextratypes.sgml:
8682         * docs/gst/tmpl/gstfakesink.sgml:
8683         * docs/gst/tmpl/gstfakesrc.sgml:
8684         * docs/gst/tmpl/gstfdsink.sgml:
8685         * docs/gst/tmpl/gstfdsrc.sgml:
8686         * docs/gst/tmpl/gstfilesink.sgml:
8687         * docs/gst/tmpl/gstfilesrc.sgml:
8688         * docs/gst/tmpl/gsthttpsrc.sgml:
8689         * docs/gst/tmpl/gstidentity.sgml:
8690         * docs/gst/tmpl/gstindexfactory.sgml:
8691         * docs/gst/tmpl/gstmarshal.sgml:
8692         * docs/gst/tmpl/gstmd5sink.sgml:
8693         * docs/gst/tmpl/gstmultidisksrc.sgml:
8694         * docs/gst/tmpl/gstmultifilesrc.sgml:
8695         * docs/gst/tmpl/gstpadtemplate.sgml:
8696         * docs/gst/tmpl/gstpipefilter.sgml:
8697         * docs/gst/tmpl/gstschedulerfactory.sgml:
8698         * docs/gst/tmpl/gstsearchfuncs.sgml:
8699         * docs/gst/tmpl/gstshaper.sgml:
8700         * docs/gst/tmpl/gstspider.sgml:
8701         * docs/gst/tmpl/gstspideridentity.sgml:
8702         * docs/gst/tmpl/gststatistics.sgml:
8703         * docs/gst/tmpl/gsttee.sgml:
8704         * docs/gst/tmpl/gsttimecache.sgml:
8705         * docs/gst/tmpl/gsttypefind.sgml:
8706         * docs/gst/tmpl/gsttypefindfactory.sgml:
8707         * docs/gst/tmpl/gstxmlregistry.sgml:
8708         * docs/gst/tmpl/gthread-cothreads.sgml:
8709         * docs/gst/tmpl/old/cothreads.sgml:
8710         * docs/gst/tmpl/old/cothreads_compat.sgml:
8711         * docs/gst/tmpl/old/gettext.sgml:
8712         * docs/gst/tmpl/old/gobject2gtk.sgml:
8713         * docs/gst/tmpl/old/grammar.tab.sgml:
8714         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8715         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8716         * docs/gst/tmpl/old/gst_private.sgml:
8717         * docs/gst/tmpl/old/gstaggregator.sgml:
8718         * docs/gst/tmpl/old/gstarch.sgml:
8719         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8720         * docs/gst/tmpl/old/gstbufferstore.sgml:
8721         * docs/gst/tmpl/old/gstdata_private.sgml:
8722         * docs/gst/tmpl/old/gstdisksink.sgml:
8723         * docs/gst/tmpl/old/gstdisksrc.sgml:
8724         * docs/gst/tmpl/old/gstelementfactory.sgml:
8725         * docs/gst/tmpl/old/gstextratypes.sgml:
8726         * docs/gst/tmpl/old/gstfakesink.sgml:
8727         * docs/gst/tmpl/old/gstfakesrc.sgml:
8728         * docs/gst/tmpl/old/gstfdsink.sgml:
8729         * docs/gst/tmpl/old/gstfdsrc.sgml:
8730         * docs/gst/tmpl/old/gstfilesink.sgml:
8731         * docs/gst/tmpl/old/gstfilesrc.sgml:
8732         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8733         * docs/gst/tmpl/old/gstidentity.sgml:
8734         * docs/gst/tmpl/old/gstindexfactory.sgml:
8735         * docs/gst/tmpl/old/gstmarshal.sgml:
8736         * docs/gst/tmpl/old/gstmd5sink.sgml:
8737         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8738         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8739         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8740         * docs/gst/tmpl/old/gstpipefilter.sgml:
8741         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8742         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8743         * docs/gst/tmpl/old/gstshaper.sgml:
8744         * docs/gst/tmpl/old/gstspider.sgml:
8745         * docs/gst/tmpl/old/gstspideridentity.sgml:
8746         * docs/gst/tmpl/old/gststatistics.sgml:
8747         * docs/gst/tmpl/old/gsttee.sgml:
8748         * docs/gst/tmpl/old/gsttimecache.sgml:
8749         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8750         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8751         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8752         * docs/gst/tmpl/old/types.sgml:
8753         * docs/gst/tmpl/types.sgml:
8754
8755         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
8756         gtkdoc-scan doesn't like files with the same name in different
8757         directories.
8758         * gst/elements/Makefile.am:
8759         * gst/elements/gstelements.c:
8760         * gst/elements/gsttypefind.c: 
8761         * gst/elements/gsttypefind.h:
8762         * gst/elements/gsttypefindelement.c:
8763         * gst/elements/gsttypefindelement.h:
8764
8765 2004-04-28  David Schleef  <ds@schleef.org>
8766
8767         A bunch of portability fixes, derived from Steve Lhomme's MSVC
8768         patch (bug #141317):
8769         * gst/gst-i18n-lib.h: Allow disabling gettext.
8770         * gst/gstatomic_impl.h: disable warning when it's dumb.
8771         * gst/gstclock.c: fix include
8772         * gst/gstcompat.h: fix variadic macro
8773         * gst/gstinfo.c: fix include
8774         * gst/gstmacros.h: add defines for inlines on MSVC
8775         * gst/gstplugin.c: fix includes
8776         * gst/gstregistry.c: fix includes
8777         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
8778         * gst/gstsystemclock.c: fix include
8779         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
8780         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
8781         * gst/registries/gstxmlregistry.c:
8782         (gst_xml_registry_parse_element_factory): fix use of non-portable
8783         functions
8784         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
8785         * libs/gst/control/dparammanager.h: same
8786
8787 2004-04-28  David Schleef  <ds@schleef.org>
8788
8789         Move a bunch of unused files to old/ with names that are
8790         not case-insensitive-unique.  These files still contain some
8791         useful information that needs to be merged into gstbin.sgml,
8792         etc., so they shouldn't be deleted yet.
8793         * docs/gst/tmpl/GstBin.sgml:
8794         * docs/gst/tmpl/GstBuffer.sgml:
8795         * docs/gst/tmpl/GstCaps.sgml:
8796         * docs/gst/tmpl/GstClock.sgml:
8797         * docs/gst/tmpl/GstCompat.sgml:
8798         * docs/gst/tmpl/GstData.sgml:
8799         * docs/gst/tmpl/GstElement.sgml:
8800         * docs/gst/tmpl/GstEvent.sgml:
8801         * docs/gst/tmpl/GstIndex.sgml:
8802         * docs/gst/tmpl/GstStructure.sgml:
8803         * docs/gst/tmpl/GstTag.sgml:
8804         * docs/gst/tmpl/old/GstBin.sgml:
8805         * docs/gst/tmpl/old/GstBuffer.sgml:
8806         * docs/gst/tmpl/old/GstCaps.sgml:
8807         * docs/gst/tmpl/old/GstClock.sgml:
8808         * docs/gst/tmpl/old/GstCompat.sgml:
8809         * docs/gst/tmpl/old/GstData.sgml:
8810         * docs/gst/tmpl/old/GstElement.sgml:
8811         * docs/gst/tmpl/old/GstEvent.sgml:
8812         * docs/gst/tmpl/old/GstIndex.sgml:
8813         * docs/gst/tmpl/old/GstStructure.sgml:
8814         * docs/gst/tmpl/old/GstTag.sgml:
8815
8816 2004-04-28  David Schleef  <ds@schleef.org>
8817
8818         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
8819         (gst_caps_append), (gst_caps_append_structure),
8820         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
8821         (gst_caps_set_simple), (gst_caps_set_simple_valist),
8822         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
8823         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
8824         (gst_caps_intersect), (gst_caps_normalize),
8825         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
8826         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
8827         * gst/gstcaps.h: use GST_IS_CAPS().
8828
8829 2004-04-26  David Schleef  <ds@schleef.org>
8830
8831         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
8832         assembly.  gcc doesn't handle it correctly. (bug #141083)
8833         * gst/gsttrashstack.h: same
8834
8835 2004-04-25  Benjamin Otte  <otte@gnome.org>
8836
8837         * gst/gstelement.c: (gst_element_change_state):
8838           fix assertion to do an int comparison
8839
8840 2004-04-25  Benjamin Otte  <otte@gnome.org>
8841
8842         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8843           better debugging output on error
8844
8845 2004-04-25  Benjamin Otte  <otte@gnome.org>
8846
8847         * gst/gstcaps.c: (gst_caps_subtract):
8848           fix memleak
8849
8850 2004-04-23  Benjamin Otte  <otte@gnome.org>
8851
8852         * gst/gstvalue.c: (gst_value_compare_buffer),
8853         (_gst_value_initialize):
8854           add comparison function for buffers
8855
8856 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8857
8858         * docs/pwg/pwg.xml:
8859           Just found out that this so-called "ima-wav" format is really
8860           just "dvi adpcm" (according to the MS WAV documentation). So
8861           renaming it. We didn't use it yet anyway.
8862
8863 2004-04-23  Benjamin Otte  <otte@gnome.org>
8864
8865         * gst/gstcaps.c: (gst_caps_is_always_compatible):
8866           call gst_caps_is_subset
8867
8868 2004-04-23  Benjamin Otte  <otte@gnome.org>
8869
8870         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
8871         (gst_caps_is_subset):
8872           add documentation
8873
8874 2004-04-23  Benjamin Otte  <otte@gnome.org>
8875           
8876         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
8877         (gst_caps_structure_subtract), (gst_caps_subtract),
8878         (gst_caps_structure_figure_out_union),
8879         (gst_caps_structure_simplify), (gst_caps_do_simplify):
8880           fix simplifying and subtracting not working correctly with optional
8881           properties
8882           solve assorted problems that make it now simplify ebven more
8883         * docs/gst/tmpl/gstcaps.sgml:
8884         * gst/gstcaps.h:
8885           make gst_caps_do_simplify return a bool to indicate if it simplified
8886         * testsuite/caps/simplify.c: (main):
8887           add more checks. The tests is quite a bit useless right now because
8888           the core is heavily simplifying itself.
8889         * testsuite/caps/caps.h:
8890           fix caps to contain all optional properties
8891
8892 2004-04-22  Benjamin Otte  <otte@gnome.org>
8893
8894         * docs/gst/tmpl/gstcaps.sgml:
8895         * docs/gst/tmpl/gstfilesrc.sgml:
8896         * docs/gst/tmpl/gststructure.sgml:
8897         * docs/gst/tmpl/gstvalue.sgml:
8898           update for recent API changes
8899         * gst/gstcaps.c: (gst_caps_do_simplify):
8900           fix to stop trying with a freed structure
8901         * gst/gstpad.c: (gst_pad_link_fixate):
8902           simplify caps
8903         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
8904           remove C++ comment
8905         * gst/gstpad.h:
8906           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
8907         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8908         (gst_structure_to_string):
8909           keep the correct type when using lists of ranges
8910         * gst/gstvalue.c: (gst_value_list_prepend_value),
8911         (gst_value_list_append_value):
8912           copy the value before adding to the list (d'oh)
8913         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
8914         (gst_value_subtract_int_range_int_range):
8915           handle overflows correctly
8916         * gst/gstvalue.c: (gst_value_subtract_from_list):
8917           fix memleak
8918         * testsuite/caps/caps.h:
8919           add a caps that caused segfaults
8920
8921 2004-04-22  Benjamin Otte  <otte@gnome.org>
8922
8923         * testsuite/refcounting/pad.c: (main):
8924           fix test
8925
8926 2004-04-22  Benjamin Otte  <otte@gnome.org>
8927
8928         * gst/gstcaps.c: (gst_caps_subtract):
8929           allow subtracting ANY and EMPTY from ANY caps
8930
8931 2004-04-22  Benjamin Otte  <otte@gnome.org>
8932
8933         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
8934         (gst_caps_union):
8935           only simplify in functions that create new caps. Simplifying in
8936           gst_caps_append breaks tests.
8937
8938 2004-04-22  Benjamin Otte  <otte@gnome.org>
8939
8940         * gst/gstcaps.c: (gst_caps_structure_simplify):
8941           unset GValue after use
8942         * gst/gstcaps.c: (gst_caps_append), 
8943         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
8944           use gst_caps_simplify (reduces registry size by 30%)
8945         * gst/gstpad.c: (gst_pad_template_new):
8946           don't allow NULL caps
8947
8948 2004-04-22  Benjamin Otte  <otte@gnome.org>
8949
8950         * docs/gst/gstreamer-sections.txt:
8951           add gst_caps_do_simplify
8952         * gst/gstcaps.c:
8953           add documentation for gst_caps_do_simplify
8954         * gst/gstvalue.h:
8955           fix typo in gst_value_register_subtract_func declaration for gst-doc
8956
8957 2004-04-22  Benjamin Otte  <otte@gnome.org>
8958
8959         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8960           fix bug when converting from empty string.
8961         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
8962         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
8963           use gst_caps_new_empty to allocate a new caps. Only that function
8964           allocates memory for caps now.
8965         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
8966         (gst_caps_remove_structure):
8967           add ability to remove one structure (but not to header yet)
8968         * gst/gstcaps.c: (gst_caps_compare_structures),
8969         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8970         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8971         * gst/gstcaps.h:
8972           add gst_caps_do_simplify that tries to simplify a caps in place.
8973           Deprecate old gst_caps_simplify function.
8974         * testsuite/caps/caps.h:
8975           add caps.h containing a common set of caps to test against.
8976         * testsuite/caps/sets.c: (check_caps), (main):
8977           use it.
8978         * testsuite/caps/.cvsignore:
8979         * testsuite/caps/Makefile.am:
8980         * testsuite/caps/simplify.c: (check_caps), (main):
8981           add test to check correctness and efficency of caps simplification.
8982
8983 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8984
8985         reviewed by Benjamin Otte  <otte@gnome.org>
8986
8987         * gst/gstparse.c: (_gst_parse_escape):
8988           Free the GString used in _gst_parse_escape()
8989
8990 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8991
8992         * gst/gstpad.c: (gst_pad_link_negotiate):
8993           refuse to link if the link is not possible
8994         * configure.ac:
8995         * testsuite/Makefile.am:
8996         * testsuite/negotiation/.cvsignore:
8997         * testsuite/negotiation/Makefile.am:
8998         * testsuite/negotiation/pad_link.c: (main):
8999           add test that checks the above behaviour
9000
9001 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9002
9003         * docs/gst/gstreamer-sections.txt:
9004           add newly added API
9005
9006 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9007
9008         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9009         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9010         (gst_filesrc_open_file), (gst_filesrc_close_file),
9011         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9012         * gst/elements/gstfilesrc.h:
9013           add support for non-regular files (#140734)
9014
9015 2004-04-21  Benjamin Otte  <otte@gnome.org>
9016
9017         * gst/gstpad.c: (gst_pad_link_fixate):
9018           add sophisticated error checking code to see if fixation functions
9019           did their fixation right
9020
9021 2004-04-21  Benjamin Otte  <otte@gnome.org>
9022
9023         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9024           check for ANY caps before appending/unioning
9025         * gst/gstcaps.c: (gst_caps_is_subset),
9026         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9027         (gst_caps_structure_subtract), (gst_caps_subtract):
9028         * gst/gstcaps.h:
9029           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9030           the API. deprecate gst_caps_is_equal_fixed
9031         * gst/gstpad.c: (gst_pad_try_set_caps):
9032         * gst/gstqueue.c: (gst_queue_link):
9033           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9034         * gst/gststructure.c: (gst_structure_get_name_id):
9035         * gst/gststructure.h:
9036           add function gst_structure_get_name_id
9037         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9038         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9039         (gst_value_subtract_int_range_int_range),
9040         (gst_value_subtract_double_double_range),
9041         (gst_value_subtract_double_range_double),
9042         (gst_value_subtract_double_range_double_range),
9043         (gst_value_subtract_from_list), (gst_value_subtract_list),
9044         (gst_value_can_intersect), (gst_value_subtract),
9045         (gst_value_can_subtract), (gst_value_register_subtract_func),
9046         (_gst_value_initialize):
9047         * gst/gstvalue.h:
9048           add support for subtracting values from each other. Note that
9049           subtracting means subtracting as in set theory. Required for caps
9050           stuff above.
9051         * testsuite/caps/.cvsignore:
9052         * testsuite/caps/Makefile.am:
9053         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9054         * testsuite/caps/sets.c: (check_caps), (main):
9055         * testsuite/caps/subtract.c: (check_caps), (main):
9056           add tests for subtraction and equality code.
9057
9058 2004-04-20  David Schleef  <ds@schleef.org>
9059
9060         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9061         * gst/indexers/Makefile.am:
9062         * gst/schedulers/Makefile.am:
9063         * libs/gst/bytestream/Makefile.am:
9064         * libs/gst/control/Makefile.am:
9065         * libs/gst/getbits/Makefile.am:
9066
9067 2004-04-20  David Schleef  <ds@schleef.org>
9068
9069         * common/as-libtool.mak: Fine-tune DLL building.
9070         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9071         (like gst-plugins)
9072         * examples/plugins/Makefile.am: remove plugindir
9073         * gst/autoplug/Makefile.am: DLL building fixes
9074         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9075         Windows.
9076         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9077         * gst/indexers/Makefile.am: DLL building fixes
9078         * gst/schedulers/Makefile.am: DLL building fixes.
9079         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9080         * libs/gst/control/Makefile.am: same
9081         * libs/gst/getbits/Makefile.am: same
9082         * testsuite/Makefile.am: New dlopen directory
9083         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9084         when dlopened.
9085         * testsuite/dlopen/dlopen_gst.c: (main): same
9086         * testsuite/dlopen/loadgst.c: (do_test): same
9087
9088 2004-04-20  David Schleef  <ds@schleef.org>
9089
9090         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9091         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9092
9093 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9094
9095         * gst/gstelement.c: (gst_element_wait),
9096         (gst_element_set_time_delay), (gst_element_change_state):
9097           Use GST_TIME_*
9098
9099 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9100
9101         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9102         (gst_spider_identity_plug):
9103           improve debugging messages
9104         * gst/gstbin.c: (gst_bin_remove_func):
9105           make sure the state_change function is only called with simple state
9106           transitions
9107
9108 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9109
9110         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9111         (gst_fakesink_set_property), (gst_fakesink_chain):
9112         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9113         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9114         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9115         * gst/elements/gstidentity.c: (gst_identity_chain),
9116         (gst_identity_set_property):
9117         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9118         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9119           add warnings to _set_property for unknown arguments
9120           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9121
9122 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9123
9124         * Makefile.am:
9125         * docs/manuals.mak:
9126           add .po file download snippet
9127           fix a bug in the doc makefile
9128
9129 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9130
9131         * Makefile.am:
9132         * po/LINGUAS:
9133         * po/en_GB.po:
9134           Added en_GB translation (Gareth Owen)
9135
9136 2004-04-20  Johan Dahlin  <johan@gnome.org>
9137
9138         * gst/gstpad.c (_invent_event): Clean up
9139
9140 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9141
9142         * testsuite/caps/filtercaps.c: (main):
9143           fix test to test things correctly (caps are complicated)
9144
9145 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9146
9147         * testsuite/caps/Makefile.am:
9148         * testsuite/caps/filtercaps.c: (main):
9149           add test (that doesn't work right now, but should)
9150
9151 2004-04-19  David Schleef  <ds@schleef.org>
9152
9153         * configure.ac: Add test for allowing unaligned access.  Add define
9154         to put in gstconfig.h.
9155         * docs/gst/gstreamer-sections.txt: New symbols
9156         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9157         * docs/gst/tmpl/gstfilesrc.sgml:
9158         * docs/gst/tmpl/gstparse.sgml:
9159         * docs/gst/tmpl/gsttypes.sgml:
9160         * docs/gst/tmpl/gstutils.sgml:
9161         * docs/gst/tmpl/gstvalue.sgml:
9162         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9163         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9164         on most !i386/!powerpc architectures.  From Daniel Gazard
9165         <daniel.gazard@free.fr>.  (bug #140156)
9166         * po/af.po: Check in changes made by gettext.
9167         * po/az.po:
9168         * po/fr.po:
9169         * po/nl.po:
9170         * po/sr.po:
9171         * po/sv.po:
9172
9173 2004-04-20  Benjamin Otte  <otte@gnome.org>
9174
9175         * gst/schedulers/entryscheduler.c: 
9176         (gst_entry_scheduler_yield):
9177           refuse to yield when decoupled elements insist on doing that.
9178           At least it's better than crashing
9179
9180 2004-04-19  David Schleef  <ds@schleef.org>
9181
9182         * docs/libs/Makefile.am: Change sinclude to include
9183         * docs/gst/Makefile.am: same
9184         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9185
9186 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9187
9188         * po/LINGUAS:
9189         * po/uk.po:
9190           Added Ukrainian translation (Maxim V. Dziumanenko)
9191
9192 2004-04-19  Johan Dahlin  <johan@gnome.org>
9193
9194         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9195         checking here, do it before calling the function.
9196         Clean up, use for loops instead of while loops while iterating
9197         over lists.
9198
9199         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9200         in debug message.
9201         (gst_spider_create_and_plug): Improve debug message.
9202         General: Replace while loops which iterates over GLists with for
9203         loops. Which are much cleaner, improves readability, especially
9204         for gst_spider_identity_plug
9205
9206         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9207         fixes bug 140477
9208
9209 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * po/LINGUAS:
9212         * po/tr.po:
9213           Added Turkish translation (Baris Cicek)
9214
9215 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9216
9217         * docs/faq/troubleshooting.xml:
9218           Mention gst-register in the FAQ (fixes 139045).
9219
9220 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9221
9222         * docs/gst/gstreamer-sections.txt:
9223
9224 2004-04-17  Benjamin Otte  <otte@gnome.org>
9225
9226         * gst/gstelement.c: (gst_element_dispose):
9227           simplify
9228         * gst/gstpad.c: (gst_pad_call_chain_function):
9229           don't create loads of events due to bad macro usage
9230
9231 2004-04-16  David Schleef  <ds@schleef.org>
9232
9233         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9234         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9235         * gst/gstvalue.c: (gst_value_serialize_buffer),
9236         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9237         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9238         to indicate types that are fixed wrt caps or not.  Switching to
9239         this function fixes (bug #140298).
9240         * gst/gstvalue.h:
9241
9242 2004-04-16  David Schleef  <ds@schleef.org>
9243
9244         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9245         for GST_UNALIGNED_ACESS, since we essentially know which archs
9246         are ok.
9247
9248 2004-04-17  Benjamin Otte  <otte@gnome.org>
9249
9250         * docs/gst/Makefile.am:
9251           ignore gst/parse directory when building docs (fixes #140205)
9252
9253 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9254
9255         * testsuite/refcounting/mem.c: (vmsize):
9256           do error checking
9257
9258 2004-04-16  Johan Dahlin  <johan@gnome.org>
9259
9260         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9261         and gst_pad_call_get_function.
9262
9263 2004-04-15  David Schleef  <ds@schleef.org>
9264
9265         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9266         checks if we can access unaligned memory.
9267         * configure.ac: Use it.
9268
9269 2004-04-16  Benjamin Otte  <otte@gnome.org>
9270
9271         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9272         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9273         * gst/elements/gstfilesrc.h:
9274           s/seek_happened/need_discont/ and require discont before sending any
9275           data
9276
9277 2004-04-15  David Schleef  <ds@schleef.org>
9278
9279         * gst/gstvalue.c: (gst_value_serialize_buffer),
9280         (gst_value_deserialize_buffer), (_gst_value_initialize):
9281         Register these types as fundamental types. (bug #140015)
9282
9283 2004-04-16  Benjamin Otte  <otte@gnome.org>
9284
9285         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9286         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9287         (gst_pad_pull):
9288           implement enforcing discont events before buffers are passed. This
9289           allows state changes of only some elements and later correctly going
9290           on where they left off (or in short: you can now set audio sinks to
9291           NULL to release the device when the pipeline is paused)
9292         * gst/gstpad.c: (gst_pad_call_chain_function),
9293         (gst_pad_call_get_function):
9294         * gst/gstpad.h:
9295           add gst_pad_call_chain_function and gst_pad_call_get_function for
9296           scheduler interaction. They are required because of the changes
9297           above.
9298         * gst/schedulers/entryscheduler.c: (get_buffer),
9299         (gst_entry_scheduler_chain_wrapper),
9300         (gst_entry_scheduler_get_wrapper),
9301         (gst_entry_scheduler_state_transition),
9302         (gst_entry_scheduler_pad_link):
9303         * gst/schedulers/gstbasicscheduler.c:
9304         (gst_basic_scheduler_chain_wrapper),
9305         (gst_basic_scheduler_src_wrapper),
9306         (gst_basic_scheduler_chainhandler_proxy),
9307         (gst_basic_scheduler_gethandler_proxy),
9308         (gst_basic_scheduler_cothreaded_chain),
9309         (gst_basic_scheduler_chain_elements):
9310         * gst/schedulers/gstoptimalscheduler.c:
9311         (get_group_schedule_function), (pad_clear_queued),
9312         (gst_opt_scheduler_pad_link):
9313           use the new functions instead of calling get/chain-functions
9314           directly.
9315
9316 2004-04-15  David Schleef  <ds@schleef.org>
9317
9318         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9319         * docs/gst/tmpl/gstinfo.sgml: same
9320         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9321         gtk-doc put here.
9322         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9323         * examples/queue/queue.c: (main):  We iterate pipelines, not
9324         bins.  (bug #139996)
9325
9326 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9327
9328         * docs/pwg/advanced-types.xml:
9329           Add MS RLE support. Also document Qt RLE although I have no sample
9330           files for that yet. And document an extra property for ADPCM.
9331
9332 2004-04-15  David Schleef  <ds@schleef.org>
9333
9334         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9335         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9336         Windows.
9337
9338 2004-04-15  David Schleef  <ds@schleef.org>
9339
9340         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9341         symbol names to not conflict with new gstinfo.h symbols.
9342         * gst/gstinfo.h: Add inline functions for all those crazy
9343         compilers that don't know how to handle variadic macros (MSVC).
9344
9345 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9346
9347         * configure.ac: bump nano to 1
9348
9349 === release 0.8.1 ===
9350
9351 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9352
9353         * NEWS:
9354         * RELEASE:
9355         * configure.ac:
9356           releasing 0.8.1, "Snow Brigade"
9357
9358 2004-04-14  David Schleef  <ds@schleef.org>
9359
9360         * testsuite/Makefile.am: define tests_ignore
9361         * testsuite/Rules: Added new tests_ignore, which get compiled,
9362         but not run (generally because they're inconsistent or have
9363         heisenbugs).  Now we can ensure all the .c files compile in
9364         testsuite/.
9365         * testsuite/bins/Makefile.am: define tests_ignore
9366         * testsuite/bytestream/Makefile.am:
9367         * testsuite/caps/Makefile.am:
9368         * testsuite/clock/Makefile.am:
9369         * testsuite/debug/Makefile.am:
9370         * testsuite/debug/global.c: (gst_debug_log_one),
9371         (gst_debug_log_two): Fix compilation problem.
9372         * testsuite/dynparams/Makefile.am:
9373         * testsuite/elements/Makefile.am:
9374         * testsuite/ghostpads/Makefile.am:
9375         * testsuite/indexers/Makefile.am:
9376         * testsuite/parse/Makefile.am:
9377         * testsuite/plugin/Makefile.am:
9378         * testsuite/refcounting/Makefile.am:
9379         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9380         results, because it's not calculated correctly.
9381         * testsuite/refcounting/pad.c: (main): same
9382         * testsuite/states/Makefile.am:
9383         * testsuite/tags/Makefile.am:
9384         * testsuite/threads/Makefile.am:
9385
9386 2004-04-14  David Schleef  <ds@schleef.org>
9387
9388         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9389         generating bad code around the cpu detection asm code.
9390
9391 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9392
9393         * tools/gst-inspect.c: (print_element_info):
9394           print numeric version of rank as well, since we added some - 1
9395           rank values to elements
9396
9397 2004-04-13  David Schleef  <ds@schleef.org>
9398
9399         * configure.ac:  Disable various code when compiling for MinGW.
9400         * gst/elements/Makefile.am:
9401         * gst/elements/gstelements.c:
9402         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9403         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9404         * gst/registries/gstxmlregistry.c: (make_dir):
9405
9406 2004-04-13  David Schleef  <ds@schleef.org>
9407
9408         * gst/Makefile.am:
9409         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9410         assembly.
9411         * gst/gstcpuid_i386.s: remove
9412
9413 2004-04-13  David Schleef  <ds@schleef.org>
9414
9415         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9416         seems to think it needs to be done.
9417         * docs/gst/tmpl/gstfakesink.sgml:
9418         * docs/gst/tmpl/gstfakesrc.sgml:
9419         * docs/gst/tmpl/gstfdsink.sgml:
9420         * docs/gst/tmpl/gstfdsrc.sgml:
9421         * docs/gst/tmpl/gstfilesink.sgml:
9422         * docs/gst/tmpl/gstfilesrc.sgml:
9423         * docs/gst/tmpl/gstidentity.sgml:
9424         * docs/gst/tmpl/gstmd5sink.sgml:
9425         * docs/gst/tmpl/gstmultifilesrc.sgml:
9426         * docs/gst/tmpl/gstpipefilter.sgml:
9427         * docs/gst/tmpl/gstshaper.sgml:
9428         * docs/gst/tmpl/gstspider.sgml:
9429         * docs/gst/tmpl/gstspideridentity.sgml:
9430         * docs/gst/tmpl/gststatistics.sgml:
9431         * docs/gst/tmpl/gsttee.sgml:
9432         * docs/gst/tmpl/gsttypefind.sgml:
9433         * docs/gst/tmpl/gstutils.sgml:
9434
9435 2004-04-13  David Schleef  <ds@schleef.org>
9436
9437         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9438         and to build DLLs on Windows.
9439         * gst/Makefile.am:
9440         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9441         (gst_filesrc_open_file):
9442         * gst/schedulers/Makefile.am:
9443
9444 2004-04-13  David Schleef  <ds@schleef.org>
9445
9446         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9447         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9448         fixating lists.
9449
9450 2004-04-12  David Schleef  <ds@schleef.org>
9451
9452         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9453         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9454         to using it.
9455         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9456         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9457         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9458         * gst/gststructure.c: (gst_structure_set_valist),
9459         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9460         support for buffers.
9461         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9462         intended to be const.
9463         * gst/gsttag.h: same
9464         * gst/gstvalue.c: (gst_value_serialize_buffer),
9465         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9466         to (de)serialize buffers.
9467         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9468         * testsuite/caps/string-conversions.c: (main):
9469         * testsuite/caps/value_serialize.c: add new test
9470
9471 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9472
9473         * docs/pwg/advanced-types.xml:
9474           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9475
9476 2004-04-11  Benjamin Otte  <otte@gnome.org>
9477
9478         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9479           rename categories to basic_*
9480         * gst/schedulers/gstbasicscheduler.c: 
9481         (gst_basic_scheduler_chain_wrapper),
9482         (gst_basic_scheduler_chainhandler_proxy),
9483         (gst_basic_scheduler_gethandler_proxy),
9484         (gst_basic_scheduler_eventhandler_proxy):
9485           debugging category fixes - put common stuff in log category
9486         * gst/schedulers/gstbasicscheduler.c: 
9487         (gst_basic_scheduler_chain_elements):
9488           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9489           active and linking two active chains
9490
9491 2004-04-10  Benjamin Otte  <otte@gnome.org>
9492
9493         * docs/pwg/intro-preface.xml:
9494           fix dead links and remove reference to Wiki
9495
9496 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9497
9498         * gst/schedulers/gstbasicscheduler.c:
9499           make sure we can switch back to the main function if we're still in
9500           the main function (supposed to fix #139617)
9501         * gst/schedulers/gthread-cothreads.h:
9502           don't throw an error when switching to the same cothread
9503
9504 2004-04-09  Benjamin Otte  <otte@gnome.org>
9505
9506         * gst/gstbin.c: (gst_bin_get_type):
9507         * gst/gstclock.c: (gst_clock_get_type):
9508         * gst/gstindex.c: (gst_index_get_type):
9509         * gst/gstobject.c: (gst_object_get_type),
9510         (gst_signal_object_get_type):
9511         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9512         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9513         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9514         * gst/gstqueue.c: (gst_queue_get_type):
9515         * gst/gstregistry.c: (gst_registry_get_type):
9516         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9517         * gst/gstthread.c: (gst_thread_get_type):
9518           don't use memchunks for these objects, use malloc instead
9519
9520 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * docs/gst/.cvsignore:
9523         * docs/gst/Makefile.am:
9524         * docs/gst/gstreamer-sections.txt:
9525         * docs/gst/tmpl/gstaggregator.sgml:
9526         * docs/gst/tmpl/gstbuffer.sgml:
9527         * docs/gst/tmpl/gstclock.sgml:
9528         * docs/gst/tmpl/gstelement.sgml:
9529         * docs/gst/tmpl/gstfakesink.sgml:
9530         * docs/gst/tmpl/gstfakesrc.sgml:
9531         * docs/gst/tmpl/gstfdsink.sgml:
9532         * docs/gst/tmpl/gstfdsrc.sgml:
9533         * docs/gst/tmpl/gstfilesink.sgml:
9534         * docs/gst/tmpl/gstfilesrc.sgml:
9535         * docs/gst/tmpl/gstidentity.sgml:
9536         * docs/gst/tmpl/gstindex.sgml:
9537         * docs/gst/tmpl/gstinfo.sgml:
9538         * docs/gst/tmpl/gstmd5sink.sgml:
9539         * docs/gst/tmpl/gstmultifilesrc.sgml:
9540         * docs/gst/tmpl/gstpad.sgml:
9541         * docs/gst/tmpl/gstpipefilter.sgml:
9542         * docs/gst/tmpl/gstpipeline.sgml:
9543         * docs/gst/tmpl/gstpluginfeature.sgml:
9544         * docs/gst/tmpl/gstqueue.sgml:
9545         * docs/gst/tmpl/gstregistry.sgml:
9546         * docs/gst/tmpl/gstscheduler.sgml:
9547         * docs/gst/tmpl/gstshaper.sgml:
9548         * docs/gst/tmpl/gstspider.sgml:
9549         * docs/gst/tmpl/gstspideridentity.sgml:
9550         * docs/gst/tmpl/gststatistics.sgml:
9551         * docs/gst/tmpl/gstsystemclock.sgml:
9552         * docs/gst/tmpl/gsttee.sgml:
9553         * docs/gst/tmpl/gstthread.sgml:
9554         * docs/gst/tmpl/gsttypefind.sgml:
9555         * docs/gst/tmpl/gstutils.sgml:
9556           further doc build fixes
9557
9558 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * docs/gst/Makefile.am:
9561           make docs exit on scanning problems
9562           fix nonsrcdir build issues
9563         * docs/gst/gstreamer-sections.txt:
9564           adding stuff from -unused
9565         * gst/gstqueue.h:
9566           create GstQueueSize
9567         * gst/schedulers/cothreads_compat.h:
9568           fix cothread warnings
9569
9570 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9571
9572         * docs/gst/gstreamer-sections.txt:
9573           remove defines deprecated by Benjamin
9574
9575 2004-04-07  Benjamin Otte  <otte@gnome.org>
9576
9577         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9578           when the buffer is complete, don't check if other buffers are needed
9579         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9580           check that the offset is >0 so we don't try to read before the
9581           beginning of the file
9582         * gst/gstpad.c: (gst_pad_set_pad_template):
9583           sink the template, so we don't end up with 130k pad templates
9584
9585 2004-04-06  Benjamin Otte  <otte@gnome.org>
9586
9587         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9588           don't ref the element, adding already reffed it. And we didn't unref
9589           it later anyway... (huge memleak when you used many spider elements)
9590         * gst/gstelement.c: (gst_element_base_class_finalize):
9591         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9592         (gst_element_register):
9593         * gst/gsturi.c: (gst_element_make_from_uri):
9594           use gst_object_(un)ref instead of g_object(un)ref
9595
9596 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9597
9598         * gst/gstbuffer.h:
9599           remove macro that wouldn't work anymore because struct member has
9600           been removed.
9601         * gst/schedulers/entryscheduler.c: (schedule_forward):
9602           fix segfault for unconnected pads
9603         
9604 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9605
9606         reviewed by David Schleef <ds@schleef.org>
9607
9608         * gst/gstinfo.h:
9609           *_FORMAT modifiers should require putting a % in front of them for
9610           consistency reasons.
9611
9612 2004-04-05  Colin Walters  <walters@redhat.com>
9613
9614         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9615         space.
9616
9617 2004-04-05  Benjamin Otte  <otte@gnome.org>
9618
9619         * configure.ac:
9620         * gst/Makefile.am:
9621         * gst/gst_private.h:
9622         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9623           add support for detecting if GStreamer runs inside valgrind.
9624           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9625           print a big message in valgrind that GStreamer has detected it's
9626           running inside and might now use different code.
9627         * gst/gstmemchunk.c: (populate), (free_area),
9628         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9629         (gst_mem_chunk_free):
9630           flag memchunks for valgrind, so it can detect leaking of chunks.
9631           This allows detecting leaks of GstBuffer and GstEvent correctly
9632           inside valgrind.
9633
9634 2004-04-05  David Schleef  <ds@schleef.org>
9635
9636         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9637           jensgr@gmx.net (Jens Granseuer)
9638
9639 2004-04-05  David Schleef  <ds@schleef.org>
9640
9641         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9642         (gst_buffer_default_free), (gst_buffer_default_copy),
9643         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9644         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9645         structures in one place.
9646
9647 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9648
9649         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9650           (GST_TIME_FORMAT, GST_TIME_ARGS)
9651
9652 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9653
9654         * testsuite/elements/Makefile.am:
9655           disable test until it stops breaking make distcheck
9656
9657 2004-04-05  Johan Dahlin  <johan@gnome.org>
9658
9659         * po/sv.po: Updated translation
9660
9661 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9662
9663         * gst/gstplugin.c: (gst_plugin_load_file):
9664           fix segfault for when original plugin was loaded statically
9665
9666 2004-04-05  Benjamin Otte  <otte@gnome.org>
9667
9668         * testsuite/debug/category.c: (main):
9669         * testsuite/debug/commandline.c: (main):
9670         * testsuite/debug/output.c: (main):
9671           fix tests to work again with debugging enabled
9672
9673 2004-04-05  Benjamin Otte  <otte@gnome.org>
9674
9675         * gst/schedulers/gstbasicscheduler.c:
9676         (gst_basic_scheduler_pad_link):
9677           fix to work with recent scheduling changes
9678
9679 2004-04-05  Benjamin Otte  <otte@gnome.org>
9680
9681         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9682         prepareChangeLog doesn't work when cvs indents):
9683           don't throw an error when no element can be scheduled, there's too
9684           many weird reasons why it doesn't work. Return STOPPED instead.
9685           decoupled elemts' schedulability doesn't depend on bufpens.
9686
9687 2004-04-04  Benjamin Otte  <otte@gnome.org>
9688
9689         * gst/schedulers/gstbasicscheduler.c:
9690         (gst_basic_scheduler_pad_select):
9691           fix uninitialized variable warnings
9692
9693 2004-04-04  Benjamin Otte  <otte@gnome.org>
9694
9695         * gst/gstpad.c: (gst_pad_collect_valist):
9696           fix uninitialized variable warning
9697         * gst/schedulers/entryscheduler.c: (schedule_forward):
9698           fix shadowed variable
9699
9700 2004-04-04  Benjamin Otte  <otte@gnome.org>
9701
9702         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9703         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9704         (gst_pad_select):
9705         * gst/gstpad.h:
9706         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9707         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9708         * gst/gstscheduler.h:
9709           implement gst_pad_collect as replacement for gst_pad_select.
9710           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9711           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9712           new pad_select, lock and unlock calls.
9713         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9714         * gst/cothreads.h:
9715         * gst/schedulers/cothreads_compat.h:
9716         * gst/schedulers/gthread-cothreads.h:
9717           remove unused cothread_lock and cothread_unlock calls
9718         * gst/schedulers/entryscheduler.c:
9719         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9720         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
9721         (gst_entry_scheduler_pad_select):
9722           update to new API
9723         * gst/schedulers/gstbasicscheduler.c:
9724         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
9725         (gst_basic_scheduler_pad_select):
9726           remove useless lock and unlock calls, update pad_select to new API
9727           (untested)
9728         * gst/schedulers/gstoptimalscheduler.c:
9729         (gst_opt_scheduler_class_init):
9730           remove useless select, lock and unlock function calls
9731         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
9732           use gst_pad_collect instead of gst_pad_select
9733
9734 2004-04-04  Benjamin Otte  <otte@gnome.org>
9735
9736         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
9737         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
9738         (schedule_next_element), (print_entry):
9739           add can_schedule_pad to handle element states.
9740           add schedule_forward to select the correct entry to schedule next
9741
9742 2004-04-03  Benjamin Otte  <otte@gnome.org>
9743
9744         * gst/schedulers/entryscheduler.c: 
9745           remove unused variable, fix error inside Rb, fix compile warning in
9746           unreachable code
9747
9748 2004-04-03  Benjamin Otte  <otte@gnome.org>
9749
9750         * gst/schedulers/entryscheduler.c:
9751           completely revamp the inner workings, so it's a lot easier to
9752           understand and extend
9753
9754 2004-04-03  Andy Wingo  <wingo@pobox.com>
9755
9756         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
9757         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
9758         This allows better introspection of pipeline topology.
9759         (add_to_chain): Don't do trickery to put loop elements first;
9760         rather, queue a chain sort by marking the chain as dirty.
9761         (remove_from_chain): Mark the chain dirty.
9762         (sort_chain): New function. Sorts the group list so that terminal
9763         sinks are first. This means elements on the sink side will be
9764         preferentially sscheduled before elements on the src side of the
9765         pipeline.
9766         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
9767         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
9768         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
9769         (group_inc_link): Change argument and variable names to match the
9770         new link structure member names (src and sink).
9771         (group_dec_link): Add some description
9772
9773 2004-04-03  Benjamin Otte  <otte@gnome.org>
9774
9775         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9776         * gst/gstinfo.h:
9777         * testsuite/debug/category.c: (main):
9778         * testsuite/debug/commandline.c: (main):
9779         * testsuite/debug/output.c: (main):
9780         * testsuite/debug/printf_extension.c: (main):
9781           fix to successfully build and test with --disable-gst-debug
9782           configure switch (fixes #138705)
9783
9784 2004-04-03  Benjamin Otte  <otte@gnome.org>
9785
9786         * docs/pwg/building-boiler.xml:
9787           add cvs login line and s/anonymous/anoncvs/
9788
9789 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
9790
9791         reviewed by Benjamin Otte  <otte@gnome.org>
9792
9793         * gst/gststructure.c: (gst_structure_free):
9794           memleak fix: free fields array (partial fix for #134839)
9795
9796 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9797
9798         * docs/random/ds/0.9-suggested-changes:
9799           Add a note to change handoff use in fakesrc to be usable in
9800           a more generic way (fakesrc should be renamed to appsrc or so).
9801         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9802           Change signal type to scope, so we can fill the buffer in the
9803           handoff handler (that's the whole use of this signal...).
9804
9805 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9806
9807         * docs/pwg/other-ntoone.xml:
9808           Document muxers and n-to-1 elements.
9809
9810 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
9811
9812         * gst/registries/gstxmlregistry.c
9813         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
9814         determine if a file is a G_MODULE. The old one discards paths
9815         containing "so" somewhere in the middle. My home directory is
9816         called "soto". Go figure...
9817
9818 2004-03-31  David Schleef  <ds@schleef.org>
9819
9820         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
9821         to eventually deprecate gst_buffer_merge().  (bug: #136408)
9822         * gst/gstbuffer.h:
9823
9824 2004-03-31  David Schleef  <ds@schleef.org>
9825
9826         * gst/gstvalue.c: (gst_value_union_int_int_range),
9827         (gst_value_union_int_range_int_range), (gst_value_can_union),
9828         (gst_value_union), (_gst_value_initialize):  Add some union
9829         implementations.  We didn't have any previously.
9830         * testsuite/caps/Makefile.am:
9831         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
9832         (gst_audioscale_getcaps), (test_caps), (main): A little test
9833         that is the same as the caps manipulation in audioscale.
9834
9835 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9836
9837         * docs/faq/general.xml:
9838           add entry about "does gst support format X?"
9839
9840 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9841
9842         * gst/gstthread.c:
9843           fix docs
9844         * gst/gstutils.h:
9845           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
9846
9847 2004-03-30  Benjamin Otte  <otte@gnome.org>
9848
9849         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9850           set the offset of the buffer to the requested offset
9851         * gst/elements/gsttypefind.c: (stop_typefinding):
9852           revert patch 1.18 (which I unfortunately don't know the reason for).
9853           This is needed to allow downstream elements to seek. Otherwise
9854           typefind might overwrite a previous seek by downstream elements.
9855           This lead to errors with id3tag and typefind on some mp3s.
9856         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9857         (gst_entry_scheduler_iterate):
9858           be more verbose when debugging
9859
9860 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9861
9862         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9863           make sure we don't get NULL strings
9864
9865 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9866
9867         * gst/gstcaps.c:
9868         * gst/gstelement.c:
9869         * gst/gstelementfactory.c: (gst_element_factory_get_type):
9870         * gst/gstindex.c: (gst_index_resolver_get_type),
9871         (gst_index_get_type), (gst_index_factory_get_type):
9872         * gst/gstinfo.c:
9873         * gst/gstpad.c:
9874         * gst/gstplugin.c:
9875         * gst/gsturi.c: (gst_uri_handler_get_type):
9876         * gst/gstvalue.c:
9877           first batch of documentation fixes
9878
9879 2004-03-29  David Schleef  <ds@schleef.org>
9880
9881         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
9882         * docs/gst/gstreamer-docs.sgml:  More hacking
9883         * docs/gst/gstreamer-sections.txt:
9884         * docs/gst/tmpl/cothreads_compat.sgml:
9885         * docs/gst/tmpl/gstcaps.sgml:
9886         * docs/gst/tmpl/gstclock.sgml:
9887         * docs/gst/tmpl/gstelement.sgml:
9888         * docs/gst/tmpl/gstevent.sgml:
9889         * docs/gst/tmpl/gstpad.sgml:
9890         * docs/gst/tmpl/gstutils.sgml:
9891         * docs/gst/tmpl/gstxml.sgml:
9892         * docs/gst/tmpl/gthread-cothreads.sgml:
9893         * docs/random/ds/0.9-suggested-changes:
9894         * gst/elements/gstfakesink.h: doc fixes
9895         * gst/elements/gstfakesrc.h: doc fixes
9896         * gst/gstcaps.c: doc fixes
9897         * gst/gstcaps.h: doc fixes
9898         * gst/gstelement.c: doc fixes
9899         * gst/gstelement.h: doc fixes
9900         * gst/gstindex.c: doc fixes
9901         * gst/gstinfo.c: doc fixes
9902         * gst/gstpad.c: doc fixes
9903         * gst/gstpad.h: doc fixes
9904         * gst/gstplugin.c: doc fixes
9905         * gst/gsttypefind.h: doc fixes
9906         * gst/gsturi.c: doc fixes
9907         * gst/gstvalue.c: doc fixes
9908
9909 2004-03-29  Colin Walters  <walters@redhat.com>
9910
9911         * gst/registries/gstxmlregistry.c (get_time)
9912         (plugin_times_older_than_recurse):
9913         Use the result of stat to determine whether a path is a file,
9914         so we don't attempt to opendir() files.
9915
9916 2004-03-29  Benjamin Otte  <otte@gnome.org>
9917
9918         * gst/gstpad.c: (gst_pad_set_explicit_caps):
9919           print caps in debugging output when setting caps failed
9920         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
9921         (schedule_next_element), (get_buffer), (run_chainhandler),
9922         (element_may_start), (gst_entry_scheduler_chain_handler),
9923         (gst_entry_scheduler_get_handler),
9924         (gst_entry_scheduler_state_transition),
9925         (gst_entry_scheduler_pad_link):
9926           make this scheduler a testcase for mandatory
9927           discont-before-first-buffer which is needed if we want to allow apps
9928           to release the sound device.
9929           add SCHED_ASSERT macro to print scheduler state before an assertion
9930           triggers.
9931
9932 2004-03-29  Benjamin Otte  <otte@gnome.org>
9933
9934         * COPYING:
9935           replace by LGPL (former COPYING.LIB). The core is completely
9936           licensed LGPL.
9937         * COPYING.LIB:
9938           remove
9939
9940 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * po/af.po:
9943         * po/sv.po:
9944           updated Afrikaans and Swedish
9945
9946 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9947
9948         * po/LINGUAS:
9949         * po/az.po:
9950           adding Azerbaijani (Mətin Əmirov)
9951
9952 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
9953
9954         * gst/gstelement.h: 
9955         * gst/gstelement.c (gst_element_set_time_delay): New function for
9956         setting element time taking into account a hardware buffering
9957         delay.
9958         (gst_element_set_time): Now just an invocation of
9959         gst_element_set_time_delay.
9960         * gst/gstclock.h: 
9961         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
9962         allowing to set event times in the future.
9963         (gst_clock_get_event_time): Now just an invocation of
9964         gst_clock_get_event_time_delay.
9965
9966 2004-03-28  Benjamin Otte  <otte@gnome.org>
9967
9968         * gst/gstbin.c: (gst_bin_set_element_sched),
9969         (gst_bin_unset_element_sched):
9970           don't add decoupled elements to schedulers - otherwise it's
9971           impossible to control if a link to a decoupled element was already
9972           removed from a scheduler or not.
9973         * gst/schedulers/cothreads_compat.h:
9974         * gst/schedulers/gthread-cothreads.h:
9975           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9976           is no "unused" warning.
9977         * gst/schedulers/Makefile.am:
9978         * gst/schedulers/entryscheduler.c:
9979           add new scheduler, based on ideas from talking to David and Martin.
9980           It's supposed to be small and correct. Currently it's also slow (but
9981           it's not noticable)
9982         * examples/retag/retag.c: (main):
9983         * testsuite/bytestream/test1.c: (main):
9984           fix missing NULLs at end of variadic functions
9985         * testsuite/elements/.cvsignore:
9986           update
9987
9988 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
9989
9990         * gst/gstevent.h:
9991         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
9992
9993 2004-03-25  David Schleef  <ds@schleef.org>
9994
9995         * docs/gst/gstreamer-sections.txt:  More doc hacking.
9996         * docs/gst/tmpl/gstaggregator.sgml:
9997         * docs/gst/tmpl/gstautoplugfactory.sgml:
9998         * docs/gst/tmpl/gstbin.sgml:
9999         * docs/gst/tmpl/gstbuffer.sgml:
10000         * docs/gst/tmpl/gstbufferstore.sgml:
10001         * docs/gst/tmpl/gstfakesink.sgml:
10002         * docs/gst/tmpl/gstfakesrc.sgml:
10003         * docs/gst/tmpl/gstmd5sink.sgml:
10004         * docs/gst/tmpl/gstreamer-unused.sgml:
10005         * docs/gst/tmpl/gstsearchfuncs.sgml:
10006         * docs/gst/tmpl/gstshaper.sgml:
10007         * docs/gst/tmpl/gstspider.sgml:
10008         * docs/gst/tmpl/gsttee.sgml:
10009         * docs/gst/tmpl/gstutils.sgml:
10010         * docs/gst/tmpl/gstvalue.sgml:
10011         * docs/gst/tmpl/gstxml.sgml:
10012         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10013         and we don't support it.
10014         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10015         (gst_use_threads), (gst_has_threads): same
10016         * gst/gstthreaddummy.c: same
10017         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10018         * gst/autoplug/gstspider.h: same
10019         * gst/elements/gstaggregator.h: Remove bogus function from header
10020         * gst/elements/gstfakesink.h: same
10021         * gst/elements/gstfakesrc.h: same
10022         * gst/elements/gstmd5sink.h: same
10023         * gst/elements/gstshaper.h: same
10024         * gst/elements/gsttee.h: same
10025         * gst/gstbin.c: doc fixes
10026         * gst/gstbin.h: Remove unused definition.
10027         * gst/gstbuffer.c: doc fixes
10028         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10029         * gst/gstfilter.c: doc fixes
10030         * gst/gsttag.c: doc fixes
10031         * gst/gstvalue.c: doc fixes
10032
10033 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10034
10035         * docs/pwg/advanced-types.xml:
10036           Document typefinding.
10037         * docs/pwg/other-oneton.xml:
10038           Document one-to-n elements, demuxers and parsers.
10039
10040 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10041
10042         reviewed by: David Schleef  <ds@schleef.org>
10043
10044         * configure.ac: Check bison version (bug #127838)
10045
10046 2004-03-25  David Schleef  <ds@schleef.org>
10047
10048         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10049         * docs/gst/gstreamer-sections.txt:
10050         * docs/gst/tmpl/gstautoplug.sgml:
10051         * docs/gst/tmpl/gststaticautoplug.sgml:
10052         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10053         * docs/gst/tmpl/gstutils.sgml:
10054         * docs/gst/tmpl/gstxml.sgml:
10055
10056 2004-03-24  David Schleef  <ds@schleef.org>
10057
10058         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10059         manual being such complete crap, that I decided to do major
10060         hacking of it.  This checkin replaces any fine tuning that
10061         may have been done previously, with the benefit of actually
10062         being complete for much of the API that was changed since
10063         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10064         * docs/gst/gstreamer-sections.txt:
10065         * docs/gst/tmpl/GstBin.sgml:
10066         * docs/gst/tmpl/GstBuffer.sgml:
10067         * docs/gst/tmpl/GstCaps.sgml:
10068         * docs/gst/tmpl/GstClock.sgml:
10069         * docs/gst/tmpl/GstCompat.sgml:
10070         * docs/gst/tmpl/GstData.sgml:
10071         * docs/gst/tmpl/GstElement.sgml:
10072         * docs/gst/tmpl/GstEvent.sgml:
10073         * docs/gst/tmpl/GstIndex.sgml:
10074         * docs/gst/tmpl/GstStructure.sgml:
10075         * docs/gst/tmpl/GstTag.sgml:
10076         * docs/gst/tmpl/cothreads.sgml:
10077         * docs/gst/tmpl/cothreads_compat.sgml:
10078         * docs/gst/tmpl/gettext.sgml:
10079         * docs/gst/tmpl/grammar.tab.sgml:
10080         * docs/gst/tmpl/gst-i18n-app.sgml:
10081         * docs/gst/tmpl/gst-i18n-lib.sgml:
10082         * docs/gst/tmpl/gst.sgml:
10083         * docs/gst/tmpl/gst_private.sgml:
10084         * docs/gst/tmpl/gstaggregator.sgml:
10085         * docs/gst/tmpl/gstarch.sgml:
10086         * docs/gst/tmpl/gstatomic.sgml:
10087         * docs/gst/tmpl/gstatomic_impl.sgml:
10088         * docs/gst/tmpl/gstbin.sgml:
10089         * docs/gst/tmpl/gstbuffer.sgml:
10090         * docs/gst/tmpl/gstbufferstore.sgml:
10091         * docs/gst/tmpl/gstcaps.sgml:
10092         * docs/gst/tmpl/gstclock.sgml:
10093         * docs/gst/tmpl/gstcompat.sgml:
10094         * docs/gst/tmpl/gstconfig.sgml:
10095         * docs/gst/tmpl/gstcpu.sgml:
10096         * docs/gst/tmpl/gstdata.sgml:
10097         * docs/gst/tmpl/gstdata_private.sgml:
10098         * docs/gst/tmpl/gstelement.sgml:
10099         * docs/gst/tmpl/gstenumtypes.sgml:
10100         * docs/gst/tmpl/gsterror.sgml:
10101         * docs/gst/tmpl/gstevent.sgml:
10102         * docs/gst/tmpl/gstfakesink.sgml:
10103         * docs/gst/tmpl/gstfakesrc.sgml:
10104         * docs/gst/tmpl/gstfilesink.sgml:
10105         * docs/gst/tmpl/gstfilter.sgml:
10106         * docs/gst/tmpl/gstindex.sgml:
10107         * docs/gst/tmpl/gstinfo.sgml:
10108         * docs/gst/tmpl/gstinterface.sgml:
10109         * docs/gst/tmpl/gstlog.sgml:
10110         * docs/gst/tmpl/gstmacros.sgml:
10111         * docs/gst/tmpl/gstmarshal.sgml:
10112         * docs/gst/tmpl/gstmd5sink.sgml:
10113         * docs/gst/tmpl/gstmultifilesrc.sgml:
10114         * docs/gst/tmpl/gstobject.sgml:
10115         * docs/gst/tmpl/gstpad.sgml:
10116         * docs/gst/tmpl/gstparse.sgml:
10117         * docs/gst/tmpl/gstpipeline.sgml:
10118         * docs/gst/tmpl/gstplugin.sgml:
10119         * docs/gst/tmpl/gstpluginfeature.sgml:
10120         * docs/gst/tmpl/gstqueue.sgml:
10121         * docs/gst/tmpl/gstreamer-unused.sgml:
10122         * docs/gst/tmpl/gstregistry.sgml:
10123         * docs/gst/tmpl/gstregistrypool.sgml:
10124         * docs/gst/tmpl/gstscheduler.sgml:
10125         * docs/gst/tmpl/gstsearchfuncs.sgml:
10126         * docs/gst/tmpl/gstshaper.sgml:
10127         * docs/gst/tmpl/gstspider.sgml:
10128         * docs/gst/tmpl/gstspideridentity.sgml:
10129         * docs/gst/tmpl/gststructure.sgml:
10130         * docs/gst/tmpl/gstsystemclock.sgml:
10131         * docs/gst/tmpl/gsttag.sgml:
10132         * docs/gst/tmpl/gsttaginterface.sgml:
10133         * docs/gst/tmpl/gsttee.sgml:
10134         * docs/gst/tmpl/gstthread.sgml:
10135         * docs/gst/tmpl/gsttrace.sgml:
10136         * docs/gst/tmpl/gsttrashstack.sgml:
10137         * docs/gst/tmpl/gsttypefind.sgml:
10138         * docs/gst/tmpl/gsttypes.sgml:
10139         * docs/gst/tmpl/gsturi.sgml:
10140         * docs/gst/tmpl/gsturitype.sgml:
10141         * docs/gst/tmpl/gstutils.sgml:
10142         * docs/gst/tmpl/gstvalue.sgml:
10143         * docs/gst/tmpl/gstversion.sgml:
10144         * docs/gst/tmpl/gstxml.sgml:
10145         * docs/gst/tmpl/gstxmlregistry.sgml:
10146         * docs/gst/tmpl/gthread-cothreads.sgml:
10147         * docs/gst/tmpl/types.sgml:
10148
10149 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10150
10151         * docs/pwg/other-sink.xml:
10152         * docs/pwg/other-source.xml:
10153           Documentation on how to write source and sink elements. Other
10154           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10155           manager, autoplugger) are all still pending.
10156
10157 2004-03-25  Benjamin Otte  <otte@gnome.org>
10158
10159         * testsuite/elements/Makefile.am:
10160         * testsuite/elements/gst-compprep-check:
10161           add check to make sure gst-compprep works
10162         * testsuite/elements/gst-inspect-check.in:
10163           improve initialization output
10164         * testsuite/Makefile.am:
10165         * testsuite/gst-inspect-check:
10166           remove old file
10167
10168 2004-03-24  David Schleef  <ds@schleef.org>
10169
10170         * testsuite/elements/Makefile.am:
10171         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10172         to the testsuite.
10173
10174 2004-03-24  Benjamin Otte  <otte@gnome.org>
10175
10176         * libs/gst/control/dparam.c: (gst_dparam_attach),
10177         (gst_dparam_detach):
10178         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10179           fix lvalue casts for real
10180
10181 2004-03-24  Benjamin Otte  <otte@gnome.org>
10182
10183         * gst/schedulers/gstbasicscheduler.c:
10184         (gst_basic_scheduler_src_wrapper):
10185         * gst/schedulers/gstoptimalscheduler.c:
10186         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10187         (pad_clear_queued), (gst_opt_scheduler_add_element),
10188         (gst_opt_scheduler_remove_element):
10189           fix GStreamer to not have issues with lvalue casts anymore (fixes
10190           #136841)
10191
10192 2004-03-24  Benjamin Otte  <otte@gnome.org>
10193
10194         * gst/gstelement.c:
10195           add documentation about a gobject quirk where the object hasn't the
10196           correct class pointer set on initialization
10197         * gst/schedulers/gstbasicscheduler.c:
10198         (gst_basic_scheduler_src_wrapper):
10199           make sure to not run into an infinite loop
10200
10201 2004-03-22  Benjamin Otte  <otte@gnome.org>
10202
10203         * gst/gstutils.c: (gst_util_dump_mem):
10204         * gst/gstutils.h:
10205           first argument of gst_util_dump_mem should be const
10206
10207 2004-03-22  Johan Dahlin  <johan@gnome.org>
10208
10209         * gst/gstvalue.h: Clean up a little bit.
10210
10211 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10212
10213         reviewed by Benjamin Otte  <otte@gnome.org>
10214
10215         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10216         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10217         (gst_aggregator_class_init), (gst_aggregator_init):
10218         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10219         (gst_filesrc_dispose), (gst_filesrc_set_location):
10220         * gst/elements/gstidentity.c: (gst_identity_finalize),
10221         (gst_identity_class_init), (gst_identity_chain):
10222         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10223         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10224         (gst_statistics_class_init):
10225         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10226         (gst_tee_get_property):
10227           clean up used memory in this elements correctly on teardown (closes
10228           #137279)
10229
10230 2004-03-20  Colin Walters  <walters@redhat.com>
10231
10232         * gst/registries/gstxmlregistry.c:
10233         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10234         registry saving atomic.
10235
10236 2004-03-20  Colin Walters  <walters@redhat.com>
10237
10238         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10239         Just use
10240         access() instead of actually creating and deleting files.
10241
10242 2004-03-18  David Schleef  <ds@schleef.org>
10243
10244         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10245         (bug #137625)
10246
10247 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10248
10249         * po/sv.po: updated translation (Christian Rose)
10250
10251 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10252
10253         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10254         (gst_filesink_get_query_types), (_do_init),
10255         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10256           return FALSE silently
10257         * po/af.po: updated translation (Petri Jooste)
10258
10259 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10260
10261         * Makefile.am:
10262         * configure.ac:
10263           dist common properly
10264         * po/af.po:
10265         * po/fr.po:
10266         * po/nl.po:
10267         * po/sr.po:
10268         * po/sv.po:
10269           refreshing translations
10270
10271 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10272
10273         * po/LINGUAS:
10274         * po/sv.po:
10275         * po/af.po:
10276           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10277
10278 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * Makefile.am: use common/release.mak
10281
10282 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10283
10284         * docs/faq/gst-uninstalled:
10285           adding gst-monkeysaudio to the list of possible plugin dirs
10286
10287 2004-03-16  David Schleef  <ds@schleef.org>
10288
10289         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10290         (gst_init_check_with_popt_table):  Fix some gettext strings to
10291         make them easier to translate.  Required making the strings
10292         non-const.
10293
10294 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * configure.ac: bump nano to 1
10297
10298 === release 0.8.0 ===
10299
10300 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * configure.ac: release 0.8.0, "Executive Slacks"
10303
10304 2004-03-16  Johan Dahlin  <johan@gnome.org>
10305
10306         * gst/schedulers/gstoptimalscheduler.c
10307         (gst_opt_scheduler_pad_unlink): Remove double ;,
10308         spotted by Scott Wheeler
10309
10310 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10311
10312         * configure.ac: bump libtool version
10313
10314 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * gst/gstcaps.h:
10317         * gst/gststructure.h:
10318           add reserved padding
10319
10320 2004-03-15  Benjamin Otte  <otte@gnome.org>
10321
10322         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10323           set the first parameter for select call correctly.
10324           (fixes #137230)
10325
10326 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10327
10328         * *.c,*.h: don't mix tabs and spaces
10329
10330 2004-03-15  Johan Dahlin  <johan@gnome.org>
10331
10332         * gst/schedulers/gstoptimalscheduler.c
10333         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10334         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10335
10336         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10337         
10338 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10339
10340         * testsuite/Rules:
10341           fix gst-register rules
10342
10343 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10344
10345         * testsuite/Rules:
10346           use versioned gst-register
10347
10348 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * docs/libs/gstreamer-libs-sections.txt:
10351           remove </SUBSECTION>
10352         * gst/gstplugin.c:
10353         * gst/gstregistry.c: (gst_registry_add_plugin):
10354         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10355         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10356           add debugging and fix some comment blocks
10357
10358 2004-03-15  Johan Dahlin  <johan@gnome.org>
10359
10360         * *.h: Revert indent changes.
10361         
10362 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10365           g_error_free the g_error
10366         * tools/gst-feedback-m.m:
10367           check for other versions of gstreamer
10368         * tools/gst-indent:
10369           use sh, not bash
10370
10371 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10372
10373         * tools/gst-register.c: do not spill paths when registries are not
10374           writable, until we fix the "user running gst-register" case.
10375
10376 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10377
10378         * *.c, *.h: commit of gst-indent run on core
10379
10380 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10381
10382         * tools/gst-indent:
10383         * tools/Makefile.am:
10384           add our indentation style as a script
10385
10386 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * po/sr.po:
10389         * po/LINGUAS:
10390           added Serbian translation
10391
10392 2004-03-13  Benjamin Otte  <otte@gnome.org>
10393
10394         * gst/gstelement.c:
10395           add documentation note about gst_element_found_tags_for_pad not
10396           being usable in getfunctions. (see #137042)
10397
10398 2004-03-12  David Schleef  <ds@schleef.org>
10399
10400         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10401         change API right now!  Readd gst_caps_is_simple() macro.
10402         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10403         uninitialized variable.  I'd bet this caused crashes.
10404         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10405
10406 2004-03-12  Johan Dahlin  <johan@gnome.org>
10407
10408         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10409         * gst/gstcaps.h: Clean up
10410
10411         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10412         _gst_caps_initalize()
10413
10414         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10415         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10416
10417         * gst/gststructure.c (gst_structure_get_type): Ditto
10418
10419         * gst/gststructure.h: Ditto
10420         
10421 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10422
10423         * gst/gstqueue.c: (gst_queue_init):
10424           Reset default max. values in queues. Reason is simply to avoid
10425           braindead use. If you want wider values, use the properties. The
10426           default is supposed to always work. Wider values would make this
10427           beast a memory hog by default (250 full-PAL RGB32 video frames?
10428           That's 440 MB! No thank you).
10429
10430 2004-03-10  David Schleef  <ds@schleef.org>
10431
10432         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10433         were found.  (bug #136793)
10434
10435 2004-03-10  Johan Dahlin  <johan@gnome.org>
10436
10437         * gst/schedulers/gstoptimalscheduler.c
10438         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10439         links to elements within the same group, so we can finally remove
10440         that annoying warning. Refactor the code a little bit
10441         (group_dec_links_for_element): Split out
10442
10443 2004-03-09  David Schleef  <ds@schleef.org>
10444
10445         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10446         (bug #134863)
10447
10448 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10449
10450         * configure.ac: first bug fix due to major/minor bump
10451
10452 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10453
10454         * configure.ac: bump nano to 1
10455
10456 === release 0.7.6 ===
10457
10458 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10459
10460         * NEWS:
10461         * RELEASE:
10462         * configure.ac:
10463           releasing 0.7.6, "Almost"
10464         * po/fr.po:
10465         * po/nl.po:
10466         * tools/Makefile.am:
10467         * tools/gst-feedback-m.m:
10468           unversioned source
10469
10470 2004-03-09  Johan Dahlin  <johan@gnome.org>
10471
10472         Reviewed by: Thomas Vander Stichele
10473
10474         * gst/gstelement.c (gst_element_class_init): register second
10475         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10476         language bindings can (de)marshall correctly.
10477
10478         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10479
10480         * gst/gsterror.c (gst_g_error_get_type): New function
10481
10482         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10483         with VOID:OBJECT,OBJECT,STRING 
10484
10485 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10486
10487         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10488         Free a leaked g_timer on early returns.
10489
10490 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10491
10492         * docs/pwg/advanced-types.xml:
10493           Add cinepak description.
10494
10495 2004-03-07  David Schleef  <ds@schleef.org>
10496
10497         * docs/random/mimetypes:  Added cinepak description
10498
10499 2004-03-07  Andy Wingo  <wingo@pobox.com>
10500
10501         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10502
10503         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10504         there are no links to other groups when a group is destroyed.
10505         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10506         removed from a group, make sure the link count to elements linked
10507         to other pads is appropriately decremented. This really fixes
10508         #135672.
10509
10510         The 1.60->1.61 patch has been reapplied in light of this fix.
10511
10512         * gst/gstelement.c (gst_element_dispose): Really protect against
10513         multiple invocations this time.
10514
10515 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10516
10517         * docs/gst/gstreamer-sections.txt:
10518         * docs/gst/tmpl/gsttag.sgml:
10519           remove some deprecated functions, document some existing ones
10520         * gst/gsttag.c: (gst_tag_get_flag):
10521         * gst/gsttag.h:
10522           add accessor function
10523
10524 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * docs/gst/gstreamer-sections.txt:
10527         * docs/gst/tmpl/gsttag.sgml:
10528         * docs/gst/tmpl/gstxml.sgml:
10529         * gst/gsttag.c: (gst_tag_get_flag):
10530         * gst/gsttag.h:
10531
10532 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10533
10534         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10535         leak
10536
10537 2004-03-05  David Schleef  <ds@schleef.org>
10538
10539         * REQUIREMENTS: Add bison and flex.
10540         * configure.ac: Fix comment about bison.
10541         * docs/random/ds/0.9-suggested-changes: yer ma
10542         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10543
10544 2004-03-05  Benjamin Otte  <otte@gnome.org>
10545
10546         * gst/gstelement.c: (gst_element_error_full):
10547           revert recent recursive state changing commit - messing with other
10548           elements' states is evil and should be done by apps only.
10549
10550 2004-03-05  Benjamin Otte  <otte@gnome.org>
10551
10552         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10553           check for empty intersection instead of NULL caps
10554         (gst_element_get_compatible_pad_filtered):
10555           remove old workaround that is only a bug nowadays
10556
10557 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10558
10559         * gst/gstelement.c: (gst_element_error_full):
10560           make elements try to recursively change state to PAUSED on all
10561           parents after an error to suppress ensuing warnings
10562         * gst/parse/grammar.y:
10563           make it check if it was able to sync the state, and throw an error
10564           if not, so stuff like
10565           oggdemux ! vorbisdec ! osssink gets caught
10566
10567 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10568
10569         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10570           it contains lib64; use AS_AC_EXPAND to handle it properly
10571
10572 2004-03-05  David Schleef  <ds@schleef.org>
10573
10574         * gst/gstcpuid_i386.s:  Remove unused code
10575         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10576         (gst_getbits_newbuf): Remove MMX code
10577         * libs/gst/getbits/getbits.h: Remove MMX code
10578
10579 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10580
10581         * debian/.cvsignore:
10582         * debian/README.Debian:
10583         * debian/changelog:
10584         * debian/control:
10585         * debian/control.in:
10586         * debian/copyright:
10587         * debian/gstreamer-core-libs-dev.files:
10588         * debian/gstreamer-core-libs.files:
10589         * debian/gstreamer-core.files:
10590         * debian/gstreamer-core.postinst:
10591         * debian/gstreamer-core.postrm:
10592         * debian/gstreamer-doc.files:
10593         * debian/gstreamer-doc.links:
10594         * debian/gstreamer-doc.lintian:
10595         * debian/gstreamer-runtime.files:
10596         * debian/gstreamer-runtime.manpages:
10597         * debian/gstreamer-runtime.postinst:
10598         * debian/gstreamer-runtime.postrm:
10599         * debian/gstreamer-tools.files:
10600         * debian/gstreamer-tools.manpages:
10601         * debian/libgstreamer-dev.files:
10602         * debian/libgstreamer0.4.1.files:
10603         * debian/libgstreamerVERSION.files:
10604         * debian/rules:
10605         Debian package info not maintained here.
10606
10607 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10608
10609         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10610         * gst/gstbin.c: (gst_bin_class_init):
10611         * gst/gstelement.c: (gst_element_class_init):
10612         * gst/gstindex.c: (gst_index_class_init):
10613         * gst/gstobject.c: (gst_object_class_init),
10614         (gst_signal_object_class_init):
10615         * gst/gstpad.c: (gst_pad_template_class_init):
10616         * gst/gstregistry.c: (gst_registry_class_init):
10617         * gst/gsturi.c: (gst_uri_handler_base_init):
10618         * gst/gstxml.c: (gst_xml_class_init):
10619         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10620         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10621           make all signal names use dashes instead of underscore
10622
10623 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10624
10625         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10626
10627 2004-03-03  Benjamin Otte  <otte@gnome.org>
10628
10629         * gst/schedulers/gstoptimalscheduler.c:
10630           revert last commit by Andy Wingo. It causes segfaults on unreffing
10631           in Rhythmbox. (see bug #135672)
10632
10633 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10634
10635         * po/fr.po: fix typo
10636
10637 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10638
10639         * tools/gst-inspect.c: (main): 
10640         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10641
10642 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10643
10644         * configure.ac:
10645           get GLIB_ONLY and POPT flags for the nonversioned binaries
10646         * tools/Makefile.am:
10647           use them
10648
10649 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10650
10651         * gst/gst.c: (init_post):
10652           change so that GST_REGISTRY now is where the global registry gets
10653           saved, since that is where plugins now get attached to first, and
10654           spilled over to the user registry.  Note that in the case of using
10655           GST_REGISTRY env var, we don't want to affect any real registries
10656           beyond the one given by this var, and thus we don't set a user
10657           registry to spill to.  So make sure GST_REGISTRY is writable.
10658
10659 2004-03-01  David Schleef  <ds@schleef.org>
10660
10661         * AUTHORS:  Added some names.  Add yourself if you're missing.
10662
10663 2004-03-01  David Schleef  <ds@schleef.org>
10664
10665         * MAINTAINERS: Add
10666
10667 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10668
10669         * configure.ac:
10670           remove whitespace
10671         * docs/gst/tmpl/gstbuffer.sgml:
10672         * docs/gst/tmpl/gstdata.sgml:
10673         * docs/gst/tmpl/gstreamer-unused.sgml:
10674         * docs/gst/tmpl/gstxml.sgml:
10675           doc update
10676         * docs/manuals.mak:
10677           add a FIXME
10678         * docs/pwg/intro-preface.xml:
10679         * docs/pwg/pwg.xml:
10680           remove GNOME
10681         * gst/gst.c: (init_post):
10682           try GST_PLUGIN_PATH paths for the _global_registry first
10683         * gst/gstelement.h:
10684           add the error message as well, otherwise (null) debug info doesn't
10685           make much sense
10686         * tools/gst-register.c: (main):
10687           spill paths to next registry if this registry is not writable
10688         * po/fr.po:
10689         * po/nl.po:
10690           translation updates
10691
10692 2004-03-01  Johan Dahlin  <johan@gnome.org>
10693
10694         * gst/gstbuffer.c (_gst_buffer_initialize): 
10695         * gst/gstdata.c (gst_data_get_type): 
10696         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10697         instead of ref, since some applications that uses GBoxed
10698         routines depends on a function that actually returns a copy.
10699
10700 2004-02-27  Benjamin Otte  <otte@gnome.org>
10701
10702         * gst/gstbuffer.h:
10703           remove gst_buffer_free, use gst_data_unref
10704         * gst/gstdata.c: (gst_data_get_type):
10705           use refcounting in GstData GBoxed registration
10706         * gst/gstdata.h:
10707           remove gst_data_free, use gst_data_unref
10708
10709 2004-02-27  Johan Dahlin  <johan@gnome.org>
10710
10711         * gst/gstdata.c (gst_data_get_type): New function, register
10712         GstData as a GBoxed type.
10713
10714         * gst/gstdata.h (GST_TYPE_DATA): New macro
10715
10716 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10717
10718         * Makefile.am:
10719         * gstreamer.spec.in:
10720           put back RELEASE
10721         * gst/Makefile.am:
10722           clean up non-disting of built files
10723         * testsuite/debug/commandline.c:
10724           test fix for option rename
10725
10726 2004-02-26  David Schleef  <ds@schleef.org>
10727
10728         * configure.ac:  We don't really need glib-2.3.  Also remove
10729         some unneeded checks for library functions.
10730         * gst/Makefile.am:  Instead, we need to not dist files created
10731         by glib-genmarshal.
10732
10733 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * configure.ac:
10736           bump glib required version to 2.3.0 for g_value_takes_boxed
10737
10738  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
10739
10740         * common/m4/gst-docs.m4
10741         change flavour text from enable to disable as enable is our default
10742         closes bug Bug 135304
10743
10744 === release 0.7.5 ===
10745  
10746  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10747  
10748         * NEWS:
10749           instate NEWS file
10750         * Makefile.am:
10751         * gstreamer.spec.in:
10752         * RELEASE:
10753           put back release
10754         * configure.ac:
10755         * docs/random/release:
10756           more updates
10757
10758 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10759
10760         * gst/gsttag.c: (_gst_tag_initialize):
10761         * po/fr.po:
10762         * po/nl.po:
10763           remove hyphen from codec tags
10764
10765 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10766
10767         * gst/parse/Makefile.am:
10768           fix dependency so that a make from a clean build works the first
10769           time
10770
10771 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * docs/random/release:
10774           update release strategy
10775         * po/fr.po:
10776           auto-update po file
10777         * po/nl.po:
10778           update dutch translation
10779
10780 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10781
10782         * docs/manual/debugging.xml:
10783         fix manual for new debugging system
10784
10785 2004-02-25  Andy Wingo  <wingo@pobox.com>
10786
10787         * gst/gstpad.c (gst_pad_link_prepare): Re-add
10788         gst_pad_link_prepare. Please email the list with specific reasons
10789         for reverting.
10790
10791 2004-02-24  Andy Wingo  <wingo@pobox.com>
10792
10793         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10794         invocations.
10795
10796         * gst/schedulers/gstoptimalscheduler.c:
10797         I added a mess of prototypes at the top of the file by way of
10798         documentation. Some of the operations on chains and groups were
10799         re-organized.
10800
10801         (create_group): Added a type argument so if the group is enabled,
10802         the setup_group_scheduler knows what to do.
10803         (group_elements): Added a type argument here, too, to be passed on
10804         to create_group.
10805         (group_element_set_enabled): If an unlinked PLAYING element is
10806         added to a bin, we have to create a new group to hold the element,
10807         and this function will be called before the group is added to the
10808         chain. Thus we have a valid case for group->chain==NULL. Instead
10809         of calling chain_group_set_enabled, just set the flag on the group
10810         (the chain's status will be set when the group is added to it).
10811         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
10812         Setup the group scheduler when the group is enabled, not
10813         specifically when an element goes PAUSED->PLAYING. This means
10814         PLAYING elements can be added, linked, and scheduled into a
10815         PLAYING pipeline, as was intended.
10816         (add_to_group): Don't ref the group twice. I don't know when this
10817         double-ref got in here. Removing it has the potential to cause
10818         segfaults if other parts of the scheduler are buggy. If you find
10819         that the scheduler is segfaulting for you, put in an extra ref
10820         here and see if that hacks over the underlying issue. Of course,
10821         then find out what code is unreffing a group it doesn't own...
10822         (create_group): Make the extra refcount floating, and remove it
10823         after adding the element. This means that...
10824         (unref_group): Destroy when the refcount reaches 0, not 1, like
10825         every other refcounted object in the known universe.
10826         (remove_from_group): When a group becomes empty, set it to be not
10827         active, and remove it from its chain. Don't unref it again,
10828         there's no floating reference any more.
10829         (destroy_group): We have to remove the group from the chain in
10830         remove_from_group (rather than here) to break refcounting cycles
10831         (the chain always has a ref on the group). So assert that
10832         group->chain==NULL.
10833         (ref_group_by_count): Removed, it was commented out anyway.
10834         (merge_chains): Use the remove_from_chain and add_to_chain
10835         primitives to do the reparenting, instead of rolling our own
10836         implementation.
10837         (add_to_chain): The first non-disabled group in the chain's group
10838         list will be the entry point for the chain. Because buffers can
10839         accumulate in loop elements' peer bufpens, we preferentially
10840         schedule loop groups before get groups to avoid unnecessary
10841         execution of get-based groups when the bufpens are already full.
10842         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
10843         (get_group_schedule_function): Ditto.
10844         (loop_group_schedule_function): Ditto.
10845         (gst_opt_scheduler_loop_wrapper): Ditto.
10846         (gst_opt_scheduler_iterate): Ditto.
10847
10848         I understand the opt scheduler now, yippee!
10849
10850         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
10851         (gst_pad_get_name, gst_pad_set_chain_function) 
10852         (gst_pad_set_get_function, gst_pad_set_event_function) 
10853         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
10854         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
10855         (gst_pad_set_query_function, gst_pad_get_query_types) 
10856         (gst_pad_get_query_types_default) 
10857         (gst_pad_set_internal_link_function) 
10858         (gst_pad_set_formats_function, gst_pad_set_link_function) 
10859         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
10860         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
10861         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
10862         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
10863         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
10864         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
10865         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
10866         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
10867         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
10868         (gst_pad_event_default_dispatch, gst_pad_event_default) 
10869         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
10870         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
10871         (gst_pad_get_formats_default, gst_pad_get_formats): Better
10872         argument checks, and some doc fixes.
10873
10874         (gst_pad_custom_new_from_template): Um, does anyone
10875         use these functions? Actually make a custom pad instead of a
10876         normal one.
10877         (gst_pad_try_set_caps): Transpose some checks.
10878         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
10879         the pad is in negotiation.
10880         (gst_pad_try_relink_filtered): Use pad_link_prepare.
10881         
10882         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
10883
10884         * gst/gstelement.h: 
10885         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
10886         on the list.
10887
10888 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10889
10890         * gst/gstbin.c: (gst_bin_add):
10891           add error for not being able to add elements
10892
10893 2004-02-22  Julien MOUTTE <julien@moutte.net>
10894
10895         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
10896         audio-codec and video-codec.
10897
10898 2004-02-22  Benjamin Otte  <otte@gnome.org>
10899
10900         reported by: Padraig O'Briain <padraig.obriain@sun.com>
10901
10902         * autogen.sh:
10903           replace test -e with test -x for mkinstalldirs to be more portable.
10904           (fixes #134816)
10905
10906 2004-02-22  Benjamin Otte  <otte@gnome.org>
10907
10908         * gst/gstpad.c:
10909           revert last patch from Andy, it makes gst_pad_can_link_filtered much
10910           too noisy
10911         * gst/gsttag.c: (_gst_tag_initialize):
10912         * gst/gsttag.h:
10913           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
10914         * libs/gst/control/dparam.c: (gst_dparam_attach):
10915         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
10916           check that types for attached dparams match
10917
10918 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10919
10920         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10921         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10922         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10923           fix errors
10924
10925 2004-02-20  Andy Wingo  <wingo@pobox.com>
10926
10927         * gst/gstbin.c:
10928         * gst/gstbuffer.c:
10929         * gst/gstplugin.c:
10930         * gst/registries/gstxmlregistry.c: 
10931         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
10932
10933         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
10934         (gst_element_add_pad): DEBUG->INFO, some fixes.
10935         (gst_element_get_compatible_pad_template): Just see if the
10936         templates' caps intersect, not if one is a strict subset of the
10937         other. This conforms more to what gst_pad_link_intersect() does.
10938         (gst_element_class_add_pad_template): Don't memcpy the pad
10939         template, just ref it.
10940         (gst_element_get_compatible_pad_filtered): Clean up debug messages
10941
10942         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
10943         (gst_pad_link_filtered): Debug changes.
10944         (gst_pad_link_prepare): New function, consolidated from
10945         can_link_filtered and link_filtered.
10946
10947         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
10948         look more like that of the functions in gstelement.c
10949
10950         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
10951         object, and return the empty string if object is NULL.
10952
10953         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
10954         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10955         LOG, not DEBUG. We still get flex info on debug.
10956
10957         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10958         debug string more verbose.
10959         (plugin_times_older_than): DEBUG->LOG.
10960
10961 2004-02-20  Julien MOUTTE <julien@moutte.net>
10962
10963         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
10964         will emit found_tag for each stream they demux with the codec.
10965
10966 2004-02-20  Benjamin Otte  <otte@gnome.org>
10967
10968         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10969           copy navigation event correctly. Check freeing tag lists. 
10970         * gst/gstthread.c: (gst_thread_change_state):
10971           don't abort() on state changing mess - it might happen because of
10972           bugs.
10973         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10974           use boxed functions
10975         * gst/gstvalue.h:
10976           fix GST_VALUE_HOLDS_CAPS
10977
10978 2004-02-19  David Schleef  <ds@schleef.org>
10979
10980         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10981         and use it for GST_FUNCTION.  (bug #134750)
10982
10983 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10984
10985         * po/fr.po:
10986         * po/nl.po:
10987           updating translations
10988
10989 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10990
10991         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
10992
10993 2004-02-18  kost@imn.htwk-leipzig.de
10994
10995         reviewed by: David Schleef  <ds@schleef.org>
10996
10997         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
10998         for libgstcontrol.
10999
11000 2004-02-18  David Schleef  <ds@schleef.org>
11001
11002         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11003         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11004         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11005         * tools/gst-inspect.c: (print_element_info): Support dumping of
11006         double dparam information.
11007
11008 2004-02-17  David Schleef  <ds@schleef.org>
11009
11010         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11011         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11012         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11013         Use GST_TYPE_CAPS in signal prototype.
11014         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11015         Convert GST_TYPE_CAPS to boxed.
11016         * gst/gstelement.c: (gst_element_class_init):
11017         Use GST_TYPE_TAG_LIST in signal prototype.
11018         * gst/gstindex.c: (gst_index_class_init):
11019         * gst/gstindex.h:
11020         Add GST_TYPE_INDEX_ENTRY type.
11021         * gst/gstmarshal.list:
11022         Add necessary marshal types.
11023         * gst/gstpad.c: (gst_real_pad_class_init),
11024         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11025         (gst_pad_recover_caps_error):
11026         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11027         * gst/gststructure.c: (_gst_structure_initialize),
11028         (gst_structure_copy), (_gst_structure_copy_conditional):
11029         * gst/gststructure.h:
11030         Convert GST_TYPE_STRUCTURE to boxed.
11031         * gst/gsttag.c: (gst_tag_list_get_type):
11032         * gst/gsttag.h:
11033         Add GST_TYPE_TAG_LIST type.
11034
11035 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11036
11037         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11038         to what we agreed with david.
11039         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11040
11041 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11042
11043         * po/nl.po: update translation
11044
11045 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11046
11047         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11048           throw an error if spider is trying to play a mime type there is
11049           no decoder for
11050         * po/POTFILES.in:
11051           add gst/autoplug/gstspider.c for translation
11052
11053 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11054
11055         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11056         silently when the pad is negotiating.
11057
11058 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * docs/faq/Makefile.am:
11061           add script to run gstreamer uninstalled 
11062         * docs/faq/faq.xml:
11063         * docs/faq/developing.xml:
11064         * docs/faq/gst-uninstalled:
11065           extract script to run gstreamer uninstalled
11066         * docs/manuals.mak:
11067           add EXTRA_SOURCES variable for Makefile.am's to set to
11068           use additional SOURCE files for the doc build
11069
11070 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11071
11072         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11073
11074 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11075
11076         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11077         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11078         an error was thrown by osssink. Basically a state change failure for
11079         an element in a different scheduling group was considered as
11080         successful, which means that caps nego was going on and weird stuff
11081         happened. Like I wrote in the comment there, if someone wants to
11082         revert that please drop me a mail explaining why because I really see
11083         no point in keeping that broken behaviour there.
11084         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11085         be empty, we then return NULL which will trigger a nice error when 
11086         pulling from the pad.
11087
11088 2004-02-13  David Schleef  <ds@schleef.org>
11089
11090         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11091         (gst_dparam_get_property), (gst_dparam_set_property),
11092         (gst_dparam_do_update_default):
11093         * libs/gst/control/dparam.h:
11094         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11095         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11096         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11097         (gst_dpsmooth_do_update_double):
11098         * libs/gst/control/dparam_smooth.h:
11099         * libs/gst/control/dparammanager.c:
11100         (gst_dpman_inline_direct_update):
11101         Add support for double dparams.
11102
11103 2004-02-13  David Schleef  <ds@schleef.org>
11104
11105         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11106         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11107
11108 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11109
11110         reviewed by: David Schleef  <ds@schleef.org>
11111
11112         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11113         (gst_fdsrc_init), (gst_fdsrc_set_property),
11114         (gst_fdsrc_get_property), (gst_fdsrc_get):
11115         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11116         and sends an EOS event if file descriptor reading times out.
11117
11118 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11119
11120         * configure.ac:
11121           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11122
11123 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11124
11125         * configure.ac: pass required libxml version as argument
11126         (bug reported by Christophe Fergeau)
11127
11128 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11129   
11130         * docs/gst/gstreamer-docs.sgml:
11131         * docs/gst/tmpl/gstxml.sgml:
11132         * docs/libs/gstreamer-libs-docs.sgml:
11133           version API docs
11134
11135 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11136
11137         * gst/gstinfo.c:
11138         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11139         (gst_registry_pool_feature_filter):
11140         * gst/gstthread.c: (gst_thread_class_init):
11141         * gst/gstvalue.c:
11142           add includes exposed by building without libxml
11143         * gst/indexers/Makefile.am:
11144           do not build fileindex when LOADSAVE disabled; we should have
11145           a better libxml check later since fileindex depends on xml, not
11146           LOADSAVE or REGISTRY
11147         * libs/gst/control/Makefile.am:
11148           link with m
11149         * tools/Makefile.am:
11150           fix wrong source code for gst-xmlinspect
11151
11152 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11153
11154         * configure.ac:
11155           fix gcov help output
11156           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11157         * docs/random/release:
11158           some updated releasing notes
11159         * gstreamer.spec.in:
11160           more updates
11161
11162 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11163
11164         * docs/faq/faq.xml:
11165         * docs/manual/manual.xml:
11166         * docs/pwg/pwg.xml:
11167         * docs/pwg/titlepage.xml:
11168           put version in documentation
11169
11170 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11171
11172         * tools/Makefile.am: fix man page installation
11173
11174 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11175
11176         * configure.ac:
11177           don't check for libxml when load/save and registry disabled (#105844)
11178         * gstreamer.spec.in:
11179           sync with fedora candidate spec
11180
11181 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * po/fr.po:
11184         * po/nl.po:
11185           replace multidisksrc with multifilesrc
11186
11187 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11188
11189         * po/POTFILES.in:
11190           update to multidisksrc => multifilesrc file renaming (#134145)
11191
11192 2004-02-11  David Schleef  <ds@schleef.org>
11193
11194         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11195         * docs/gst/tmpl/gstpadtemplate.sgml: same
11196         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11197         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11198         fixing dance.
11199         * gst/gstutils.c: Remove disabled code that uses GstProps.
11200         * gst/registries/gstxmlregistry.h: same
11201         * docs/random/ds/0.9-suggested-changes: random notes
11202
11203 2004-02-11  kost@imn.htwk-leipzig.de
11204
11205         reviewed by: David Schleef  <ds@schleef.org>
11206
11207         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11208         initialisation of clock (bug #134128)
11209
11210 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11211
11212         * configure.ac:
11213         * gst/elements/Makefile.am:
11214         * gst/elements/gstelements.c:
11215         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11216         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11217         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11218         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11219         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11220         * gst/elements/gstmultifilesrc.h:
11221           rename multidisksrc to multifilesrc (part of #122200)
11222
11223 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11224
11225         * docs/manuals.mak:
11226           fix automake complaints
11227         * gst-element-check.m4:
11228           fix unquotedness
11229
11230 2004-02-11  David Schleef  <ds@schleef.org>
11231
11232         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11233         * gst/gstatomic_impl.h: Disable sparc implementation.
11234
11235 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * gst-element-check.m4:
11238           fix underquoted macros as reported by automake 1.8.x (#133800)
11239         * configure.ac:
11240           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11241           by autopoint (fixes #132996)
11242
11243 2004-02-10  Andy Wingo  <wingo@pobox.com>
11244
11245         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11246         way to do inheritance.
11247         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11248         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11249         Routine docs.
11250         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11251         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11252         doc.
11253         (gst_pad_unlink, gst_pad_is_linked): Docs.
11254         (gst_pad_renegotiate): A brief description of capsnego.
11255         (gst_pad_try_set_caps): Document.
11256         (gst_pad_try_set_caps_nonfixed): Document.
11257         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11258         (gst_pad_set_parent): Deprecated (although not out of the API).
11259         (gst_pad_get_parent): Deprecated, although many plugins use this.
11260         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11261         are private and will go away in 0.9.
11262         (gst_pad_perform_negotiate): Doc.
11263         (gst_pad_link_unnegotiate): I think this is meant to be static.
11264         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11265         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11266         (gst_pad_get_peer): Doc updates.
11267         (gst_pad_caps_change_notify): Doc.
11268         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11269         (gst_ghost_pad_new): Doc fixes.
11270
11271         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11272         (gst_object_check_uniqueness): 
11273
11274         * gst/gstelement.c (gst_element_add_pad) 
11275         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11276         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11277         (gst_element_get_static_pad, gst_element_get_pad_list) 
11278         (gst_element_class_get_pad_template_list) 
11279         (gst_element_class_get_pad_template): Work on the docs.
11280         (gst_element_get_pad_template_list): Uses the class method.
11281         (gst_element_get_compatible_pad_template): Docs, and consolidate
11282         some test conditions. 
11283         (gst_element_get_pad_from_template): New static function.
11284         (gst_element_request_compatible_pad): Docs, and work with
11285         non-request compatible templates. 
11286         (gst_element_get_compatible_pad_filtered): Docs and remove
11287         redundant checks.
11288         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11289         (gst_element_link_filtered, gst_element_link_many) 
11290         (gst_element_link, gst_element_link_pads) 
11291         (gst_element_unlink_many): Docs.
11292
11293 2004-02-05  Andy Wingo  <wingo@pobox.com>
11294
11295         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11296         s/pointer/boxed/.
11297
11298         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11299
11300         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11301         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11302         with the type=GST_TYPE_CAPS. This allows language bindings to know
11303         what kind of data they're dealing with.
11304
11305         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11306         to NULL when g_value_init is called. GstCaps, which rolls its own
11307         type implementation, now does the same instead of allocating empty
11308         caps.
11309         (_gst_caps_initialize, _gst_caps_collect_value,
11310         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11311         table methods. This allows G_VALUE_COLLECT to work.
11312
11313 2004-02-05  Andy Wingo  <wingo@pobox.com>
11314
11315         * configure.ac:
11316         * testsuite/Makefile.am (SUBDIRS): 
11317         * testsuite/ghostpads/Makefile.am: 
11318         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11319
11320         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11321         These two routines are the only ones that set
11322         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11323         pad template. They should be made static, depending on ABI needs.
11324         (gst_real_pad_dispose): Handle the case of ghost pads without a
11325         parent. Assert after dealing with ghost pads that the ghost pad
11326         list is empty.
11327         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11328         set after creation.
11329         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11330         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11331         functions. set_property will call add_ghost_pad/remove_ghost_pad
11332         as appropriate.
11333         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11334
11335         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11336         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11337         (gst_element_remove_pad): Handle ghost pads as well.
11338         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11339         depending on API-stability needs).
11340
11341 2004-02-05  Andy Wingo  <wingo@pobox.com>
11342
11343         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11344         of course they're const
11345
11346 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11347
11348         * tools/Makefile.am:
11349         * tools/gst-feedback:
11350         * tools/gst-feedback-0.7:
11351           make gst-feedback versioned too for consistency
11352
11353 2004-02-11  David Schleef  <ds@schleef.org>
11354
11355         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11356         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11357
11358 2004-02-10  Julien MOUTTE <julien@moutte.net>
11359
11360         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11361         the structure does not contain a valid tag list. Adding a safety check
11362         to remove a noisy warning in that case.
11363
11364 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11365
11366         * gst/gst.c: fix name to be in line with others
11367
11368 2004-02-09  Julien MOUTTE <julien@moutte.net>
11369
11370         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11371         not shout that loud when len is 0. Just return 0 silently.
11372
11373 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11374
11375         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11376         because data_unref has one and I prefer the debug to be symetric.
11377         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11378         were refed when added to the queue and unrefed only once when the queue
11379         was flushed. Now the flush handler unref the buffers two times : first
11380         unref for the ref added when pushing in the queue's tail and second
11381         unref to destroy the flushed buffer.
11382
11383 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11384
11385         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11386
11387 2004-02-06  David Schleef  <ds@schleef.org>
11388
11389         * docs/random/ds/0.9-suggested-changes: Random ramblings
11390         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11391         to int before printing.
11392         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11393         * gst/parse/parse.l: same.  See bug #129600
11394
11395 2004-02-06  David Schleef  <ds@schleef.org>
11396
11397         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11398         (gst_index_add_entry), (gst_index_add_associationv),
11399         (gst_index_add_association): Add gst_index_add_associationv()
11400         and clean up gst_index_add_association(). #127133
11401
11402 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11403
11404         * autogen.sh: check out common with right tag if CVS/Tag exists
11405
11406 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11407
11408         * testsuite/ghostpads/ghostpads.c: (main):
11409           fix testsuite from segfaulting
11410
11411 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * Makefile.am: add release target
11414         * configure.ac: bump nano to 1
11415         * docs/random/release:
11416
11417 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11418
11419         * gst/gstcaps.h:
11420         * gst/gstelement.c: (gst_element_base_class_init),
11421         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11422         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11423         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11424         (gst_real_pad_dispose):
11425         * gst/gststructure.c: (gst_structure_free),
11426         (gst_structure_from_string):
11427           put reverted patch back in
11428         * gst/gstelement.c: (gst_element_remove_pad):
11429           free explicit caps if they're set
11430         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11431           copy the structure when fixating
11432
11433 2004-02-05  David Schleef  <ds@schleef.org>
11434
11435         * gst/gstmarshal.list:
11436         * gst/gstpad.c: (gst_real_pad_class_init),
11437         (_gst_real_pad_fixate_accumulator):
11438         Revert POINTER->BOXED change in signal marshaller.
11439
11440 === release 0.7.4 ===
11441                                                                                 
11442 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11443                                                                                 
11444         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11445         * configure.ac: changed for release
11446
11447 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11448
11449         * gstreamer.spec.in:
11450           bump required version of gtk-doc
11451
11452 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11453
11454         * gst/gstcaps.h:
11455         * gst/gstelement.c: (gst_element_base_class_init),
11456         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11457         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11458         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11459         (gst_real_pad_dispose):
11460         * gst/gststructure.c: (gst_structure_free),
11461         (gst_structure_from_string):
11462           revert patch that breaks applications, reapply after release
11463           to get this fixed properly
11464
11465 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11466
11467         * gst/gsttag.c: (_gst_tag_initialize):
11468         * gst/gsttag.h:
11469           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11470
11471 2004-02-04  David Schleef  <ds@schleef.org>
11472
11473         Fix some memleaks:
11474         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11475         (gst_spider_plug_from_srcpad):
11476         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11477
11478 2004-02-04  David Schleef  <ds@schleef.org>
11479
11480         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11481         a GstRealPad before accessing its structure members.
11482
11483 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11484
11485         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11486         (gst_clock_get_speed):
11487         * gst/gstclock.h:
11488           reset padding, remove unused fields
11489
11490 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11491
11492         * gst/autoplug/gstspideridentity.c:
11493         (gst_spider_identity_sink_loop_type_finding):
11494           use get_allowed_caps, not get_caps (fixes #132519)
11495         * gst/elements/gsttypefind.c: (stop_typefinding):
11496           use correct order when sending buffers and seeking
11497
11498 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11499
11500         * configure.ac:
11501         * gst/gstelement.h:
11502         * gst/gstpad.h:
11503         * gst/gstqueue.h:
11504           upgrade libtool CURRENT, reset padding
11505
11506 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11507
11508         * configure.ac:
11509           bump to prerelease
11510           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11511
11512 2004-02-04  David Schleef  <ds@schleef.org>
11513
11514         * docs/random/ds/0.9-suggested-changes: random notes
11515         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11516         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11517         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11518         expansion.
11519         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11520         (gst_filesink_get_query_types): same
11521         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11522         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11523         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11524         to use new GST_PTR_FORMAT.
11525         * gst/gstelement.h: deprecate function factory macros
11526         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11527         These are our last variadic macros that can't be replaced with
11528         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11529         attempting to deprecate gst_element_clock_wait().
11530         * gst/gstevent.h: same
11531         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11532         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11533         * gst/gstpad.h: deprecate function factory macros similar to above.
11534
11535 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11536
11537         * configure.ac:
11538         * tools/Makefile.am:
11539         * tools/gst-run.c: (popt_callback), (hash_print_key),
11540         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11541         (get_candidates), (main):
11542           add new source file to generate non-versioned wrapper binaries
11543           for our tools.
11544
11545 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11546
11547         * gst/gstevent.c: (_gst_event_free):
11548           actually break; inside the switch statement
11549         * gst/parse/grammar.y:
11550           fix memleak where GValues weren't unset
11551
11552 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11553
11554         * gst/gststructure.c: (gst_structure_from_string):
11555           fix huge memleak
11556         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11557         (new_entry), (gst_type_find_element_chain):
11558         * gst/gstelement.c: (gst_element_base_class_init),
11559         (gst_element_class_set_details):
11560         * gst/gstpad.c: (gst_pad_can_link_filtered):
11561           fix smaller memleaks
11562         * gst/gstpad.c: (gst_real_pad_dispose):
11563           check that explicit caps are gone
11564         * gst/gststructure.c: (gst_structure_free):
11565           actually free the structure
11566         * gst/gstelement.c: (gst_element_clear_pad_caps):
11567           unset explicit caps
11568
11569 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11570
11571         * tools/Makefile.am:
11572           use AM_CFLAGS since all the CFLAGS are the same
11573           use AM_LDFAGS
11574
11575 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * docs/manual/gnome.xml:
11578           expand example a little
11579         * gst/gst.c: (gst_init_with_popt_table),
11580         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11581           make sure popt option displays are done with right textdomain
11582           use GstPoptOption type
11583         * gst/gst.h:
11584           create GstPoptOption type
11585
11586 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11587
11588         * gst/gsterror.c: (_gst_stream_errors_init):
11589         * gst/gsterror.h:
11590           adding error type for no codec
11591         * po/POTFILES.in:
11592           add gst-inspect
11593         * po/nl.po:
11594           update dutch translation
11595         * tools/gst-inspect.c: (print_element_list), (main):
11596           do proper internationalization
11597         * tools/gst-launch.c: (idle_func):
11598           remove commented out function call
11599
11600 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11601
11602         * docs/README:
11603           add some error fixing notes
11604         * docs/gst/gstreamer-sections.txt:
11605           remove double entries
11606         * docs/gst/tmpl/gstbin.sgml:
11607         * docs/gst/tmpl/gstclock.sgml:
11608           remove override
11609         * docs/gst/tmpl/gstelement.sgml:
11610         * docs/gst/tmpl/gstindex.sgml:
11611         * docs/gst/tmpl/gstobject.sgml:
11612         * docs/gst/tmpl/gstpadtemplate.sgml:
11613         * docs/gst/tmpl/gstreamer-unused.sgml:
11614         * docs/gst/tmpl/gsttag.sgml:
11615         * docs/gst/tmpl/gstthread.sgml:
11616         * docs/gst/tmpl/gstxml.sgml:
11617         * gst/gsttag.h:
11618           sync header prototypes with c decls
11619         * gst/gsttaginterface.c:
11620           fix doc headers
11621
11622 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11623
11624         * gst/parse/Makefile.am:
11625         * gst/gstobject.h:
11626           get rid of gstmarshal.h dependency. It's not needed.
11627         * gst/gst.h:
11628         * gst/elements/gstfakesink.c:
11629         * gst/elements/gstfakesrc.c:
11630         * gst/elements/gstidentity.c:
11631         * gst/gstbin.c:
11632         * gst/gstelement.c:
11633         * gst/gstindex.c:
11634         * gst/gstobject.c:
11635         * gst/gstpad.c:
11636         * gst/gstthread.c:
11637         * gst/gstxml.c:
11638         * libs/gst/control/dparam.c:
11639         * libs/gst/control/dparammanager.c:
11640           include gstmarshal.h.
11641         Fixes #132045
11642
11643 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11644
11645         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11646         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11647         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11648         * gst/elements/gstfilesrc.h:
11649           don't ref the filesrc when creating mmaped buffers. Don't keep a
11650           list of not-yet-destroyed buffers.
11651         * gst/gstbuffer.h:
11652           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11653
11654 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11655
11656         * gst/gst.c: (init_pre):
11657           remove textdomain
11658
11659 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11660
11661         * docs/pwg/advanced-events.xml:
11662         * docs/pwg/advanced-scheduling.xml:
11663         * docs/pwg/intro-basics.xml:
11664         * docs/pwg/other-manager.xml:
11665         * docs/pwg/other-nton.xml:
11666         * docs/pwg/other-ntoone.xml:
11667         * docs/pwg/other-oneton.xml:
11668         * docs/pwg/pwg.xml:
11669           All sort of documentation... Forgot what. Point is that I want this
11670           in before I leave. The 'other-*' will be the last section and will
11671           explain issues specific to these type of elements.
11672
11673 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11674
11675         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11676         (gst_filesrc_get_read):
11677           set all the values on buffers that we can
11678
11679 2004-02-02  David Schleef  <ds@schleef.org>
11680
11681         Change usage of isblah() to g_ascii_isblah() to be more locale
11682         independent.  (#133076)
11683         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11684         * gst/gstutils.c:
11685         * gst/parse/parse.l:
11686
11687 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11688
11689         reviewed by: David Schleef  <ds@schleef.org>
11690
11691         Fix memory leaks:
11692         * gst/gstcaps.c: (gst_caps_to_string):
11693         * gst/registries/gstxmlregistry.c:
11694         (gst_xml_registry_add_path_list_func),
11695         (gst_xml_registry_parse_padtemplate):
11696
11697 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11698
11699         * gst/gstelement.c: (gst_element_default_error):
11700           suffix error messages with period
11701
11702 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11703
11704         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11705         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11706         * gst/gsterror.c: (gst_error_get_message):
11707           Suffix with dots
11708         * po/fr.po:
11709         * po/nl.po:
11710           Update translation files
11711
11712 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11713
11714         * gst/autoplug/gstspideridentity.c:
11715         (gst_spider_identity_sink_loop_type_finding):
11716         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11717         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11718         (gst_filesink_close_file), (gst_filesink_handle_event),
11719         (gst_filesink_chain):
11720         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11721         (gst_filesrc_get_read), (gst_filesrc_open_file):
11722         * gst/elements/gstidentity.c: (gst_identity_chain):
11723         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11724         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11725         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11726         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11727         * gst/gsterror.c: (_gst_core_errors_init),
11728         (_gst_library_errors_init), (_gst_resource_errors_init),
11729         (_gst_stream_errors_init), (gst_error_get_message):
11730         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11731         (gst_pad_recover_caps_error), (gst_pad_pull):
11732         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11733         * gst/schedulers/gstbasicscheduler.c:
11734         (gst_basic_scheduler_chainhandler_proxy),
11735         (gst_basic_scheduler_gethandler_proxy),
11736         (gst_basic_scheduler_cothreaded_chain):
11737           Suffix error messages with period.
11738           Use (NULL) instead of NULL
11739
11740 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11741
11742         * docs/gst/tmpl/gstelement.sgml:
11743         * docs/gst/tmpl/gstxml.sgml:
11744         * gst/gstelement.c: (gst_element_error_full):
11745           add element path to error
11746
11747 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11748
11749         * docs/random/mimetypes:
11750           update raw int/float info
11751         * gst/gsttag.c: (_gst_tag_initialize):
11752         * gst/gsttag.h:
11753           add GST_TAG_ENCODER
11754
11755 2004-01-30  David Schleef  <ds@schleef.org>
11756
11757         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
11758           missing (#132991)
11759
11760 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
11761
11762         reviewed by Benjamin Otte 
11763           parts of the patch submitted in bug #113913
11764
11765         * configure.ac:
11766           use AC_C_INLINE. Use = instead of == with test
11767         * examples/plugins/example.c:
11768         * gst/autoplug/gstspideridentity.c:
11769         * gst/elements/gstfdsrc.c:
11770         * gst/elements/gstfilesrc.c:
11771         * gst/elements/gstidentity.c:
11772         * gst/elements/gstmultidisksrc.c:
11773         * gst/elements/gststatistics.c:
11774         * gst/gstelement.c:
11775         * gst/gstobject.c:
11776         * gst/gstpad.c:
11777         * gst/gstpipeline.c:
11778         * gst/gstthread.c:
11779           don't end enums with a comma
11780         * gst/gstindex.c: (gst_index_compare_func):
11781           do explicit casting to gint
11782         * gst/gsttrace.c: (gst_trace_text_flush):
11783           #define strsize as a macro
11784
11785 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11786
11787         * docs/README:
11788         * docs/gst/gstreamer-docs.sgml:
11789         * docs/gst/gstreamer-sections.txt:
11790         * docs/gst/tmpl/gstelement.sgml:
11791         * docs/gst/tmpl/gsterror.sgml:
11792         * docs/gst/tmpl/gstinterface.sgml:
11793         * docs/gst/tmpl/gstreamer-unused.sgml:
11794         * docs/gst/tmpl/gststructure.sgml:
11795         * docs/gst/tmpl/gsttag.sgml:
11796         * docs/gst/tmpl/gsttaginterface.sgml:
11797         * docs/gst/tmpl/gstvalue.sgml:
11798         make sure all API ends up in the built docs
11799         * gst/gstinterface.c:
11800         * gst/gststructure.c: (gst_structure_id_set_value),
11801         (gst_structure_set_value), (gst_structure_id_get_value):
11802         * gst/gststructure.h:
11803         * gst/gstvalue.h:
11804         sync .h with .c declarations
11805
11806 2004-01-30  Julien Moutte  <julien@moutte.net>
11807
11808         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
11809         Ronald will fix riffread.
11810
11811 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11812
11813         * docs/pwg/advanced-interfaces.xml:
11814           Added tuner interface docs.
11815
11816 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11817
11818         * docs/random/mimetypes:
11819           correct Theora information
11820         * gst/gstelement.h:
11821           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
11822
11823 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11824
11825         * gst/gstelement.c: (gst_element_error_full):
11826         * gst/gstelement.h:
11827           GST_ELEMENT_ERROR in enum -> _IN_ERROR
11828
11829 2004-01-29  Julien MOUTTE  <julien@moutte.net>
11830
11831         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11832         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
11833         again and even before DISCONT.
11834         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
11835         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
11836         bytestream so that it's not stopping to fill the bytestream if events
11837         different than EOS or DISCONT are received. Instead it process them so
11838         that they go downstream.
11839
11840 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11841
11842         * docs/gst/tmpl/gstelement.sgml:
11843         * docs/gst/tmpl/gstreamer-unused.sgml:
11844         * docs/gst/tmpl/gstxml.sgml:
11845         * gst/autoplug/gstspideridentity.c:
11846         (gst_spider_identity_sink_loop_type_finding):
11847         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11848         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11849         (gst_filesink_close_file), (gst_filesink_handle_event),
11850         (gst_filesink_chain):
11851         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11852         (gst_filesrc_get_read), (gst_filesrc_open_file):
11853         * gst/elements/gstidentity.c: (gst_identity_chain):
11854         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11855         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11856         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11857         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11858         * gst/gstelement.h:
11859         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11860         (gst_pad_recover_caps_error), (gst_pad_pull):
11861         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11862         * gst/schedulers/gstbasicscheduler.c:
11863         (gst_basic_scheduler_chainhandler_proxy),
11864         (gst_basic_scheduler_gethandler_proxy),
11865         (gst_basic_scheduler_cothreaded_chain):
11866           gst_element_error -> GST_ELEMENT_ERROR
11867
11868 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11869
11870         * docs/Makefile.am:
11871         * docs/gst/tmpl/gstelement.sgml:
11872         * docs/gst/tmpl/gstxml.sgml:
11873         * docs/manuals.mak:
11874         * docs/pwg/advanced-request.xml:
11875         * docs/pwg/advanced-scheduling.xml:
11876         * docs/pwg/advanced-tagging.xml:
11877           fix non-validating docbook using CDATA
11878           make sure make check-local gets run first to check if it validates
11879
11880 2004-01-29  Julien MOUTTE <julien@moutte.net>
11881
11882         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
11883         handling (up and downstream).
11884         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
11885         my_filter thing.
11886
11887 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11888
11889         * docs/pwg/advanced-tagging.xml:
11890           Add docs about tag writing.
11891
11892 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11893
11894         * docs/pwg/advanced-tagging.xml:
11895           Add a part about tag reading and application signalling... Tag
11896           writing still needs to be documented.
11897         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11898           We can set file locations in READY, too.
11899
11900 2004-01-29  Julien MOUTTE <julien@moutte.net>
11901
11902         * docs/random/ds/element-checklist: Adding some notes about src
11903         events.
11904
11905 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11906
11907         * docs/random/mimetypes:
11908           Update docs to point to correct elements for various mimetypes, and
11909           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
11910           <stephane.loeuillet@tiscali.fr>.
11911
11912 2004-01-28  David Schleef  <ds@schleef.org>
11913
11914         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
11915
11916 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11917
11918         * docs/random/mimetypes:
11919           update docs for audio/x-raw-float. Add "buffer-frames=0 means
11920           undefined"
11921         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
11922           make it only work in NULL.
11923         * gst/gstcaps.c:
11924           don't posion NULL caps
11925         * gst/gstelement.c: (gst_element_set_time):
11926           add debugging statement
11927         * gst/gstelement.c: (gst_element_emit_found_tag),
11928         (gst_element_found_tag_func), (gst_element_found_tags):
11929         * gst/gstelement.h:
11930           These functions take const taglists
11931         * gst/gstpad.c: (gst_pad_proxy_getcaps):
11932           fix memleak
11933         * gst/gstpad.c: (gst_pad_event_default):
11934           make more effort on handling discont and clocks, g_warn if everything
11935           fails
11936         * gst/gststructure.c: (gst_structure_remove_fields),
11937         (gst_structure_remove_fields_valist):
11938         * gst/gststructure.h:
11939           add gst_structure_remove_fields(_valist)
11940         * gst/gsttag.c:
11941           fix doc glitch
11942
11943 2004-01-28  David Schleef  <ds@schleef.org>
11944
11945         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
11946         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
11947         Fix memory leakage of gst_caps_to_string().
11948
11949         Use GST_PTR_FORMAT instead of gst_caps_to_string():
11950         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
11951         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
11952         (gst_spider_identity_sink_loop_type_finding):
11953         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11954         (find_suggest):
11955         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11956         (gst_pad_set_explicit_caps):
11957         * gst/parse/grammar.y:
11958
11959 2004-01-28  David Schleef  <ds@schleef.org>
11960
11961         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
11962         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
11963         * docs/random/ds/0.9-suggested-changes: Notes from Company.
11964         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
11965         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
11966         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11967         (gst_debug_log_default), (_gst_info_printf_extension),
11968         (_gst_info_printf_extension_arginfo):  Add printf extension.
11969         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11970         * gst/gststructure.c: (gst_structure_to_string),
11971         (_gst_structure_parse_value): Use gst_value_deserialize() and
11972         remove old code.
11973         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11974         (gst_value_deserialize_boolean), (gst_strtoi),
11975         (gst_value_deserialize_int), (gst_value_deserialize_double),
11976         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11977         a bunch of deserialize functions and gst_value_deserialize.
11978         * gst/gstvalue.h: er, _de_serialize, not unserialize
11979         * testsuite/caps/string-conversions.c: (main): We don't currently
11980         handle (float) in caps, so convert these to (double).
11981         * testsuite/debug/Makefile.am: Add new test for the printf extension
11982         * testsuite/debug/printf_extension.c: (main): same
11983
11984 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11985
11986         * docs/random/company/time:
11987           Add some docs about clocking and time
11988
11989 2004-01-28  Julien MOUTTE <julien@moutte.net>
11990
11991         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
11992
11993 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11994
11995         * docs/pwg/advanced-clock.xml:
11996         * docs/pwg/advanced-dparams.xml:
11997         * docs/pwg/advanced-events.xml:
11998         * docs/pwg/advanced-interfaces.xml:
11999         * docs/pwg/advanced-midi.xml:
12000         * docs/pwg/advanced-request.xml:
12001         * docs/pwg/advanced-scheduling.xml:
12002         * docs/pwg/advanced-tagging.xml:
12003         * docs/pwg/advanced-types.xml:
12004         * docs/pwg/appendix-checklist.xml:
12005         * docs/pwg/building-boiler.xml:
12006         * docs/pwg/building-chainfn.xml:
12007         * docs/pwg/building-filterfactory.xml:
12008         * docs/pwg/building-pads.xml:
12009         * docs/pwg/building-props.xml:
12010         * docs/pwg/building-signals.xml:
12011         * docs/pwg/building-state.xml:
12012         * docs/pwg/building-testapp.xml:
12013         * docs/pwg/intro-basics.xml:
12014         * docs/pwg/intro-preface.xml:
12015         * docs/pwg/other-autoplugger.xml:
12016         * docs/pwg/other-sink.xml:
12017         * docs/pwg/other-source.xml:
12018         * docs/pwg/titlepage.xml:
12019           fix up id's
12020
12021 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * docs/95NonPath:
12024         * docs/HACKING:
12025         * docs/README:
12026         * docs/building-the-docs-on-debian:
12027           collect relevant bits of doc info
12028
12029 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12030
12031         * docs/pwg/advanced_tagging.xml:
12032           Half-assed commit so Thomas can re-arrange document IDs here to be
12033           consistent, too.
12034
12035 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * docs/manual/autoplugging.xml:
12038         * docs/manual/bins-api.xml:
12039         * docs/manual/bins.xml:
12040         * docs/manual/buffers-api.xml:
12041         * docs/manual/buffers.xml:
12042         * docs/manual/clocks.xml:
12043         * docs/manual/components.xml:
12044         * docs/manual/cothreads.xml:
12045         * docs/manual/debugging.xml:
12046         * docs/manual/dparams-app.xml:
12047         * docs/manual/dynamic.xml:
12048         * docs/manual/elements-api.xml:
12049         * docs/manual/elements.xml:
12050         * docs/manual/factories.xml:
12051         * docs/manual/gnome.xml:
12052         * docs/manual/goals.xml:
12053         * docs/manual/helloworld.xml:
12054         * docs/manual/helloworld2.xml:
12055         * docs/manual/init-api.xml:
12056         * docs/manual/intro.xml:
12057         * docs/manual/links-api.xml:
12058         * docs/manual/links.xml:
12059         * docs/manual/manual.xml:
12060         * docs/manual/motivation.xml:
12061         * docs/manual/pads-api.xml:
12062         * docs/manual/pads.xml:
12063         * docs/manual/plugins-api.xml:
12064         * docs/manual/plugins.xml:
12065         * docs/manual/programs.xml:
12066         * docs/manual/queues.xml:
12067         * docs/manual/quotes.xml:
12068         * docs/manual/schedulers.xml:
12069         * docs/manual/states-api.xml:
12070         * docs/manual/states.xml:
12071         * docs/manual/threads.xml:
12072         * docs/manual/typedetection.xml:
12073         * docs/manual/xml.xml:
12074           use chapter, part, section or misc as id starts for all bits
12075
12076 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12077
12078         * docs/gst/gstreamer-sections.txt:
12079           Fix up TITLE of the sections
12080
12081 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12082
12083         * docs/pwg/advanced_interfaces.xml:
12084           Add documentation on propertyprobing.
12085         * docs/pwg/advanced_events.xml:
12086         * docs/pwg/advanced_tagging.xml:
12087         * docs/pwg/building_boiler.xml:
12088         * docs/pwg/building_filterfactory.xml:
12089         * docs/pwg/pwg.xml:
12090           Move filterfactory and tagging into their own chapter, add a chapter
12091           on events. all these are empty placeholders that will be filled in
12092           some day.
12093
12094 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12095
12096         * docs/pwg/advanced_interfaces.xml:
12097           Docs for mixer interface. Also a check for website uploading.
12098
12099 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12100
12101         * docs/HACKING:
12102         * docs/Makefile.am:
12103         * docs/faq/Makefile.am:
12104         * docs/gst/Makefile.am:
12105         * docs/gst/tmpl/gstelement.sgml:
12106         * docs/gst/tmpl/gstplugin.sgml:
12107         * docs/gst/tmpl/gstreamer-unused.sgml:
12108         * docs/libs/Makefile.am:
12109         * docs/manual/Makefile.am:
12110         * docs/manuals.mak:
12111         * docs/pwg/Makefile.am:
12112         * docs/upload.mak:
12113           Separate out upload target and make it similar for
12114           both docbook and gtk-doc docs
12115
12116 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12117
12118         * docs/manuals.mak:
12119           Fix upload target to work with freedesktop
12120
12121 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12122
12123         * docs/pwg/advanced_types.xml:
12124           Add notes on creating your own types.
12125         * docs/pwg/building_boiler.xml:
12126         * docs/pwg/building_pads.xml:
12127         * docs/pwg/building_state.xml:
12128           Add some stuff about how to retrieve values from structures, how
12129           that relates to types and change layout slightly again to be almost
12130           perfect.
12131
12132 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12133
12134         * docs/pwg/advanced_dparams.xml:
12135         * docs/pwg/advanced_scheduling.xml:
12136           Change index layout slightly.
12137
12138 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12139
12140         * docs/pwg/advanced_clock.xml:
12141         * docs/pwg/advanced_interfaces.xml:
12142         * docs/pwg/advanced_midi.xml:
12143           General placeholders for now.
12144         * docs/pwg/advanced_request.xml:
12145           Explanation about sometimes and request pads.
12146         * docs/pwg/advanced_scheduling.xml:
12147           Concept of bytestream, loopfunctions and schedulers.
12148         * docs/pwg/building_boiler.xml:
12149           Add something about plugin-init.
12150
12151 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12152
12153         * docs/pwg/building_pads.xml:
12154           Fix broken docbook
12155
12156 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12157
12158         * docs/pwg/advanced_interfaces.xml:
12159         * docs/pwg/pwg.xml:
12160           Add as a placeholder for future filling-in.
12161         * docs/pwg/basics_autoplugging.xml:
12162         * docs/pwg/basics_buffers.xml:
12163         * docs/pwg/basics_elements.xml:
12164         * docs/pwg/basics_events.xml:
12165         * docs/pwg/basics_plugins.xml:
12166         * docs/pwg/basics_types.xml:
12167           Remove, because unused (this is all in intro_basics.xml).
12168         * docs/pwg/building_signals.xml:
12169           Short intro to signals + reference to GObject docs - we really
12170           shouldn't go into these sort of things to deply because we don't
12171           use them that extensively anyway.
12172         * docs/pwg/building_state.xml:
12173           Explanation of states. Benjamin, please check.
12174         * docs/pwg/building_testapp.xml:
12175           Put everything in one page - putting only a few lines of content
12176           per page doesn't really make sense.
12177
12178           Time to get into the advanced topics. ;).
12179
12180 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12181
12182         * docs/pwg/advanced_types.xml:
12183           Finish documenting the current state of mimetypes.
12184         * docs/pwg/building_boiler.xml:
12185         * docs/pwg/building_chainfn.xml:
12186         * docs/pwg/building_pads.xml:
12187         * docs/pwg/building_props.xml:
12188         * docs/pwg/building_testapp.xml:
12189           Start documenting the "how to build a simple audio filter" part
12190           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12191           states and (maybe?) a short introduction to capsnego in the chapter
12192           on pads (building_pads.xml). Capsnego should probably be explained
12193           fully in advanced_capsnego.xml or so.
12194
12195 2004-01-26  David Schleef  <ds@schleef.org>
12196
12197         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12198         * gst/gstpad.h: Add new function to allow element to (somewhat)
12199         specify non-fixed caps on a pad.
12200         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12201         that I added a few weeks ago.
12202
12203 2004-01-26  David Schleef  <ds@schleef.org>
12204
12205         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12206           making try_set_caps() work with non-fixed caps.
12207
12208 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12209
12210         * docs/pwg/advanced_types.xml:
12211         * docs/pwg/intro_basics.xml:
12212         * docs/pwg/intro_preface.xml:
12213         * docs/pwg/pwg.xml:
12214         * docs/pwg/titlepage.xml:
12215           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12216           in here (docs/random/mimetypes), and will from there on work on both
12217           updating outdated parts and adding missing parts.
12218           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12219
12220 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12223           policy is set
12224
12225 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12226
12227         * gst/gstelement.h:
12228           remove gst_element_factory_get_version. It doesn't exist anymore.
12229         * gst/gstplugin.c:
12230         * gst/gstplugin.h:
12231           remove gst_plugin_set_name and change gst_plugin_get_longname to
12232           gst_plugin_get_description to match code.
12233         * gst/gsterror.h:
12234           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12235         * gst/gstpad.c: (gst_pad_try_set_caps):
12236           make it work with nonfixed caps.
12237           Note that even in the nonfixed case the link function of the pad
12238           that tries to set caps isn't called.
12239
12240 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12241
12242         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12243           fix bug where buffer was not assembled correctly
12244         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12245           silence by default
12246         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12247           only seek if there's no more buffers that could work without seeking
12248
12249 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12250
12251         * gst/gsttag.c: (_gst_tag_initialize):
12252         * gst/gsttag.h:
12253           Add application tag (for encoding/muxing app).
12254
12255 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12256
12257         * autogen.sh:
12258           make autopoint force, and libtoolize not copy
12259         * common/m4/as-docbook.m4:
12260           added docbook xml catalog setup check
12261         * common/m4/gst-doc.m4:
12262           use docbook check
12263
12264 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12265
12266         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12267         * gst/gsttag.h:
12268           add GstTagFlag
12269
12270 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12271
12272         * docs/gst/gstreamer-sections.txt:
12273         * docs/gst/tmpl/gst.sgml:
12274         * docs/gst/tmpl/gstbuffer.sgml:
12275         * docs/gst/tmpl/gstclock.sgml:
12276         * docs/gst/tmpl/gstelement.sgml:
12277         * docs/gst/tmpl/gstreamer-unused.sgml:
12278         * docs/gst/tmpl/gstxml.sgml:
12279           sync latest API changes to docs
12280
12281 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12282
12283         * gst/gstpluginfeature.c:
12284           fix doc snippet
12285         * tools/gst-inspect.c: (print_element_list):
12286           fix output of typefind
12287           add GPL header
12288         * tools/gst-launch.c:
12289           add GPL header
12290
12291 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * gst/elements/Makefile.am:
12294         * gst/elements/gstelements.c:
12295         * gst/elements/gsttypefindelement.c:
12296         * gst/elements/gsttypefindelement.h:
12297         * po/POTFILES.in:
12298         * po/fr.po:
12299         * po/nl.po:
12300           renamed gsttypefindelement to gsttypefind, conserving CVS history
12301
12302 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12303
12304         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12305         * gst/gsttag.h:
12306           add some tags used in ogg as well
12307           fix _ in replaygain tags
12308
12309 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12310
12311         * gst/gsterror.h:
12312           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12313
12314 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * gst/gstelement.c: (gst_element_error_full):
12317         * gst/gstelement.h:
12318           change _extended to _full
12319
12320 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12321
12322         reviewed by: <delete if not using a buddy>
12323
12324         * docs/gst/tmpl/gst.sgml:
12325         * docs/gst/tmpl/gstbuffer.sgml:
12326         * docs/gst/tmpl/gstclock.sgml:
12327         * docs/gst/tmpl/gstelement.sgml:
12328         * docs/gst/tmpl/gstreamer-unused.sgml:
12329         * docs/gst/tmpl/gstxml.sgml:
12330         * gst/gstelement.c: (gst_element_error_full):
12331         * gst/gstelement.h:
12332
12333 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12334
12335         * gst/gstelement.h: fix _gst_element_error_printf prototype
12336
12337 2004-01-20  David Schleef  <ds@schleef.org>
12338
12339         * gst/gststructure.c: (gst_structure_to_string):
12340         Convert function to use gst_value_serialize().
12341         * gst/gstvalue.c: (gst_value_serialize_list),
12342         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12343         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12344         (gst_value_serialize_int), (gst_value_serialize_double),
12345         (gst_string_wrap), (gst_value_serialize_string),
12346         (gst_value_serialize), (gst_value_deserialize):
12347         * gst/gstvalue.h:
12348         Add implementations for serialize.
12349
12350 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12351
12352         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12353         we want to keep that one in the future or change xvidenc.c to use 
12354         another error.
12355
12356 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * gst/gstelement.c: (_gst_element_error_printf):
12359         * gst/gstelement.h:
12360           privatise function
12361
12362 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * docs/random/error:
12365           doc explaining error system
12366         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12367           cleanup
12368
12369 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * gst/gst-i18n-app.h:
12372         * gst/gst-i18n-lib.h:
12373           remove inclusion of config.h
12374         * po/POTFILES.in:
12375         * po/nl.po:
12376           add gst/gstelement.c
12377
12378 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12379
12380         * po/nl.po: updated Dutch translation
12381
12382 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12383
12384         * gst/gsterror.c: (_gst_core_errors_init),
12385         (_gst_library_errors_init), (_gst_resource_errors_init),
12386         (_gst_stream_errors_init):
12387         remove ending punctuation dots
12388
12389 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12390
12391         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12392         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12393         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12394         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12395         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12396         use GST_ERROR_SYSTEM
12397
12398 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12399
12400         * gst/gstelement.c: (gst_element_error_printf),
12401         (gst_element_error_extended):
12402         * gst/gstelement.h:
12403           add a helper printf function so we can have NULL values passed.
12404
12405 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12406
12407         * gst/gstelement.h:
12408           add G_STMT macros to gst_element_error, which isn't strictly
12409           necessary but people tell me to anyway.
12410
12411 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12412
12413         * gst/Makefile.am:
12414         * gst/autoplug/gstspideridentity.c:
12415         (gst_spider_identity_sink_loop_type_finding):
12416         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12417         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12418         (gst_filesink_close_file), (gst_filesink_handle_event),
12419         (gst_filesink_chain):
12420         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12421         (gst_filesrc_map_region), (gst_filesrc_get_read),
12422         (gst_filesrc_open_file):
12423         * gst/elements/gstidentity.c: (gst_identity_chain):
12424         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12425         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12426         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12427         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12428         * gst/gst.h:
12429         * gst/gst_private.h:
12430         * gst/gstelement.c: (gst_element_class_init),
12431         (gst_element_default_error), (gst_element_error_func),
12432         (gst_element_error_extended):
12433         * gst/gstelement.h:
12434         * gst/gsterror.c: (_gst_core_errors_init),
12435         (_gst_library_errors_init), (_gst_resource_errors_init),
12436         (_gst_stream_errors_init), (gst_error_get_message):
12437         * gst/gsterror.h:
12438         * gst/gstinfo.c: (_gst_debug_init):
12439         * gst/gstmarshal.list:
12440         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12441         (gst_pad_recover_caps_error), (gst_pad_pull):
12442         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12443         * gst/schedulers/gstbasicscheduler.c:
12444         (gst_basic_scheduler_chainhandler_proxy),
12445         (gst_basic_scheduler_gethandler_proxy),
12446         (gst_basic_scheduler_cothreaded_chain):
12447         * po/POTFILES.in:
12448         * po/fr.po:
12449         * po/nl.po:
12450           change error signal
12451           add error categories
12452
12453 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12454
12455         * gst/gsttag.c: (_gst_tag_initialize):
12456         * gst/gsttag.h:
12457         Add replaygain tag
12458
12459 2004-01-18  Colin Walters  <walters@verbum.org>
12460
12461         * examples/retag/retag.c: Call gst_init before processing
12462         program args.  Add g_assert to _link_many call.
12463
12464 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12465
12466         * gst/gstpad.c: (gst_pad_alloc_buffer):
12467           Return a newly allocated buffer when the pad has no peer.
12468
12469 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12470
12471         * gst/gstclock.c: (gst_clock_get_time):
12472           make it compile with gcc 2.95 again.
12473           Patch by Scott Wheeler
12474
12475 2004-01-15  David Schleef  <ds@schleef.org>
12476
12477         * gst/gstcaps.h:
12478         Added gst_caps_is_simple() macro.
12479         * testsuite/caps/caps.c: (test1):
12480         * testsuite/caps/intersect2.c: (main):
12481         * testsuite/caps/intersection.c: (main):
12482         Fixes to make 'make check' work again after removing
12483         gst_caps_is_chained().
12484
12485 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12486
12487         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12488         and additions to the MIDI document.
12489
12490 2004-01-15  David Schleef  <ds@schleef.org>
12491
12492         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12493         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12494         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12495
12496 2004-01-15  David Schleef  <ds@schleef.org>
12497
12498         * gst/gstqueue.c:
12499         * gst/gstqueue.h:
12500         Fix the spelling of "treshold" and make min_threshold actually
12501         affect the queue.
12502
12503 2004-01-15  David Schleef  <ds@schleef.org>
12504
12505         * gst/gstcaps.c:
12506         Add lots of documentation.
12507         * gst/gstcaps.h:
12508         Deprecate a few functions.
12509         * gst/gstpad.c:
12510         Removed use of deprecated functions.
12511
12512 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12513
12514         * gst/gstpad.c: (gst_pad_is_linked):
12515         * gst/gstpad.h:
12516           implement gst_pad_is_linked
12517         * gst/gstelement.h:
12518           reserve space for initiate_state_change
12519
12520 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12521
12522         * gst/autoplug/gstspideridentity.c:
12523         (gst_spider_identity_sink_loop_type_finding):
12524           break infinite loop by just returning instead of looping
12525         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12526           set event time difference correctly. Set it to 1 second instead
12527           of 100ms to be more tolerant
12528         * gst/gstelement.c: (gst_element_set_time):
12529           add debugging output
12530
12531 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12532
12533         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12534           query if buffers are inside the pool, ignore events
12535
12536 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12537
12538         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12539         (gst_clock_set_speed), (gst_clock_set_active),
12540         (gst_clock_is_active), (gst_clock_reset),
12541         (gst_clock_handle_discont):
12542         * gst/gstclock.h:
12543           deprecate old interface and disable functions that aren't in use
12544           anymore.
12545         * gst/gstelement.h:
12546         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12547         (gst_element_set_time), (gst_element_adjust_time):
12548           add concept of "element time" and functions to get/set this time.
12549         * gst/gstelement.c: (gst_element_change_state):
12550           update element time correctly.
12551         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12552           This is a debug message, not a g_critical.
12553         * gst/gstpad.c: (gst_pad_event_default):
12554           handle discontinuous events right with element time.
12555         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12556           update to clocking fixes.
12557           set clocks on elements in READY=>PAUSED. The old behaviour caused
12558           a wrong element time on the first element that started playing.
12559         * gst/schedulers/gstbasicscheduler.c:
12560         (gst_basic_scheduler_class_init):
12561         * gst/schedulers/gstoptimalscheduler.c:
12562         (gst_opt_scheduler_class_init):
12563           remove code that just implements the default behaviour.
12564         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12565           update to use new clocking functions
12566         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12567         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12568           update to test new element time.
12569         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12570           use _get_allowed_caps instead of _get_caps. This catches filtered
12571           caps correctly.
12572         * testsuite/debug/commandline.c:
12573           update for new GST_DEBUG syntax.
12574         * testsuite/threads/Makefile.am:
12575           disable a test that only works sometimes.
12576
12577 2004-01-13  Julien MOUTTE <julien@moutte.net>
12578
12579         * po/LINGUAS: Adding fr.
12580         * po/fr.po: Adding french translation.
12581
12582 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12583
12584         * gst/parse/grammar.y:
12585         * po/POTFILES.in:
12586         * po/nl.po:
12587         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12588           translate parsing error messages
12589
12590 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12591
12592         * po/POTFILES.in: adding gst-launch
12593         * po/nl.po: updated translation, all 99 strings translated
12594         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12595         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12596           fix strings for translation
12597
12598 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12599
12600         * gst/gst.c:
12601           - capitalize beginnings of popt options
12602           - fix strings for translation
12603           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12604
12605 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12606
12607         * po/README: add some notes on how to update translations
12608
12609 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12610
12611         * ABOUT-NLS: removed, is autogenerated from autopoint
12612         * autogen.sh: add autopoint stuff
12613         * configure.ac: fix up gettext stuff
12614         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12615         * gst/elements/gsttypefindelement.c: add header include
12616         * gst/gettext.h: add header, copy from system-installed header
12617         * gst/gst-i18n-app.h: to be included by each app having translations
12618         * gst/gst-i18n-lib.h: to be included by each lib having translations
12619         * gst/gst.c: (init_pre): fix up gettext calls
12620         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12621         * po/LINGUAS: the new way to specify translations present
12622         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12623         * po/Makevars: the variables filled in for GStreamer
12624         * po/POTFILES.in: added new files with translations
12625         * po/de.po: has new strings
12626         * po/nl.po: readded, has new strings
12627
12628 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12629
12630         * gst/gsttag.c: fix some strings marked for translation
12631
12632 2004-01-13  Iain <iain@prettypeople.org>
12633
12634         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12635         group when we add an element to it, cos we unref it when we remove one
12636
12637 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12638
12639         * testsuite/debug/commandline.c: (debug_not_reached):
12640         * testsuite/debug/output.c: (check_message):
12641           fix testsuite
12642
12643 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12644
12645         * examples/cutter/.cvsignore:
12646         * examples/helloworld/.cvsignore:
12647         * examples/launch/.cvsignore:
12648         * examples/manual/.cvsignore:
12649         * examples/mixer/.cvsignore:
12650         * examples/pingpong/.cvsignore:
12651         * examples/plugins/.cvsignore:
12652         * examples/queue/.cvsignore:
12653         * examples/queue2/.cvsignore:
12654         * examples/queue3/.cvsignore:
12655         * examples/queue4/.cvsignore:
12656         * examples/retag/.cvsignore:
12657         * examples/thread/.cvsignore:
12658         * examples/typefind/.cvsignore:
12659         * examples/xml/.cvsignore:
12660         * gst/.cvsignore:
12661         * gst/autoplug/.cvsignore:
12662         * gst/elements/.cvsignore:
12663         * gst/indexers/.cvsignore:
12664         * gst/parse/.cvsignore:
12665         * gst/registries/.cvsignore:
12666         * gst/schedulers/.cvsignore:
12667         * libs/gst/bytestream/.cvsignore:
12668         * libs/gst/control/.cvsignore:
12669         * libs/gst/getbits/.cvsignore:
12670         * tests/.cvsignore:
12671         * tests/bufspeed/.cvsignore:
12672         * tests/instantiate/.cvsignore:
12673         * tests/memchunk/.cvsignore:
12674         * tests/muxing/.cvsignore:
12675         * tests/sched/.cvsignore:
12676         * tests/seeking/.cvsignore:
12677         * tests/threadstate/.cvsignore:
12678         * testsuite/.cvsignore:
12679         * testsuite/caps/.cvsignore:
12680         * testsuite/cleanup/.cvsignore:
12681         * testsuite/dynparams/.cvsignore:
12682         * testsuite/plugin/.cvsignore:
12683         * tools/.cvsignore:
12684           update - this is huge, because it includes *.bb, *.bbg and *.da files
12685           which are generated for gcov.
12686
12687 2004-01-11  David Schleef  <ds@schleef.org>
12688
12689         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12690         a function to parse integers in ways that strto[u]l() does not.
12691
12692 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12693
12694         * tools/gst-inspect.c: (print_caps):
12695           improve output of caps a bit
12696
12697 2004-01-11  David Schleef  <ds@schleef.org>
12698
12699         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12700         inherit correct flags (READONLY and DONTKEEP).
12701
12702 2004-01-11  David Schleef  <ds@schleef.org>
12703
12704         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12705         (gst_filesrc_map_region):
12706         * gst/gstbuffer.c: (_gst_buffer_initialize),
12707         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12708         (gst_buffer_new), (gst_buffer_create_sub),
12709         (gst_buffer_is_span_fast), (gst_buffer_span):
12710         * gst/gstbuffer.h:
12711         Change GstBuffer private structure element names. (all files)
12712         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12713         (gst_queue_link):
12714         * gst/gstqueue.h:
12715         Implement getcaps/pad_link functions that handle the case where
12716         there are data in the queue.
12717
12718 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12719
12720         * gst/elements/gstbufferstore.c:
12721           initialize debugging structure correctly
12722         * gst/elements/gsttee.c: (gst_tee_set_property):
12723           g_object_notify when property was changed
12724         * gst/elements/gsttypefindelement.c:
12725         (gst_type_find_element_change_state):
12726           clear caps correctly
12727
12728 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12729
12730         * gst/gstqueue.c: (gst_queue_init):
12731           Use better defaults for when a queue should block. This
12732           gets rid of jerky playback for quite a few files.
12733           It takes more memory.
12734
12735 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12736
12737         (gst_xml_registry_parse_padtemplate):
12738           make critical message slightly more useful
12739
12740 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12741
12742         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
12743         (gst_debug_message_get), (gst_debug_log_default):
12744         * gst/gstinfo.h:
12745           Change gst_debug_log(_valist) to take a const format string.
12746           Change prototype of log function and functions using those to 
12747           take a GstDebugMessage instead of a string that requires using
12748           gst_debug_message_get.
12749
12750 2004-01-08  David Schleef  <ds@schleef.org>
12751
12752         * Makefile.am:
12753         * configure.ac:
12754         Add option --enable-gcov to build GStreamer with -fprofile-arcs
12755         and -ftest-coverage, which allows gcov to show information about
12756         testsuite coverage.
12757
12758 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12759
12760         * gst/gstutils.h:
12761           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
12762           GST_PARENT_CALL_WITH_DEFAULT
12763         * gst/elements/gstaggregator.c: 
12764         * gst/elements/gstbufferstore.c: 
12765         * gst/elements/gstfakesink.c: 
12766         * gst/elements/gstfakesrc.c: 
12767         * gst/elements/gstfdsink.c: 
12768         * gst/elements/gstfdsrc.c: 
12769         * gst/elements/gstfilesink.c: 
12770         * gst/elements/gstfilesrc.c: 
12771         * gst/elements/gstidentity.c: 
12772         * gst/elements/gstmd5sink.c: 
12773         * gst/elements/gstmultidisksrc.c:
12774         * gst/elements/gstpipefilter.c: 
12775         * gst/elements/gstshaper.c:
12776         * gst/elements/gststatistics.c:
12777         * gst/elements/gsttee.c:
12778         * gst/elements/gsttypefindelement.c:
12779           use them.
12780
12781 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12782
12783         * docs/gst/gstreamer-docs.sgml: remove props
12784         * docs/gst/gstreamer-sections.txt: remove props
12785         * docs/gst/tmpl/gst.sgml:
12786         * docs/gst/tmpl/gstbin.sgml:
12787         * docs/gst/tmpl/gstbuffer.sgml:
12788         * docs/gst/tmpl/gstcaps.sgml:
12789         * docs/gst/tmpl/gstclock.sgml:
12790         * docs/gst/tmpl/gstelement.sgml:
12791         * docs/gst/tmpl/gstindex.sgml:
12792         * docs/gst/tmpl/gstobject.sgml:
12793         * docs/gst/tmpl/gstpad.sgml:
12794         * docs/gst/tmpl/gstpadtemplate.sgml:
12795         * docs/gst/tmpl/gstreamer-unused.sgml:
12796         * docs/gst/tmpl/gstthread.sgml:
12797         * docs/gst/tmpl/gstxml.sgml:
12798           sync with code reorganization
12799
12800 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
12801
12802         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12803         Make the 'Could not find compatible pad' message more informative.
12804
12805 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12806                                                                                 
12807         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
12808           Fix for if we pass NULL as property to location.
12809         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
12810         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
12811           Fix for instantiate-test (see below).
12812         * gst/gststructure.c: (_gst_structure_parse_value):
12813           Fix compile error on gcc-2.96.
12814         * configure.ac:
12815         * tests/Makefile.am:
12816         * tests/instantiate/Makefile.am:
12817         * tests/instantiate/create.c: (create_all_elements), (main):
12818           Add a test that instantiates all elements. This makes it easy to
12819           track dead code for old API/design (like setting event functions
12820           on sink pads and so on).
12821
12822 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
12823
12824         * gst/gstcaps.c: (gst_caps_append_structure):
12825           Move the poisoning to allow a NULL structure
12826         * gst/gstevent.c: (_gst_event_free):
12827           When freeing a navigation event, free the structure
12828           also
12829
12830 2004-01-04  David Schleef  <ds@schleef.org>
12831
12832         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12833         Remove usage of gst_pad_proxy_fixate.
12834         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
12835         (gst_caps_split_one), (gst_caps_replace):
12836         Add poisoning code.
12837         * gst/gstmarshal.list:
12838         Add pointer__pointer for fixate signal
12839         * gst/gstpad.c: (gst_real_pad_class_init),
12840         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12841         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
12842         (gst_pad_set_explicit_caps), (gst_pad_template_new):
12843         Add poisoning code. Add fixate signal on RealPad. Change
12844         set_explicit_caps() to take const GstCaps, like try_set_caps().
12845         * gst/gstpad.h:
12846         * testsuite/caps/Makefile.am:
12847         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
12848
12849 2004-01-03  David Schleef  <ds@schleef.org>
12850
12851         * gst/elements/gsttypefindelement.c:
12852         (gst_type_find_element_have_type), (gst_type_find_element_init):
12853         Use gst_pad_use_explicit_caps for src pad.
12854         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
12855         before using it.
12856
12857 2004-01-03  David Schleef  <ds@schleef.org>
12858
12859         * gst/gstelement.c: (gst_element_link_pads_filtered),
12860         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
12861         that linking was successful.
12862         * gst/gstpad.c: (gst_pad_link_free),
12863         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
12864         (gst_pad_link_try), (gst_pad_link_unnegotiate),
12865         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
12866         GstPadLinkReturn correctly between functions, and don't fail
12867         when DELAYED is used (DELAYED is very important).  Better
12868         cleanup on unlinking and unnegotiation.  Should fix some spider
12869         bugs.
12870
12871 2004-01-02  David Schleef  <ds@schleef.org>
12872
12873         * gst/gstelement.c: (gst_element_class_init),
12874         (gst_element_base_class_init): ->padtemplates should be cleared
12875         in base_init, since we need to have a fresh list for every
12876         class.  (Alternately, we chould copy the list and share the
12877         actual pad templates (not the list), but that would require
12878         changing every plugin to move pad template registration from
12879         base_init to class_init.)
12880
12881 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12882
12883         * gst/gstelement.c: (gst_element_class_add_pad_template):
12884           Refuse registering a pad template if another pad template
12885           with the same name already exists (#114715).
12886
12887 2004-01-02  David Schleef  <ds@schleef.org>
12888
12889         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
12890         (gst_caps_is_equal_fixed): Add new function.
12891         * gst/gstcaps.h: ditto.
12892         * gst/gstpad.c: (gst_real_pad_class_init),
12893         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
12894         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
12895         check new caps against existing caps -- if they're the same, return
12896         OK without renegotiating.  caps-nego-failed signal fixed so that
12897         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
12898         to save an extra caps copy.  Don't complete negotiation if a pad
12899         link function returns DELAYED.
12900
12901 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12902
12903         * gst/gstpad.c: (gst_pad_try_relink_filtered):
12904           Fix wrong g_return_if_fail
12905
12906 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
12907
12908         * gst/gstbin.c: (gst_bin_class_init):
12909         Change the marshalling of element_added/element_removed
12910         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
12911         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
12912
12913 2004-01-01  David Schleef  <ds@schleef.org>
12914
12915         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12916         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
12917         (gst_pad_use_explicit_caps):
12918         * gst/gstpad.h:
12919         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
12920         to use an internal getcaps and link fuction so that negotiation
12921         always results in the explicitly set caps.
12922         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
12923         are particularly useful for decoders.
12924
12925 2003-12-31  David Schleef  <ds@schleef.org>
12926
12927         * gst/elements/gstidentity.c: (gst_identity_class_init),
12928         (gst_identity_init), (gst_identity_chain),
12929         (gst_identity_set_property), (gst_identity_get_property):
12930         * gst/elements/gstidentity.h:
12931         * gst/gstqueue.c: (gst_queue_init):
12932           Negotiation fixes.
12933
12934 2003-12-31  David Schleef  <ds@schleef.org>
12935
12936         * gst/gstcaps.c: (gst_caps_intersect),
12937         (_gst_caps_normalize_foreach), (gst_caps_normalize):
12938           Implement gst_caps_normalize().
12939         * testsuite/caps/normalisation.c: (main):
12940           Add an additional test
12941
12942 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12943
12944         * gst/gstqueue.c: (gst_queue_init):
12945           use gst_pad_proxy_getcaps()
12946
12947 2003-12-31  David Schleef  <ds@schleef.org>
12948
12949         * gst/elements/gstshaper.c: (gst_shaper_link):
12950         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
12951         * gst/gstqueue.c: (gst_queue_link):
12952           Negotiation fixes.
12953
12954 2003-12-31  David Schleef  <ds@schleef.org>
12955
12956         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12957         * gst/gstpad.h: Add functions that are useful as default pad
12958         link and fixate functions for elements.
12959
12960 2003-12-30  David Schleef  <ds@schleef.org>
12961
12962         * gst/gstpad.c: (gst_pad_link_try):
12963           Fix segfault when attempting to return to old caps
12964
12965 2003-12-29  David Schleef  <ds@schleef.org>
12966
12967         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12968         (gst_caps_structure_simplify), (gst_caps_simplify):
12969         * gst/gstcaps.h:
12970           Add simplify function
12971         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12972         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12973         * gst/gstpad.h:
12974           Copy over srcnotify, sinknotify when calling old pad_link
12975           functions.  Add new is_negotiated() function.
12976         * gst/gststructure.c: (gst_structure_copy):
12977           Fix an incredibly stupid bug that should have been noticed
12978           weeks ago.  _copy() returned the argument, not the new copy.
12979
12980 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12981
12982         * gst/gstcaps.c: (gst_caps_append):
12983           add sanity checks
12984         * gst/gstcaps.h: (gst_caps_debug):
12985           remove, it doesn't exist anymore.
12986         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
12987         (gst_element_threadsafe_properties_post_run):
12988           make debugging messages not clutter up THREAD debug category
12989         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
12990         (gst_element_change_state):
12991           update to new caps API
12992         * gst/gstinterface.c: (gst_implements_interface_cast):
12993           don't put vital code in g_return_if_fail
12994         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
12995         (gst_pad_link_filtered):
12996           add pst_pad_try_link and use it.
12997         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
12998           implement correctly, deprecate first one.
12999         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13000           add and implement.
13001         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13002           implement.
13003         (gst_pad_get_negotiated_caps):
13004           add and implement. Make GST_PAD_CAPS call this function.
13005         (gst_pad_get_caps):
13006           remove unneeded check..
13007         (gst_pad_recover_caps_error):
13008           disable, always return FALSE.
13009         (gst_real_pad_dispose):
13010           don't free caps and appfilter anymore, they're unused.
13011         * gst/gstpad.h:
13012           Reflect changes mentioned above.
13013         * gst/gstsystemclock.c: (gst_system_clock_wait):
13014           Make 'clock is way behind' a debugging message.
13015         * gst/gstthread.c: (gst_thread_change_state):
13016           Fix debugging message
13017
13018 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13019
13020         * gst/gstinfo.h:
13021           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13022         * docs/gst/tmpl/gstreamer-unused.sgml:
13023           removed all traces of cvs conflicts
13024
13025 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13026
13027         * configure.ac:
13028         * gst/schedulers/cothreads_compat.h:
13029         * libs/Makefile.am:
13030           remove last instances of wingo cothread usage
13031
13032 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13033
13034         * gst/gstplugin.c:
13035         * gst/gstversion.h.in:
13036         * gst/parse/grammar.y:
13037           change comment block from /** to /* when not gtk-doc comments
13038
13039 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13040
13041         * gst/gst.c: whitespace and doc style fixes
13042
13043 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13044
13045         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13046
13047 2003-12-24  Colin Walters  <walters@verbum.org>
13048
13049         * gst/elements/gsttypefindelement.c:
13050           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13051           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13052           Don't double-free caps.
13053
13054 2003-12-23  David Schleef  <ds@schleef.org>
13055
13056         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13057           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13058           Many little fixes and additions of debug statements to
13059           get rhythmbox working.
13060
13061 2003-12-23  Colin Walters  <walters@verbum.org>
13062
13063         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13064         Use GST_PAD_LINK_SUCCESSFUL.
13065
13066 2003-12-23  David Schleef  <ds@schleef.org>
13067
13068         * gst/elements/gstaggregator.c:
13069         * gst/elements/gsttee.c:
13070           Use gst_pad_proxy_getcaps().
13071         * gst/gstpad.c:
13072         * gst/gstpad.h:
13073           Add gst_pad_proxy_getcaps(), which filter elements can use
13074           as a generic getcaps implementation.
13075           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13076           was advertised.
13077
13078 2003-12-23  David Schleef  <ds@schleef.org>
13079
13080         * gst/gstpad.c:
13081           Rearrange/rewrite much of the pad negotiation code, since it
13082           resembled pasta.  This actually changes the way some
13083           negotiation works, since the previous code was inconsistent
13084           depending on how it was invoked.  Add (internal) structure
13085           GstPadLink, which is used to hold some information (more in
13086           the future) about the link between two pads.  Fixes a number
13087           of bugs, including random lossage of filter caps when the
13088           initial negotiation is delayed.  A few functions are still
13089           unimplemented.
13090         * gst/gstpad.h:
13091           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13092           these when testing GstPadLinkReturn values instead of comparing
13093           directly.
13094
13095 2003-12-23  David Schleef  <ds@schleef.org>
13096
13097         * gst/gstvalue.c: 
13098         * gst/gstvalue.h:
13099           Rearrange lots of code.  Change registration of compare function
13100           into registration of compare/serialize/deserialize functions.
13101           Doesn't include implementation of gst_value_[de]serialize(),
13102           but that should be easy.
13103
13104 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13105
13106         * docs/gst/gstreamer-sections.txt:
13107         * docs/gst/tmpl/gstprops.sgml: removed
13108         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13109           David removed props and caps code, so let's remove their docs as well.
13110           Removed all no longer existing symbols from gstreamer-sections.txt
13111           
13112 2003-12-22  Colin Walters  <walters@verbum.org>
13113
13114         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13115           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13116           of tags directly.
13117
13118 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13119
13120         * gst/elements/gstelements.c:
13121           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13122         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13123           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13124           gst_caps (peer).
13125
13126 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13127
13128         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13129         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13130         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13131         (gst_spider_identity_sink_loop_type_finding):
13132         * gst/autoplug/gstspideridentity.h:
13133           Fix autoplugging in spider element, so it works with new caps.
13134           This was mainly caused by identifying empty caps incorrectly.
13135
13136 2003-12-22  David Schleef  <ds@schleef.org>
13137
13138         * gststructure.c, gstvalue.c, gstvalue.h: Add
13139           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13140           using g_value_copy()
13141
13142 2003-12-21  David Schleef  <ds@schleef.org>
13143
13144         * many, many files: Merge CAPS branch.  This includes:
13145           - implemention of GstValue and several GstValue types
13146           - implemention of GstStructure
13147           - entire rewrite of GstCaps
13148           - removal of GstProps
13149           - many changes to GstPad to compensate for new caps paradigm
13150           - removal of GstBufferpool
13151         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13152         gstvalue.h, gst/gstcaps[2]*.[ch]:
13153           - rename gstcaps2.[ch] to gstcaps.[ch]
13154
13155 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13156
13157         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13158         (gst_queue_chain), (gst_queue_handle_src_event):
13159           implement timeout for sending events. Workaround for if the
13160           pipeline on this queue is not passing any data.
13161
13162 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13163                                                                                 
13164         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13165         * moved CVS to freedesktop.org
13166